数据转发过程概述
数据包在 相同网段 内或 不同网段之间 转发所依据的原理基本 一致 。
一、数据帧封装
TCP封装(四层)
当主机建立了到达目的地的TCP连接后,便开始对 应用层数据 进行封装。
主机A会对待发送的应用数据首先执行 加密 和 压缩 等相关操作,之后进行传输层封装。 Web应用是基于传输层的TCP协议传输数据的。
IP封装(三层)
主机A完成传输层封装后,一般会进行网络层数据封装,在使用IP进行封装时,需要明确 IP报文的源和目的地址 。如果IP报文的大小 大于 网络的 最大传输单元(MTU) ,则该报文有可能在传输过程中 被分片 。
查找路由
主机A必须要拥有到达 目的地的路由 。
每个主机都会独自维护各自的路由表项。主机A在发送数据前需要先检查是否能够到达目的端,这个过程是通过 查找路由 来完成的。
ARP请求
通过ARP缓存表找到下一跳的 MAC地址 。
如果表项里 没有 下一跳的MAC地址,主机A会 发送ARP请求 。
以太网封装(二层)
主机A在链路层封装数据帧时,会遵循 IEEE 802.3 或 Etherne_II 标准,Ethernet_II帧头中的类型字段填充为0x0800,以表示网络层使用的是IP协议。源MAC地址为主机A的MAC地址,目的MAC地址为网关路由器E0/0接口的MAC地址。
二、数据帧解封装