You,
Back

我们知道TCP协议是传输层的可靠数据传输协议,它被称为是面向连接的(connection-oriented)协议。而在连接开始的过程中,两个要传输数据的进程需要先相互握手。 之前大概知道TCP三次握手、四次挥手的原理和原因,但是对技术细节却不清楚,今天就在这里查缺补漏一下。

三次握手

用大白话解释就是两个人打电话:

客户:你好(第一次握手,仅打招呼不说事) 服务器:你好(第二次握手,给对方回应,我听得见你) 客户:你好你好,我这里有个东西...(第三次握手,确认可以收到对方回应,然后开始说正事也就是发送数据)

那么在技术细节上,该如何理解呢?这就得先从TCP报文结构看起: 可以看到在三次握手中主要用到了下面五个报文字段

三次握手的详细过程

四次挥手

三次握手是建立连接,而四次挥手就是断开连接了。我们也先用大白话版来解释一下:

客户:我挂电话了啊 服务器:哎哟,等会等会,我看看有没有啥忘了的。 服务器:好了好了,你挂了吧 客户:得嘞

而从技术细节上看则是这样

参考资料:

著作权声明

本文作者 郭梓梁,首次发布于 MeloGuo Blog,转载请保留以上链接


GitHub · guoziliang199606@gmail.com · 微信
CC BY-NC 4.0 © Melo Guo.RSS