四.传输层
(1)可靠传输
①处理包出错
引入***机制
《计算机网络》复习笔记_传输层
②处理丢包
引入超时重传机制(会导致冗余传输,以***区分,要求***空间足够大)
《计算机网络》复习笔记_传输层
③流量控制
Stop and Wait方式的传输效率太低
滑动窗口机制:
GO-BACK-N重传机制
按序号接受,乱序的包不接受
《计算机网络》复习笔记_传输层
Example:
《计算机网络》复习笔记_传输层
Selective-repeat重传机制
哪个丢重传哪个
《计算机网络》复习笔记_传输层
Example:
《计算机网络》复习笔记_传输层

(2)UDP(用户数据报协议)
《计算机网络》复习笔记_传输层
UDP格式:
《计算机网络》复习笔记_传输层
UDP校验和:
最高位的进位1要加到checksum尾部再计算一次
《计算机网络》复习笔记_传输层
(3)TCP(传输控制协议)
①TCP包头
《计算机网络》复习笔记_传输层
***:
发送***:整个segment的第一个byte的***
ACK***:下一个想要接收的字节的***
《计算机网络》复习笔记_传输层
②估计RTT
《计算机网络》复习笔记_传输层

③TCP连接建立与终止
建立:
《计算机网络》复习笔记_传输层
Step1:
TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;
Step2:
TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始*** seq=x ,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。
Step3:
TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个*** seq=y,此时,TCP服务器进程进入了SYN-RCVD(同步收到)状态。这个报文也不能携带数据,但是同样要消耗一个序号。
Step4:
TCP客户进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的***seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号。
当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始通信了。

终止:
四次挥手后还要等待一个TIME_WAIT时间
《计算机网络》复习笔记_传输层
《计算机网络》复习笔记_传输层
④TCP的流控制
动态的滑动窗口(信用量机制)
《计算机网络》复习笔记_传输层
对于发送方,在接收到ACK后去读RWND,会根据需要移动窗口来保证发送大小不超过接收方缓冲区
⑤TCP的拥塞控制
RWND只考虑了端设备的缓冲区,没有考虑网络状态
《计算机网络》复习笔记_传输层
(i)慢启动阶段
每收到一个ACK.拥塞窗口大小加一,等效于每经过一次RTT,拥塞窗口大小乘二
《计算机网络》复习笔记_传输层
《计算机网络》复习笔记_传输层
(ii)拥塞避免阶段
方法:“加性增,乘性减”(AIMD)
加性增:超过阈值后,每次加一
《计算机网络》复习笔记_传输层
乘性减:若丢包(不太严重),则阈值和拥塞窗口都减半,进入拥塞避免阶段;若超时(严重),则阈值为CWND的一半,CWND直接减为1,进入慢启动阶段
《计算机网络》复习笔记_传输层
(iii)快恢复
《计算机网络》复习笔记_传输层

相关文章:

  • 2021-11-27
  • 2021-07-07
  • 2021-08-08
  • 2021-05-29
  • 2021-10-14
  • 2021-10-18
  • 2021-09-15
  • 2021-11-02
猜你喜欢
  • 2021-03-31
  • 2021-11-11
  • 2021-11-04
  • 2021-06-09
  • 2021-12-11
  • 2022-01-03
  • 2021-06-04
相关资源
相似解决方案