交换功能是指路由器在一个接口接收数据包并将其从另一个接口转发出去的过程。交换功能的重要责任是将数据包封装成适用于传出数据链路的正确数据帧类型。 对于从一个网络传入,以另一个网络为目的地的数据包,路由器会进行哪些处理?路由器主要执行以下三个步骤: 1.通请看如下
交换功能是指路由器在一个接口接收数据包并将其从另一个接口转发出去的过程。交换功能的重要责任是将数据包封装成适用于传出数据链路的正确数据帧类型。
对于从一个网络传入,以另一个网络为目的地的数据包,路由器会进行哪些处理?路由器主要执行以下三个步骤:
1.通过删除第2层帧头和帧尾来解封第3层数据包。
2.检查IP数据包的目的IP地址以便从路由表中选择最佳路径。
3.将第3层数据包封装成新的第2层帧,并将该帧从送出接口转发出去。
在第3层IP数据包从一台路由器转发到下一台路由器的过程中,除时间(TTL)字段发生变化外,该IP数据包的其它字段均保持不变。当路由器收到一个IP数据包时,它会将该数据包的TTL减一。如果减一后得到的TTL值为零,则路由器将丢弃该数据包。TTL用于防止IP数据包由于路由环路或网络中其它异常状况而在网络上永无休止地传输。
由于IP数据包是解封自第2层帧并再次封装成新的第2层帧,所以数据链路目的地址和源地址将随数据包从一台路由器转发到下一台路由器而不断发生变化。第2层数据链路源地址代表出站接口的第2层地址。第2层目的地址代表下一跳路由器的第2层地址。如果下一跳是最终目的设备,则第2层目的地址将是该设备的第2层地址。
数据包很有可能会被封装成与收到时不同的另一种第2层帧。例如,路由器从快速以太网接口上收到封装为以太网帧格式的数据包,然后将其封装成PPP帧格式通过串行接口转发出去。
请记住,在数据包从源设备到最终目的设备的传输过程中,第3层IP地址始终不会发生变化。但是,随着每台路由器不断将数据包解封、然后又重新封装成新数据帧,该数据包的第2层数据链路地址在每一跳都会发生变化。
数据包从源到目的地的传输过程
步骤1:PC1需要向PC2发送一个数据包
PC1将IP数据包封装成以太网帧,并将其目的MAC地址设为R1FastEthernet0/0接口的MAC地址。
PC1是如何确定应该将数据包转发至R1而不是直接发往PC2?这是因为PC1发现源IP地址和目的IP地址位于不同的网络上。
PC1通过对自己的IP地址和子网掩码执行AND运算,从而了解自身所在的网络。同样,PC1也对数据包的目的IP地址和自己的子网掩码执行AND运算。如果两次运算结果一致,则PC1知道目的IP地址处于本地网络中,无需将数据包转发到默认网关(路由器)。如果AND运算的结果是不同的网络地址,则PC1知道目的IP地址不在本地网络中,因而需要将数据包转发到默认网关(路由器)。
注:如果数据包目的IP地址与PC1子网掩码进行AND运算后,所得到的结果并非PC1计算得出的自己所在的网络地址,该结果也未必就是实际的远程网络地址。在PC1看来,只有当掩码和网络地址相同时,目的IP地址才属于本地网络。远程网络可能使用不同的掩码。如果目的IP地址经过运算后得到的网络地址不同于本地网络地址,则PC1无法知道实际的远程网络地址,它只知道该地址不在本地网络上。
PC1如何确定默认网关(路由器R1)的MAC192.168.2.2地址?PC1会在其ARP表中查找默认网关的IP地址及其关联的MAC地址。
如果该条目不存在于ARP表中会发生什么情况?PC1会发出一个ARP请求,然后路由器R1作出ARP回复。
步骤2:路由器R1收到以太网帧
1.路由器R1检查目的MAC地址,在本例中它是接收接口FastEthernet0/0的MAC地址。因此,R1将该帧复制到缓冲区中。
2.R1看到“以太网类型”字段的值为0x800,这表示该以太网帧的数据部分包含IP数据包。
3.R1解封以太网帧。
4.由于数据包的目的IP地址与路由器R1的所有直连网络均不匹配,R1将求助于路由表来确定数据包的路由方式。R1搜索路由表中的条目,看看其中是否存在网络地址和子网掩码的组合能否构成目的IP地址所在的网络。在本例中,路由表存在192.168.4.0/24网络的路由条目。数据包的目的IP地址为192.168.4.10,这是该网络中的主机IP地址。
R1到192.168.4.0/24网络的路由的下一跳IP地址为192.168.2.2,送出接口为FastEthernet0/1。这表示IP数据包将封装到一个新的以太网帧中,其目的MAC地址为下一跳路由器的IP地址对应的MAC地址。由于送出接口连接的是以太网,R1必须将下一跳IP地址解析为目的MAC地址。
5.R1在其FastEthernet0/1接口的ARP缓冲区中查找下一跳IP地址192.168.2.2。如果该条目不在ARP缓冲区中,R1会从FastEthernet0/1接口发出一个ARP请求。R2以ARP回复应答。收到ARP回复后,R1便使用192.168.2.2条目及相关MAC地址更新其ARP缓冲区。
6.IP数据包被封装到新的以太网帧中,并从R1的FastEthernet0/1接口发出。
步骤3:数据包到达路由器R2
1.路由器R2检查目的MAC地址,在本例中它是接收接口FastEthernet0/0的MAC地址。因此,R1将该帧复制到缓冲区中。
2.R2看到“以太网类型”字段的值为0x800,这表示该以太网帧的数据部分包含IP数据包。
3.R2解封以太网帧。
4.由于数据包的目的IP地址与路由器R2的所有接口地址均不匹配,R2将查询其路由表来确定数据包的路由方式。R2使用与R1相同的过程在路由表中搜索数据包的目的IP地址。
R2的路由表中有到192.168.4.0/24的路由,下一跳IP地址为192.168.3.2且送出接口为Serial0/0/0。因为送出接口不是以太网,所以R2不需要将下一跳的IP地址解析为目的MAC地址。
当接口为点对点串行连接时,R2将IP数据包封装成适合送出接口(HDLC、PPP等)使用的数据链路帧格式。在此情况下,第2层封装为PPP;因此,数据链路目的地址将设置为地址。请记住,串行接口没有MAC地址。
5.IP数据包封装成新的数据链路帧(PPP),然后通过serial0/0/0送出接口发送出去。
步骤4:数据包到达R3
1.R3接收并将数据链路PPP帧复制到缓冲区中。
2.R3解封数据链路PPP帧。
3.R3在路由表中搜索数据包的目的IP地址。路由表的搜索结果显示,该地址所在的网络为R3的直连网络。这表示该数据包可以直接发往目的设备,不需要将其发往另一台路由器。
因为送出接口是直连的以太网,所以R3需要将数据包的目的IP地址解析为目的MAC地址。
4.R3在其ARP缓存中搜索数据包的目的IP地址192.168.4.10。如果该条目不在ARP缓冲区中,R3会从FastEthernet0/0接口发出一个ARP请求。PC2用其自身的MAC地址回复ARP应答。R3用条目192.168.4.10及ARP应答中返回的MAC更新其ARP缓存。
tags:192.168.2.2