对tcp/ip协议新认识(三) -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    采用TCP协议连接的2端,在通讯的过程中协议的细节有一定的差别,

对tcp/ip协议新认识(三)

    连接建立阶段

    连接发起者syn中的seq与连接接收者syn中的seq相差1

    在连接建立时,双方需要通报自己的seq开始值,滑动窗口大小,包的最大字节数

    滑动窗口的使用,使得通讯的两端不需要收到一个数据后,就马上发出ack,可以一直发送,只要seq不超过初始seq值+滑动窗口值

    数据传输

    数据接收者的ack中的seq等于数据发送者的seq+数据长度

    有时可能多次接收数据,发送一次ack

    每次发送数据时,都要将数据从应用层拷贝到内核,数据在发送前都要检查连接是否有异常

    连接关闭

    连接关闭者发起的fin中seq与连接关闭ack的seq值相同

    tcp协议中有一个重要的协议命令reset,reset表示重置连接,一般来说server校验client信息不符时,会发送rst到client,这个命令常用于server意外重启,很多防火墙也用它来断开client连接,

电脑资料

对tcp/ip协议新认识(三)》(https://www.unjs.com)。

    reset命令的发起者,reset命令一发送,发送缓冲区中的所有包都被清掉,而接收者的接受缓冲区的数据也会被清理。

    fin命令是正常关闭,它会根据缓冲区的顺序来发送,就是发送fin之前的数据都要发送完毕,才会发fin包,所以rst用来异常关闭连接的。

最新文章