- 路由的基本概念:
- 定义:IP 路由是指在 IP 网络中,将数据包从源地址传输到目标地址的过程中,选择最佳路径的技术。其核心任务是确定数据在网络中的最佳传输路径,就像现实生活中的交通导航系统,为车辆规划出最快捷、最合理的行驶路线一样,IP 路由为数据包指引方向,确保它们能够准确、高效地到达目的地。
- 工作原理:当网络中的设备(如计算机、服务器等)发送数据包时,数据包会包含源 IP 地址和目标 IP 地址等信息。路由器作为网络中的关键设备,会接收这些数据包,并根据数据包的目标 IP 地址,查找自身的路由表,以确定将数据包转发到哪个下一跳地址或接口,从而使数据包能够逐步接近目标地址。
- 路由表:
- 定义与作用:路由表是路由器或其他具有路由功能的网络设备中,用于存储路由信息的一种数据结构。它就像是路由器的 “导航地图”,记录了到达不同网络目的地的路径信息。路由器根据路由表中的信息,决定如何将接收到的数据包转发到正确的下一跳或目标网络。
- 关键字段:
- Destination(目的地址):表示此路由的目的网络或主机的 IP 地址。通过目的地址,路由器可以确定数据包的最终目标。
- Mask(子网掩码):与目的地址一起使用,用于确定目的地址所属的网络范围。子网掩码的长度决定了网络的规模和可容纳的主机数量。例如,子网掩码为 255.255.255.0 表示一个 C 类网络,可容纳 254 台主机。
- Proto(Protocol,路由协议):表示学习此路由的路由协议。常见的路由协议有静态路由协议、动态路由协议(如 OSPF、RIP、BGP 等),不同的路由协议有不同的特点和适用场景。
- Pre(Preference,路由优先级):当存在多个路由协议学习到到达同一目的地址的路由时,路由优先级用于确定哪个路由条目被优先使用。优先级数值越小,优先级越高。例如,静态路由的优先级通常高于动态路由。
- Cost(路由开销):也称为度量值,是路由协议用来衡量到达目的地址的 “代价” 的参数。不同的路由协议使用不同的度量值计算方法,例如 OSPF 协议使用链路带宽、延迟等因素计算路由开销,开销越小的路由越优先被选择。
- Next Hop(下一跳):表示转发数据包的下一个设备的 IP 地址。路由器将数据包转发到下一跳设备,由下一跳设备继续进行转发,直到数据包到达目标地址。
- Interface(出接口):指明数据包将从本地路由器的哪个接口转发出去。
- 路由的来源:
- 直连路由:直连接口所在网段的路由,由设备自动生成。当路由器的接口配置了 IP 地址,并且接口状态为 up(正常工作)时,路由器会自动将该接口所在的网段信息添加到路由表中,作为直连路由。例如,路由器的一个接口配置了 IP 地址为 192.168.1.1/24,那么路由器会自动生成一条到达 192.168.1.0/24 网段的直连路由。
- 静态路由:由网络管理员手工配置的路由条目。管理员根据网络拓扑结构和需求,手动指定到达特定网络的路径。例如,如果两个网络之间通过一条专线连接,管理员可以在连接两端的路由器上配置静态路由,以便数据包能够在两个网络之间正确传输。静态路由的优点是配置简单、稳定,适用于小型网络或网络拓扑结构相对固定的场景;缺点是缺乏灵活性,当网络拓扑发生变化时,需要手动修改路由表。
- 动态路由:路由器通过动态路由协议学习到的路由。动态路由协议允许路由器自动与其他相邻的路由器交换路由信息,从而动态地构建和更新路由表。常见的动态路由协议有 OSPF(Open Shortest Path First,开放式最短路径优先)、RIP(Routing Information Protocol,路由信息协议)、BGP(Border Gateway Protocol,边界网关协议)等。动态路由的优点是能够自动适应网络拓扑的变化,减少了管理员的工作量;缺点是配置相对复杂,并且可能会占用一定的网络带宽和设备资源。
- 路由的查找与匹配原则:
- 最长匹配原则:路由器查找路由表时,会将数据包的目的 IP 地址与路由表中的子网掩码进行按位 “逻辑与” 运算,得到的结果与路由表中的目的地址进行匹配。掩码越长,表示匹配的范围越精确,因此优先选择掩码最长的匹配条目。例如,有两条路由条目,一条是 192.168.1.0/24,另一条是 192.168.1.0/32,当数据包的目的地址为 192.168.1.10 时,路由器会选择 192.168.1.0/32 这条路由,因为它的掩码更长,匹配更精确。
- 优先级与开销比较:当存在多个路由协议学习到到达同一目的地址的路由时,首先比较路由的优先级,优先级高的路由被优先使用;如果优先级相同,则比较路由的开销,开销小的路由被优先使用。
- 路由递归:
- 定义:路由表项中的下一跳字段可能不是直接连接的邻居,因此需要计算出一个直连的下一跳,这个过程就叫做路由递归。
- 过程:如果路由器发现下一跳地址不是直连的,它会继续查找路由表,找到到达下一跳地址的路由,然后将数据包转发到该路由的下一跳,直到数据包最终到达目标地址。例如,路由器的路由表中有一条到达目标网络的路由,下一跳地址为 10.0.0.2,但路由器不知道如何到达 10.0.0.2,此时它会再次查找路由表,找到到达 10.0.0.2 的路由,然后按照该路由的指示进行转发。
- 默认路由:
- 定义:默认路由是一种特殊的静态路由,其目的地址和子网掩码均为 0.0.0.0/0,表示当数据包的目的地址在路由表中没有匹配的表项时,路由器将按照默认路由进行转发。
- 作用:在网络中,不可能为每一个可能的目的地址都配置一条具体的路由,因此默认路由可以作为一种 “兜底” 的路由方式,确保数据包在没有明确路由的情况下也能够被转发。例如,企业网络中的内部路由器通常会配置一条默认路由,将所有去往外部网络的数据包转发到连接外部网络的边界路由器。