计算机网络

计算机网络

推荐直接看考研课:5.3.5 TCP拥塞控制_哔哩哔哩_bilibili

七层模型-四层模型

image-20230502220344109

一些协议

image-20230503180843142

物理层

这个很少考的,建议赶时间的话直接跳了,冲a的话要看

冲突域和广播域的判断

(76条消息) 如何计算冲突域和广播域-图解分析_广播域和冲突域怎么数_zuike的博客-CSDN博客

网络层

ip数据包和分组传输

红色ip层

image-20230626212149676

ip数据报格式,重点掌握首部长度、总长度的一些相关知识,

image-20230626213402024

如此看来,首部一般是20B, (总之必须保证数据部分开始的地方是4B的整数倍)

分组剑下面大题部分

ipv4

32位二进制数表示

分网络号+主机号

ip地址的分类

image-20230626214247753

一些特殊ip,基本上规律就是全0全1

image-20230626214619239

私有地址,路由器只会把它当作内网地址使用

image-20230626214716893

主机号全0全1都不可用,网络号除了A类全0全1都不可用,BC类只有全0不可用

image-20230626215245855

NAT-子网划分-子网掩码

nat主要讨论私有网络

拥有私有网络地址的主机如何连接互联网呢,当该主机对互联网上的服务器发起请求时,NAT软件(其作用是充当一个NAT路由器)会将它报文中的源地址和源端口进行替换(根据路由器自己写好的规则),而服务器收到请求后发出的响应,则会在到达NAT路由器的时候, 被NAT路由器将自己的目的地址和目的端口替换成私有网络的地址和端口

子网划分

子网号全0和全1要看

主机号不能全0全1

image-20230626223744358

注意一下广播地址往往是全1,本机是全0

做题想要快的话可以背下,或者开考前默写一下(不要默错就好)

image-20230626223201176

算主机号网络号比较快!

做个题

image-20230626223640433

分组转发

image-20230626224156202

这个还是比较实用的知识,尤其是这个路由器转发分组算发

无分类编址 CIDR

现实中最最常见的网络地址分配方式

知识点1:

xx.xx.xx.xx/xx

知道/xx就是指前面xx位是子网掩码就行,在CIDR中,不按照A/B/C类地址进行划分,直接看/后面的数字就好

(理解起来其实和前面没差,就是这里直接把子网掩码标出来了,可以一眼看到网络号和主机号)

知识点2:

构成超网(学校的路由器该管的事情)

image-20230627093802506

这种题型就是求x个给出的网络号的交集即可

(就是看看有那部分是相同的,相同说明是不可分配的网络号,不同就是主机号)

知识点3:

最长前缀匹配

这个相当好理解,就是目的地址会优先发送给更详细的地址块,更详细的地址块就是网络号更长的那个,而确定网络号只需要求所有选项中的 长度Max(网络号==目的地址的前缀)

例题

image-20230627100900980

ARP

小米面试的时候问了,所以这块还是很重要的!

image-20230627105337303

很好理解,arp就是寻找ip和mac地址映射的协议

很容易想起以前Hvv装态势感知的时候,插个串口线进去wireshark抓流量,可以看到很多arp包,在广播寻找某ip的mac,假如有路由器知道这个ip对应的mac,会发送单播arp响应分组,把这个mac地址告诉发送方(当然当时没有发现,所以换了个串口接着找了)

下一跳(目的mac地址):

接上面,如果本网段广播后仍然找不到映射的mac,说明这个ip不在本网段了,所以直接把数据包交给默认网关(比如说0.0.0.0),那这样的话,下一跳(目的mac地址就只能填网关的mac地址),然后该网关也会去另一个网络(这个时候需要把源mac地址改为该网关的mac地址,目的mac仍然空着,等待补充)接着广播arp找映射,没有就丢给默认网关,直到找到映射的mac

当然有设置ttl,不会一直找下去的

image-20230627112220202

例题

image-20230627112358196

6次,画图看连线

DHCP

DHCP服务器用于动态分配ip

dhcp应用层协议,使用客户/服务端模式,通过广播的方式,基于udp

以下是流程:

image-20230627112908678

icmp

用于网络探寻和差错报告

差错:

