1. 路由概述
- 路由表是指导 IP 报文具体从哪条路径进行转发
- 动态路由协议都需要建立邻居关系、同步数据库信息、计算并得到路由
- 路由原理重要8个字:最长匹配、递归查询
- 路由重要关键字:距离、矢量、开销、AD(优先级)
- 内部网关路由协议 IGP(RIP、OSPF、ISIS、EIGRP)
- IGP 是运行在 AS 内部的路由协议
- IGP 主要是用来发现和计算路由
- 外部网关路由协议 EBP(BGP)
- EGP 是运行在 AS 之间的路由协议
- EGP 主要用来控制路由的传递和选择最优路由
- 路由算法分类
- 「路由表」是三层的转发决策表,如果没有目的网络的路由则会丢弃数据
- 「路由表」是数据转发时所依赖的地图,包含了去往各个目的的路径信息(转发数据到达的目的地)
- 「路由表」中只有目的地址,没有源地址
- 路由决策(路由表,RIB)
- 指导 IP 报文发送的路径信息(判断报文往哪进行转发)
- 是转发报文的依据
- 转发引擎(转发表,FIB)
- 收到 IP 报文进行查找路由表
- 如果没有对应的路由表条目,则丢弃;如果有对应的路由表条目,则查看下一跳地址和出接口
- 将报文发送到对应的出接口进行转发
- 发送时会对报文进行封装(比如二层封装需要用到的 ARP,下一跳的 MAC 地址)
- 如果下一跳地址不是[直连的],则会根据该路由条目的下一跳地址作为目的地址,重新进行路由条目的查找(路由迭代/递归)
4. 路由选路原则
- 最长匹配:当去往同一目的地址,有多条路径时候,为数据包选择一条最优路径进行转发
- 将数据包的目的 IP 地址与路由表项进行逐位查找,达到匹配度掩码最长的条目(IP 地址段和掩码最匹配)
- 度量值 Metric:到达这条路由所指目的地址的代价(cost)
- [同一协议]中数值越小越优先,不同协议有不同的度量方式
- 不同路由协议参考的度量值不同
- RIP: 跳数
- OSPF: 带宽
- 静态路由: 0
- 影响路由度量值的因素: 链路延迟、带宽、链路使用率、跳数、最大传输单元、链路可信度
- 管理距离 AD(Preference): 用来判定去往相同目的地址有多个路由条目的优先程度
- 用于确定不同协议类型的优劣
- 优先级数值越小越优先(不同协议),只有最优的路由条目被添加进路由表
- 如果同一协议存在多条到达同一目的地址的路径(管理距离、开销一致),则有可能成为等价多路径(负载均衡ECMP:多条链路开销相同)
- 通过五元组进行 Hash 运算
- 根据数据流进行转发
- 通过 Preference 可以调整路由协议的优先级。不同协议的优先级改为相同并不会负载
- 华为优先级分为内部和外部:外部优先级不同比较外部,外部优先级相同比较内部优先级,内部优先级无法更改
- 下一跳 NextHop: 去往未知网络中,与之直连或非直连的下一个网络设备的 IP 地址(如果是非直连就需要路由迭代/递归)
- 路由的下一跳地址是以其他方式获取到的非物理链路地址(但存在与路由表中),则需要进行多次查找
- 出接口: 通过下一跳 IP 地址,确定数据包从本端哪个接口出去
- 负载均衡 ECMP: 多条链路开销相同,各承担一半的数据转发,平均分担(负载均衡)
5. 不同协议的 AD 值
路由协议类型 | Cisco 外部 AD 值 | Huawei 外部 AD 值 | Cisco 内部 AD 值 | Huawei 内部 AD 值 |
---|---|---|---|---|
Direct | 0 | 0 | / | 0 |
Static | 1 | 60 | / | 60 |
RIP | 120 | 100 | / | 100 |
OSPF | 110 | 10 | / | 10 |
OSPF ASE | 110 | 150 | / | 150 |
OSPF Nssa | 110 | 150 | / | 150 |
ISIS Level-1 | 115 | 15 | / | 15 |
ISIS Level-2 | 115 | 15 | / | 18 |
IBGP | 200 | 255 | / | 200 |
EBGP | 20 | 255 | / | 20 |
EIGRP | 170 | / | 90 | / |
EIGRP Summary | 5 | / | / | / |
UNR (User Network Route) |
/ | - DHCP:60 - AAA-Download:60 - IP Pool:61 - Frame:62 - Host:63 - NAT:64 - IPSec:65 - NHRP:65 - PPPoE:65 |
/ | 65 |