TCP/IP 握手原理
- 首先要明白一个问题就是这个TCP/IP究竟做了什么事,为什么要这么做?
- 作为HTTP的基础协议,其最重要的一个特点就是可靠传输,TCP作为其可靠传输的基础,是如何实现的。
- TCP链接的生命周期分为两个重要的阶段
- 握手
- 挥手
- 另外一个大家都知道的问题就是TCP有3次握手和4次挥手,那么下面就具体看看都做了些什么。
三次握手
sequenceDiagram
foo->>bar: 在吗?
Note right of bar: foo发送能力正常,bar接收能力正常
bar-->>foo: 怎么说!
Note left of foo: foo发送能力、接收能力正常,bar发送、接收能力正常
foo-)bar: 诶哟!
Note right of bar: foo接收能力正常,bar发送能力正常
三次握手的主要目的,就是确认双方发送和接收能力正常,并且是双方都知道,双方的能力正常。 这样一来,就成功建立了链接。
四次挥手
sequenceDiagram
foo->>bar: 分手吧?
bar-->>foo: 好的!
bar->>foo: 我们彻底分开吧?
Note right of bar: bar彻底断开链接
foo-->>bar: 好的!
Note left of foo: 等待片刻后,foo彻底断开链接
四次挥手的主要目的还是为了可靠传输,至少在双方都确认过没有问题之后在断开连接,并且在服务端断开之后,客户端还会稍微等待一会来确保连接成功关闭,再关闭自己的链接。
总结
总的来说,这样的过程可以说是非常稳了,至于说能不能减少步骤。因为TCP是全双工通信的,很有可能你觉得结束了,而对方并没有结束,这就是问题所在了。因此不能减少。