image-20230627115015335

icmp是如何封装的

image-20230627115049127

image-20230627114949181

询问:

这个时候的icmp包主要有两个功能,1是返回网络是否可达,2是返回网络的时间,用于同步时间

icmp基于其传输可达和报错信息的特点,有以下两个应用

image-20230627115938829

其中Traceroute是用于探测报文的传播路径的。具体实现是通过发送ttl=1,然后让路由器返回ttl=0时的差错报文(ttl=1,说明只能结果一跳,超过一跳就会超时报错),再发送ttl=2,以此类推,遍历完整条线路

ipv6

总共128bit,通常用4位x8组16进制数表示

ipv4和ipv6的区别联系

image-20230627165229079

ipv6数据报格式

image-20230627192029665

路由算法

路由往往分静态路由和动态路由

1 静态路由是由网络管理员手工配置路由信息的

2 动态路由是由路由器间彼此交换信息后通过算法优化出来的

路由算法列举

距离-向量路由算法:

字面意思,路由表记录距离(代价)和目的主机。然后每个路由器都监听相邻的路由器的路由表更新情况,如果有更新情况就会随之更新

image-20230627193645997

一种是新增路由,一种是新增最短距离;也就是说,一个是代价变了,一个是节点变了

链路状态路由算法:

每个路由都储存着整个网络的拓扑情况,每个路由器都做两个事,一是主动测试所有邻接结点的状态,二是定期的将链路状态传播给所有其他结点(不过也是从相邻的结点逐步扩散开来)

层次路由

image-20230627200118015

传输层

一些常考的特点

运输层的一个很重要的功能是复用和分用:

  • ​ 复用, 发送方不同的应用都可以使用用一个运输层协议传递数据(加上合适的首部加以区分)

  • ​ 分用, 接收方的运输层在剥去报文的首部后能够把数据正确的交付到目的应用.

    为了解决复用和分用过程中数据不混淆的问题, 运输层采用协议端口号(或端口)来区分.在TCP/IP体系中, 运输层采用16位(共65535个)的端口号来标识一个端口. 端口只是具有本地意义, 表示了应用程序和运输层交互时使用的标识.

分组交换

分组交换方式 分类 :

① 数据报方式 : 为 网络层 提供 无连接服务 ;

② 虚电路方式 : 为 网络层 提供 连接服务 ;

无连接服务 : 分组传输前 , 不确定传输路径 , 同一个数据报切割的不同的分组 , 传输路径可能不同 ;

连接服务 : 分组传输前 , 先确定传输路径 , 也就是建立连接 , 然后将分组 , 在该路径中传输 , 传输结束后 , 断开连接 ;

数据报方式 :

① 无连接 : 发送前 不确定 传输路径 , 每个分组 传输路径 都是独立的 , 不同的分组的传输路径可能不同 ;

② 携带地址 : 每个 分组 都有 目的地址 和 源地址 ;

③ 转发分组 : 路由器 根据 目的地址 , 转发分组 ,

构建 转发表 : 基于 路由协议 / 路由算法 构建 转发表 , 每个路由器都有一个转发表 , 转发表由 目的网络地址 和 链路接口 组成 ;
检索 转发表 : 分组到达路由器后 , 检索转发表 , 查找从哪个接口转发出 ;
独立选路 : 每个分组 选择传输路径都是独立的 ;

虚电路方式 :

① 结合两者 : 虚电路 结合了 数据报交换方式 和 电路交换方式 两者的优点 ;

② “虚电路” 概念 : 在 源主机 和 目的主机 之间 , 建立一条 逻辑连接 , 路径上的 节点 ( 路由器 ) 都需要维护一张 虚电路表 , 其中记录了虚电路信息 ;

"虚电路" 通信过程 :

① 建立 虚电路 : 每个分组 都有 虚电路号 信息 , 不携带 目的地址 ; 源主机 向 目的主机 发出 呼叫请求分组 , 目的主机 回送 呼叫应答分组 , 虚电路 ( 逻辑连接 ) 建立成功 ;

② 数据传输 : 该通信 是 全双工通信 ;

③ 释放 虚电路 : 分组发送完毕后 , 源主机 发送 释放请求分组 , 释放 虚电路 ;

