第1章 路由选择原理

1.1 几个概念

1.1.1 被动路由协议

用来在路由之间传递用户信息

1.1.2 主动路由协议

用于维护路由器的路由表

  1. R2#show ip route
  2. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  3. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  4. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  5. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  6. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  7. * - candidate default, U - per-user static route, o - ODR
  8. P - periodic downloaded static route
  9. Gateway of last resort is not set
  10. C 192.168.2.0/24 is directly connected, FastEthernet0/0
  11. C 192.168.3.0/24 is directly connected, Serial0/0/1

1.2 路由的来源

1.2.1 直连路由

直接连接到路由器上的网络

1.2.2 静态路由

管理员手工构建路由表

1.2.3 动态路由

路由器之间动态学习到的路由表

  1. R2#show ip interface brief
  2. Interface IP-Address OK? Method Status Protocol
  3. FastEthernet0/0 192.168.2.2 YES manual up up
  4. FastEthernet0/1 unassigned YES unset administratively down down
  5. Serial0/0/0 unassigned YES unset down down
  6. Serial0/0/1 192.168.3.1 YES manual up up
  7. Vlan1 unassigned YES unset administratively down down

1.3 静态路由的配置命令

  1. ip route network-address subnet-mask {ip-add | exit-initerface}

1.3.1 实例

  1. ip route 192.168.1.0 255.255.255.0 192.168.12.2
  2. ip route 192.168.1.0 255.255.255.0 serial 0

1.3.2 拓扑图

1.3.3 R2路由信息

  1. R2#show ip route
  2. ……
  3. C 192.168.12.0/24 is directly connected, Serial0/0/0
  4. C 192.168.23.0/24 is directly connected, Serial0/0/1

1.3.4 添加路由,让R1与R3通讯

  1. R1(config)#ip route 192.168.23.0 255.255.255.0 192.168.12.2
  2. R3(config)#ip route 192.168.12.0 255.255.255.0 serial 0/0/1

出口是本地端的出口端口,下一跳是对端路由的入口ip

1.4 默认路由

  1. 配置方式
  2. ip route 0.0.0.0 0.0.0.0. 192.168.12.2
  3. 下一跳的入口IP

1.5 lookback 环回接口配置

lookback就是路由器上一个环回地址,它是一个虚拟的接口。 可以确保路由ID的稳定性,该接口不会出现链路失效的情况。

  1. R1(config)#interface loopback 0
  2. R1(config-if)#
  3. %LINK-5-CHANGED: Interface Loopback0, changed state to up
  4. %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up

1.5.1 练习

在R1上配置环回接口1.1.1.1
在R2上配置环回接口2.2.2.2
在R3上配置环回接口3.3.3.3
实现全网互通。

1.5.1.1 R1路由表

  1. R1#show ip route
  2. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  3. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  4. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  5. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  6. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  7. * - candidate default, U - per-user static route, o - ODR
  8. P - periodic downloaded static route
  9. Gateway of last resort is not set
  10. 1.0.0.0/24 is subnetted, 1 subnets
  11. C 1.1.1.0 is directly connected, Loopback0
  12. 2.0.0.0/24 is subnetted, 1 subnets
  13. S 2.2.2.0 is directly connected, Serial0/0/0
  14. 3.0.0.0/24 is subnetted, 1 subnets
  15. S 3.3.3.0 is directly connected, Serial0/0/0
  16. C 192.168.12.0/24 is directly connected, Serial0/0/0
  17. S 192.168.23.0/24 [1/0] via 192.168.12.2

1.5.1.2 R2路由表

  1. Gateway of last resort is not set
  2. 1.0.0.0/24 is subnetted, 1 subnets
  3. S 1.1.1.0 is directly connected, Serial0/0/0
  4. 2.0.0.0/24 is subnetted, 1 subnets
  5. C 2.2.2.0 is directly connected, Loopback0
  6. 3.0.0.0/24 is subnetted, 1 subnets
  7. S 3.3.3.0 is directly connected, Serial0/0/1
  8. C 192.168.12.0/24 is directly connected, Serial0/0/0
  9. C 192.168.23.0/24 is directly connected, Serial0/0/1

