路由网络最佳匹配!什么是路由协议?路由协议在网络中扮演什么角色?
像高速公路上的汽车一样,在互联网上传输的IP数据包是如何到达目的地的?大家对汽车都很熟悉。即使我们不知道目的地,也有电子导航可以指引我们到达目的地。IP包需要类似的导航信息吗?是的,在IP包进入互联网的那一刻,导航信息就已经在路上了,静静地等待着IP包的到来。在每一个通往目的地的路由器上,你都可以查询导航信息(路由表)确定最短路径,只需一跳一跳地到达目的地。
读到这里,你一定有一个疑问:每台路由器的路由表是如何生成的?先不回答这个问题,还是拿电子导航来分析。当您输入目的地信息时,电子导航系统将通过自己的地图数据库计算最短路线,该数据库预先加载在导航系统中。你可能需要每隔一段时间升级一下这个地图数据库,因为中国的道路发展非常快,如果你不更新,它可能会把你引到河里或海里…
我记得过去从上海到洋山港的东海大桥。一些汽车接收到的定位信息的准确性不高。结果表明,汽车不是在桥上行驶,而是在海上飞行…
如果每个路由器都能有类似地图数据库的链接信息,也可以用最短算法完成导航。每个路由器之间交换链路信息的协议叫做:路由协议!其实如果翻译成路由协议,我觉得国人的理解应该更好。你应该知道什么是路由,什么是协议?协议就是规定这些链路信息怎么表达,通过这个链路要花多少钱,这个链路两端是什么节点路由器。有了这些信息,路由器就可以动态绘制整个网络的地图(拓扑图)。对于每个目的地,根据最短路径算法动态生成一个路由条目,并放入一个表中,我们称之为路由表。
熟悉路由协议的人很容易猜到我描述的路由协议是OSPF和IS-IS。他们非常相似。它们都是链路状态协议。它们先收集路由器之间的链路信息,如开销、两端连接的节点、链路类型等,然后运行类似最短路径算法生成路由表信息。
路由协议的优先级
玉笙,何生亮?
如此相似,为什么?这是由两个不同的组织并行开发的两个协议。谁也没有绝对优势赢,就让市场来检验他们吧!IS-IS在协议开发和可扩展性方面更有优势,OSPF可能会逐渐被边缘化。
今天不讨论谁会赢,我们来面对第一个问题。如果OSPF和IS-IS运行在同一台路由器上,并且它们都生成了去往同一目的地(相同网络地址和相同网络掩码)的路由表,那么使用的是谁的路由表?这是一个艰难的优先选择,每个厂商都有自己的选择。锐捷用一个听起来很奇怪的名字:Administration Distance AD(行政距离)来区分每个人的优先级。优先级0是最高优先级,而优先级255是最低优先级,而OSPF默认为优先级110,而IS-IS默认为优先级115。显然,OSPF路由信息赢了。举个例子来说明:
OSPF路线:10.1.1.0/24下一站公元110年
IS-IS路由:10.1.1.0/24下一跳b.b.b.b AD 115
那么进入路由表的是:
OSPF路线:10.1.1.0/24下一站公元110年
不要幻想OSPF的广告优先级高,而IS-IS的广告优先级低。如果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/8,这是最长的匹配,匹配了8位。
如果IP包目的地址是:192.168.1.1,将选择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、路由查找的最长匹配原则。