速率

单位时间的数据量(在数字信道上单位时间从某一端到某一端的数据量,即数据传输率,也称数据率或比特率)

单位:

比特(bit)是数据量的最小单位,s(秒)是时间的最小单位。

所以速率单位为bit/s或bps(bit persecond),类似的有kb/s(k=10^3)、Mb/s(M=10^6)、Gb/s(G=10^9)、Tb/s(T=10^12),1Byte=8bit 1B=8b1B/s=8b/s(或1Bps=8bps)

带宽

单位时间最大数据量(计算机网络中的主机在数字信道上,单位时间内从一端传送到另一端的最大数据量,即最大速率)

例题

暂时认为是这样:

在带宽为1G的传输线路上,TCP使用的发送窗口大小为16bit,一个RTT的延迟时间为20ms。请问可以获得的最大吞吐率是多少?线路利用率是多少?

答:1G=1000Mb=1*10^6Kb = 1*10^9 bps

考虑TCP、IP首部和帧的构成,数据包总长度 L=16bit+ 40Byte×8 = 336bit

RTT 20ms = 2*10^-2 s

空中时延 = 数据长度/带宽 = 336bit bit/10^9 = 3.36*10^-7 s (这个理解起来就是路程/速度=时间)

最大吞吐率 = 数据长度/ (空中时延+往返时延) = 336/(3.36*10^-7 s +2*10^-2 s) = 16kb

线路利用率 = 最大吞吐率/带宽 = 16kb/1G = 0.0016%

停-等协议

我的理解就是画图

image-20230627225330681

随着时间变化,我们花的总时间=传输数据花的时间(数据报/v)+ rtt + 确认数据花的时间(数据报/t) + rtt

image-20230627225102488

上面是忽略确认报的情况,如果要计入考虑,如下例题

image-20230627225527942

tcp udp

区别联系

三次握手四次挥手

三次握手这张图足矣

image-20230503121346103

(ps:注意一下状态和seq,ack)

四次握手

image-20230503122509219

场景

使用TCP对实时话音业务的传输有没有什么问题?使用UDP在传送文件时会有什么问题

使用TCP对实时话音业务的传输确实存在一些问题,同样,使用UDP在传送文件时也有一定的问题。下面分别解释这两种情况的问题。

  1. 使用TCP对实时话音业务的传输:

实时话音业务对延迟和实时性有很高的要求,但TCP是一种面向连接的、可靠的传输协议,它通过握手、重传、拥塞控制等机制来确保数据的完整传输。这些特性导致了以下问题:

a) 延迟:TCP的握手、确认和重传机制会增加通信的延迟,对实时话音业务不利。

b) 拥塞控制:TCP的拥塞控制会在网络拥塞时降低传输速率,可能导致实时话音质量下降。

c) 顺序传输:TCP保证数据按顺序到达接收端,但对于实时话音业务而言,一个丢失的音频包可能并不重要,因为用户更关心的是实时性。在这种情况下,接收端可能更愿意接受部分丢失的音频包,以减小延迟。

因此,实时话音业务通常会选择使用UDP(User Datagram Protocol,用户数据报协议)进行传输,因为它是无连接的、不可靠的,可以降低延迟,更适合实时性要求高的应用。

  1. 使用UDP在传送文件时的问题:

UDP是一种无连接的、不可靠的传输协议,它没有握手、确认和重传机制。这意味着在传输过程中可能会丢失数据包,而不会有任何重传。在传送文件时,这会导致以下问题:

a) 数据完整性:由于UDP不可靠,传输过程中可能丢失数据包,这对于文件传输来说是不可接受的,因为文件需要保证完整性。

b) 拥塞控制:UDP没有拥塞控制机制,因此在网络拥塞时,UDP可能会继续发送数据包,导致更多的数据包丢失,影响文件传输质量。

c) 顺序:UDP不能保证数据包的顺序到达接收端,这可能导致接收端需要对数据包进行重新排序,增加处理复杂性。

因此,在传送文件时,通常会选择使用TCP进行传输,因为它是面向连接的、可靠的,可以确保文件的完整传输。

SYN攻击

