2023年11月27日发(作者:)

TCPIP协议模型详解(精⼼整理)

“TCP/IP协议”可谓是我们⽇常⼯作中接触到的最多的数据传输协议了,也是在⽹络访问过程中的底层协议。可能很多⼩伙伴也跟我⼀样

虽然对这个“协议”很熟悉,却傻傻分不清楚这个东西到底是什么以及整个⼯作流程是怎么样的,在拖延了也迷迷糊糊的⽤了⽆数天之后,

终于下定决⼼好好梳理⼀番协议相关的知识。在拜读了⽆数前辈们⾟苦整理的⽂章和帖⼦之后,最终写下本篇⽂章详细的梳理⼀

下“TCP/IP协议”到底是什么以及整个⼯作流程,⼀是加深⾃⼰的学习印象,⼆来作为⾃⼰学习的记录,⽅便⽇后回顾重温。

看到在每⼀层都会添加或者剥离不同的头部进⾏数据的发送和解析,再来⼀张百度⼤⼤清晰的数据结构层⾯的流程图:

光明正⼤的再拿百度⼤⼤⼀张图,还是那句话,对⾥⾯的⼀些名字和缩写不⽤在意,后⾯我们都会讲解,其实并不复杂:

相信通过以上的⼏个图⽚⼤家对于⽹络分层的概念和每⼀层进⾏的操作已经很清楚了,先简单说⼀下每层⼤概的作⽤吧(以接收数据的路线

再举⼀个⼦⽹的例⼦:

我们⾃⼰可以通过公司内和⾃⼰连接在⼀个⽆线⽹下的同事查询对⽐公⽹IP,会发现同处于⼀个⽆线⽹下的机器通过百度查询IP地址

的时候(直接在百度输⼊IP搜索),查询的结果为路由器连接的公⽹IP地址,会查询出同样的结果,因为我们都处于路由器的⼦⽹之

引⽤ 来举例:

IP 地址是门牌号,⽽ IP 协议负责计算并找到指定门牌,快递⼩哥每天出门前要做的事就是 IP 协议的天职:分拣包裹、规划路径。其

实,三五个节点的⼩型⽹络内部通信完全不必使⽤ IP 协议,因为这些节点之间本来就能两两互通,但会有个问题:节点数变多后,⽹

“ARP(地址解析协议)基本功能就是通过⽬标设备的 IP 地址,查询⽬标设备的 MAC 地址,以保证通信的顺利进⾏。以太⽹中的数据帧

从⼀个主机到达⽹内的另⼀台主机是根据48位的以太⽹地址(硬件地址)来确定接⼝的,⽽不是根据 32 位的 IP 地址。内核必须知道⽬的

三次握⼿(开始连接):

第⼀次握⼿:客户端发送 syn 包 (syn=j) 到服务器,并进⼊ SYN_SEND 状态,等待服务器确认;

我们经常⽤的 ping 命令的原理就是向对⽅主机发送 UDP 数据包,然后对⽅主机确认收到数据包, 如果数据包是否到达的消息及时反馈回

#####应⽤层

补充: