0
点赞
收藏
分享

微信扫一扫

计算机网络之传输层6

Silence潇湘夜雨 2022-01-21 阅读 75

系列文章目录

第五章计算机网络之传输层6

计算机网络之传输层


一、 面向连接传输协议-TCP

TCP概述

TCP概述:RFCs-793,1122,1323,2018,2581
在这里插入图片描述

TCP段结构

传输层处理的基本对象是段segments
sequence number 序列号 ack的序列号不是段的编码,而是利用数据的字节数来计算
U:紧急数据一般不使用 A:标志位,来指示是否有效的ACK P:利用该标志位立刻把数据推上层,一般不用
RSF:连接的建立和拆除的标志位
Receive window:接受窗口的大小,所能接受字节的数目,流量控制的
checksum:Internet校验和

在这里插入图片描述

TCP:序列号和ACK

1K个字节的数据拆成2个segment时,第二个segment不是2也不是1(第一个序列号为1第二个为2,第一个为0,第二个为1)
而是500或501
所以是字节的编好而不是segment的个数。
42是建立连接随机选择的,43之前所有字节都正确接收到。
在这里插入图片描述
telnet远程登录应用,使用的为TCP协议
远程登录到telnet上的一台主机上,你这边发送一个字符,那边收到后会回传。

二、 TCP可靠数据传输

TCP可靠数据传输概述(不考虑拥塞控制和流量控制和重复ACK)

在这里插入图片描述

TCP RTT和超时

在这里插入图片描述估计的RTT是EstimatedRTT
DEVRTT是描述EstimatedRTT变化范围(大还是小)

在这里插入图片描述

三、TCP发送方事件

在这里插入图片描述

TCP发送端的程序

在这里插入图片描述

TCP重传示列

由于TCP是累积确认机制,所以会发ACK120而不是ACK100
在这里插入图片描述
TCP是累积确认机制
在这里插入图片描述

四、 TCP接收方

TCP ACK生成:RFC1122,RFC2581

在这里插入图片描述cumulative ACK 累计确认ACK,确认两个段。
duplicate ACK重复ACK,指示你希望的ACK

TCP快速重传机制

在这里插入图片描述

TCP快速重传算法

在这里插入图片描述

五、TCP流量控制

左边,IP层(网络层)传输进来RevBuff,然后交给上层,应用进程处理。
蓝色区域表示可以接受数据的Buff
在这里插入图片描述
在这里插入图片描述
如果Rcvwindow=0,发送方被告知不能发送了,即便以后接收方处理完后,发送方也无法知道该信息了,即无法发送。(断开连接了)
所以,TCP机制中即使Rcvwindow=0,发送方依旧可以发送很小的段,因为进程也在处理中。

六、TCP连接管理(三次握手)

在这里插入图片描述SYN报文段不携带任何数据,SYN携带SYN位-置为1,表示建立一个连接,传递客户机选择的初始序列号
服务器分配缓存,选择自己的初始的列号并且告知客户端,同时告诉客户机连接请求已经收到
客户机收到SYNACK后回复ACK报文段,这个时候SYN位-不置为1了,这步告诉服务器,我收到你同意我建立连接的报文段,该报文段可以包含数据
为什么要3次握手,2次行不行?

TCP连接管理:建立

在这里插入图片描述
在三次握手的第2次时候,服务器会建立缓存,如果第三次没有握手,服务器资源会保留一段时间,直到等它确认该连接不会建立了,收不到ACK,资源才会释放。
如果成千上万台电脑同时接入,然后第二次握手,客户端不发送ACK,服务器会怎么样?

TCP连接管理:关闭

在这里插入图片描述客户机和服务器都可以发送关闭请求,多数是客户端发送。
等待阶段是为了确保服务器那端已经正确关闭,释放资源。

TCP客户端服务器的生命周期

在这里插入图片描述

七、TCP连接管理(三次握手)

