一、网络通信的本质
当两台主机通信时,数据要经过一系列协议的处理与封装,从高层到低层逐层传递,最终经由物理介质发送到对方主机,对方再逐层解封装还原。
“封装与解封装” 是网络通信的核心过程。
可以理解为:
数据像一封信,信封上写着目的地、邮票、收件人等信息,每一层协议都添加或解释其中一部分内容。
二、OSI七层模型(Open System Interconnection)
OSI(开放系统互联参考模型)由 ISO(国际标准化组织) 制定,用于指导网络协议的设计。
| 层级 | 名称 | 功能 | 常见协议/设备 | 数据单元 |
|---|
| 7 | 应用层 (Application) | 提供应用服务接口 | HTTP、FTP、SMTP、DNS | 数据(Data) |
| 6 | 表示层 (Presentation) | 数据格式转换、加密解密 | JPEG、MPEG、SSL/TLS | 数据 |
| 5 | 会话层 (Session) | 建立、管理、终止会话 | RPC、NetBIOS、SQL会话 | 数据 |
| 4 | 传输层 (Transport) | 端到端传输、可靠性 | TCP、UDP | 段(Segment) |
| 3 | 网络层 (Network) | 路由、寻址 | IP、ICMP、ARP、RIP、OSPF | 包(Packet) |
| 2 | 数据链路层 (Data Link) | 成帧、差错检测 | Ethernet、PPP、MAC、VLAN | 帧(Frame) |
| 1 | 物理层 (Physical) | 比特流传输 | RJ45、光纤、集线器 | 比特(Bit) |
三、层级详解
物理层(Physical Layer)
功能:负责比特流的物理传输。
主要任务:定义电压、电缆规格、速率、信号调制等。
典型设备:网线(RJ45)、光纤、集线器(Hub)、中继器(Repeater)。
数据单位:比特(bit)。
示例:把“1”和“0”转换成电信号或光信号进行传输。
数据链路层(Data Link Layer)
功能:负责点对点传输、成帧、差错检测(但不纠错)。
关键概念:MAC地址(物理地址)。
典型协议:Ethernet、PPP、HDLC、VLAN。
典型设备:交换机(Switch)。
数据单位:帧(Frame)。
举例:
当主机A要给同网段主机B发数据,数据链路层会加上B的MAC地址,确保帧能在局域网中正确送达。
网络层(Network Layer)
功能:负责寻址(IP地址)与路由选择,实现不同网络之间的通信。
典型协议:
IP(Internet Protocol)
ICMP(错误与诊断)
ARP/NDP(地址解析)
路由协议:RIP、OSPF、BGP
典型设备:路由器(Router)。
数据单位:包(Packet)。
示例:
把数据从局域网A通过公网转发到局域网B(跨网段通信)。
传输层(Transport Layer)
功能:提供端到端的可靠传输服务。
主要协议:
TCP(Transmission Control Protocol)可靠、有序、面向连接。
UDP(User Datagram Protocol)无连接、快速、但不可靠。
端口号(Port):用来区分主机内不同的应用服务(如HTTP用80端口)。
数据单位:段(Segment)。
示例:
TCP三次握手、四次挥手、流量控制、拥塞控制。
会话层(Session Layer)
功能:建立、管理和终止应用程序之间的会话。
常见功能:会话恢复、同步、断点续传。
示例协议:NetBIOS、RPC、SQL会话。
现实中:TCP/IP模型中会话层常与应用层合并。
表示层(Presentation Layer)
功能:数据格式转换、编码解码、加密解密。
常见任务:
把ASCII转换为EBCDIC
JPEG图片编码
SSL/TLS加密传输
示例协议:SSL、TLS、MPEG、JPEG。
现实中:与应用层合并使用。
应用层(Application Layer)
功能:直接为用户提供网络服务。
典型协议:
HTTP/HTTPS:网页访问
FTP:文件传输
SMTP/POP3/IMAP:电子邮件
DNS:域名解析
数据单位:数据(Data)。
四、数据封装与解封装过程
当应用层产生数据时,每一层都会添加自己的头部信息:
| 层级 | 封装动作 | 数据单位 |
|---|
| 应用层 | 原始数据 | Data |
| 传输层 | 加上TCP/UDP头(端口) | Segment |
| 网络层 | 加上IP头(IP地址) | Packet |
| 数据链路层 | 加上MAC头(MAC地址) | Frame |
| 物理层 | 转换成电信号/光信号 | Bit |
五、OSI模型与TCP/IP模型对应关系
| OSI层 | TCP/IP层 | 对应协议示例 |
|---|
| 应用层、表示层、会话层 | 应用层 | HTTP、FTP、DNS |
| 传输层 | 传输层 | TCP、UDP |
| 网络层 | 网络层 | IP、ICMP、ARP |
| 数据链路层、物理层 | 网络接口层 | Ethernet、PPP |
六、层级设备举例
| 网络层级 | 典型设备 | 功能说明 |
|---|
| 物理层 | 集线器(Hub) | 放大信号、转发比特流 |
| 数据链路层 | 交换机(Switch) | 根据MAC地址转发 |
| 网络层 | 路由器(Router) | 根据IP地址转发 |
| 传输层及以上 | 网关(Gateway) | 实现协议转换、不同网络连接 |