路由协议网络最佳匹配!什么是路由协议?路由协议在网络中起什么作用?
穿梭在互联网中的一个个IP包,如同高速公路上的一辆辆小汽车,如何到达目的地呢?对于汽车大家都很熟悉,即使不知道目的地,也有电子导航可以带领我们到达目的地,那IP包是不是也需要相似的导航信息呢?是的,在IP包进入互联网的那一刻,导航信息已经在路上,静静地等待着IP包的到来,在每一个通向目的地的路由器上,只要查询IP包中的目的地地址,就可以查询导航信息(路由表)来决定最近的路线,就这样一跳一跳的方式到达目的地。
读到这里,您一定会有一个问题:每台路由器的路由表是如何生成的?先不来回答这个问题,还是拿电子导航来分析,当你输入目的地信息,电子导航系统依靠自己地图数据库来计算最短路线,这个地图数据库是预先装载在导航系统中的,每隔一段时间你可能还需要升级这个地图数据库,因为中国的道路发展的很快,不更新可能把你导入河流中、或大海中…
记得以前上海通往洋山港的东海大桥,有些汽车的接收的定位信息精度不高,结果显示汽车不是在桥上跑,而是在海上飞…
如果每台路由器能够有相似地图数据库的链路信息,也可以运用最短算法完成导航,每台路由器之间完成链路信息交换的一个协议,我们称之为:路由协议!其实如果翻译成选路协议的话,我想对于国人的理解应该更好理解一些,前面你应该明白了什么是路由,那协议呢?协议就是先规定好,如何表示这些链路信息,通过这个链路需要多少成本(cost),这条链路两端是什么节点路由器,有了这些信息,路由器就可以动态地画一张全网的地图(拓扑图),对于每一个目的地,按照最短路径算法动态生成一个路由条目,放入到一个表中,我们称这张表为路由表。
熟悉路由协议的人很容易就猜到我所表述的路由协议是:OSPF,IS-IS。它们非常相似,都是链路状态协议,都是先收集路由器之间的链路信息,比如成本、两端连接的节点、链路的类型,然后运行相似最短路径的算法,生成路由表信息
路由协议的优先级
![39e4fd20da7ba64d4ad8954a7b3f6821.png](https://i-blog.csdnimg.cn/blog_migrate/55077b51c92a62cefb087974b7446b56.jpeg)
既生瑜,何生亮?
即然如此相似,为何呢?!这是两个不一样的组织平行开发的两个协议,谁也没有绝对的优势胜出,那就由市场来考验它们吧!从协议的开发性、扩展性来说,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
路由查找网络匹配原则
![9ea47d75a79d083adb9e9f25220209fe.png](https://i-blog.csdnimg.cn/blog_migrate/423e83020056bec36849552ff27d08e4.jpeg)
谈完了路由表,接下来谈谈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、以及路由查找的最长匹配原则。