协议是什么?
通信协议(英语:communication protocol,也称传输协议)在电信领域中指的是:在任何物理介质中允许两个或多个在传输系统中的终端之间传播信息的系统标准,也是指计算机通信或网络设备的共同语言。
OSI七层和TCP/IP四层的关系?
OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。
OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。
OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。
TCP:transmission control protocol 传输控制协议
UDP:user data protocol 用户数据报协议
OSI(开放式系统互连)参考模型是由国际标准化组织(ISO)在1985年提出的一个网络互连标准框架。
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)
是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
它将网络通信的工作分为七个层次。

以下是这七层的简要介绍:
物理层:负责传输原始的比特流,包括电缆、光纤等物理介质的连接和信号传输。
数据链路层:提供节点间的数据传输和错误检测与纠正功能,常见协议有以太网。
网络层:负责数据包的路由选择和转发,确保数据能够从源地址到达目的地址,常见协议有IP。
传输层:提供端到端的通信管理,确保数据完整传输,常见协议有TCP和UDP。
会话层:管理和控制应用程序之间的会话,包括建立、管理和终止会话。
表示层:处理数据的格式化、加密和解密,确保不同系统之间的数据能够互相理解。
应用层:提供网络服务和应用程序接口,常见协议有HTTP、FTP、SMTP等。
OSI模型的主要目的是标准化网络通信,确保不同厂商的设备和软件能够互相兼容和通信。它在网络设计和分析中起着重要作用。
虽然某些技术(比如协议)在逻辑上比起其它层来说可能“属于”某一层,但并非所有的技术都完全契合 OSI 模型中的单个层。
例如,以太网(Ethernet)、802.11(Wifi)和地址解析协议(ARP,Address Resolution Protocol)程序在不只一层上工作。
OSI 只是一个模型,一个工具,并不是一组规则。
向下的数据包结构

1.应用层数据包

这里是一个GET请求报文,请求谷歌的报文结构也是相同的,只是域名等内容不同罢了。我们假定这个部分的长度为4960字节,此时的数据包结构如下:
就是一个单纯的数据包,没有头部。

2.传输层数据包(TCP/UDP数据包)
TCP/UDP数据包需要设置端口,接收方(Google)的HTTP端口默认是80,发送方(本机)的端口是一个随机生成的1024-65535之间的整数。

TCP/UDP数据包就是在应用层数据包前面加上端口号的等必要的寻址信息作为头部。
3.网络层数据包(IP数据包)
到了网络层,TCP数据包再嵌入IP数据包。IP数据包需要设置双方的IP地址,这是已知的,发送方是192.168.1.100(本机),接收方是172.194.72.105(Google)。
IP数据包的标头长度为20字节,加上嵌入的TCP数据包,总长度变为5000字节。

4.数据链路层数据包(以太网数据包)
最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地址,接收方为网关192.168.1.1的MAC地址(通过ARP协议得到)。
以太网数据包的数据部分,最大长度为1500字节,而现在的IP数据包长度为5000字节。因此,IP数据包必须分割成四个包。因为每个包都有自己的IP标头(20字节),所以四个包的IP数据包的长度分别为1500、1500、1500、560。

分割成四个数据包,分割只能分割数据部分,每个数据包都要具有相同的标头,不然找不到目的地址:

服务端响应:
经过多个网关的转发,Google的服务器172.194.72.105,收到了这四个以太网数据包。
根据IP标头的序号,Google将四个包拼起来,取出完整的TCP数据包,然后读出里面的"HTTP请求",接着做出"HTTP响应",再用TCP协议发回来。
本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信。
这个例子就到此为止,虽然经过了简化,但它大致上反映了互联网协议的整个通信过程。
我们再总结一下整个过程中数据包的结构包装变化(图片来源于网络):

网络通讯协议图下载
https://www.alipan.com/s/r9yy9naq1Hw
参考文档:
https://www.jianshu.com/p/c793a279f698
https://cloud.tencent.com/developer/article/2183899
https://www.cnblogs.com/Robin-YB/p/6668762.html
https://zhuanlan.zhihu.com/p/32059190