-
发送端:
- 应用层(应、表、会三层):
- 应用程序生成要发送的数据,并通过应用层协议(如HTTP、FTP等)进行处理。
- 传输层:
- 传输层协议(如TCP或UDP)将应用层数据分割成传输段,并添加传输层头部。
- 网络层:
- 网络层协议(如IP)为传输层的数据段添加网络层头部,包括源IP地址和目的IP地址。
- 由于目的网络不在同一局域网内,数据将发送给默认网关(通常是第一个路由器)。
- 数据链路层:
- 数据链路层协议(如Ethernet)将网络层的数据包封装成帧,并添加帧头部和尾部。
- 帧在局域网内传输到默认网关(即第一个路由器)。
第一个路由器:
- 物理层和数据链路层:
- 路由器接收来自发送端局域网的帧,并剥离帧头部和尾部。
- 网络层:
- 路由器查看帧中的目的IP地址,并根据其路由表决定下一个跳点。
- 路由器将数据包重新封装成帧,并添加新的帧头部,以便传输到下一个局域网或路由器。
- 数据链路层和物理层:
- 路由器将帧发送到下一个局域网或路由器。
中间路由器:
对于途中的每个中间路由器,过程与第一个路由器类似:
- 物理层和数据链路层:
- 路由器接收帧,并剥离帧头部和尾部。
- 网络层:
- 路由器查看目的IP地址,并根据其路由表决定下一个跳点。
- 路由器重新封装数据包为帧,并添加新的帧头部。
- 数据链路层和物理层:
- 路由器发送帧到下一个局域网或路由器。
最后一个路由器和接收端局域网:
- 物理层和数据链路层:
- 最后一个路由器将帧发送到接收端局域网。
- 网络层:
- 接收端局域网中的设备查看帧中的目的IP地址,并决定是否接收该帧。
- 传输层和应用层:
- 数据包逐层上传到传输层和应用层,最终由接收端应用程序接收数据。
- 应用层(应、表、会三层):
接收端:
- 物理层:
- 接收物理信号,并将其转换回二进制数据。
- 数据链路层:
- 剥离帧头部和尾部,验证帧的完整性。
- 根据目的MAC地址将帧传递给相应的网络层协议。
- 网络层:
- 剥离网络层头部,根据目的IP地址进行路由选择。
- 将数据包传递给传输层。
- 传输层:
- 剥离传输层头部,进行数据重组和校验。
- 如果是TCP,还会进行流量控制和差错控制。
- 将数据段传递给应用层。
- 应用层(应、表、会三层):
- 应用层协议处理接收到的数据,可能包括解密、解压缩等操作。
- 应用程序接收并使用数据。