美文网首页计算机知识一锅烩
计算机网络知识点(八)

计算机网络知识点(八)

作者: 球球球球笨 | 来源:发表于2017-12-24 11:52 被阅读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

    (后面琐碎待补)

    相关文章

      网友评论

        本文标题:计算机网络知识点(八)

        本文链接:https://www.haomeiwen.com/subject/weicgxtx.html