skaiuijing

经典的OSI七层分层如下,该七层结构是由国际协定的,实际使用中并不存在该结构,该分层只是为了便于理解网路协议:

1
2
3
4
5
6
7
8
9
10
graph LR

Aa(OSI七层模型)
Ab(应用层)-->Ha(应用程序的各种服务)-->Hb(确保网络应用的使用)
Ac(表示层)-->Ga(数据编码及转换和加密)-->Gb(确保数据的解析)
Ad(会话层)-->Fa(创建并管理和维护会话)-->Fb(确保双方数据交流正常)
Ae(传输层)-->Ea(提供可靠的协议稳定传输数据)-->Eb(确保数据能完整送到目标地址)
Af(网络层)-->Da(管理IP地址)-->Db(负责数据路由)-->Dc(确保数据能送到目标地址)
Ag(数据链路层)-->Ca(接收数据并封装为帧)-->Cb(通过各种控制协议管理链路)-->Cc(确保链路连接正确)
As(物理层)-->Ba(物理线路的链接)-->Bc(屏蔽物理介质与设备的差异)-->Bd(确保物理连接)

真正被实现的网络协议是TCP/IP四层协议:

1
2
3
4
5
6
graph LR
Sa(TCP/IP四层协议)
Aa(应用层)-->Ab(各种应用层协议FTP,HTTP,DNS,SMTP等)-->Bd(数据段)
Ba(运输层)-->Bb(TCP与UDP协议)-->Bc(数据包)
Ca(国际层IP)-->Cb(IPv4或IPv6,ICMP)-->CC(数据帧)
Da(网络接口层)-->Db(物理接口:以太网,令牌环网,ARP,PPP)-->Dc(数据位/bit)

数据链路层被合并为了网络接口层,网络层变成了IP层,传输层不变,但是表示层、会话层都被合并到了应用层。

对于TCP/IP四层,自底向上的实现如下:

1
2
3
4
5
graph LR
Sa(网络接口层)-->Aa(以太网收发)-->Ab(ARP实现)
Sb(国际IP层)-->Ac(IP协议实现)-->Ad(ping响应)
Sc(运输层)-->Ae(UDP实现)-->Af(TCP实现)
Sf(应用层)-->Ba(HTTP实现)-->Bb(应用层实现,如网页)

分层结构中的复用