一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第21天,点击查看活动详情。
TCP的三次握手和四次挥手,这里的握手和挥手用的非常的形象:握手就是建立连接,挥手就是断开连接。今天只是简单记录一下自己对TCP三次握手和四次挥手的理解。如有不对,欢迎大家指正。这次理解我准备用一个小故事来白话一下这件事情。
故事的起因
小明和小刚生意上的合作伙伴,小明要向小刚买大量的文具。于是故事就这样开始了。
三次握手
第一次握手
小明心想,我先给小刚打个电话,看一下他现在能否给我配货呢?他要是不接电话,那就说明他现在没有接受信息的能力,他要是接了电话,就说明他有接受信息的能力。于是小明开始拨通电话,嘟嘟嘟嘟...
第二次握手
小刚看到电话响起,一看是小明,就知道来生意了,忙接起电话:“小明,你好啊,有什么事情吗?”
小明说:“小刚啊我这里需要好几种文具,量都比较大,你能给我送到仓库吗?”。
小刚心想,我还是跟你确认一下你仓库能不能接收吧,别我给你送货,你没有接收的能力:“小明啊,你仓库门开着呢吧?收拾有人在那里接收啊?”
第三次握手
小明忙说:“仓库开着呢,有人在那里接收,你赶紧送过来吧。” 小刚说:“好的,这就给你送”
就这样,小明和小明都确认了对方的接收和发送的能力。
为什么是三次握手呢?
因为三次握手才能够确认上方都有接收和发送的能力。
信息传输
小明说:“我需要橡皮100箱”
小刚根据小明的需求给分配了一辆车,对小明说:“已经给你安排装车了,你看看还需要什么不?”
小明说:”再来100箱铅笔“
小刚根据小明的需求给分配了一辆车,对小明说:“已经给你安排装车了,你看看还需要什么不?”
... ...(此处省略n个字)
四次挥手
经过一番友好的交流
第一次挥手
小明对小刚说:“好了,我需要的文具都告诉你了。就不要其他的了”
第二次挥手
小刚对小明说:“好的,我知道了。发完货我再告诉你”。
第三次挥手
小刚对小明说:“货已经发完了哈,合作愉快”
第四次挥手
小明对小刚说:“嗯嗯,好的。小刚,我知道了,你去忙吧”
为什么是四次挥手呢?
关键在于第二次和第三次,这里配合上图理解了就好。
于是二者断开了连接。
总结
在我看来,这就是一个小故事。我这里就是用自己理解的方式记录一下这个过程,当然在看这个故事的时候需要配合着给出的两张图来理解TCP三次握手和四次挥手的行为。这其中SYN、seq、ACK等就是二人在交易过程中的凭证,协议等。