TCP协议

Posted on 2019-05-22 09:12  刘洁萍  阅读(115)  评论(1)    收藏  举报

建立连接:

第一次握手:A的TCP向B发出连接请求报文段,其首部中的同步位SYN=1, 并选择序号seq=x, 表明传送数据时的第1个数据字节的序号是x。

第二次握手:B的TCP收到连接请求报文段后,如同意,则发回确认,ACK=1,其确认号ack=x+1, 同时B向A发起连接请求,应使SYN=1, 自己选择的序号seq=y.

第三次握手:A刚收到此报文段后向B给出确认,其中ACK=1,确认号,ack=y+1,A的 TCP通知上层应用进程,连接已经建立

释放连接(断开TCP连接):

第一次释放:A的应用程序先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。A把连接释放报文段首部的FIN=1,其序号seq=u,等待B的确认

第二次释放:B发出确认,确认号ack=u+1,而这个报文段自己的序号seq=v。TCP服务器进程通知高层应用进程。从A到B这个方向的连接就释放了,TCP连接处于半关闭状态,若B发送数据,A仍要接收。

第三次释放:若B已经没有要向A发送的数据,其应用进程就通知TCP释放链接

第四次释放:A收到连接释放报文段后,必须发出确认。在确认报文段中ACK=1,确认号ack=w+1,自己的序号seq=u.

第一次握手:A的TCP向B发出连接请求报文段,其首部中的同步位SYN=1, 并选择序号seq=x, 表明传送数据时的第1个数据字节的序号是x。第二次握手:B的TCP收到连接请求报文段后,如同意,则发回确认,ACK=1,其确认号ack=x+1, 同时B向A发起连接请求,应使SYN=1, 自己选择的序号seq=y.第三次握手:A刚收到此报文段后向B给出确认,其中ACK=1,确认号,ack=y+1,A的 TCP通知上层应用进程,连接已经建立释放连接(断开TCP连接)第一次释放:A的应用程序先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。A把连接释放报文段首部的FIN=1,其序号seq=u,等待B的确认第二次释放:B发出确认,确认号ack=u+1,而这个报文段自己的序号seq=v。TCP服务器进程通知高层应用进程。从A到B这个方向的连接就释放了,TCP连接处于半关闭状态,若B发送数据,A仍要接收。第三次释放:若B已经没有要向A发送的数据,其应用进程就通知TCP释放链接第四次释放:A收到连接释放报文段后,必须发出确认。在确认报文段中ACK=1,确认号ack=w+1,自己的序号seq=u.