一、简介
路由是数据通信网络中最基本的要素。路由信息就是指导报文发送的路径信息,路由的过程就是报文转发的过程。
根据路由目的地分类
根据路由目的地的不同,路由可划分为:
1、网段路由:
目的地为网段,IPv4地址子网掩码长度小于32位或IPv6地址前缀长度小于128位。
2、主机路由:
目的地为主机,IPv4地址子网掩码长度为32位或IPv6地址前缀长度为128位。
根据目的地与该路由器是否直接相连分类
根据目的地与该路由器是否直接相连,路由又可划分为:
1、直连路由:
目的地所在网络与路由器直接相连。
2、间接路由:
目的地所在网络与路由器非直接相连。
根据目的地址类型分类
根据目的地址类型的不同,路由还可以分为:
1、单播路由:
表示将报文转发的目的地址是一个单播地址。
2、组播路由:
表示将报文转发的目的地址是一个组播地址。
二、路由器及路由基本原理
在因特网中,网络连接设备用来控制网络流量和保证网络数据传输质量。常见的网络连接设备有集线器(Hub)、网桥(Bridge)、交换机(Switch)和路由器(Router)。这些设备的基本原理类似,下面就以路由器为例来介绍一下设备的基本原理。路由器是一种典型的网络连接设备,用来进行路由选择和报文转发。路由器根据收到报文的目的地址选择一条合适的路径(包含一个或多个路由器的网络),然后将报文传送到下一个路由器,路径终端的路由器负责将报文送交目的主机。
路由就是报文从源端到目的端的路径。当报文从路由器到目的网段有多条路由可达时,路由器可以根据路由表中最佳路由进行转发。最佳路由的选取与发现此路由的路由协议的优先级、路由的度量有关。当多条路由的协议优先级与路由度量都相同时,可以实现负载分担,缓解网络压力;当多条路由的协议优先级与路由度量不同时,可以构成路由备份,提高网络的可靠性。
三、静态路由与动态路由
路由器不仅支持静态路由,同时也支持RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、IS-IS(Intermedia System-Intermedia System)和BGP(Border Gateway Protocol)等动态路由协议。
1、静态路由与动态路由的区别
路由协议是路由器之间维护路由表的规则,用于发现路由,生成路由表,并指导报文转发。依据来源的不同,路由可以分为三类:
1)通过链路层协议发现的路由称为直连路由。
2)通过网络管理员手动配置的路由称为静态路由。
3)通过动态路由协议发现的路由称为动态路由。
静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化,需要人工干预。动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。
2、动态路由的分类
对动态路由协议的分类可以采用以下不同标准:
根据作用范围不同
根据作用范围不同,路由协议可分为:
(1)内部网关协议IGP(Interior Gateway Protocol):
在一个自治系统内部运行。常见的IGP协议包括RIP、OSPF和IS-IS。
(2)外部网关协议EGP(Exterior Gateway Protocol):
运行于不同自治系统之间。BGP是目前最常用的EGP协议。
根据使用算法不同
根据使用算法不同,路由协议可分为:
1、距离矢量协议(Distance-Vector Protocol):
包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector Protocol)。
2、链路状态协议(Link-State Protocol):
包括OSPF和IS-IS。
以上两种算法的主要区别在于发现路由和计算路由的方法不同。
四、路由表和FIB表
路由器转发数据包的关键是路由表和FIB表,每个路由器都至少保存着一张路由表和一张FIB(Forwarding Information Base)表。路由器通过路由表选择路由,通过FIB表指导报文进行转发。
1、路由表
每台路由器中都保存着一张本地核心路由表,同时各个路由协议也维护着自己的路由表。
(1)本地核心路由表
路由器使用本地核心路由表用来保存决策优选路由,并负责把优选路由下发到FIB表,通过FIB表指导报文进行转发。这张路由表依据各种路由协议的优先级和度量值来选取路由。 对于支持L3VPN(Layer 3 Virtual Private Network)的路由器,每一个VPN-Instance拥有一个自己的管理路由表(本地核心路由表)。
(2)协议路由表
协议路由表中存放着该协议发现的路由信息。路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS路由时,要将这些路由引入到OSPF协议的路由表中。
2、路由表中的内容
在路由器中,执行命令display ip routing-table时,可以查看路由器的路由表概要信息,如下所示:
display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R - relay, D - download to fib, T - to vpn-instance
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.137.216.1 Vlanif20
10.10.10.0/24 Direct 0 0 D 10.10.10.10 Vlanif20
10.10.10.10/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.10.10.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.10.11.0/24 Direct 0 0 D 10.10.11.1 LoopBack0
10.10.11.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.10.11.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.137.216.0/23 Direct 0 0 D 10.137.217.208 Vlanif20
10.137.217.208/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.137.217.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
路由表中包含了下列关键项:
1)、Destination:
表示此路由的目的地址。用来标识IP包的目的地址或目的网络。
2)、Mask:
表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为10.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为10.1.1.0。 掩码由若干个连续“1”构成,既可以用点分十进制表示,也可以用掩码中连续“1”的个数来表示。例如掩码255.255.255.0长度为24,即可以表示为24。
3)、Proto:
表示学习此路由的路由协议。
4)、Pre:
表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最优路由。
5)、Cost:
路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
Preference用于不同路由协议间路由优先级的比较,Cost用于同一种路由协议内部不同路由的优先级的比较。
6)、NextHop:
表示此路由的下一跳地址。指明数据转发的下一个设备。
7)、Interface:
表示此路由的出接口。指明数据将从本地路由器哪个接口转发出去。