从实战角度,对TCP的“三次握手”过程详细分析
2016-06-13 22:37
585 查看
之前,一直对TCP的学习处于理论阶段,只是对它进行简单的使用,并没有进行实际详细的观察,总感觉学的太过于表层,下面我就基于WireShark这个工具,对TCP的“三次握手”过程,进行详细的分析。
首先,使用WireShark工具,对CSDN主页(http://blog.csdn.net/)进行分析,得到其IP为101.200.96.31。
接着,打开浏览器,打开网页(http://blog.csdn.net/)。
然后,在WireShark中输入这样的筛选规则:ip.addr==101.200.96.31。
则会得到“三次握手”如下所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/70f795b5b1799366158d2af67409f751)
1)对第一次握手(SYN请求)进行展开,如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/56a80eae46c636d3f4bcfd748141d3e3)
2)对第二次握手(SYN,ACK)进行展开,如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/5cf7e967573eaab3bc4e3ff6315f30c9)
3)对第三次握手(ACK)进行展开,如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/dc5558014c071296a88f4770e05904dc)
以上信息对应的TCP的报头,如下所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/20/e7c2edf8ffcba0403d140c3b415cfbea)
值得注意的是:
1)TCP头长的值,一个表示四个字节,而总共有四位表示头长,故报头最大长度为60字节。
2)这里的窗口大小是Min(拥塞窗口大小,接收窗口大小)。
3)窗口大小是告诉对端进行协商的,所以只有在下次才生效。
4)计算窗口的值是窗口的值*比例因子。如,第三次66240 = 16560 * 4。
首先,使用WireShark工具,对CSDN主页(http://blog.csdn.net/)进行分析,得到其IP为101.200.96.31。
接着,打开浏览器,打开网页(http://blog.csdn.net/)。
然后,在WireShark中输入这样的筛选规则:ip.addr==101.200.96.31。
则会得到“三次握手”如下所示:
1)对第一次握手(SYN请求)进行展开,如下:
2)对第二次握手(SYN,ACK)进行展开,如下:
3)对第三次握手(ACK)进行展开,如下:
以上信息对应的TCP的报头,如下所示:
值得注意的是:
1)TCP头长的值,一个表示四个字节,而总共有四位表示头长,故报头最大长度为60字节。
2)这里的窗口大小是Min(拥塞窗口大小,接收窗口大小)。
3)窗口大小是告诉对端进行协商的,所以只有在下次才生效。
4)计算窗口的值是窗口的值*比例因子。如,第三次66240 = 16560 * 4。
相关文章推荐
- 消息转换器HttpMessageConverter
- 转载http://lib.csdn.net/article/php/24076?knId=948
- linux网络编程模型
- 网络协议分析
- OSPF中LSA主要的5种类型
- 第七章 TCP/IP协议及应用
- okhttp学习之百度apistore中json的获取
- 第六章 网络互联及设备
- centos 7 安装 apache http 服务 httpd 和 php
- iOS开发网络篇—HTTP协议
- 深度学习 for java http://deeplearning4j.org/
- 最全面的HTTP知识总结
- apache https配置
- 下载管理器类的封装(观察者模式)
- 计算机网络概述
- web整站https环境下使用(spring mvc)redirect重定向到http协议问题
- 局域网无法访问外网
- 基于TCP的socket 编程
- [Android] 获取网络图片并显示
- iOS 应用将适应新的的IPv6-only网络 -解决方案