网络分层协议
扫描二维码
随时随地手机看文章
定义:
网络分层协议是计算机网络中用于实现不同设备之间通信的一种结构化方式,将复杂的网络通信任务分解成多个层次。常见网络分层模型有OSI七层和TCP/IP四层模型。
OSI七层模型
1、 物理层:定义物理设备标准,如网络接口类型,传输速率等,主要作用是传输比特流。
2、 数据链路层:定义数据帧的格式和物理介质的访问控制,提供错误检测和纠正。
3、 网络层:提供不同地理位置的网络之间的连接和路径选择,管理IP地址。
4、 传输层:定义传输数据的协议和端口号,如TCP和UDP,负责数据分段和重组。
5、 会话层:建立、管理和终止系统之间的会话。
6、 表示层:确保不同系统的应用层能够相互理解,进行数据格式的转换。
7、 应用层:为用户的应用程序提供网络服务,如电子邮件、文件传输等。
TCP/IP四层模型
1、 链路层:相当于OSI模型的物理层和数据链路层,负责物理传输和数据帧的传输。
2、 网络层:相当于OSI模型的网络层,负责IP地址的管理和路由选择
3、 传输层:相当于OSI模型的传输层,负责数据的可靠性和端口管理
4、 应用层:相当于OSI模型的会话层、表示层和应用层,提供各种网络应用服务。
OSI 七层模型与 Wireshark 的对应
- 物理层(L1)
Wireshark 中的表现:Wireshark 不直接解析物理层(比特流),但会记录链路层的时间戳、接口信息(如网卡名称)和帧的物理特性(如帧长度、捕获时间)。
常见字段:Frame 信息中的 Arrival Time(捕获时间)、Frame Length(帧长度)。
- 数据链路层(L2)
Wireshark 中的表现:解析以太网帧(Ethernet II)、MAC 地址、VLAN 标签等。错误检测通过帧校验序列(FCS)实现。
关键字段:Source MAC、Destination MAC、Type(上层协议类型,如 0x0800 表示 IPv4)。
应用示例:检查 ARP 请求/应答(属于链路层协议),查看 MAC 地址是否冲突。
- 网络层(L3)
Wireshark 中的表现:解析 IP 数据包(IPv4/IPv6)、ICMP 报文、路由信息(如 TTL、IP 分片)。
关键字段:Source IP、Destination IP、Protocol(上层协议类型,如 6 表示 TCP)、TTL。
应用示例:通过 ip.addr == x.x.x.x 过滤特定 IP 的流量;分析 ICMP 不可达错误定位路由问题。
- 传输层(L4)
Wireshark 中的表现:解析 TCP/UDP 头部,包括端口号、序列号、窗口大小、校验和。
关键字段:Source Port、Destination Port、Sequence Number、Acknowledgment Number(TCP)、Length(UDP)。
应用示例:使用 tcp.analysis.retransmission 过滤 TCP 重传包,诊断网络延迟或丢包。
- 会话层(L5)
Wireshark 中的表现:会话层功能通常由传输层和应用层共同实现(如 TCP 连接的建立/终止)。Wireshark 通过 Follow TCP Stream 功能追踪完整会话。
应用示例:查看三次握手(SYN/SYN-ACK/ACK)和四次挥手(FIN/ACK)。
- 表示层(L6)
Wireshark 中的表现:解析数据格式(如加密、压缩),例如 TLS/SSL 握手、HTTP 的 JSON/XML 内容。
关键字段:TLS 协议中的 Handshake Type、Cipher Suite;HTTP 的 Content-Encoding。
应用示例:分析 HTTPS 流量中的证书交换或加密算法协商。
- 应用层(L7)
Wireshark 中的表现:解析具体应用协议(如 HTTP、DNS、FTP),展示请求/响应内容。
关键字段:HTTP 的 GET / POST 方法、状态码(200 OK);DNS 的 Query/Response。
应用示例:使用 http.response.code == 404 过滤未找到资源的 HTTP 响应。
TCP/IP 四层模型与 Wireshark 的对应
- 链路层
合并 OSI 的物理层和数据链路层:解析以太网帧、ARP、LLDP 等协议,重点关注 MAC 地址和物理接口信息。
- 网络层
对应 OSI 的网络层:分析 IP 数据包的路由和分片,使用 ip.dst 或 ip.src 过滤特定流量。
- 传输层
对应 OSI 的传输层:监控 TCP/UDP 端口状态,例如通过 tcp.port == 80 过滤 HTTP 流量。
- 应用层
合并 OSI 的会话层、表示层、应用层:解析 HTTP、DNS、SMTP 等协议,支持高级过滤(如 dns.qry.name contains "example.com")。