前言
在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。
路由是数据通信网络中最基本的要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。
常见误区:
- 路由器隔离广播域和冲突域,交换机只能隔离冲突域
IP路由基础
背景:
- IP地址唯一标识了网络中的一个节点,每个IP地址都拥有自己的网段,各个网段可能分布在网络的不同区域。
- 为实现IP寻址,分布在不同区域的网段之间要能够相互通信。
路由:
- 路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。
- 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。
- 路由设备维护着一张路由表,保存着路由信息。
- 路由器根据数据包的目的IP地址查找路由表进行转发。
路由中包含以下信息:
- 目的网络:标识目的网段
- 掩码:与目的地址共同标识一个网段
- 出接口:数据包被路由后离开本路由器的接口
- 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址
路由表
- 路由器通过各种方式发现路由
- 路由器选择最优的路由条目放入路由表中
- 路由表指导设备对IP报文的转发
- 路由器通过对路由表的管理实现对路径信息的管理
查看IP路由表:
|
Destination/Mask:网络地址/网络前缀 +掩码=目的路由
Protocal:协议,表示该条路由通过什么协议(方式)获取到:
Direct 直连协议
Static 静态
ospf 链路状态路由协议
isis
bgp
…Preference:优先级,表示该条路由的可靠性,范围0-255,数值越小,表示可靠性越好,也就表示该条路由越优
Direct 直连协议 优先级为0
Static 静态 优先级60
OSPF 优先级10
ISIS 优先级 15
BGP 优先级 255
RIP 优先级100
…Cost:度量值,开销,数值越小越好
NextHop:下一跳,去往目的地址的下一个IP地址
Interface:表示该设备从该接口可以出去到达下一跳
路由获取方式(路由条目生成)
直连 Direct:
管理员在设备接口配置IP地址,直接生成的路由
静态 Static:
由管理手工配置的路由
无法自动感应网络拓扑变化
动态路由协议(OSPF/isis/BGP/rip):
管理员在设备配置了对应协议,设备自动获取的路由
能够自动感应网络拓扑变化
最优路由条目优选
针对同一条路由来说,路由表中只会浮现一条最优路由
- 先比较优先级,数值越小越优先级
- 优先级相同,再比较cost,数值越小越优先级
- 如果优先级和开销都一样,则该条路由以负载的形式存在路由表中
注意:相同协议才会比较优先级,优先级相同,再去比较开销,不同协议,只要是同一条路由,优先级相同,直接负载,不再比较开销
路由转发
最长掩码匹配:
当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。
示例1:
- 根据最长匹配原则进行匹配,能够匹配192.168.2.2的路由存在两条,但是路由的掩码长度中,一个为16 bit,另一个为24 bit,掩码长度为24 bit的路由满足最长匹配原则,因此被选择来指导发往192.168.2.2的报文转发。
示例2:
- 根据最长匹配原则匹配,能够匹配到192.168.3.2的路由只有一条,此路由为最终转发依据。
静态路由
使用场景:
静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
用于网关出口配置默认路由
当设备不支持动态路由协议
缺点是不能自动适应网络拓扑的变化,需要人工干预。
静态路由配置
|
缺省路由(默认路由)
|
动态路由分类
动态路由协议能够自动发现和生成路由,并在拓扑变化时及时更新路由,可以有效减少管理人员工作量,更适用于大规模网络。
按工作区域分类:
- IGP(Interior Gateway Protocols,内部网关协议)
- RIP
- OSPF
- IS-IS
- EGP(Exterior Gateway Protocols,外部网关协议)
- BGP
按工作机制及算法分类:
- (Distance Vector Routing Protocols,距离矢量路由协议)
- RIP
- (Link-State Routing Protocols,链路状态路由协议)
- OSPF
- IS-IS
路由高级特性
路由递归:
- 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
- 路由递归也被称为路由迭代。
示例:
- 添加一条去往20.1.1.3的路由,下一跳为直连网络内的IP地址10.0.0.2。
- 去往30.1.2.0/24的路由通过递归查询得到一个直连的下一跳,该路由因此生效。
等价路由:
- 路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。
|
浮动路由(备份路由)
- 在路由表中只存在一条最优路由,当主路由产生故障,备份路由浮现
|
CIDR(路由汇总):无类域间路由
路由汇总需求:
- 子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。
- 为减少路由条目数量可以使用路由汇总。
CIDR:
- CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
- CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。
有类:按照默认的子网掩码
无类:不按照默认的子网掩码
- 思路:通过将掩码缩小,扩大IP地址范围
例子:
用一条路由代替一下4条路由:
192.168.12.0/22
192.168.10.0/23
192.168.14.0/23
192.168.9.0/21
解题:
- 先找到每条路由掩码部分
- 找出掩码网络位部分相同的,也就是蓝色圈出的部位,保留不变,剩余的全写为0
- 将二进制再次转换为十进制,掩码为刚刚相同的位数
精确表示:172.16.0.0/18
(172.16.00000000.0/18)
粗略:172.16.0.0/16