1.5.1.3 R3路由表

  1. Gateway of last resort is not set
  2. 1.0.0.0/24 is subnetted, 1 subnets
  3. S 1.1.1.0 is directly connected, Serial0/0/1
  4. 2.0.0.0/24 is subnetted, 1 subnets
  5. S 2.2.2.0 is directly connected, Serial0/0/1
  6. 3.0.0.0/24 is subnetted, 1 subnets
  7. C 3.3.3.0 is directly connected, Loopback0
  8. S 192.168.12.0/24 is directly connected, Serial0/0/1
  9. C 192.168.23.0/24 is directly connected, Serial0/0/1

第2章 动态路由协议 rip

2.1 什么是路由

根据目的地址查找路由表,依据路由表

2.1.1 路由表方法

  1. R1#show ip route

2.2 路由协议的分类

2.2.1 静态路由

由管理员根据数据访问需求手工在每台设备上进行添加和维护

2.2.2 动态路由

路由器自动进行路由信息的更新和同步,并且当网络拓扑变更时,能够自动收敛。‘

2.3 动态路由协议

2.3.1 内部网关协议

距离矢量路由协议 rip
链路状态路由协议 ospf

2.3.2 外部网关协议

BGP

2.4 距离矢量路由协议

使用距离矢量路由协议的路由器并不了解到达目的网络的整条路径。
改路由器只知道:
自身与目的网络之间的距离
应该往哪个方向或使用哪个接口转发数据包

2.4.1 距离矢量路由协议特点:

周期性的更新(广播)整张路由表

2.4.2 初次路由信息交换

2.4.3 收敛完成

当所有路由表包含相同路由表

2.5 度量值 Metric

rip 以跳数作为metric
同一个路由器 收到多条去往同一目的地的路由会比较 Metric
会放在路由表当中。

2.6 管理距离(AD值) 总结

一台路由器,当它从两种不同的动态路由选择协议中,学习到去往同一个目的地的路由,这个时候比较AD值 取信小的,将路由装入路由表进行数据转发,另一条路径,只有当优选的路径down掉的时候,才能出现和使用。
一台路由器,当它从同种动态路由选择协议中,但不同邻居学习去往同一个目的地的路由,比较metric 度量值,选择优的装进路由表,进行数据转发

2.7 依据传闻的更新

2.7.1 环路的产生

2.7.2 消除环路

定义最大度量值以防止计数至无穷大(定义最大跳数):超过以后不可达
水平分割:收到的接口不再发出
抑制计数器:为正在重新收敛的网络增加了应变能力,引入了某种程度的怀疑量
路由毒化或毒性反转:将坏掉的网段信息变得条数无穷大,让路由不可达
触发更新:路由选择进程修改其路由选择表中的路由的度量值后,将发送一条选择更新,其中的度量值被设置为一个表明相应的网络不可达值。

2.8 rip协议概述

路由信息协议RIP(Routing Information Protocol)是基于距离矢量算法的路由协议,利用跳数来作为计量标准。
RIP只能应用于小规模网络;
RIP 时基于udp ,端口是520 的应用层协议
管理距离120
支持主类网络通告

2.8.1 rip配置

启动rip路由选择进程

  1. router rip

宣告指定的直连网络(直连接口的网段)

  1. network network-number

2.8.2 配置实例

2.8.2.1 拓扑图

2.8.2.2 配置结果

  1. R01 (config)#router rip
  2. R01 (config-router)#network 192.168.12.0
  3. R01#show ip route
  4. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  5. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  6. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  7. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  8. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  9. * - candidate default, U - per-user static route, o - ODR
  10. P - periodic downloaded static route
  11. Gateway of last resort is not set
  12. C 192.168.12.0/24 is directly connected, Serial0/0
  13. R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:10, Serial0/0

第3章 EIGRP路由选择协议(增强型内部网关)

收敛速度快
带宽浪费少 keeplive

