路由选择

以太网交换机工作在第二层即数据链路层,用于在同一网络内部转发以太网帧。但是,当源和目的IP地址位于不同网络时,以太网帧必须发送给路由器。路由器负责在不同网络间传输报文,通过路由表来决定最佳转发路径。当主机将报文发送至不同IP地址时,由于主机无法直接与本地网络以外的设备通信,报文被转发至默认网关。

默认网关就是本地网络路由器接口的ip地址。它通常用来连接本地网与公共网。

报文转发过程

路由器在一个接口接收报文并将它从另一个接口转发出去,这一过程的关键步骤是为输出链路将报文封装在适当的数据链路帧中。路由器主要执行以下三个步骤:
1. 将第二层的帧头和帧尾移除,解析出第三层报文。
2. 检查IP报文的目的IP地址,在路由表中查找最佳路由。
3. 如果路由器找到一条最佳路径,则将三层报文封装到新的二层帧中,并将帧转发到输出端口。

下图是PC1发送报文给PC2的一个例子

1.发送报文

PC1发送报文给PC2,首先确定目的IPv4地址是否位于同一网络。PC1通过将自己的IPv4地址与子网掩码做与操作,来判断PC1所选的网段。PC1对目的地址做同样的与操作。如果目的网络地址与PC 1网络相同,则PC 1不使用默认网关,而是在ARP缓存中查找目的IPv4地址的设备MAC地址。如果MAC地址不在缓存中,则PC 1产生一个ARP请求来获取地址并将报文发给目的地址。如果目的网络地址位于另一网络,则PC 1将报文转发至默认网关。

要确定默认网关的MAC地址,PC 1在它的ARP表中查找默认网关的IPv4地址以及相应的MAC地址。如果ARP表中没有默认网关的对应表项,则PC 1发送ARP请求。路由器R1回复ARP响应。之后PC 1将报文转发至默认网关的MAC地址,即路由器R1的Fa0/0接口

2.转发至下一跳:

R1解封改以太网帧。由于目的IPv4地址与R1直连的任何网络都不相符,R1在路由表中查找包含该目的IPv4地址主机的网络地址。本例中,路由表中有192.168.4.0/24网络的路由。R1找到R3的下一跳为R2的FastEthernet 0/1。

R1会从FastEthernet 0/1 接口发送ARP请求,R2会返回ARP响应。R1之后在ARP cache中更新192.168.2.2的MAC地址。IPv4报文封装到新的以太网帧中并从R1的FastEthernet 0/1 接口转发出去。

3.达到目的地:

当帧到达R3时,R3路由表中有直接连接到该网络的路由。这表示报文可直接发送到目的设备而无需发送至路由器。

你可能感兴趣的:(tcp-ip)