计算机网络知识点(八)

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

(后面琐碎待补)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3....
    牛富贵儿阅读 2,895评论 0 3
  • 协议的定义 为了在计算机网络中有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换数据的格...
    王侦阅读 1,763评论 0 3
  • 【计算机网络】传输层 传输层协议概述 传输层协议为运行在不同host上的进程提供了一种逻辑通信机制。使得端到端不需...
    666真666阅读 2,073评论 0 4
  • 计算机网络七层模型中,传输层有两个重要的协议:(1)用户数据报协议UDP (User Datagram Proto...
    Q南南南Q阅读 1,748评论 0 3
  • 醒来,居然隐约记得昨夜的梦,往常都是记不住的。梦里的场景热闹非凡,好像婚嫁的气氛,好多人,好多人,都是行色匆匆又喜...
    七月紫苏阅读 134评论 0 0