您的位置:首页 > 理论基础 > 计算机网络

tcp/ip 3次握手与4次分手

2012-07-05 23:41 176 查看


建立TCP连接步骤(如上图3次握手):
1.服务器必须准备好接受外来的连接。这是通过调用socket、bind和listen函数来完成,称为被动打开;
2.客户通过调用connect进行主动打开。这时客户TCP会发送一个SYN(表示同步)分节,告诉服务器将在(待建立的)连接中发送数据的初始序列号。一般情况下SYN分节不携带数据,它只含有一个IP头部、一个TCP头部及可能有的TCP选项;
3.服务器必须确认客户的SYN,同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。服务器以单个分节向客户发送SYN和对客户SYN的ACK(表示确认);
4.客户必须确认服务器的SYN。



终止TCP连接步骤(如上图4次分手)
1.某个应用进程首先调用close,我们称这一端执行主动关闭。于是这一端的TCP会发送一个FIN分节,表示数据发送完毕;
2.接收到FIN的另一端执行被动关闭。这个FIN由TCP确认。它的接收也作为文件结束符传递给接收端应用进程(放在已排队等候应用进程接受的任务其他数据之后),因为FIN的接收意味着应用进程在相应连接上再也接收不到额外数据;
3.一段时间后(处理队列数据到FIN结束符),接收到文件结束符的应用进程将调用close关闭它的套接口。这导致它的TCP也发送一个FIN;
4.接收到这个FIN的原发送端TCP(即执行主动关闭的那一端)对它进行确认。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: