我是靠谱客的博主 乐观纸鹤,最近开发中收集的这篇文章主要介绍计算机网络五层协议——TCP协议实例图解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

废话也不多说了,更多理论详情可查看:我的大学教材 谢希仁——《计算机网络》,和《TCP/IP详解》
这里主要通过抓包实际查看TCP连接的3次握手详情。

在终端下执行命令:

curl -XGET  "cg0.me/api/ping"

图1:wireshark抓包界面:

图1

如图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协议实例图解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部