TCP/IP三次握手(摘抄)

来源:互联网 发布:返利网源码下载 编辑:程序博客网 时间:2024/06/05 07:15
TCP三次握手(摘自《unix网络编程》)
1 服务器必须准备好接受外来的连接。通过调用socket,bind和listen函数来完成,称为被动打开(passive open)

2 客户通过调用connect进行主动打开(actine open),这引起客户TCP发送一个SYN分节(表示同步)它告诉服务器客户将在(待建立的)连接中发送的数据的初始序列号。一般情况下SYN分节不携带数据,它只含有一个IP头部,一个TCP头部及可能有TCP选项。

3 服务器必须确认客户的SYN,同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。服务器以单个分节向客户发送SYN和对SYN的ACK。

4 客户必须确认服务器的SYN.

连接建立过程至少需要交换三个分组,因此称之为TCP的三次握手(three-way hand-shake)。
SYN同步请求分节
ACK确认分节 发起端发送SYN分节得到确认后服务器端将会使ACK=SYN(j)+1和服务端的SYN发送给发起端