1. AS:
自治系统(AS):由同一个管理机构管理,使用同一路由策略的路由器的集合。(单一实体管辖的网络,比如一个企业网,一个互联网服务提供商,一个大型组织机构等)
2. 最优路径匹配:
(1)最长匹配原则:
当路由表中存在多条去往同一目的地的路由条目时,默认比较子网掩码长度,长度越长越越优先匹配。(最长匹配优先级匹配>协议优先级匹配)
(2)协议优先级:
当存在多条去往同一目的地且子网掩码长度一致时,不同协议之间,优先级值越小越优先,数值为0---255。协议优先级分为外部优先级和内部优先级
① 外部优先级:
外部优先级中除了直连路由,其余的优先级都是可控的,用于管理者根据不同的路由协议选路
外部优先级 |
华为PRE(优先级) |
思科AD(度量值) |
直连 |
0 |
0 |
静态路由 |
60 |
0/1 |
RIP |
100 |
120 |
OSPF |
10/150 |
5/90/170 |
IS-IS |
15 |
115 |
BGP |
255 |
20/200 |
华为设备中,默认可以修改路由协议优先级:
静态:[Huawei]ip route-static XXXXXXX XXXXXXX 192.168.1.1 preference 120
Rip:[Huawei]rip
[Huawei-rip-1]preference 120
OSPF:[Huawei]ospf
[Huawei-ospf-1]preference 200
IS-IS:[Huawei]isis
[Huawei-isis-1]preference 220
② 内部优先级:
如果不同的路由协议配置了相同的外部优先级,此时会根据内部优先级选择最优的路由协议,并且内部路由优先级是不可控的
协议类型 |
内部优先级 |
DIRECT |
0 |
OSPF |
10 |
IS-IS Level-1 |
15 |
IS-IS Level-2 |
18 |
Static |
60 |
RIP |
100 |
OSPF ASE |
150 |
OSPF NSSA |
150 |
IBGP |
200 |
EBGP |
20 |
(3)协议开销值:
同种路由协议去往同一目的地时,存在多条链路时,优先cost值小的路由条目。
3. 递归表查询:
所有路由条目不必一定指向下一跳路由器,当去往某个目的地时,查找路由表,发现下一跳并不是路由器自己的接口,此时路由器会继续查找以“下一跳”为目标的路由条目,一次类推,直至找到下一跳为本端接口。
4. 路由分类:
通常将动态路由协议分为两大类,以AS为标准,通常用于AS内部的成为IGP协议路由,用于AS之间的称之为EGP协议。
① IGP协议:Interior Gateway Protocol,链路状态协议(OSPF,IS-IS)和距离矢量协议(RIP)。
② EGP协议:Exterior Gateway Protocol,BGP协议。
5. 动态路由选择算法的步骤:
动态路由协议:动态学习路由,根据某种规则建立路由转发表的协议,并能根据网络变化作出相应调整的协议。
① 向其它路由器传递路由信息
② 接收其它路由器的路由信息
③ 根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由选择表
④ 对网络拓扑的变化及时的做出反应,生成新的路由选择表,同时把拓扑变化信息向其它路由器宣告
6. 控制平面、转发平面:
路由器承担着路由学习、数据报文转发等重要的工作,其系统的稳定性是非常重要的。系统的设计者尽力从架构上使系统工作稳定、可靠,其中最重要的一点就是将控制平面和转发平面相对独立,以减少相互影响。
(1)控制平面:
控制平面指系统中用来传送指令、计算表项的部分。诸如协议报文转发、协议表项计算、维护等都属于控制平面的范畴。例如在路由系统中,负责路由协议学习、路由表项维护的进程就属于控制平面。
(2)转发平面:
转发平面指系统中用来进行数据报文的封装、转发的部分。诸如数据报文的接收、解封装、封装、转发等都属于转发平面的范畴。例如系统接收到IP报文后,需要进行解封装,查路由表,从出接口转发等工作,系统中负责以上行为的进程则属于转发平面。
(3)两者之间的联系:
系统的控制平面进行协议交互、路由计算后,生成若干表项,下发到转发平面,指导转发平面对报文进行转发。例如:路由器通过OSPF协议建立了路由表项,再进一步生成FIB(Forwarding Information Base,转发信息库)表、快速转发表等,指导系统进行IP报文转发。
良好的系统设计应该是使控制平面与转发平面尽量分离,互不影响。当系统的控制平面暂时出现故障时,转发平面还可以继续工作。这样可以保证网络中原有的业务不受系统故障的影响,从而提高整个网络的可靠性。
控制平面与转发平面分离的另一个好处是系统设计能够做到模块化,易于维护,便于扩展。例如原有系统仅能支持RIP路由协议,伴随着网络设备数量的增长,RIP协议不能满足需求,系统开发者可以在不改变转发平面的基础上升级控制平面至支持OSPF协议,减少升级的代价。目前很多路由器支持“热补丁”的功能,即是通过控制平面和转发平面分离做到的。
控制平面与转发平面可以是物理分离,也可以是逻辑分离。高端的网络设备(如核心交换机、核心路由器)一般采用物理分离。其主控板上的CPU不负责报文转发,专注于系统的控制;而业务板则专注于数据报文转发。如果主控板损坏,业务板仍然能够转发报文。对于入门级的网络设备,受限于成本,一般只能做到逻辑分离。即设备启动后,系统将CPU和内存资源划分给不同的进程,有的进程负责学习路由,有的进程负责报文转发。
7. FIB表、路由表、快速转发表:
(1)路由表:
路由表是控制平面通过路由协议计算生成一张指导数据平面流量走向的一张表单,而数据平面并不是真正去查路由表进行抓发,而是由路由表生成FIB表,数据平面对FIB表进行查询,进行数据转发。
(2)FIB表:
Forwarding Information Database,路由器转发分组的关键是FIB表,在系统中报文转发时查找的是FIB表而非路由表。这是因为路由表表示所有的有效路由所形成的表项,并不指导转发。FIB表是网络层用来控制数据报发送的。FIB中包含了路由器在转发报文时所必需的一组最优信息。
当路由表中存在多个路由项可以匹配目的IP地址时,路由查找进程会选择其中掩码最长的路由项用于转发。那么路由表中路由项数量越多,所需查找及匹配的次数也就越多,其转发效率也就越低。为了做到控制平面和转发平面的分离,系统构建了另一张FIB表,也称为转发表,专注于数据报文的转发,其中FIB的表项来源于路由表项。
在计算路由信息的时候,不同路由协议所计算出来的路径可能会不同。在这种情况下,路由器会选择优先级较高的路由协议发现的路由作为最优路由,并置为Active状态;而其他路由作为备份路由,置为Inactive状态。此时Active状态的路由表项会由系统导入FIB表中,作为系统转发的依据。另外,在某些系统中,FIB表项也可能来源于ARP解析,即系统将通过ARP解析而得到的本地网段内的主机路由也添加到FIB表中。由于FIB表中没有处于Inactive状态的冗余路由,通常FIB表项数量小于路由表项,所以可以设计将FIB表项加载到硬件中,以大大加快数据转发速度。
(3)快速转发表:
第一个报文到达路由器的接口后,路由器查找快速转发表以期快速转发。但因为这个报文是第一个报文,快速转发表并没有这条数据流的转发信息的高速缓存,所以系统并不能进行快速转发。系统只能把这个报文转交到普通的FIB转发流程,由CPU负责在FIB表中查找相关转发项,然后进行封装,从出接口转发出去。与此同时,系统记录报文中的五元组信息,在高速缓存中生成相应快速转发信息。
执行命令ip fast-forwarding enable使能接口的快速转发能力后,可以通过执行命令display ip fast-forwarding table number查看设备上生成的IPv4快速转发表项数目。
注:
路由表通过控制平面生成相当于一张地图,包含所有的路由信息,可能去往同一目的地存在多条路径;FIB表存在于转发平面相当于GPS导航,对去往同一目的地中它值存放最优的路径;快速转发表使用五元组对照被分为多个分片的数据包,当第一个分片包通过FIB表实现转发的同时,生成快速转发表,当同一个包的后续分片经过此路由器时,首先查看快速转发表,如果匹配直接转发。
8. 路由表生成:
默认路由表中存在:
- /32环回口IP地址
- 环回口网段路由
- /32环回口网段广播地址
- 255.255.255.255.255广播路由
配置接口IP后存在:
- /32接口IP地址
- 接口IP网段
- /32接口网段广播地址
9. 路由表组成部分:
- Destination/Mask: 目标地址/网段掩码
- Proto:协议
- Pre:优先级
- Cost: 花费
- NextHop:下一跳地址
- Interface:去往下一跳的本地接口
- Flage:路由标记,默认直接根据出接口送出数据,将路由条目放到转发表,特殊情况下使用下一跳迭代查询出接口:
1) D:将此路由条目下发到FIB表
2) R:迭代路由,根据下一跳IP地址获取出接口
a) 如果静态路由写的是下一跳地址,那么就迭代路由。根据下一跳找出接口
b) 如果静态路由写的出接口,那么就直接发到FIB表
10. 进程ID:
每种路由协议在同一台路由器上都可以启动多个进程,当同一个路由器上多个进程上有相同的路由条目。
选举过程为:
① 比较进程的ID的优先级,优先级小的优先
② 比较Cost值,越小越优先(OSPF忽略外部类型规则)
③ Cost值相同,附载分担