建立过程3次
在这里插入图片描述SYN报文段不携带任何数据,SYN携带SYN位-置为1,表示建立一个连接,传递客户机选择的初始序列号
服务器分配缓存,选择自己的初始的列号并且告知客户端,同时告诉客户机连接请求已经收到
客户机收到SYNACK后回复ACK报文段,这个时候SYN位-不置为1了,这步告诉服务器,我收到你同意我建立连接的报文段,该报文段可以包含数据
为什么要3次握手,2次行不行?

TCP连接管理:建立

在这里插入图片描述
在三次握手的第2次时候,服务器会建立缓存,如果第三次没有握手,服务器资源会保留一段时间,直到等它确认该连接不会建立了,收不到ACK,资源才会释放。
如果成千上万台电脑同时接入,然后第二次握手,客户端不发送ACK,服务器会怎么样?

TCP连接管理:关闭

在这里插入图片描述客户机和服务器都可以发送关闭请求,多数是客户端发送。
等待阶段是为了确保服务器那端已经正确关闭,释放资源。

TCP客户端服务器的生命周期

在这里插入图片描述

八、拥塞控制

在这里插入图片描述
可靠数据传输解决的是个体(主机)分组丢失问题
拥塞控制解决的是群体(主机)分组丢失问题
流量控制是发送方不要发送过快以至于接收方接受不了
拥塞控制是以至于网络处理不了

拥塞的成因和代价

in定义的是主机AB的发送速率
out定义主机cd的接受速率
C表示的该链路的带宽速率
路由器有无限缓存-不会存在丢包-A和B没有重传机制
代价:delay(时延)大

场景一
在这里插入图片描述
场景二

在这里插入图片描述
在这里插入图片描述带宽为R
情况a,不可能大于2/R,因为路由器buff有限。

场景3
在这里插入图片描述
A给C传输数据,当传到R2时候,R2的数据丢失了,之前路由器传输的数据就浪费掉了

在这里插入图片描述网络瘫痪,网络所有资源浪费掉了。

拥塞的解决办法2种

在这里插入图片描述
网络层不提供服务(服务),端系统(host)负责
端系统控制自己的发送速率

九、 ATM ABR拥塞控制案例(辅助的方法)

在这里插入图片描述
ATM提供ABR服务
underloaded低负载
ATM网络中data cell 和 RM cell ,RM cell 穿插在 data cell 中,A发给B,中间经过的路由器,都会改变RM cell,接收方把RM cell 返回给发送方就知道该路径的路由器情况如何(接收方返回给发送方)
也有中间网络设备路由器可以直接给发送方提供拥塞情况

在这里插入图片描述
除了RM cell还有data cell

十、TCP拥塞控制

TCP拥塞控制基本原理

在这里插入图片描述

加性增-乘性减:AIMD

线性加,乘性减(减半)
这样可以快速把网络降下来,从而避免网络的更拥塞

在这里插入图片描述

慢启动:SS

刚连接时候,发送速率远远低于带宽,如果线性增长,就浪费带宽资源了,所以希望一开始快速增长。

在这里插入图片描述在这里插入图片描述

慢启动与加性增-乘性减的切换(Threshold变量)

在这里插入图片描述黑色代表慢启动与加性增-乘性减的切换
蓝色是早期的体系,也造成了资源的浪费(太保守)

Loss事件的处理

在这里插入图片描述

TCP拥塞控制总结

在这里插入图片描述
在这里插入图片描述

TCP拥塞控制算法

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

TCP性能分析

在这里插入图片描述在这里插入图片描述

未来TCP

在这里插入图片描述

TCP公平性

在这里插入图片描述
TCP是公平的
粗红线是限制了带宽为R,所以要在粗红线所围区域内
在这里插入图片描述当TCP和UDP共存时候,公平性

在这里插入图片描述

十一、 传输层总结

在这里插入图片描述

举报

相关推荐

0 条评论