5-9 路由协议
5-9-1 路由表
路由
路由:当路由器(或其他三层设备)收到一个IP数据包时,会查看数据包的IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优的路由后,将数据包扔给该路由所指出接口或者下一跳。如下图所示
即根据数据包的目的IP地址进行查找进而决定交给哪个出接口或者下一跳

PC1:
- 封装IP头部
- PC1的网路层判断目的IP是否与自己在同一网段:将本机IP地址与掩码相与得到本地网络地址,图示为
192.168.10.0/24,将目的IP地址与本地自己的子网掩码相与,就可得到一个网络地址,图示为172.16.1.0/24,比较该地址与PC1的网络地址是否相等,实际上只有同一网段的目的IP地址的比较结果是相等- 在同一网段:不需要交给网关,直接转发
- 不在同一网段:交给默认网关R1
R1:查询自己的路由表,发现匹配到一条静态路由,其下一跳为192.168.12.254,并从出接口GE0/0/1转发出去
R2:同上
……
路由器的工作
路由器的工作共有2步骤:
第一步:建立并维护路由表RIB
直连路由:路由器本地接口所在网段。
静态路由:手工配置的路由条目。
动态路由:路由器之间通过动态路由协议学习到的路由。
第二步:根据路由表进行数据转发
路由表
使用display ip routing-table,可以查看路由表

其各个字段解析如下

路由表的重点字段
优先级和开销的区别
在查找路由表时,对于同一目的网络的多条路由
- 先根据路由协议的优先级,优先级越小越优先;
- 若协议也相同即优先级相同,再根据开销(距离),开销(距离)越小越优先
标志位字段
标志位只有2种状态:
D
download to fib,fib即转发表,路由表叫rib,现在路由器都有硬件转发芯片,硬件转发芯片根据fib转发,fib是根据路由表rib生成的。标志位为D说明该条路由已经通过路由表生成了转发表R
ralay,表示迭代路由
迭代路由:目的网络不能只通过一条路由条目直达,需要换乘
迭代路由是指路由器在转发数据包时,通过多次迭代过程来查找最优路径。在这个过程中,每个路由器都会根据自身的路由表和策略,向下一跳路由器发送查询请求,直到找到目标地址或者达到最大跳数为止。
迭代路由的工作原理
- 路由表的查找:当路由器接收到一个数据包时,它会首先查看数据包的目的地址,并在路由表中查找匹配的路由条目。
- 下一跳的确定:如果找到的路由条目中的下一跳不是直连的邻居,路由器会将这个下一跳地址作为目的地址,再次在路由表中进行查找。
- 迭代过程:这个过程会一直重复,直到找到一个直连的下一跳地址为止。每次迭代的结果会作为下一次迭代的初始值。
- 数据转发:一旦找到直连的下一跳地址,路由器就会将数据包转发到对应的出接口

路由协议的优先级
下表所有内容都要记忆↓,优先级越小越优先
| 路由协议或路由种类 | 优先级 | 说明 | 优先级程度 | 适用 |
|---|---|---|---|---|
| DIRECT | 0 | 直连路由 | 优先级最高 | 通常用于本地网络 |
| OSPF | 10 | 开放式最短路径优先协议,内部路由 | 优先级较高 | 适用于大型网络 |
| IS-IS | 15 | 链路状态路由协议,内部路由 | 适用于大型网络 | |
| STATIC | 60 | 静态路由,手动配置 | 优先级较高 | |
| RIP | 100 | 距离矢量路由协议,跳数限制为15 | 优先级较低 | 适用于小型网络 |
| OSPF ASE | 150 | OSPF外部路由(自治系统外部路由) | 优先级较低 | 用于自治系统外部路由 |
| OSPF NSSA | 150 | OSPF特殊区域外部路由 | 优先级与OSPF ASE相同 | |
| IBGP | 255 | 内部边界网关协议,用于自治系统内部 | 优先级较低 | 用于自治系统内部 |
| EBGPF | 255 | 外部边界网关协议,用于自治系统之间 | 优先级较低 | 用于自治系统之间 |
IP路由查找的最长匹配原则
IP路由查找的最长匹配原则是指在IP路由表中查找路由时,选择具有最长网络前缀匹配的路由条目。网络前缀越长,表示路由越具体,因此优先选择最长前缀匹配的路由。
示例1
假设路由表中有以下条目:
| 目的网络地址 | 子网掩码 | 下一跳地址 |
|---|---|---|
| 192.168.1.0 | 255.255.255.0 | 192.168.1.1 |
| 192.168.1.128 | 255.255.255.128 | 192.168.1.2 |
| 192.168.2.0 | 255.255.255.0 | 192.168.2.1 |
当数据包的目的IP地址是192.168.1.100时,路由器会进行以下查找过程(不涉及最长前缀):
- 目的地址匹配:192.168.1.100
- 前缀匹配:
- 192.168.1.0/24(255.255.255.0)匹配
- 192.168.1.128/25(255.255.255.128)不匹配
- 192.168.2.0/24(255.255.255.0)不匹配
- 最长前缀选择:192.168.1.0/24
- 转发决策:将数据包转发到下一跳地址192.168.1.1
当数据包的目的IP地址是192.168.1.150时,路由器会进行以下查找过程(涉及最长前缀):
- 目的地址匹配:192.168.1.150
- 前缀匹配:
- 192.168.1.0/24(255.255.255.0)匹配
- 192.168.1.128/25(255.255.255.128)匹配
- 192.168.2.0/24(255.255.255.0)不匹配
- 最长前缀选择:192.168.1.128/25
- 转发决策:将数据包转发到下一跳地址192.168.1.2

示例2

例题
例题1

解析:
- A:静态路由优先级为60
- B:直连路由优先级为0
- D:路由代价指的是开销值,跟优先级无关
例题2

解析:
- A:RIP的路由条目,其开销值就是跳数;OSPF的路由条目,没有跳数字段
- D:路由权值跟开销值强相关
- C:路由表中没有源网络字段,这是最错误的选项
例题3


解析:路由条路Flag中带R的表示迭代路由,迭代路由不论有多少出接口和下一跳,仅统计为1条路由。
例题4


解析:看路由表最后一行
Intra Area:3,表示的是区域内部路由为3条
Inter Area:0,表示的是区域间路由为0条
ASE:1,表示OSPF从外部引入的路由为1条
NSSA:0,表示特殊区域路由
因此一共有4条路由,即区域内部网络总数为4