覆盖范围:路由表结构、路由优选算法、高级路由特性、以太网交换原理

一、路由表结构与转发逻辑

1. 路由表核心字段详解

路由表是路由器转发数据的“地图”,每条路由条目必须包含以下关键字段

  • Destination(目的网络):标识目标网段(如 192.168.1.0/24)。

  • Mask(子网掩码):界定网络位与主机位,决定匹配的精确程度。

  • Proto(Protocol,协议来源):标识路由是如何生成的(Direct、Static、OSPF、BGP等),决定了初始优先级。

  • Pre(Preference,优先级):用来评估路由协议的优劣,数值越小越优先。

  • Cost(Metric,度量值):同一种协议下,衡量路径优劣的标准,越小越优。

  • NextHop(下一跳):指明数据包应当转发给的下一个三层接口IP地址。

  • Interface(出接口):指明数据包从本路由器的哪个物理或逻辑接口发出。

2. 路由转发流程

解封装视角

  • 解封装:路由器接收到数据帧,剥离二层帧头,露出IP包头。

  • 提取目的IP:查看IP包中的 Destination IP Address。

  • 最长前缀匹配(Longest Prefix Match):将目的IP与路由表中的掩码进行逻辑“与”运算,寻找最精确的匹配项(掩码最长的那条)。

  • 查找下一跳与出接口:找到对应路由条目,确定NextHop和Interface。

  • 重新封装:修改二层帧头(源MAC改为出接口MAC,目的MAC改为下一跳MAC或目标主机MAC),TTL减1,CRC重新计算,从指定接口转发出去。

3. 直连路由(Direct Route)

  • 生成条件:接口物理状态(Physical)和协议状态(Protocol)均为 Up。

  • 特点:优先级最高(通常为0),无需配置,自动生成。

  • 局限:只包含与路由器接口直接相连的网段,无法感知远端网络。

二、路由优选机制

核心算法,当路由表中存在多条去往同一目的地的路由时,路由器按以下顺序进行筛选:

1. 第一比较:优先级(Preference)

  • 原则:不同路由协议(或静态路由)之间的竞争。数值越小,可信度越高。

  • 通用默认值(华为/华三体系):

  • 直连路由(Direct):0

  • OSPF内部路由:10

  • 静态路由(Static):60

  • RIP:100

  • OSPF ASE(外部):150

  • BGP:255

  • 缺省路由(Default):通常为60(静态配置)或更大。

结论:优先级高的(数值小的)路由被加入路由表,优先级低的被隐藏。

2. 第二比较:度量值(Metric)

  • 原则:仅在同一路由协议发现的多条路径之间进行比较。

常见计算维度:

  • RIP:基于跳数(Hop Count),最大15跳。

  • OSPF:基于带宽(Bandwidth),公式为 Cost=100Mbps/接口带宽,带宽越大,Cost越小。

  • BGP:基于属性(AS-PATH, Local_Pref等)。

  • 静态路由:默认为0,也可手工配置。

结论:Metric最小的路由被优选。

3. 第三比较:最长前缀匹配(Longest Match)

  • 原则:在查找路由表时,如果目的IP匹配了多条路由,选择子网掩码最长(网络前缀最长)的那一条。

  • 原理:掩码越长,代表网络范围越小,定位越精确。

示例:去往 192.168.1.1,路由表中有 192.168.1.0/24和 192.168.1.1/32。路由器会选择 /32这条,因为它更精确。
缺省路由:0.0.0.0/0,掩码长度为0,是所有路由中最不精确的,只有在没有其他匹配项时才被使用。

4. 路由迭代与递归(Recursive Routing)

  • 定义:当路由条目的下一跳(NextHop)不是直连邻居时,路由器必须再次查询路由表,找到到达该NextHop的路径。

  • 过程:原始路由 → 查下一跳 → 发现非直连 → 再查路由表找到去往下一跳的直连路径 → 确定最终出接口。

  • 应用:广泛应用于BGP和配置了非直连下一跳的静态路由中。

