当接收到来自主机A的数据包时,路由器B删除以太网报头,检查类型域,然后将数据包送给IP模块(软件进程)。IP模块检查IP报头中的目的网络号并且在其路由表中定位于128.4.0.0的路由上。
路由器B的路由表
网络号下一个跳步路由器跳步
128.1.0.0128.2.0.21
128.2.0.0直接端口0
128.3.0.0直接端口0
128.4.0.0128.3.0.31
由上表可知,路由器B知道目标网络有1个跳步的距离,它必须将数据包转发给路由器C,IP地址为
128.3.0.3。
如果路由器B的ARP缓存中没有路由器C的硬件地址,它会发出一个ARP请求并且等待路由器C响应。
得到地址后,路由器B将数据包封装在以太网帧中,目的MAC地址为080002001234(路由器B的端口
1),源MAC地址为080002001232(路由器B的端口2),类型域为0800(IP),然后路由器B将帧发送到端口
2.
目的主机128.4.0.1源主机128.1.0.1IP数据
以太网数据
目的MAC080002001235源MAC080002001234类型0800以太网数据CRC
网络128.3.0.0上的数据包
步骤4: 网络128.4.0.0上的数据包
当接收到来自主机B的数据包时,路由器C删除以太网报头,检查类型域,然后将数据包送给IP模块
(软件进程)。IP模块检查IP报头中的目的网络号并且在其路由表中定位于128.4.0.0的路由上。
路由器C的路由表
网络号下一个跳步路由器跳步
128.1.0.0128.3.0.22
128.2.0.0128.3.0.21
128.3.0.0直接端口10
128.4.0.0直接端口21
由上表可知,路由器C知道目标网络直接连在端口2上,它能够直接发送数据报.
如果路由器C的ARP缓存中没有主机B的硬件地址,它会发出一个ARP请求并且等待主机B的响应.得到地址后, ,路由器C将数据包封装在以太网帧中,目的MAC地址为08000200 (路由器B的端口1),源MAC地址为080002001232(主机B),源MAC地址为,080002001236(路由器C的端口2),类型域0800(IP),
然后路由器C将帧发送到端口2。
目的主机128.4.0.1源主机128.1.0.1IP数据
以太网数据目的MAC080002002222源MAC080002001236类型0800以太网数据CRC
网络128.4.0.0上的数据包