路由协议网络最佳匹配!什么是路由协议?路由协议在网络中起什么作用?
穿梭在互联网中的一个个IP包,如同高速公路上的一辆辆小汽车,如何到达目的地呢?对于汽车大家都很熟悉,即使不知道目的地,也有电子导航可以带领我们到达目的地,那IP包是不是也需要相似的导航信息呢?是的,在IP包进入互联网的那一刻,导航信息已经在路上,静静地等待着IP包的到来,在每一个通向目的地的路由器上,只要查询IP包中的目的地地址,就可以查询导航信息(路由表)来决定最近的路线,就这样一跳一跳的方式到达目的地。
既生瑜,何生亮?
即然如此相似,为何呢?!这是两个不一样的组织平行开发的两个协议,谁也没有绝对的优势胜出,那就由市场来考验它们吧!从协议的开发性、扩展性来说,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
路由查找网络匹配原则
谈完了路由表,接下来谈谈IP包到达路由器,如何查找路由表,完成IP包的导航任务。如何查找可以达到最高效率、最准确地找到下一跳?
如果路由表有以下五个条目,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、以及路由查找的最长匹配原则。