3.1 eigrp的特点

1) 高级距离矢量协议—具有距离矢量性和链路状态协议特征
2) 无类路由协议—可划分子网、可聚合子网路由
3) 支持VLSM (可变长子网掩码)与不连续子网
4) 100%无环路—DUAL算法
5) 快速收敛—路由条目不过期,拥有备份路由
6) 触发更新
7) 低路由更新信息开销
8) 配置简单
9) 支持多种网络层协议(IP、ipx、appletalk、etc)

3.2 EIGRP的三张表

3.3 EIGRP数据包

报文类型 含义
HELLO 用于发现邻居和维护邻居关系,使用组播224.0.0.10每5秒发送一次。
更新(UPDATE) 以单播(点对点网络)或组播(多路访问网络)方式可靠地发送其认为已经收敛的路由。
查询(QUERY) 以单播(点对点网络)或组播(多路访问网络)方式可靠地向邻居查询到达某目的地路由时使用的数据包,有时也以单播方式重传
应答(REPLY) 以单播方式可靠地应答查询数据包
确认(ACK) 以单播方式发送。用来确认UPDATE、QUERY以及REPLY数据包。ACK分组是上面3种数据包可靠传输的保障。ACK本身不需要确认

3.4 EIGRP度量值Metric

EIGRP使用度量值来确定到目的地的最佳路径。对于每一个子网,EIGRP拓扑表包含一条或者多条可能的路由。每条可能的路由都包含各种度量值:带宽,延迟、可靠性 、负载、MTU等。EIGRP路由器根据度量值计算一个整数度量值,来选择前往目的地的最佳路由。
D 表示EIGRP协议

3.4.1 EIGRP度量值计算公式

EIGRP度量值 = IGRP的度量值256
EIGRP度量值的计算公式为:256
{K1(10^7/带宽)+K2(10^7/带宽)/(256-负载)+K3(延迟)+K5/(可靠性+K4)}
默认情况下,K1和K3是1,其他的K值都是0.
所以通常情况下,度量值=256×(10^7/最小带宽+累积延时)
默认为 : 带宽+延迟

3.4.2 DUAL算法

用于计算最佳无环路径和备用路径

3.4.2.1 特点

无环拓扑
可立即使用的无环备用路径
快速收敛
低带宽利用率(通过限定更新实现)

3.4.2.2 几个术语

后继路由器 最终使用的路由器
可行距离(FD) 本地到达目的网络的距离,度量值
可行后继路由器(FS) 备份
通告距离(AD) 某一个邻居去往目的地的距离
可行条件,或称可行性条件(FC

3.5 基本配置

  1. route rigrp autonomous-ysytem

autonomous-ysytem 自治系统

  1. network network-number

3.6 实例

3.6.1 拓扑图

3.6.2 路由器配置

R0_1路由器配置

  1. R0_1(config)#router eigrp 100
  2. R0_1(config-router)#network 192.168.12.0 0.0.0.255

R0_2路由器配置

  1. R0_2(config)#router eigrp 100
  2. R0_2(config-router)#network 192.168.12.0 0.0.0.255
  3. R0_2(config-router)#network 192.168.1.0 0.0.0.255

3.6.3 检查结果

  1. R0_1#show ip route
  2. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  3. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  4. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  5. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  6. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  7. * - candidate default, U - per-user static route, o - ODR
  8. P - periodic downloaded static route
  9. Gateway of last resort is not set
  10. D 192.168.1.0/24 [90/2297856] via 192.168.12.2, 00:01:23, Serial0/0
  11. C 192.168.12.0/24 is directly connected, Serial0/0

查看详细的信息

  1. R0_1#show ip eigrp neighbors
  2. IP-EIGRP neighbors for process 100
  3. H Address Interface Hold Uptime SRTT RTO Q Seq
  4. (sec) (ms) Cnt Num
  5. 0 192.168.12.2 Se0/0 13 00:02:47 40 1000 0 2

查看eigrp拓扑

  1. R0_1#show ip eigrp topology
  2. IP-EIGRP Topology Table for AS 100/ID(192.168.12.1)
  3. Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
  4. r - Reply status
  5. P 192.168.1.0/24, 1 successors, FD is 2297856
  6. via 192.168.12.2 (2297856/128256), Serial0/0
  7. P 192.168.12.0/24, 1 successors, FD is 2169856
  8. via Connected, Serial0/0

3.7 不等价负载均衡

所谓不等价负载均衡指的是,到达目的地有多条路径,但是每条路径开销都不一样。并且能够保证在eigrp拓扑表中有路由条目。在路由表中只出现最有条目

第4章 OSPF路由选择协议

链路状态路由协议:
开放式短路径优先(最英语:Open Shortest Path First,缩写为OSPF)是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。采用戴克斯特拉算法(Dijkstra’s algorithm)被用来计算最短路径树。它使用“开销(Cost)”作为路由度量。链路状态数据库(LSDB)用来保存当前网络拓扑结构,路由器上属于同一区域的链路状态数据库是相同的(属于多个区域的路由器会为每个区域维护一份链路状态数据库)。
接口敏感型协议

4.1 Open Shortest Path First开放式短路径优先

  • 是一种链路状态路由协议,无路由循环(全局拓扑),PFC232
  • 开放意味着非私有
  • 管理性距离:110
  • ospf采用spf算法计算到达目的地对的最短路径

—链路(link) =路由器接口
—状态(state)=描述接口以及与邻居路由器之间的关系

4.2 ospf 度量值 Metric

每个路由都把自己当作根,并且给予累积成本(cost 开销)来计算到达目的地的最短路径。

4.2.1 Cost的计算

Cost=参考带宽(10^8)/接口带宽(b/s)

4.3 ospf报文类型

报文类型 作用
Hello包 HELLO 建立和维护OSPF邻居关系
数据库描述包 DBD 链路状态数据库描述信息(描述LSDB中LSA头部信息)
链路状态请求包 LSR 链路状态请求,向OSPF邻居请求链路状态信息
链路状态更新包 LSU 链路状态更新(包含一条或多条LSA)
链路状态确认包 LSAck 对LSU中的LSA 进行确认

4.3.1 OSPF协议三张表

邻接表(neighbor table):主要是与邻居间发送链路状态的依据;
链路状态表(topology table):存储本网络所有路由器的链路状态;
路由表(routing table):对链路状态数据库使用最短路径优先算法形成到达所有网段的最短路径。

4.4 OSPF区域

一个OSPF网络被分区成多个区域。区域将网络中的路由器在逻辑上分组并以区域为单位向网络的其余部分发送汇总路由信息。

  • 在区域边界可以做路由汇总,减小了路由表
  • 减少了LSA泛洪的范围,有效的把拓扑变化控制在区域内,提高了网络的稳定性
  • 拓扑的变化影响可以只涉及本区域
  • 多区域提高了网络的扩展性,有利于组建大规模的网络

至少有一个骨干区域 area 0

4.5 OSPF的基本运行步骤

1) 建立邻接关系
2) 必要的时候进行DR的选举
3) 发现路由
4) 选择合适的路由器
5) 维护路由信息

4.5.1 建立邻接关系-hello包

Hello包的OSPF包类型为1。这些包被周期性的从各个接口(包括虚链路)发出,用来创建和维护邻居关系。另外,在支持组播或广播的物理网络上,Hello包使用组播地址(通常为224.0.0.5)发送。
通告两台路由器建立邻接关系所必要同一的参数

4.6 ospf网络类型

点到点网络(point-to-point)
广播网络(broadcast BMA) 多路访问
非广播多路访问网络(non-broadcast multi-access,NBMA)
点到多点网络(Point-to-MultiPoint)

4.7 LSA的泛洪

必要时选举DR和BDR
DR指定路由器
BDR备份指定路由器