tcp syn 洪水攻积

  • 什么是 SYN 攻击(SYN Flood)?

    在三次握手过程中,服务器发送 SYN-ACK 之后,收到客户端的 ACK 之前的 TCP 连接称为半连接(half-open connect)。此时服务器处于 SYN_RCVD 状态。当收到 ACK 后,服务器才能转入 ESTABLISHED 状态.

    SYN 攻击指的是,攻击客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认。由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,导致目标系统运行缓慢,严重者会引起网络堵塞甚至系统瘫痪。

    SYN 攻击是一种典型的 DoS/DDoS 攻击。

  • 如何检测 SYN 攻击?

    检测 SYN 攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。在 Linux/Unix 上可以使用系统自带的 netstats 命令来检测 SYN 攻击。

  • 如何防御 SYN 攻击?

    SYN攻击不能完全被阻止,除非将TCP协议重新设计。我们所做的是尽可能的减轻SYN攻击的危害,常见的防御 SYN 攻击的方法有如下几种:

    • 缩短超时(SYN Timeout)时间
    • 增加最大半连接数
    • 过滤网关防护
    • SYN cookies技术

tcp keep alive

TCP KeepAlive 的基本原理是,隔一段时间给连接对端发送一个探测包,如果收到对方回应的 ACK,则认为连接还是存活的,在超过一定重试次数之后还是没有收到对方的回应,则丢弃该 TCP 连接。

拥塞控制

TCP拥塞控制是TCP协议中的一个关键特性,它可以帮助确保在不同网络条件下实现高效、可靠的数据传输。TCP拥塞控制主要通过以下几个算法实现:

  1. 慢启动(Slow Start): 慢启动算法在连接建立时,将拥塞窗口(cwnd)设置为一个较小的值(通常为MSS,最大报文段长度)。随后,在每个往返时间(RTT)内,拥塞窗口大小按指数增长(每收到一个ACK,cwnd加1)。这样,数据传输速率会逐渐加快,直到达到拥塞阈值(ssthresh)或发生丢包。
  2. 拥塞避免(Congestion Avoidance): 当拥塞窗口大小达到拥塞阈值时,TCP进入拥塞避免阶段。在此阶段,拥塞窗口大小的增长速率减缓,采用加法增长(每经过一个RTT,cwnd加1)。这样可以使传输速率更稳定地增长,减少因拥塞而导致的丢包。
  3. 快速重传(Fast Retransmit): 当接收端收到一个失序的报文段时,它会立即发送重复确认(Duplicate ACK)给发送端。如果发送端连续收到三个重复确认,它会认为该报文段已丢失,而不再等待超时重传定时器到期。此时,发送端会立即重传丢失的报文段,提高数据传输的可靠性和效率。
  4. 快速恢复(Fast Recovery): 快速恢复算法是在快速重传后执行的。它的目的是在恢复丢失的报文段后,尽可能快地恢复传输速率。在快速恢复阶段,发送端会将拥塞阈值减半,并将拥塞窗口设置为新的阈值加上3个报文段大小(即cwnd = ssthresh + 3 * MSS)。然后,发送端进入拥塞避免阶段,使传输速率逐渐恢复。

上述算法共同组成了TCP拥塞控制的基本框架。随着网络技术的发展,还有一些改进的拥塞控制算法,如TCP NewReno、TCP Vegas和TCP BBR等。这些算法在原有基础上进行优化,以适应不同网络环境和应用场景的需求。

慢启动,默认cwnd=1,然后在每个传输轮次(即接受到服务端返回的ack后,刚好一个RTT的时间)都2的x次幂增长,直到阈值或者阻塞

拥塞避免,则每个传输伦茨cwnd++

网络拥塞,先设置 阈值=当前cwnd/2,然后cwnd被重置为1

image-20230502003134264

例题:

假设TCP拥塞控制算法中,慢开始SST的初始阈值设置为8,当拥塞窗口上升到12时,发送端检测出超时,TCP使用慢开始与拥塞避免。求第1次到第13次传输的拥塞窗口cwnd分别为多少?

