计算机网络五层协议——TCP协议实例图解
2017-03-04 14:24
666 查看
废话也不多说了,更多理论详情可查看:我的大学教材 谢希仁——《计算机网络》,和《TCP/IP详解》
这里主要通过抓包实际查看TCP连接的3次握手详情。
在终端下执行命令:
图1:wireshark抓包界面:
如图1所示:我们开始对网络请求开始抓包分析,点击图中的追踪TCP流。
如图2所示:
图2:
图3:
图4:
简单点说:
1 如图2所示,在3个TCP连接之后是一个HTTP连接,这也说明了HTTP连接确实是建立在TCP连接的基础之上的。
2 如图2所示,在第一次握手的时候,标志位(flag)为SYN,序列号(SEQ)为0。客户端(client)请求简历TCP连接,此时处于SYN_SEND状态,等待服务端(SERVER)确认。
3 如图3所示,在第二次握手的时候,标志位(flag)为SYN,ACK,序列号(SEQ)为0(注意,此处的序列号跟第一次握手的序列号没关系,是用于ACK的确认。下同)。确认序号(ACK) 为客户端发送过来的SEQ +1。服务端进入SYN_RECV状态。
4 如图4所示,在第三次握手的时候,标志位(flag)为ACK。确认序号(ACK) 为服务端发送过来的SEQ +1。客户端和服务器进入ESTABLISHED状态,完成三次握手。
就这样,完成TCP三次握手,建立了连接。
最后盗用一张网上的老图:
这里主要通过抓包实际查看TCP连接的3次握手详情。
在终端下执行命令:
curl -XGET "cg0.me/api/ping"
图1:wireshark抓包界面:
如图1所示:我们开始对网络请求开始抓包分析,点击图中的追踪TCP流。
如图2所示:
图2:
图3:
图4:
简单点说:
1 如图2所示,在3个TCP连接之后是一个HTTP连接,这也说明了HTTP连接确实是建立在TCP连接的基础之上的。
2 如图2所示,在第一次握手的时候,标志位(flag)为SYN,序列号(SEQ)为0。客户端(client)请求简历TCP连接,此时处于SYN_SEND状态,等待服务端(SERVER)确认。
3 如图3所示,在第二次握手的时候,标志位(flag)为SYN,ACK,序列号(SEQ)为0(注意,此处的序列号跟第一次握手的序列号没关系,是用于ACK的确认。下同)。确认序号(ACK) 为客户端发送过来的SEQ +1。服务端进入SYN_RECV状态。
4 如图4所示,在第三次握手的时候,标志位(flag)为ACK。确认序号(ACK) 为服务端发送过来的SEQ +1。客户端和服务器进入ESTABLISHED状态,完成三次握手。
就这样,完成TCP三次握手,建立了连接。
最后盗用一张网上的老图:
相关文章推荐
- 计算机网络协议第八章,TCP协议基础
- 计算机网络之TCP协议与UDP协议
- 计算机网络之TCP协议与UDP协议
- 计算机网络之五层协议体系概述
- 计算机网络的五层协议体系
- 计算机网络五层协议中的第一层--物理层
- 计算机网络五层协议概述------运输层
- 具有五层协议的计算机网络体系结构
- 【计算机网络】协议--TCP协议与UDP协议的区别
- 计算机网络的五层协议体系
- 计算机网络原理五层协议体系初解
- 计算机网络五层协议简介
- 计算机网络基础(四)TCP协议中的三次握手和四次挥手(图解)
- 【计算机网络】:五层协议的体系结构的模拟实现
- 计算机网络的五层协议体系
- 计算机网络--七层协议/五层协议
- 计算机网络——TCP协议和UDP协议
- 计算机网络的五层协议体系详解。
- 计算机网络之TCP协议与UDP协议
- 计算机网络--TCP协议中的三次握手和四次挥手(图解)