|
路由协议网络最佳匹配!什么是路由协议?路由协议在网络中起什么作用?
什么是路由协议 图1 读到这里,您一定会有一个问题:每台路由器的路由表是如何生成的?先不来回答这个问题,还是拿电子导航来分析,当你输入目的地信息,电子导航系统依靠自己地图数据库来计算最短路线,这个地图数据库是预先装载在导航系统中的,每隔一段时间你可能还需要升级这个地图数据库,因为中国的道路发展的很快,不更新可能把你导入河流中、或大海中… 记得以前上海通往洋山港的东海大桥,有些汽车的接收的定位信息精度不高,结果显示汽车不是在桥上跑,而是在海上飞… 如果每台路由器能够有相似地图数据库的链路信息,也可以运用最短算法完成导航,每台路由器之间完成链路信息交换的一个协议,我们称之为:路由协议!其实如果翻译成选路协议的话,我想对于国人的理解应该更好理解一些,前面你应该明白了什么是路由,那协议呢?协议就是先规定好,如何表示这些链路信息,通过这个链路需要多少成本(cost),这条链路两端是什么节点路由器,有了这些信息,路由器就可以动态地画一张全网的地图(拓扑图),对于每一个目的地,按照最短路径算法动态生成一个路由条目,放入到一个表中,我们称这张表为路由表。 熟悉路由协议的人很容易就猜到我所表述的路由协议是:OSPF,IS-IS。它们非常相似,都是链路状态协议,都是先收集路由器之间的链路信息,比如成本、两端连接的节点、链路的类型,然后运行相似最短路径的算法,生成路由表信息 路由协议的优先级
什么是路由协议 图2 即然如此相似,为何呢?!这是两个不一样的组织平行开发的两个协议,谁也没有绝对的优势胜出,那就由市场来考验它们吧!从协议的开发性、扩展性来说,IS-IS更有优势,OSPF可能慢慢被边缘化。 今天先不来讨论谁将胜出,先来面对第一个问题,如果OSPF,IS-IS在同一台路由器上运行,对于同一个目的地(网络地址相同,网络掩码相同)它们都生成了路由表,那用谁的呢?这是一个艰难的优先级抉择,每家厂家有自己的抉择,Ruijie运用了一个听起来很奇怪的名字:管理距离AD(Administration Distance)来区分大家的优先级,优先级0为最高优先级,而优先级为255为最低优先级,而OSPF默认的优先级位110,而IS-IS默认优先级为115,显然OSPF路由信息胜出,举个例子来说明: OSPF route : 10.1.1.0/24 next-hop a.a.a.a AD 110 IS-IS route : 10.1.1.0/24 next-hop b.b.b.b AD 115 那么进入路由表的就是: OSPF route : 10.1.1.0/24 next-hop a.a.a.a AD 110 一定不要有这样的错觉,OSPF的AD优先级高,IS-IS的AD优先级低,如果同时运行OSPF和IS-IS,则IS-IS所有路由条目都不会进入路由表。这是错误的!一定要注意只有同等的路由条目才可以运用AD值的优先级来决定去留,如果不是同等的路由条目,压根不会去比较AD优先级。 当然能够竞争进入路由表的协议还有:RIP(120),EIGRP(90),BGP(20,200),还有直连路由(0)以及静态路由(1),括号里为它们AD优先级,外部BGP为20,内部BGP为200,现在常用路由协议的AD优先级为:直连路由> 静态路由 > EBGP > EIGRP > OSPF > ISIS > RIP > IBGP 路由查找网络匹配原则
什么是路由协议 图3 如果路由表有以下五个条目,IP包的目的地址为10.1.1.1,那路由表会选择哪一个条目呢?按照最长匹配原则,会选择10.1.1.1/32,因为是完全匹配,即32位匹配。 如果IP包目的地址是:10.1.1.100,则会选择10.1.1.0/24,这个是最长匹配,匹配了24位。 如果IP包目的地址是:10.1.2.100,则会选择10.1.0.0/16,这个是最长匹配,匹配了16位。 如果IP包目的地址是:10.2.1.100,则会选择10.0.0.0/8,这个是最长匹配,匹配了8位。 如果IP包目的地址是:192.168.1.1,则会选择0.0.0.0/0,这个是缺省路由,可以匹配任何IP目的地址。 10.1.1.1/32 10.1.1.0/24 10.1.0.0/16 10.0.0.0/8 0.0.0.0/0 而这就是路由协议、路由协议AD、以及路由查找的最长匹配原则。 |