第一次传输,cwnd = 1
第二次传输,cwnd = 2
第三次传输,cwnd = 4
第四次传输,cwnd = 8
第五次传输,cwnd = 9
第六次传输,cwnd = 10
第七次传输,cwnd = 11
第八次传输,cwnd = 12
第九次传输,cwnd = 1
第十次传输,cwnd = 2
第十一次传输,cwnd = 4
第十二次传输,cwnd = 6
第十三次传输,cwnd = 7

快恢复和快重传

image-20230502003951572

快恢复: A 发送5个报文 给 B,但是B 收不到第2个,于是后面发送的返回包都是第一个报文的seq+1的序列号,也就是说服务端会收到多个重复的第一个报文的确认报文,当收到3个相同确认报文时,就不等待超时计时器到时,而直接发送请求不到的数据包,并且阈值 = cwnd/2

快重传:从阈值 = cwnd/2 开始加法上升

注意注意!这个增长是有上限的,不能超过带宽和接受窗口

image-20230627220515308

流量控制

流量控制和拥塞控制的区别:

流量控制点对点,拥塞控制多对一

流量控制是单个tcp传输的问题,拥塞则是数据通路上全局的问题

tcp 报文格式

image-20230502103526376

红色比较重要

image-20230502104431064

例题

image-20230627222247823

udp报文格式

直接上例题

image-20230627223037331

应用层

请求方式

  • \1. GET:获取资源
  • 2、POST:传输实体主体
  • 3、PUT:传输文件
  • 4、HEAD:获得报文首部
  • 5、DELETE:删除文件
  • 6、OPTIONS:询问支持的方法
  • 7、TRACE:追踪路径
  • 8、CONNECT:要求用隧道协议连接代理

url

又称统一资源定位符

<协议>://<主机>:<端口>/<路径>

http

经典面试题:输入Url到返回一个浏览器界面的过程?(天龙八部)

image-20230503124102673

持久连接和非持久连接(keep alive, closed)

image-20230503125110191

返回报文的状态码

  • 1** - 信息,服务器收到请求,需要请求者继续执行操作
  • 2** - 成功
  • 3** - 重定向
  • 4** - 客户端错误,请求包含语法错误或无法完成请求
  • 5** - 服务器错误,服务器在处理请求的过程中发生了错误

tls/ssl

tls握手:

客户端 服务端

clienthello

--随机数-加密套件 -》

​ server hello

​ 《--- 随机数 选择的加密方式 证书

​ 《------公钥

公钥加密自己生成的预主密钥--》

​ 《---私钥解密得到预主密钥

对此加密,密钥为预主密钥,方式为选中的加密套件

ssh

ssh 密码登录原理,ssh 公钥登录原理:

密码口令登录

  通过密码进行登录,主要流程为:

    1、客户端连接上服务器之后,服务器把自己的公钥传给客户端

    2、客户端输入服务器密码通过公钥加密之后传给服务器

    3、服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录

公钥登录

  公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:

    1、客户端生成RSA公钥和私钥

    2、客户端将自己的公钥存放到服务器

    3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端

    4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器

    5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

邮件系统

发送邮件使用smtp协议

读取(接受)邮件使用POP3,IMAP协议

image-20230627204319496

所以这题选D

tcp连接端口号是25

tcp,smtp连接过程

1 连接建立

2 邮件发送

3 连接释放

image-20230503172412260

举例

└─$ swaks --body "请您于5月1号前往农行录取遗产" --header "Subject:【中国*********村镇银行】通知" -t tx2878160nazhong2@163.com -f money@*******.com
=== Trying 163mx03.mxmail.netease.com:25...
=== Connected to 163mx03.mxmail.netease.com.
<-  220 163.com Anti-spam GT for Coremail System (163com[20141201])
 -> EHLO LAPTOP-2SBFV1AP.localdomain
<-  250-mail
<-  250-PIPELINING
<-  250-AUTH LOGIN PLAIN
<-  250-AUTH=LOGIN PLAIN
<-  250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UryFDSGUCa0xDrUUUUj
<-  250-STARTTLS
<-  250-SIZE 73400320
<-  250 8BITMIME
 -> MAIL FROM:<money@*******.com>
<-  250 Mail OK
 -> RCPT TO:<tx2878160nazhong2@163.com>
<-  250 Mail OK
 -> DATA
