tcp 三路握手过程


下述步骤建立一个TCP 链接:



1.服务器必须准备好接受外部链接,通过调用soket, bind,listen 系统调用完成,称为被动打开
2. 客户端通过调用 connect 进行主动打开,这引起客户端tcp发送一个SYN (synchronization)分节,他告诉服务器客户端将在待建立的连接中发送的数据的初始序列号,比如 SYN j ,标示初始序列号为 j,一般情况下SYN分节不带数据,只包含一个ip头部,一个tcp头部及可能有的TCP选项(后续文章会详细阐述)。
3. 服务器必须确认(ACK,acknowledge)客户端的SYN, 同时自己也初始化一个SYN分节给客户端,表明服务器将在同一链接中发送的数据的初始序列号,服务器以单个分节向客户端发送SYN和对客户端SYN的ACK。如: ack j + 1, SYN k.
4. 客户端必须确认 服务器的SYN,返回 ack k + 1 给服务器端;
链接建立过程至少需要交换三个分组(不考虑重传),因此称之为tcp的三路握手(three-way hand shake).

你可能感兴趣的:(tcp)