Tcp为什么要三次握手四次挥手
2016-06-06 14:47
543 查看
client:黄河,server:长江
三次握手
第一次:长江长江,我是黄河,听到请回答?
第二次:黄河黄河,我是长江,我听到你了,你能听到我吗?
第三次:长江长江,俺是黄河,我也能听到你,我要开始吐了。
其实第二次时黄河已经知道双方能互通,但是长江还不知道自己的声音黄河能否收到,所以需要有第三次黄河向长江的回应
四次挥手:
俗话说好聚好散,连接时礼数周全,闹掰了也不能失了礼数,所以原则上分手也分三步走
第一次:长江长江,咱们分手吧,听到请回答?
第二次:黄河黄河,我听到了,咱们分吧,听到请回答?
第三次:长江长江,我听到了,bye
理论上分手这三次就够了,但实际上在第二次的时候,长江可能有些数据还没对黄河吐完,所以,第二次应该拆分成两步,即“我听到了”和数据吐完后的“咱们分吧,听到请回答”,于是:
第一次:长江长江,咱们分手吧,听到请回答?
第二次:黄河黄河,我听到了(这是我最后一次回应你了,等我给你发完数据)
第三次:黄河黄河,发完了,咱们分吧,你能听到吗?
第四次:长江长江,我听到了,bye
(黄河在第四次挥手后会默默等待2MSL,若此期间没有收到长江传来的任何消息,则知道长江已经收到自己的ACK了,黄河就关闭链接,长江也关闭链接了,之所以黄河要等,是因为若是第四次挥手长江没有收到,长江会重复发第三次挥手,若长江没有重发,表示长江收到了)
参考:http://blog.chinaunix.net/uid-20726927-id-2455485.html
相关文章推荐
- React Native第一个Demo(2)网络获取数据和ListView
- SVN使用MySQL验证用户名密码(HTTP)
- http 返回的状态值以及Tomcat webapp的管理
- 类似restful风格的网络请求框架
- LINUX 中的 TCP/IP协议 参数详解
- TCP洪水攻击(SYN Flood)的诊断和处理
- iOS模拟网络差
- Ghost windows7系统的连接网络的情况下网络连接图标为什么显示无网络访问
- HTTPS攻击
- delphi IdHTTP实现Get方法下载文件,断点续传
- 通过HttpListener实现简单的Http服务
- bzoj 1596: [Usaco2008 Jan]电话网络
- 如何让你的Apache支持https
- Java 基于Tcp/ip连接的多人交互聊天室(Socket编程)
- apache https ssl配置详细步骤讲解
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- android http 通讯相关
- android 网络编程基础
- Android网络定位服务定制简述
- Caffe技巧之使用snapshot来继续网络训练