计算机知识一锅烩

计算机网络知识点(八)

2017-12-24  本文已影响29人  球球球球笨

Chapter5 运输层(二)


可靠传输的工作原理

可靠传输:

  1. 理想信道:传输信道不产生差错,不管发送速率多快都要来得及接受。
  2. 不理想信道: 出错,让对方重传,传送速度太快,让对方降速。


    确认重传.PNG

    使用确认重传机制,就可以在不可靠的传输网络上实现可靠通信。


ARQ(自动重传请求)

流水线传输.PNG
连续ARQ协议
  1. 累积确认:不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,表示到这个分组为止的所有分组都已经正确收到了。优点:易于实现,即使确认丢失也不必重传。缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。
  2. Go-back-N:表示需要再退回来重传已经发送过的N个分组。

可靠通信的具体实现:

  1. TCP连接的每一端都设有两个端口,发送端口和接受端口
  2. TCP的可靠传输机制用字节的序号进行控制。TCP所有的确认都是基于序号而不是基于报文段的。
  3. 两端的四个窗口经常处于动态变化之中。
  4. RTT也是动态的。需要使用特定的算法估算较为合理的重传时间。

TCP报文段的首部格式

TCP首部.PNG
序号:本报文段发送的数据的第一个字节的序号
确认号:是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移:即TCP报文段首部长度,最大为60字节,选项长度不超过40字节。
紧急URG:URG=1时,有效。告诉系统此报文段中有紧急数据,应尽快传送。
ACK:为1时有效
PSH:PSH = 1时,就尽快地交付接受应用进程,而不是等到缓存填满了再向上交付。
RST:为1时,表明TCP连接出现严重差错,必须释放连接,再重新建立连接。
SYN:为1时表明这是一个连接请求或连接接受报文。
FIN:为1时表明此报文段的发送端数据已经发送完毕,并要求释放运输连接。
窗口字段:占2 字节,用来让对方设置发送窗口的依据,单位为字节,告诉对方接收方目前允许对方发送的数据量。要有限制的原因是接收方数据缓存有限。
检验和:检验范围包括首部和数据两部分。计算检验和时,要在TCP报文段前面加上12字节的伪首部。
紧急指针字段:指出在本报文段中紧急数据共有多少个字节。
选项字段:最大报文段长度MSS,告诉对方TCP,我的缓存能够接受的报文段的数据字段的最大长度是MSS个字节。MSS小,利用率低,MSS大,IP分段增加开销。

TCP可靠传输的实现

(几张图待补)

发送缓存与接收缓存的作用

发送缓存用来暂时存放:发送应用程序传送给发送方TCP准备发送的数据。 TCP已经发送出去但尚未收到确认的数据
接受缓存用来暂时存放:按序到达的,但尚未被接受应用程序读取的数据。不按序到达的数据。

A的发送窗口并不总是和B的接受窗口一样大。TCP标准没有规定对不按序到达的数据应如何处理。要求接收方有累计确认的功能,这样能减少传输开销。

选择确认SACK

(后面琐碎待补)

上一篇下一篇

猜你喜欢

热点阅读