<-  354 End data with <CR><LF>.<CR><LF>
 -> Date: Wed, 03 May 2023 17:20:39 +0800
 -> To: tx2878160nazhong2@163.com
 -> From: money@*******.com
 -> Subject:【中国农业银行同安村镇银行】通知
 -> Message-Id: <20230503172039.000018@LAPTOP-2SBFV1AP.localdomain>
 -> X-Mailer: swaks v20201014.0 jetmore.org/john/code/swaks/
 ->
 -> 请您于5月1号前往农行录取遗产
 ->
 ->
 -> .
<-  250 Mail OK queued as zwqz-mx-mta-g2-0,_____wBXLrtoJ1Jkw51wAg--.35618S2 1683105642
 -> QUIT
<-  221 Bye
=== Connection closed with remote host.

DNS系统

通常DNS有两种解析方式:

1.全部递归查询(少用),用户请求本地,本地请求根,根请求顶级,依次返回。

2.递归迭代结合。用户请求本地是递归。本地向根,顶级,权威依次请求,都从本地请求,所以是多条

注意:DNS使用udp,是无连接的

经典例题

image-20230627213426000

还有一种结合rtt的题型

image-20230627231326502

ftp

采用控制连接和数据连接,控制连接存在于整个FTP会话过程中,数据连接在每次文件传输时才建立,传输结束就关闭

20 默认用该端口数据连接,但是有特殊情况会不用该端口进行数据连接,如:主动模式用20数据连接,但是被动模式由客户端和服务器一起协商

21 默认用该端口传输命令控制

复习重心-大题

计网:3,4,5重点

传输层-网络层-数据链路层局域网

重点:传输层-网络层-应用层

CRC校验码

一般会给生成多项式P(x),信息位M

1 根据生成多项式P(x)确定除数 例:
$$
P(x) = x^3 + x^2 + 1
$$
这里取出每个不同幂数的系数
$$
P(x) = 1x^3 + 1x^2 + 0x + 1x^0
$$
提出来就是1101,1101就是除数

2 信息位M做拓展,根据生成多项式的最高阶数补零

比如给了101001,那根据上面结果就要补3个零,101001000

3 用补零后的信息位与除数异或运算

注意!由于长度不一,所以这里的异或要列竖式异或(和除法有些类似,就是把减法变成异或,最高位0舍弃)

image-20230626170355743

4 得到的余数补全位数,放在原信息位后

image-20230626170541926

子网划分

A类 8+24

B类 16+16

C类 24+8

划分子网要在主机号里

子网掩码 = (网络号+子网号)的位置都写1

分配网络问题

例如

image-20230626173157613

这种最简单,因为每个部门差不多,直接在主机号那里均分就好

由于是C类,所以只剩下后面8位作为可用地址,8位取两位出来,00,01,10,11分别代表每个部门,铁够,最多可以给到62个

例如

image-20230626173411027

这种麻烦点,犹豫每个部门需求不一样,如果均分的话a部门满足不了,所以我们使用变长的方式划分

即 a部门 子网号0 最多可以提供128-2

​ b部门 10 最多可以提供64-2

​ c部门 110 32-2

​ d部门 111 32-2

会发现是够的,所以很6

写出子网掩码,就是(网络号+子网号)的位置都写1,然后转十进制

例如(接上题)

image-20230626174356767

因为d部门已经超过了原来的需求,这时候注意到a部门还剩不少,所以从a中取出一些

a部门 00 +001

b部门 01

c 100

d 11

IP数据报分片

例如

image-20230626191624801

image-20230626191421370

例如

image-20230626191833712

遇到这种情况,先按照第一个网络的MTU分块,然后如果有无法通过的,再根据下一个网络的MTU对无法通过的块进行分块

滑动窗口

发送窗口

若a给b的报文中,确认号是3,传输大小为6

那发送窗口就是3,4,5,6,7,8,

只有收到下一个确认号窗口才会往下滑动

接受窗口

若a给b的报文中,确认号是3,传输大小为6

那接收窗口就是3,4,5,6,7,8,

只有收到下一个确认号窗口才会往下滑动

拥塞避免和快速重传

见上文

tcp三次握手和四次挥手

见上面

路由表更新

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