分享

如何通俗的去理解TCP的三次握手?

 昵称11935121 2018-03-15

“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

TCP协议采用三次握手的机制建立连接,提供稳定可靠的传输服务。


何为三次握手?

三次握手就是客户端与服务器端建立TCP连接时需要发送3个包进行连接的确认,在三次握手完成后即可建立连接。那么具体的每次握手都发送什么信息呢?

1、第一次握手。客户端发送请求报文,标志位SYN设置为1,随机产生seq值为x,客户端进入SYN_SENT状态,等待服务器端的回应。

2、第二次握手。服务器端接收到请求报文,将SYN和ACK都设置为1,ack为x+1,随机产生seq值为y,然后将数据包发送给客户端进行确认,服务器端进入SYN_RCVD状态。

3、第三次握手。客户端收到回应的数据包后,确认ack是否为x+1,以及ACK是否为1,若正确,则将ACK设置为1,ack为y+1,然后将数据发送给服务器端。服务器端在接受到数据后检查ack是否为y+1,ACK是否为1,若正确则正确建立连接,双方均进入ESTAB-LISHED状态,完成三次握手。

若是用简单的语言来描述的话,可以根据书本上经典的“两军通信”来理解。

背景为山的两头为红军和蓝军,山上为白军,红军和蓝军都不是白军的对手,若想要打败白军必须一起行动才可以,这时两军需要通信进行沟通了:

1、红军派人过去告诉蓝军明天中午12点进攻;

2、蓝军接受到通知并同意以后,派人告诉红军已收到指令,并同意该时间进攻;

3、红军收到通知后,会再次派人告诉蓝军自己已经收到回应,决定明天中午12点进攻。

这三次过程后,红军和蓝军就会在第二天中午12点发起进攻。这就可以简单的理解为三次握手。

请大家多多关注我,探讨其它问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多