目录
关联下一跳时,路由器可以根据下一跳的IP解析到Mac地址,从而正确的转发数据。
说到底,还是要指明转交到具体哪一个下一跳设备,(如果在出接口下有多条链路,就无法进行正确转发)
关联出接口时,因为没有下一跳,无法准确解析到下一跳设备的Mac地址,R1在转发数据时,跨网段ARP请求不了,需要指明mac地址,而这个地址还是下一跳的mac地址。
1.在任何情况下都可以使用:基于下一跳的静态路由和下一跳+出接口的静态路由
一、三层路由的产生背景
1.网段之间的通信
2.路由
路由器每一条链路都是一个独立的广播域,也是一个独立的网段,并且必须在同一个网段。
三层设备:路由设备,只要能够支持跨网段转发的设备就是三层设备。
1.路由信息
基本路由思想:
1.路由器独立决策报文的转发,我有路由条目不代表其他设备也有。必须设备都有所有去往目的网段的路由,才能将数据发送到目的地址。
2.沿途所有路由器必须有去往目的网段路由也必须有回到源网络的路由。
2.路由表
路径信息(路由信息):
1.目的网段/掩码
2.下一跳地址
3.出接口
3.路由来源
1)直连路由
1.路由优先级(取值越小越优先)
2.开销值(度量值)(取值越小越优先)
1)PC1跨网段时交给AR1网关处理
DMAC AR1 SMAC PC1 TYPE 0X0800 SIP PC1 DIP PC2
2)AR1拆开二层头部发现DMAC是自己,再查看三层头部内容PC1要访问PC2,查看路由表有去往目的网络的路由,在打上二层头部发给AR2(交给下一跳)【网络中传输的必须是数据帧,所以AR1拆了二层头部之后,在转发时,必须再重新打上二层头部】
DMAC AR2 SMAC AR1 TYPE 0X0800 SIP PC1 DIP PC2
3)同样,AR2拆开二层头部发现DMAC是自己,再查看三层头部内容PC1要访问PC2,查看路由表有去往目的网络的路由,在打上二层头部发给AR3(交给下一跳)
DMAC AR3 SMAC AR2 TYPE 0X0800 SIP PC1 DIP PC2
4)AR3拆开二层头部发现DMAC是自己,再查看三层头部内容PC1要访问PC2,此时查看路由表,发现有直连的去往PC1 的路由,则打上二层头部发送给PC2
DMAC PC2 SMAC AR3 TYPE 0X0800 SIP PC1 DIP PC2
整个通信过程,源目Mac地址一直在变化,唯一不变的是源目IP地址
二层头部只帮助路由器将数据帧送到下一跳设备,三层头部在正规网络中寻址
2)静态路由
配置命令:(常用的是关联下一跳IP的方式)
ip route-static 目的网络 子网掩码 下一跳
同一广播域内,AR1与AR3通信
1)根据下一跳配置静态路由
【AR1】ip route-static 23.1.1.0 24 12.1.1.2 (根据下一跳转发)
关联下一跳时,路由器可以根据下一跳的IP解析到Mac地址,从而正确的转发数据。
DMAC AR2 SMAC AR1 DIP SIP AR1 AR3
AR1转发给AR2时,下一跳12.1.1.2处于两路由器的相同网段,在这个广播域内,AR1可以解析到下一跳为12.1.1.2的Mac地址,从而进行转发。
2)根据出接口配置静态路由
【AR1】ip route-static 23.1.1.0 24 g0/0/1 (根据出接口转发)
AR1发送给AR2的数据帧: DMAC AR3 SMAC AR1 DIP SIP AR1 AR3
AR2收到后发现,目的Mac地址不是自己,直接丢弃了。所以永远无法ping通AR3。
要想让它通,则需要告诉它,AR3的g0/0/0的Mac地址(此时AR3对应的mac地址是AR2的g0/0/0接口)
【AR1】arp static 23.1.1.3 00e0-fcbe-6f10(Mac:AR2的g0/0/0)
此时正确的数据帧: DMAC AR2 SMAC AR1 DIP SIP AR1 AR3
AR2收到数据帧后,继续转发给AR3 .
说到底,还是要指明转交到具体哪一个下一跳设备,(如果在出接口下有多条链路,就无法进行正确转发)
关联出接口时,因为没有下一跳,无法准确解析到下一跳设备的Mac地址,R1在转发数据时,跨网段ARP请求不了,需要指明mac地址,而这个地址还是下一跳的mac地址。
2)根据出接口和下一跳配置静态路由(相当于是双重保险)
【AR1】ip route-static 23.1.1.0 24 g0/0/0 12.1.1.2
总结:
1.在任何情况下都可以使用:基于下一跳的静态路由和下一跳+出接口的静态路由
2.只有在点到点链路的情况下,才能使用基于出接口的静态路由
*注意:
配置路由时,配置错误,即使不生效,也要删除,因为不知道未来这条路由是否真的会存在并生效(为了安全考虑,出现错误,赶紧删除!!!)