三、路由高级特性

1. 等价路由与负载分担(ECMP)

  • 定义:到达同一目的网络,存在多条优先级(Proto)相同、度量值(Cost)也相同的路由。

  • 行为:路由器会将流量分摊到这些链路上。

优势:

  • 带宽叠加:充分利用多条链路的带宽。

  • 冗余备份:某条链路断开,流量自动切换到其他链路,业务不中断。

2. 浮动路由(Floating Static Route)

  • 定义:配置两条去往同一目的网络的静态路由,通过修改优先级,使一条为主链路,另一条为备份链路。

  • 配置逻辑:主链路优先级设为60,备份链路优先级设为大于60(如100)。

  • 行为:正常情况下,路由表中只有主链路(Priority 60)。当主链路故障(接口Down或检测失效),主路由消失,备份路由(Priority 100)浮现并加入路由表,接管流量。

3. 路由汇总(Route Summarization)

  • 定义:将一组连续的子网地址聚合成一个更大的网段。

  • 目的:减小路由表的规模,降低路由器CPU和内存的开销,提高查表效率。

  • 原理:提取多个子网的共同前缀作为汇总后的掩码。

注意:不当的汇总可能导致环路,通常需要配合黑洞路由(Null0接口)使用。

注:上述浮动路由、等价负载分担特性可通过配置双上行链路验证:主链路配置默认优先级,备份链路配置更高优先级(数值更大),断开主链路后可观测到路由自动切换,符合企业网高可用设计逻辑。

四、以太网交换基础(二层)

1. 冲突域与广播域

冲突域(Collision Domain):

  • 定义:物理层概念,指在同一时刻只能有一个设备发送数据的网络范围。

  • Hub/总线:所有节点处于一个冲突域,CSMA/CD机制导致效率低下。

  • 交换机:每个接口是一个独立的冲突域,从根本上解决了冲突问题。

广播域(Broadcast Domain):

  • 定义:数据链路层概念,指一个广播帧(目的MAC全F)能够到达的范围。

  • 交换机:默认所有接口处于一个广播域。交换机收到广播帧会向除接收口外的所有接口泛洪。

  • 风险:广播域过大会导致广播风暴,占用大量带宽和设备资源,最终导致网络瘫痪。

2. 交换机工作原理

交换机基于MAC地址表进行二层转发,核心机制是自学习。

MAC地址表:存储 MAC地址 <-> 接口​ 的映射关系。

学习(Learning):

  • 交换机接收数据帧,提取源MAC地址。

  • 将该MAC地址与接收接口的对应关系记录到MAC地址表中。

老化时间(Aging Time):默认300秒(5分钟,部分教材或设备为20分钟,段老师提的是20分钟,标准是300秒,建议以设备为准)。若一段时间内该接口未收到该MAC的帧,表项将被删除。

转发(Forwarding):

  • 提取目的MAC地址。

  • 查询MAC地址表。

已知单播:若表中有记录,直接向对应接口转发。

未知单播/广播:若表中无记录或目的MAC为全F,向除接收接口外的所有接口泛洪(Flooding)。

过滤(Filtering):如果目的MAC对应的接口就是接收接口,丢弃该帧(防止环路或重复接收)。

3. 以太网帧格式(简述)

  • Ethernet II:最常用的格式。

  • 目的MAC(6B)+ 源MAC(6B)+ 类型(Type,2B,标识上层协议如IP是0x0800)+ 数据(46-1500B)+ FCS(4B)。

  • 广播帧:目的MAC为 FF:FF:FF:FF:FF:FF。

4. VLAN(虚拟局域网)引入

  • 动机:为了解决二层交换机无法隔离广播域的问题。

  • 原理:在以太帧中插入Tag(802.1Q标签),逻辑上将一台物理交换机划分为多个虚拟交换机,每个VLAN是一个独立的广播域。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