1. OSI七层模型,如图:

- 物理层(Physical Layer): 负责传输原始比特流。它涉及的是物理设备及介质,如电缆类型、电信号传输和接收等。
- 数据链路层(Data Link Layer): 确保物理链路上的无误传输 。它提供了如帧同步、流量控制和错误检测等功能,如果发生有错误的话,会让发送端重新发一次。
- 网络层(Network Layer): 负责数据包从源到目的地的传输和路由选择。它定义了地址和路由的概念,如 IP 协议。 简单理解就是网络层指定数据到那个电脑上。
- 传输层(Transport Layer): 提供端到端的数据传输服务,保证数据的完整性。它定义了如 TCP 和 UDP 协议。 简单理解就是传输层指定数据到那个电脑上的那个程序。
- 会话层(Session Layer): 管理会话,控制建立、维护和终止会话。 用来建立联系的。
- **表示层(Presentation Layer):**处理数据的表示、编码和解码,如加密和解密。
- 应用层(Application Layer): 提供网络服务 给 终端用户的应用程序,如 HTTP、FTP、SMTP 等协议。比如某些程序应用应该使用那个协议。
2. TCP/IP四层模型(按协议划分的)
• TCP/IP 四层模型,也称为互联网协议套件 ,是一种网络通信模型,用于指导数据如何在网络中的设备之间传输。这个模型将网络通信过程分解为四个的层次,每一层负责不同的任务。
2.1 应用层(Application Layer)
• **定义:**为用户应用程序提供网络服务。不同的功能使用不同的协议,例如,如果要远程连接,就需要SSH协议。
• 协议:该层包括了 SMTP、FTP、SSH、HTTP 等协议,这些协议都在应用层上实现,以实现客户端与服务器之间的通信和数据交换。不同的功能使用不同的协议。
2.2 传输层(Transport Layer)
• 定义:提供端到端的通信服务,确保数据可靠传输,可以保证这些数据的完整性和可靠性 。
• 协议:在传输层,主要的协议有 TCP(Transmission Control Protocol),它提供顺序的、可靠的、双向的 连接流,并管理报文段的发送**,确保无错误、不丢失、不重复、按序到达**;以及 UDP(User Datagram Protocol),它提供一种无连接的服务,数据以数据报的形式发送,不保证顺序或响应。
2.3 互联网层(Internet Layer)
• 定义:实现主机到主机 的通信,负责数据包的寻址和路由选择,网络层的 IP 协议是构成 Internet 的基础。Internet 上的主机都是通过IP 地址来互相识别。IP 协议不保证传输数据的可靠性,可能出现丢包等情况。
• 协议:主要协议是 IP(Internet Protocol),它定义了数据包的路由方式和网络地址。其他重要的协议包括 ICMP(Internet Control Message Protocol),用于错误报告和网络诊断。
2.4 链路层(Link Layer)
• 定义:负责在物理网络中传输原始比特数据。
• 协议:它包括了在物理网络链接中使用的所有协议,如以太网(Ethernet)、Wi-Fi 以及PPP(Point-to-Point Protocol)。
2.5 OSI 七层模型和 TCP/IP 四层模型对比以及 TCP/IP 协议栈,如图中有几个层合并,如图:

3. 网络传输中的数据单元
• PDU:协议数据单元(Protocol Data Unit,PDU)
• 是指在网络通信中, 每一层协议在 传输数据时 的基本单位。不同层级的PDU有不同的名称和结构,例如在网络层,PDU 称为数据包,在传输层,PDU 称为报文段或数据报,在数据链路层,PDU称为帧(frame)。
• 数据包(Packet):通常指网络层(如 IP 网络层)的数据单位。
• 报文段(Segment):通常用于描述传输层(TCP 传输层)的数据单位。
• 数据报(Datagram):通常用于描述 UDP 协议的数据单位,它也是传输层的一个概念。
3.1 SDU
• 服务数据单元(Service Data Unit,SDU),指的是 从上层协议接收到的、尚未添加当前层控制信息的原始数据。
3.2 PCI
• 协议控制信息(Protocol Control Information,PCI),在 当前层添加的头部(Header)或尾部(Trailer)信息**,用于控制数据传输**。
3.3 PDU=SDU+PCI。如图:

3.4 头部、尾部与 PCI
• 头部(Header)和尾部(Trailer)都属于 PCI。
• 头部和尾部是物理的,实际上是 SDU 前面或后面附加的一系列比特 。而 PCI 是逻辑的,它是协议控制信息的集合,指导网络中的各层对数据做正确处理,确保网络协议正常运作。
• 通常 PCI 只包含头部,一个特例是以太网的数据帧不止包含头部,还包含尾部的帧检验序列(FCS,Frame Check Sequence,用于差错控制)。以太网帧的头部和尾部共同构成了它的 PCI。
• 网络分层模型的层与层之间相互依赖,数据由上层到底层的过程中,每层都要加上该层协议的 Header,我们称之为封装。
3.5 基于以太网的通信流程示例,如图:
