You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
datacom/Datacom-MD/第三章:路由基础及静态路由技术.md

324 lines
16 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<h1><center>第三章:路由基础及静态路由技术</center></h1>
> 作者:行癫
------
<h3>第一节:路由概述</h3>
![image-20220206164525243](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206164525243.png)
通过IP地址能够寻找到一个唯一的网络节点每个IP都有自己所属的网段这些网络可能分布在世界各地共同组成了全球的网络
为了实现不同网段之间的相互通信网络设备需要能够转发来自不同网段的IP报文将其送达不同的IP网段
<h4>一:路由基本概念</h4>
<h5>1.路由</h5>
路由是指导报文转发的路径信息通过路由可以确认转发IP报文的路径
路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器
路由设备维护着一张路由表,保存着路由信息
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206164918186.png" alt="image-20220206164918186" style="zoom:80%;" />
网关以及中间节点路由器根据收到的IP报文其目的地址选择一条合适的路径并将报文转发到下一个路由器。在路径中的最后一跳路由器二层寻址将报文转发给目的主机。这个过程被称为路由转发
中间节点选择路径所依赖的表项为称为路由表
路由条目包含明确的出接口以及下一跳这两项信息指导IP报文转发到相应的下一跳设备上
<h5>2.路由信息介绍</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206165110195.png" alt="image-20220206165110195" style="zoom:80%;" />
通过路由中包含的信息路由设备可以转发IP报文到相应的路径
目的地址、掩码用于识别IP报文目的地址路由设备将IP报文匹配到相应的路由之后根据路由的出接口、下一跳确认转发的路径
只有出接口并不能够确认转发IP报文的下一跳设备还需要明确的下一跳设备地址
<h5>3.路由表</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206165245781.png" alt="image-20220206165245781" style="zoom:80%;" />
路由器依据路由表转发报文
路由表由一条条详细的路由条目组成
路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的”路由
对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现
<h4>二:路由条目生成</h4>
<h5>1.路由信息获取方式</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206165436019.png" alt="image-20220206165436019" style="zoom:80%;" />
直连路由:直连接口所在网段的路由,由设备自动生成
静态路由:由网络管理员手工配置的路由条目
动态路由路由器通过动态路由协议如OSPF、IS-IS、BGP等学习到的路由
<h5>2.直连路由</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206165541043.png" alt="image-20220206165541043" style="zoom:50%;" />
直连路由指向本地直连网络的路由,由设备自动生成
当路由器为路由转发的最后一跳路由器时IP报文匹配直连路由路由器转发IP报文到目标主机
使用直连路由进行转发时报文的目的IP和路由器接口IP在一个网段之中
当匹配中直连路由进行转发时此时路由器会查看ARP表项将报文直接转到目的地址此时该路由器为路由转发的最后一跳路由器
直连路由的下一跳地址并不是其他设备上的接口地址,因为该路由的目的网段为接口所在网段,本接口就是最后一跳,不需要再转发给下一跳,所以在路由表中的下一跳地址就是接口自身地址
使用直连路由进行路由转发时转发的动作不是交给下一跳而是查询ARP表项根据ARP表项封装报文将报文发送到目的IP
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206165932481.png" alt="image-20220206165932481" style="zoom:50%;" />
并不是所有接口生成的直连路由都会出现在路由表中直连路由出现在路由表中的前提是该接口的物理状态、协议都为UP
<h4>三:最优条目路由优选</h4>
<h5>1.查看路由表</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206214511775.png" alt="image-20220206214511775" style="zoom:80%;" />
Destination/Mask表示此路由的目的网络地址与网络掩码将目的地址和子网掩码"逻辑与"后可得到目的主机或路由器所在网段的地址。
ProtoProtocol该路由的协议类型即路由器是通过什么协议获知该路由
PrePreference表示此路由的路由协议优先级针对同一目的地可能存在不同下一跳、出接口等多条路由这些不同的路由可能是由不同的路由协议发现的也可以是手动配置的静态路由优先级最高者将成为当前的最优路由
Cost路由开销当到达同一目的地的多条路由具有相同的优先级时路由开销最小的将成为当前的最优路由
NextHop表示对于本路由器而言到达该路由指向的目的网络的下一跳地址
Interface表示此路由的出接口指明数据将从本路由器的哪个接口转发出去
Preference用于不同路由协议间路由优先级的比较Cost用于同一种路由协议内部不同路由的优先级的比较。在业界Cost也被称为路由度量值Metric
<h5>2.基本概念</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206215737399.png" alt="image-20220206215737399" style="zoom:50%;" />
当路由器从多种不同的途径获知到达同一个目的网段的路由时,路由器会比较这些路由的优先级,优选优先级值最小的路由。
路由来源的优先级值越小代表加入路由表的优先级越高
拥有最高优先级的路由将被添加进路由表
<h5>3.比较过程</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206220119702.png" alt="image-20220206220119702" style="zoom:50%;" />
RTA通过动态路由协议OSPF和手动配置的方式都发现了到达10.0.0.0/30的路由此时会比较这两条路由的优先级优选优先级值最小的路由
每一种路由协议都有相应的优先级
OSPF拥有更优的优先级因此通过OSPF学习到的路由将添加到路由表
<h5>4.常见默认数值</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206220810774.png" alt="image-20220206220810774" style="zoom:80%;" />
<h5>5.度量值基本概念</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206220853364.png" alt="image-20220206220853364" style="zoom:50%;" />
当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一
路由度量值表示到达这条路由所指目的地址的代价
一些常见的度量值有:跳数、带宽、时延、代价、负载、可靠性等
度量值数值越小越优先,度量值最小路由将会被添加到路由表中
度量值很多时候被称开销Cost
<h5>6.比较过程</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206221428952.png" alt="image-20220206221428952" style="zoom:50%;" />
RTA通过动态路由协议OSPF学习到了两条目的地为10.0.0.0/30的路由学习自同一路由协议、优先级相同因此需要继续比较度量值
两条路由拥有不同的度量值下一条为30.1.1.2的OSPF的路由条目拥有更小的度量值因此被加入到路由表中
<h4>四:路由转发</h4>
<h5>1.最长匹配原则</h5>
当路由器收到一个IP数据包时会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位对比直到找到匹配度最长的条目这就是最长前缀匹配机制
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206222255915.png" alt="image-20220206222255915" style="zoom:80%;" />
<h5>2.案例一</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206222329880.png" alt="image-20220206222329880" style="zoom:50%;" />
根据最长匹配原则进行匹配能够匹配192.168.2.2的路由存在两条但是路由的掩码长度中一个为16bit另一个为24bit掩码长度为24bit的路由满足最长匹配原则因此被选择来指导发往192.168.2.2的报文转发
<h5>3.案例二</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206222636228.png" alt="image-20220206222636228" style="zoom:50%;" />
根据最长匹配原则匹配能够匹配到192.168.3.2的路由只有一条,此路由为最终转发依据
<h5>4.路由转发流程</h5>
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206222829616.png" alt="image-20220206222829616" style="zoom:80%;" />
来自10.0.1.0/24网段的IP报文想要去往40.0.1.0/24网段首先到达网关网关查找路由表项确定转发的下一跳、出接口之后报文转发给R2。报文到达R2之后R2通过查找路由表项转发给R3R3收到后查找路由表项发现IP报文目的IP属于本地接口所在网段直接本地转发
<h4>五:路由进阶</h4>
<h5>1.RIB与FIB</h5>
具有路由功能的网络设备都维护两种重要的数据表一是路由表RIBRouting Information Base路由信息库二是转发表FIB。
控制层面:
RIB路由器维护一张本地核心路由表此外路由器还维护着路由协议各自的路由表
数据平面:
FIB路由器将本地核心路由表中的最优路由下载到FIB表。路由器转发芯片根据FIB表转发报文
路由表:
可以将路由表视为位于路由器的控制平面,实际上路由表并不直接指导数据转发。路由器在执行路由查询时,并不是
在路由表中进行报文目的地址的查询真正指导数据转发的是FIB表路由器将路由表中的最优路由下载到FIB表此后如
果路由表中的相关表项发生变化FIB表也将立即同步
由于两张表的一致性,且路由表阅读起来更直观,因此在绝大多数场合,在阐述路由器数据转发过程时,会用“路由
表”这个说法实际上路由器查询的是FIB表位于控制层面的路由表只是提供路由信息
FIB表
FIB表位于路由器的数据平面亦被称为转发表项每条转发表项都指定要到达某个目的地所需通过的出接口及下一
跳IP地址等信息
<h5>2.IP路由查找的最长匹配原则</h5>
路由器查找FIB表时将报文的目的IP地址和FIB表中各表项的掩码进行按位“逻辑与”得到的地址符合FIB表中的网络
地址则匹配
最终选择一个掩码最长的FIB表项转发报文
```shell
[Huawei] display fib 0
Route Flags: G - Gateway Route, H - Host Route, U - Up Route
S - Static Route, D - Dynamic Route, B - Black Hole Route
---------------------------------------------------------------------------------------------
FIB Table:
Total number of Routes : 8
Destination/Mask Nexthop Flag TimeStamp Interface TunnelID
10.3.3.3/32 10.0.1.1 DGHU t[15123] GE0/0/0 0x0
10.4.4.4/32 10.0.2.2 DGHU t[11177] GE0/0/1 0x0
10.0.1.2/32 127.0.0.1 HU t[9058] InLoop0 0x0
127.0.0.1/32 127.0.0.1 HU t[19] InLoop0 0x0
127.0.0.0/8 127.0.0.1 U t[19] InLoop0 0x0
0.0.0.0/0 10.0.2.2 GSU t[122] GE0/0/1 0x0
10.0.1.0/24 10.0.1.2 U t[9058] GE0/0/0 0x0
10.0.3.0/24 10.0.2.2 DGU t[11177] GE0/0/1 0x0
```
如果一个数据包的目的IP地址是10.3.3.3,路由器将会把这个数据包从哪个接口转发出去呢?
FIB表中每条转发项都指明到达某网段或某主机的报文应通过路由器的哪个物理接口或逻辑接口发送然后就可到达
该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机
FIB表信息查看命令display fib [ slot-id ]
slot-id显示指定槽位号的FIB表信息。整数形式取值范围请根据设备实际配置选取
FIB表中的字段说明
Total number of Routes路由表总数
Destination/Mask目的地址/掩码长度
Nexthop下一跳
Flag当前标志G、H、U、S、D、B的组合
GGateway网关路由表示下一跳是网关
HHost主机路由表示该路由为主机路由
UUp可用路由表示该路由状态是Up
SStatic静态路由
DDynamic动态路由
BBlack Hole黑洞路由表示下一跳是空接口
TimeStamp时间戳表示该表项存在的时间单位是秒
Interface到目的地址的出接口
TunnelID表示转发表项索引。该值不为0时表示匹配该项的报文通过隧道转发MPLS隧道转发。该值为0
时,表示报文不通过隧道转发
<h3>第二节:静态路由</h3>
<h4>一:静态路由的应用场景</h4>
静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206223257592.png" alt="image-20220206223257592" style="zoom:50%;" />
<h4>二:静态路由配置</h4>
![image-20220206223328802](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206223328802.png)
<h5>1.配置举例</h5>
![image-20220206223403730](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206223403730.png)
<h5>2.缺省路由</h5>
缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由,如果报文的目的地址不能与路由表的任何目的地址相匹配,那么报文将选取缺省路由进行转发
缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由
![image-20220206223724059](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206223724059.png)
<h5>3.缺省路由的应用场景</h5>
缺省路由一般用于企业网络出口配置一条缺省路由让出口设备能够转发前往Internet上任意地址的IP报文
![image-20220206223915694](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206223915694.png)
<h4>三:使用静态路由搭建企业网络案例</h4>
![image-20220206230656923](https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220206230656923.png)