4.7.1 DR与BDR

  • 为减少多路访问网络中的ospf流量,OSPF会选举一个指定路由(DR)和一个备用指定路由器(BDR)
  • 选举规则:最高接口优先级被选作DR,如果优先级相等(默认为1),具有最高的路由器ID(Route-ID)的路由器选举成DR,并且DR具有非抢占性
  • 指定路由器(DR):DR负责使用该变化信息更新其它所有OSPF路由器(DRother)
  • 备用指定路由器(BDR):BDR会监控DR的状态,并在当前DR发生故障时接替其角色。

    4.7.2 route-id

    每一台OSPF路由器都有一个路由器标识符(Identifier),一般写作路由器ID。
    可以手工配置,也可以自动获取。
    自动获取方式:
    有loopback接口时是loopback接口中的最大值。没有loopback的时候会在活动的物理接口的IP地址

    4.8 OSPF基本配置

    开启ospf进程
    1. route ospf process-id
    宣告特定的网络到OSPF区域
    1. network address witdcard-mask area srea-id

    4.8.1 通配符掩码

    通配符是一个用于决定那些IP地址位该精确匹配(0代表精确匹配)那些地址被忽略的32位数值,通常用于处理访问控制列表(acl),OSPF和EIGRP等路由协议的网络通告。

    4.8.1.1 掩码

    1表示网络位 0表示主机位
    掩码用于区分ip地址中的网络及主机部分。

    4.8.1.2 通配符 反掩码

    1表示无所谓 0表示需要严格匹配
    通配符用于决定一个IP中的那些位该匹配

    4.9 【实例1】单区域

    4.9.1 拓扑图

    4.9.2 路由器配置

    R-01路由器配置
    1. R-01(config)#router ospf 1
    2. R-01(config-router)#network 192.168.12.0 0.0.0.255 area 0
    R-02路由器配置
    1. R-02(config)#router ospf 1
    2. R-02(config-router)#network 192.168.12.0 0.0.0.255 area 0
    3. R-02(config-router)#network 192.168.23.0 0.0.0.255 area 0
    R-03路由器配置
    1. R-03(config)#router ospf 1
    2. R-03(config-router)#net 192.168.23.0 0.0.0.255 ar 0

    4.9.3 查看路由表

    ```powershell R-03#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    1. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    2. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    3. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    4. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    5. * - candidate default, U - per-user static route, o - ODR
    6. P - periodic downloaded static route

Gateway of last resort is not set

O 192.168.12.0/24 [110/128] via 192.168.23.1, 00:00:31, Serial0/1 C 192.168.23.0/24 is directly connected, Serial0/1

  1. 检查ospf
  2. ```powershell
  3. R-01#show ip route ospf
  4. O 192.168.23.0 [110/128] via 192.168.12.2, 00:08:48, Serial0/0

4.10 【实例2】多区域

4.10.1 拓扑图

4.10.2 路由器配置

R-ospf-1路由器配置

  1. R-ospf-1(config)#router ospf 1
  2. R-ospf-1(config-router)#network 192.168.12.0 0.0.0.255 area 0

R-ospf-2路由器配置

  1. R-ospf-2(config)#router ospf 1
  2. R-ospf-2(config-router)#network 192.168.12.0 0.0.0.255 area 0
  3. R-ospf-2(config-router)#network 192.168.23.0 0.0.0.255 area 1

R-ospf-3路由器配置

  1. R-ospf-3(config)#router ospf 1
  2. R-ospf-3(config-router)#network 192.168.23.0 0.0.0.255 area 1

4.10.3 查看路由信息

  1. R-ospf-3#show ip route
  2. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  3. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  4. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  5. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  6. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  7. * - candidate default, U - per-user static route, o - ODR
  8. P - periodic downloaded static route
  9. Gateway of last resort is not set
  10. O IA 192.168.12.0/24 [110/128] via 192.168.23.1, 00:00:21, Serial0/1
  11. C 192.168.23.0/24 is directly connected, Serial0/1

4.10.4 查看ospf路由信息

  1. R-ospf-3#show ip route ospf
  2. O IA 192.168.12.0 [110/128] via 192.168.23.1, 00:00:25, Serial0/1