运输层协议概述
目录
用户功能中的最低层
网上的视频是UDP协议,快
TCP,可靠,首部加文件多,全双工的。
不知道经过哪些路由,只是建立一个虚拟的链接。不关心底层
两类端口 216
熟知端口 0-1023,
UDP
在IP基础上增加端口的功能和差错检测的功能
首部只有8字节
伪首部为了保证校验和,
TCP
2个缓存,发送和接收缓存
IP层是实际的有路由器组成的实际,这个是虚拟的,1对1的进程,面向字节流
停止等待协议
A的分组要等B再发,超时重传,
很多端口同时进行,需要返回信息有确认哪个端口的功能
为了提高利用率 采用连续ARQ协议,流水发放
报文格式
最小20字节
URG =1,紧急分组的标识
ACK =1,标识他是返回报文
PUSH =1,直接向上传,
RST =1,出现很严重的错误,需要释放连接,重新建立连接
SYN =1 这是一个连接请求或者连接接收报文
FIN =1 发送完毕,但是这里面可以有数据部分
窗口,2字节的告诉公路,差的就是缓冲区的问题,是否匹配?,是自己的容纳的接收窗口的大小
校验和 也是2字节1个数,求和,反码
紧急指针字段,最后一个长度不都的话,前面等长,按照偏移就可以了,最后一个靠这个指针定位。
虽然有最大窗口,但是最大长度是初始定义的,但窗口是随着发的过程逐步调整。
接收端返回确认好是已收到的数据的最高序号+1,
(一)以字节为单位的滑动窗口
RTT就是第一次的报文传送回来时间
α根据实际
超时重传
RTO =RTTs+4*RTTd
β根据旧的
-------------------------------------------------------
接收时候
只确认第一个
--------------------------------------------------------
TCP流量控制
利用滑动创库实现流量控制
处理还有时间呢,不是说人家收了你就再发
(1)发出缓冲区达到MSS就发出去
(2)接收方指定
Nagle算法:发的用,有一个就发,到了就发
糊涂窗口整合症算法:计算缓冲区还有多少,整个缓冲区还有1半的时候
TCP拥塞控制
1.慢开始和拥塞避免
接收窗口 rwnd
拥塞串口cwnd(congest。。。) 初始为一个最大报文段MSS
2.快重传快恢复
就是A不听话,不听放回确认,直到连续收到3个确认标识才好使
3.快恢复
TCP的运输连接管理
(1)SYN=1,SEQ=X为序列号
(2)SYN=0,ACK=1,SEQ=Y参数协商,是服务器端的序列号,开始编号为y,
-----------------------------------------------
释放的时候4次,图有错
TCP连接的有穷状态,红色的是发送方,蓝色的服务器北宫