路由中包含以下信息:
目的网络:标识目的网段
掩码:与目的地址共同标识一个网段
出接口:数据包被路由后离开本路由器的接口
下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址
这些信息标识了目的网段、明确了转发IP报文的路径。
路由器依据路由表转发报文。
路由表由一条条详细的路由条目组成。
路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的”路由。
对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。
基本路由思想
1.路由器独立决策报文的转发,自身有的路由信息,对方未必有
2.沿途所有三层设备都有去往目的网络的路由信息,也得有去往源网络的路由信息
路由器先查表再转发
路由来源
直连路由: 自动生成,接口出现故障/人为关闭,直连路由自动消失
静态路由:由管理员手动添加的路由信息
动态路由:路由器运行路由协议动态学习路由信息.
只要是非直连网段,路由器就需要通过动态/静态路由来获取非直连路由信息
并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。
dis interface brief
路由优先级:取值范围0-255 越小,优先级越高
当去往同一个目标网段存在不同的协议的时候,选择路由优先级最高的做为最优路由放入路由表中
默认路由优先级
直连路由: 0
静态路由: 60
RIP : 100
OSPF: 18 外部路由优先级150
ISIS : 15
BGP : 255
路由开销值(cost)
1.不同协议有不同的cost计算方式,不同协议的cost值不具备可比性
2.当去往同一目的网段的同一个路由协议,存在多条路径时,选开销最小的
路由表中各个内容的含义
Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
收到数据,先查看该目标地址是否在路由表中,如果在路由表中,则查看有没有相同协议,去往同一网段的,如果有则比较开销值,开销值小的路由条目,留在路由表中指导转发
如果有不同协议,去往同一网段,则比较优先级,优先级小的留在路由表中指导转发
当路由表中,有去往同一目的地址的两条路由,则比较谁的掩码更长(最长掩码匹配原则)挑选掩码最长的进行转发
1.如果源地址和目的地址在同一网段的,则直接查看ARP缓存表找到目的地址的MAC进行封装
2.源地址和目的地址不在同一个网段,则查ARP缓存表中网关的MAC地址,进数据封装,将数据发给网关
|