一.概述
1. 类型
2. 距离矢量
使用距离矢量路由协议的路由器并不了解到达目的网络的整条路径,该路由器只知道
- 自身与目的网络之间的距离
- 应该往那个方向或使用哪个接口转发数据包
3. 链路状态
- 链路状态路由协议向全网扩散链路状态信息
- 链路状态路由协议当网络结构发生变化立即发送更新信息
- 链路状态路由协议只发送需要更新的信息
4. 度量值
用于确定到达目的的最佳路径
- RIP:跳数
- EIGRP:带宽、延迟、负载、可靠性、MTU
- OSPF & IS-IS:开销
5. 管理距离
用于指定路由协议的优先级
二.RIP
1. 概述
① RIP:Routing Information Protocols,路由信息协议。
② 适用于小型同类网络,典型距离矢量路由协议。
③ 基于UDP 520端口,AD值为120
④ 跳数作为度量值,最大15跳
⑤ 默认支持4条等价路径,可以通过maximum-paths修改
2. 版本
① RIPv1
- 有类路由协议,不支持VLSM
- 以广播形式发送更新报文
- 不支持认证
② RIPv2
- 无类路由协议,支持VLSM
- 以组播形式发送更新报文
- 支持明文和MD5认证
3. 路由更新
RIP依赖三种定时器维护其数据库
① 更新定时器 30s
② 路由失效定时器 180s
③ 刷新路由条目时间 240s
4. 防环机制
① 设置最大值
- 距离矢量路由协议指定一个度量值来限定无穷大
- 一旦路由器计数达到该“无穷大”值,该路由就会被标记为不可达
② 水平分割
- 路由器从某个接口接收到的更新信息不允许再从这个接口发回去
③ 带毒性反转或路由毒化的水平分割
- 路由毒化:发往其它路由器的路由更新中将路由标记为不可达
- 毒性反转:从特定接口向外发送更新时,将通过该接口获知的所有网络标示为不可达
④ 抑制计时器
- 等待网络中其它路由器收敛,在该时间内不学习任何与该网络相关的路由信息,在倒计时期间继续向其它路由器发送毒化信息
⑤ 触发更新
- 接口上开启触发更新:ip rip triggered
5. 配置命令
Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# no auto-summary
Router(config-router)# network [network-number]
Router# show ip route
Router# show ip protocols
Router# debug ip rip
Router# show ip interface brief
三.EIGRP
1. 概述
① 高级距离矢量协议,具有距离矢量和链路状态协议特征
- 邻居表
- 拓扑表
- 路由表
② 无类路由协议,可划分子网,可汇总路由
③ 支持VLSM与不连续子网
④ 100%无环,DUAL算法
⑤ 快速收敛,路由条目不过期,拥有备份路由
⑥ 触发更新
⑦ 低路由更新信息开销
⑧ 配置简单
⑨ 支持多种网络层协议(IP、IPX、Appletalk、etc.)
2. Metric
Bandwidth、Delay、Reliability、Loading、MTU(一般不参与运算)
注:
① K值不同无法建立邻居关系
② 延迟为累加值,带宽为最低值(Kbps)
3. DUAL算法
① DUAL算法:Diffusing Update Algorithm,用于计算最佳无环路径和备用路径
② 术语
- 后继路由器(S):Successors,到达目的网络最优路径的下一跳路由器,该路由保存在路由表中
- 可行距离(FD):Feasible distance,到达目的网络的最小度量值
- 可行后继路由器(FS):Feasible Successor,备份路由器,备份路由只保存在拓扑表中。要成为可行后继,下一跳路由器的AD必须小于当前后继的FD。如果没有FS,S宕机后将重新收敛计算
- 通告距离(AD):Advertise Distance,EIGRP邻居通向目的网络的可行距离
- 可行条件(FC):Feasible Condition,EIGRP邻居的AD小于本地路由器的FD条件
4. 配置命令
Router(config)# router eigrp autonomous-system //邻居间需保持一致
Router(config)# no auto-summary
Router(config)# network network-number [wildcard-mask]
Router# show ip eigrp neighbors //查看邻居表
Router# show ip eigrp topolgy //查看拓扑表
Router# show ip route eigrp //查看路由表
Router# show ip eigrp topology all-links //查看所有链路
Router# show ip protocols
Router# show ip eigrp traffic
Router# debug eigrp packet
Router# debug eigrp neighbor
Router# debug eigrp route
Router# debug ip eigrp summary
Router# show ip eigrp events
四.OSPF
1. 概述
① OSPF:Open Shortest Path First,开放式最短路径优先。区域内采用SPF(Dijkstra)算法实现无环,区域间通过连接骨干区域类似星型组网实现无环
- 邻居表
- LSDB
- 路由表
② 链路状态路由协议,无自环,RFC2328
③ 公有协议,AD值为110
④ LINK = 路由器接口,State = 描述接口以及其与邻居路由器之间的关系
⑤ 五种报文
- Hello
- DBD
- LSR
- LSU
- LSAck
2. Cost
每台路由器都把自己当作根,并累计Cost值来计算到达目的地的最短路径
Cost = 参考带宽(10^8) / 接口带宽 bps
3. OSPF区域
① 在区域边界可以做路由汇总,减小路由表
② 减少了LSA泛洪的范围,有效地把拓扑变化控制在区域内,提高网络稳定性
③ 拓扑变化影响可以限制只涉及本区域
④ 多区域提高了网络扩展性,有利于组建大规模网络
4. 运行步骤
① 建立邻接关系
- Hello包用来发现OSPF邻居并建立邻接关系,通过224.0.0.5组播发送
- 通告两台路由器建立邻接关系所必须统一的参数
- 在以太网和帧中继网络等多路访问网络中选举指定路由器(DR)和备用路由器(BDR)
② DR/BDR选举
- 接口优先级最高被选举为DR,如果相等(默认为1)则具有最高Router-ID的路由器被选举为DR,并且DR具有非抢占性
- DR:负责将路由变化信息更新给其它所有OSPF路由器(DRother)
- BDR:检测DR状态,当DR故障时接替其角色
③ 发现路由
④ 选择合适的路由器
⑤ 维护路由信息
5. Router-ID
用于标识OSPF路由器的ID,全网唯一性。可手动配置,也可动态选举。当有Loopback接口时,选择最大的Loopback地址;否则选择最大的活跃物理接口的ip地址
6. LSA泛洪
DR、BDR监听224.0.0.6收取LSU信息,DR通过224.0.0.5将LSU信息通知其他路由器,所有OSPF路由器都监听224.0.0.5这一组播地址
7. 配置命令
Router(config)# router ospf process-id
Router(config)# router-id x.x.x.x
Router(config-router)# network address wildcard-mask area area-id
Router(config-if)# ip ospf priority 255
Router(config-if)# ip ospf network point-to-point
Router# show ip ospf neighbor //查看邻居表
Router# show ip ospf database //查看链路状态数据库
Router# show ip route ospf //查看路由表
Router# clear ip ospf process
8. 通配符掩码
用于决定哪些IP地址位应该被精确匹配,哪些地址位应该被忽略。通常用于处理访问控制列表(ACL),OSPF和EIGRP等路由协议的网络通告
子网掩码:1表示网络位,0表示主机位。用于区分IP地址中的网络位和主机位
通配符掩码:1表示模糊匹配,0表示精确匹配。用于决定一个IP中哪些位应该匹配
例:
192.168.1.0 / 0.0.0.254 表示192.168.1.0/24网段中所有偶数IP
192.168.1.1 / 0.0.0.254 表示192.168.1.0/24网段中所有奇数IP