TCP三次握手以及SYN,ACK,Seq的不详细解释

由于最近实验室的路由器重置,导致现在无法网(在这里郑重的告诫各位,重置有风险,想玩需谨慎啊),在网上翻了很多资料来查相关的设置,但都无济于事。最后,给学校管网络的老师一顿交流,发现除了需要设置静态IP以外,还需要设置跟IP绑定的MAC地址,然鹅我们并没有,师兄只传给了我们IP相关信息。坑啊!!!

好了,废话不多说,咱们进入正题。

先给大家分享一个吃饭的小故事,事情是这样婶的。到中午饭点了,我发微信个舍友“吃饭?”(补充一下,我们不在一个实验室),舍友回复“嗯”,然后我就下去了,等了半天没人,我就打电话给他问“你在哪”,他说“我在实验室”,我勒个晕,我们都说了去吃饭,结果你还在实验室,他说“你没有回复说现在就去吃饭啊”,当时气的我啊。(好像,又说了一堆废话,这次真不说了,下面咱们真的进入正题)

先上图。

《TCP三次握手以及SYN,ACK,Seq的不详细解释》

第一次握手:我们给服务器发消息“哥们,让我touch一下”,我们做这个动作是想证明,我们有没有发消息的能力,怎么证明呢,需要服务器把我们发的消息回传回来。

第二次握手:服务器告诉我们“来啊,来啊”,同时再把我们发的消息回传给我们。这个时候我们就可确定,我们发消息的能力是没有问题的,同时服务器也需要通过这次握手来确定自己的发消息能力。也就是这次握手确定了我们的发消息能力,需要确定的是服务器的发消息能力。

第三次握手:我们告诉服务器“我就到”。这时候服务器就确定了自己的发消息能力是没有问题的,于是你们就可以愉快的玩耍了。

下面我们再来解释一下具体名词的含义

SYN:synchronous建立联机

ACK:acknowledgement 确认

第一次握手:我们发送一个SYN=1,seq=x(x是随机数字的意思)的数据包,服务器看到我们发过来数据包,就知道你要跟他建立链接。

第二次握手:服务器发给我们一个SYN=1,seq=y,ACK=x+1。服务器发送前两个数据是为了确认自己的发消息能力,第三个数据在我们的seq上加1,以确认建立的是同一个链接。

第三次握手:我们只需要向服务器发送一个ACK=y+1,服务器便可以确认自己的发送能力了。

于是,我们就可以和服务器快乐的摩擦了,哦,不是摩擦,是玩耍。

现在,再想想,终于知道舍友为什么会做出如此的举动了,因为人家是学网络的,哎。

    原文作者:梅花14
    原文地址: https://blog.csdn.net/qq_41621362/article/details/89167178
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