3. 路由基础
3.1 路由器基本原理
3.1.1 基本概述
-
网络互联设备
- 通过路由表转发数据
-
工作在网络层
- 处理IP数据包
-
一个接口为一个广播域(网段、子网、局域网)
- 即接口隔离广播域
3.1.2 LAN和广播域
3.1.3 路由选路
- 路由器负责为数据包选择一条最优路径,并进行转发
3.1.4 建立路由表
加表原则
收到一条路由的管理距离为255则直接丢弃,认为这条路由器是不可靠的
如果不是,则判断该路由条目是否以存在路由表,如果不存在,直接加表。如果存在,判断新旧路由是否通过相同路由获悉方式学习到的。
如果是,先比较新旧路由的管理距离,小的加入路由表
管理距离一致,比较度量值,小的加入路由表
如果开启负载均衡,则都加入路由表
3.1.5 路由优先级
- 路由选择首先选优先级小的,若优先级一样选cost小的。(cost要改出接口)
3.1.6 路由度量
3.1.7 最长匹配原则
- 路由表中如果有多个匹配目的网络的路由条目,则路由器会选择掩码最长的条目。
3.2 静态路由基础
3.2.1 静态路由
- 在串行接口上,可以通过指定下一跳地址或出接口来配置静态路由。
- 在以太网链路中配置静态路由,必须指定下一跳地址。
以太链路是指以太网连接;串行链路是指串口连接。都有很多规格和连接方式。
现在基本都是以太或光纤连接了。串口用的很少。
3.2.2 负载分担
- 这些具有相同的目的网络和掩码、优先级和度量值的路由条目称为等价路由
- 静态路由支持到达同一目的地的等价负载分担。
3.2.3 路由备份
实现静态路由备份,也叫浮动静态路由。在配置多条静态路由时,可以修改静态路由的优先级,使一条静态路由的优先级高于其他静态路由,从而实现静态路由备份。
- 静态路由优先级默认为60。
- 在主链路正常的情况下,只有主链路会出现在路由表中。
3.2.4 缺省路由
缺省路由也叫默认路由,是目的地址和掩码都为全0的特殊路由,优先级最低。
- 如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。
3.3 距离矢量路由协议-RIP
RIP是路由信息协议(Routing Information Protocol)的简称,它是一种基于距离矢量(Distance-Vector)算法的协议,使用跳数作为度量来衡量到达目的网络的距离。RIP主要应用于规模较小的网络中。
3.3.1 原理
- 路由器运行RIP后,会首先发送路由更新请求(request),收到请求的路由器会发送自己的RIP路由进行响应(response)。
- 网络稳定后,路由器会周期性(30秒)发送路由更新信息。
3.3.2 RIP度量
- RIP使用跳数作为度量值来衡量到达目的网络的距离。
- 缺省情况下,直连网络的路由跳数为0。当路由器发送路由更新时,会把度量值加1。RIP规定超过15跳为网络不可达。
3.3.3 RIPv1与RIPv2的区别
RIP协议通过UDP交换路由信息,端口号为520。
RIPv1
RIPv1以广播形式发送路由信息,目的IP地址为广播地址255.255.255.255。
- RIPv1是有类别路由协议,不支持VLSM和CIDR。
- 以广播的形式发送报文。
- 不支持认证。
报文格式:
字段 | 作用 |
---|---|
Command | 表示该报文是一个请求报文还是响应报文,只能取1或者2。1表示该报文是请求报文,2表示该报文是响应报文。 |
Version | 表示RIP的版本信息。对于RIPv1,该字段的值为1。 |
Address Family Identifier(AFI) | 表示地址标识信息,对于IP协议,其值为2。 |
IP address | 表示该路由条目的目的IP地址。这一项可以是网络地址、主机地址。 |
Metric | 标识该路由条目的度量值,取值范围1-16。 |
RIPv2
RIPv2有两种发送方式:广播方式和组播方式,缺省是组播方式。RIPv2的组播地址为224.0.0.9。
- RIPv2为无类别路由协议,支持VLSM和CIDR。
- 支持以广播或者组播(224.0.0.9)方式发送报文。
- 支持明文认证和 MD5 密文认证。
报文格式:
字段 | 作用 |
---|---|
Command | 表示该报文是一个请求报文还是响应报文,只能取1或者2。1表示该报文是请求报文,2表示该报文是响应报文。 |
Version | 表示RIP的版本信息。对于RIPv1,该字段的值为1。 |
AFI | 地址族标识除了表示支持的协议类型外,还可以用来描述认证信息。 |
Route tag | 用于标记外部路由。 |
Subnet Mask | 指定IP地址的子网掩码,定义IP地址的网络或子网部分。 |
Next Hop | 指定通往目的地址的下一跳IP地址。 |
3.3.4 RIPv2认证
RIPv2的认证功能是一种过滤恶意路由信息的方法,该方法根据key值来检查从有效对端设备接收到的报文。
3.3.5 RIP-环路
- 当网络发生故障时,RIP网络有可能产生路由环路。
如图所示,RIP网络正常运行时,RTA会通过RTB学习到10.0.0.0/8网络的路由,度量值为1。一旦路由器RTB的直连网络10.0.0.0/8产生故障,RTB会立即检测到该故障,并认为该路由不可达。此时,RTA还没有收到该路由不可达的信息,于是会继续向RTB发送度量值为2的通往10.0.0.0/8的路由信息。RTB会学习此路由信息,认为可以通过RTA到达10.0.0.0/8网络。此后,RTB发送的更新路由表,又会导致RTA路由表的更新,RTA会新增一条度量值为3的10.0.0.0/8网络路由表项,从而形成路由环路。这个过程会持续下去,直到度量值为16。
3.3.6 环路避免
1. 水平分割
- 路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器。
2. 毒性反转
- 毒性反转是指路由器从某个接口学到路由后,将该路由的跳数设置为16,并从原接收接口发回给邻居路由器。
3. 触发更新
- 触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文。
4. RIP汇总
V2才有汇总。
- 水平分割默认开启,自动汇总默认不生效
- 手动汇总前提要将自动汇总关了
配置
静态路由
[R1]dis ip routing-table
# 查看路由表
[R1]ip route-static 192.168.1.0 24 10.0.0.1
# 添加静态路由
# ip route-static 192.168.1.0 24 Serial 1/0/0(串口)
[RTB]ip route-static 192.168.1.0 255.255.255.0 20.0.12.1 preference 100
# 指定静态路由优先级(静态路由备份),越低优先级越高
[RTA]ip route-static 0.0.0.0 0.0.0.0 10.0.12.2
# 配置缺省路由
# [RTA]ip route-static 0.0.0.0 0 10.0.12.2 GigabitEthernet 0/0/0 (串口)
rip
[RTA]rip 1
[RTA-rip-1]version 2
[RTA-rip-1]network 10.0.0.0
[RTC-GigabitEthernet0/0/0]rip authentication-mode simple cipher goktech
# 配置RIPv2,及明文认证(MD5加密认证:rip authentication-mode md5 unusal cipher goktech)
[RTC-GigabitEthernet0/0/0]rip metricin 2
# 在某接口接收路由条目时增加的度量值
[RTA-GigabitEthernet0/0/0]rip metricout 2
# 在某接口发送路由条目时增加的度量值
[RTC-GigabitEthernet0/0/0]rip split-horizon
# 配置水平分割(默认启用)
[RTC-GigabitEthernet0/0/0]rip poison-reverse
# 配置毒性逆转(和水平分割同时配置只有毒性逆转生效)
[R1]display rip 1 interface GigabitEtherner0/0/0 verbose
# 查看某接口rip配置
[RTA-GigabitEthernet0/0/0]undo rip output
# 禁止某接口发送RIP报文
[RTD-GigabitEthernet0/0/1]undo rip input
# 禁止某接口接收RIP报文
[RTD-rip-1]silent-interface GigabitEthernet 0/0/1
# 抑制接口,只接收不发送报文,只更新自己。此命令比前两者优先级更高。
# silent-interface all表示抑制所有接口。
[R1]display rip 1
# 查看此路由器RIP信息
[R1]summary always
# 开启自动汇总,添加always参数后,可无视水平分割和毒性逆转,也能生效
[R1]undo summary
# 关闭汇总
[R1]rip summary address 172.16.0.0 255.255.0.0
# 手动汇总(v2)