计算机网络第五章——传输层(下)

安得广厦千万间,大庇天下寒士俱欢颜

文章目录


请添加图片描述
序号:TCP首部的序号字段用来保证数据能有序提交给应用层,序号建立在传送的字节流之上
确认:TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号,
TCP默认使用累计确认,即TCP只确认数据流中至第一个丢失字节为止的字节
重传:超时:TCP每发送一个报文段,就对这个报文段设置一次计时器。计时器设置的重传时间到期但还未收到确认时,就要重传这一报文段,冗余ACK,再次确认某个报文段的 ACK,而发送方先前已经收到过该报文段的确认,当收到对于某个报文段的3个冗余ACK,可以认为该报文段已经丢失。这时发送方可以立即对该报文执行重传
请添加图片描述
按序的不丢失的,这个校验也是二进制求反码来判断有没有发送错误,
请添加图片描述
TCP传输的时候就是以一个字节为单位,所以就会把一个字节编一个序号,对于一个文件第一个需要是多少是可以随机的,发送的时候是以报文段为单位,把一些字节流放在一起组成一个报文段,然后再把这个报文段发送出去,这个报文段的大小也是不定的,报文的划分就要取决于MTU,有了这个就能保证有序的提交给用户层,而基于这个需要,也就有了确认和重传机制,
请添加图片描述
并且注意到即使发过去了,但是在没有收到确认报文段之前,发送方但是依然是保留着报文段的副本,(可以专门发一个确认报文段,或者捎带确认)即使78 到了,依然是发送给确认报文是4,
请添加图片描述
超时重传这个时间的设置比较麻烦,是因为可能经过的是高速率的局域网也可能是低速率的网络,而且每一个IP数据报所选择的路由也是不相同的,这取决于当时网络的一个情况,一个报文段可能所走的路径不同,
请添加图片描述
并且注意TCP通常不使用停等协议的,没有说一定要二号到了才能发送3号,TCP中主要考察的是拥塞控制和流量控制。

请添加图片描述
匹配发送方的发送速率与接收方的读取速率
基于滑动窗口协议的流量控制机制,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小( 接收窗 wnd ),限制发送方向网络注入报文的速率,发送方根据其对当前网络拥塞程序的估计而确定的窗口值,其大小与网络的带宽和时延有关
流量控制的区别:传输层:定义端到端用户之间的流量控制,数据链路层:定义两个中间的邻结点的流量控制
窗口大小的区别:传输层:滑动窗口可以动态:变化,数据链路层:滑动窗口不能动态变化
请添加图片描述
当然这个接收窗口是可以为0的,
请添加图片描述
传输层的窗口大小是以字节为单位的,累计确认,
这种状况一直持续到主机B重新发送一个窗口值为止,但是若是丢失了,主机AB就会互相等待,解决的方法就是设置一个持续计时器,
请添加图片描述
拥塞控制:防止过多的数据注入网络,保证网络中的路由器或链路不致过载
拥塞控制与流量控制的区别:相同点:它们都通过控制发送方发送数据的速率来达到控制效果
区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因索,流量控制是点对点的通信量的控制,即接收端控制发送端,它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收
窗口:接收窗口 rwnd: 接收方根据目前接收缓存大小所许诺的最新窗口值,反映接收方的容量,拥塞窗口 cwnd:发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络的当前容量,发送窗口的上线值=min(rwnd,cwnd)
实现机制:慢开始,每经过一个传输轮次(即往返时延RTT拥塞窗口 cwnd就会加倍,令拥塞窗口 cwnd = 1即一个最大报文段长度MSS,每收到一个对新报文段的确认后,将cwnd加1使分组注入网络的速率更加合理,慢开始一直把拥塞窗口 cwnd增大到一个规定的慢开始门限ssthresh (域值),然后改用拥塞避免算法,拥塞避免,发送端的拥塞窗口 cwnd每经过一个往返时延RTT就增加一个MSS 的大小,而不是加倍,cwnd按线性规律缓慢增长(即加法增大),而当出现一次超时( 网络拥塞时,令慢开始门限ssthresh等于当前cwnd的一半( 即乘法减小)

请添加图片描述
这里的资源主要指的是网络链路中的一些容量,比如说带宽,同样的还有交换结点中的缓存,以及交换结点中的处理机,
通过协调网络中的主机就可以防止有过多的数据注入到这个网络当中,因此就可以减去网络的阻塞情况,如左边的这个图,都使用某一个结点都会使得网络非常的繁忙,出现一个拥塞的情况,接收方就会察觉这样一个拥塞的情况,但是却不知道具体是那几台主机发送数据过快,或者发送数据过多造成的,而流量控制是一种点对点的通信量的控制,所以流量控制是知道找谁,
请添加图片描述
同一个颜色是放在一起来使用,而快重传和快回复也是放在一种情形下来使用的,
1 中就是不考虑捎带确认,可以看出接收窗口是接收方确定的,而拥塞窗口时发送方确认的,接收窗口反映的是接收方的接收能力,而拥塞窗口是一个全局性的,是一个网络的当前容量问题,,
请添加图片描述
拥塞窗口的大小开始的时候默认是设置为1的,也就是CEND等于1,这个值表示此时可以发送多少个报文段,
慢开始就是指前面这一个部分,开始的时候增加缓慢,1的时候注入一个报文段,2的时候注入4个报文段,3的时候8个报文段,
ssthresh就是到了这个值之后速度就要减一点了,因为此时注入的报文段有点多所以将减缓注入的增加量,当发送阻塞直接降到慢开始的程度,继续执行慢开始算法,只要发生了网络拥塞就将其拥塞值除以2得到新的ssthresh,
一收到确认就将这个拥塞窗口翻倍,然后再去发送这个报文段

请添加图片描述
所谓的快重传就是指当收到三个冗余的确认就会执行快重传算法,使用这种就可以在超时计时器到期之前,迅速执行这样一个重传的过程,省下了很多的等待时间,这个快回复就是不是降为1,而是降为新的ssthresh的值,

这个端口是有服务器所使用的端口,另外就是客户器端使用的端口,
三次握手是建立连接时候的几个步骤,四次握手就是断开连接时候的几个步骤,在过程中一些控制位是置为0还是置为1,以及序号和确认号之间的关系,TCP的可靠传输主要是校验(和UDP方式是一样),序号(就是为字节编号),确认(确认就是为了保证可靠传输),重传(超时重传和冗余确认),TCP的流量控制就是在确认报文中设置接收窗口的值来限制发送方的发送速度,拥塞控制根据发送方自己估算的网络程度来设置一个拥塞窗口并且根据拥塞窗口来设置自己的发送窗口,另外要注意发送窗口要取拥塞窗口以及接收窗口的最小值,
网络拥塞的处理
发送方检测到超时事件的发生(未按时收到确认,重传计时器超时,就要把慢开始门限ssthresh设置为出现拥塞时的发送方的cwnd值的一半(但不能小于2),然后把拥塞窗口 cwnd重新设置为L执行慢开始算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值