资源描述
动态路由选择协议
(RIP、EIGRP、OSPF)
² 基本概念:
u 自治系统(AS):在同一个AS中的所有路由器共享相同的路由表信息。
u 管理距离(AD):用来衡量路由选择信息的可信度,不同的路由选择协议具有不同的管理距离。0—255的整数,0是最可信的,255则意味着不会使用此路由。
u 度量值:度量值代表距离。它们用来在寻找路由时确定最优路由。每一种路由算法在产生路由表时,会为每一条通过网络的路径产生一个数值(度量值),最小的值表示最优路径。度量值的计算可以只考虑路径的一个特性,但更复杂的度量值是综合了路径的多个特性产生的。
u CIDR(无类别域间路由选择):它是将好几个IP网络结合在一起,使用一种无类别的域际路由选择算法,可以减少由核心路由器运载的路由选择信息的数量。
u VLSM (可变长子网掩码):对同一个主类网络下的不同子网指定不同子网掩码的功能。
u 不连续的网络:将两个或更多的有类网络的子网,通过不同的有类网络连接在一起的网络。
u 自动汇总(auto-summary):通告路由时自动的将子网汇总成有类网段再通告。
u 动态路由选择协议的分类:
第一种分类:
1. 内部网关协议(IGP):用于同一个自治系统(AS)中的路由器之间交换路由选择信息。如:RIP、EIGRP、OSPF等。
2. 外部网关协议(EGP):用于在AS之间通信。如:BGP等。
第二种分类:
1. 距离矢量协议:通过判断距离查找最佳路径,数据包每通过一台路由器,称为一跳。跳数最少被认为是最佳路由。如:RIP、IGRP等。
2. 链路状态协议:也称为最短路径优先协议,将创建3个独立的表(邻居表、拓扑表、路由选择表)。如:OSPF等。
3. 混合型:是距离矢量协议和链路状态协议的结合体。如:EIGRP等。
² 距离矢量路由选择协议
u 距离矢量路由选择协议:距离矢量路由选择算法发送完整的路由表到相邻的路由器,相邻的路由器会将接收到的路由表与自己原有的路由表进行组合,以完善自己的路由表。
u 路由环路:由于每台路由器不能同时或接近同时地完成路由表的更新。
u 最大跳计数:RIP允许最大的跳数为15,所以16被认为是不可达的。
u 水平分割:为避免路由环路,使路由器不能向接收路由更新的方向去发送同一个路由更新。
u 路由中毒:将不可达网络度量值置为无穷大(如RIP中设置跳数为16--在RIP中最大跳数为15,16意味着无穷大),并由该表项来引发一个路由中毒,而不是马上从路由表中删掉这条路由信息。中毒路由被发给邻居路由器以通知这条路径失效,其他路由器到收到一个路由中毒后发送一个毒性逆转。
u 保持关闭:阻止定期的更新消息去恢复一个不断开闭的路由。
Ø RIP(路由信息协议)
u RIP是一个真正的距离矢量路由选择协议。
u RIP只使用跳计数来决定最佳路径。
u RIP可以对多达6个相同开销的链路实现负载均衡(默认为4个,只支持等价的负载均衡)。
u 使用RIP的一个问题就是它的缓慢汇聚时间。
u RIP的定时器:
1. 路由更新计时器(30秒):。每隔30秒就发送一次自己完整的路由表到所有启用RIP的接口
2. 路由无效计时器(180秒):如果某条路由在180秒内没有收到更新,这条路由将被标记为16条,被认定为无效路由。
3. 路由抑制计时器(180秒):为防止路由抖动,当收到某条路由不可达的更新信息时,此条路由进入无效状态,这个状态一直持续到一个带有更好度量的更新或抑制计时器到期,路由器才接收有关这条路由的更新信息。
4. 路由刷新计时器(240秒):如果某条路由被认定为无效路由后,60秒内还没有收到更新,则这条路由从路由表中删除。
u RIP v1:
1. 属于有类路由协议,发送路由更新时不携带子网掩码。
2. 发送路由更新时,目标地址为广播地址:255.255.255.255
3. 不支持不连续网络。
4. 不支持VLSM。
u RIP v2:
1. 属于无类路由协议,发送路由更新时携带子网掩码。
2. 发送路由更新时,目标地址为组播地址:224.0.0.9
3. 支持不连续的网络。
4. 支持VLSM。
u 实验:
R1
r1(config)#router rip
r1(config-router)#network 1.0.0.0
r1(config-router)#network 192.168.1.0
r1#debug ip rip(开启RIP的debug信息)
r1#un all(关闭所有的debug信息)
r1(config)#int s0/0
r1(config-if)#no ip split-horizon(关闭s0/0的水平分割)
r1#show ip protocols(查看路由器当前运行的路由协议的信息)
r1(config)#router rip
r1(config-router)#maximum-paths 6(修改RIP最大的负载均衡数)
r1(config)#router rip
r1(config-router)#version 2(设定RIP为版本2)
r1(config-router)#no auto-summary(关闭RIP的自动汇总)
r1#clear ip route *(清空路由表)
r1(config)#int s0/0
r1(config-if)#ip rip receive version 1 2
(设置s0/0同时可以接收RIP v1 和RIP v2的路由更新包)
r1(config-if)#ip rip send version 1 2
(设置s0/0同时可以发送RIP v1 和RIP v2的路由更新包)
r1#show ip route 192.168.2.0
R2
r2(config)#router rip
r2(config-router)#network 192.168.1.0
r2(config-router)#network 192.168.2.0
r2(config-router)#network 2.2.2.0
(因为RIP v1是有类路由,所以系统默认为2.0.0.0)
R3
r3(config)#router rip
r3(config-router)#network 192.168.2.0
r3(config-router)#network 3.3.3.3
Ø EIGRP(增强型内部网关路由选择协议)
u EIGRP是一个Cisco的专用协议。
u EIGRP是一个无类、增强的距离矢量路由选择协议,有时EIGRP也被称为是混合型路由选择协议。
u EIGRP的最大跳计数为255(其默认设置为100)。
u EIGRP的特性:
1. 无类的路由协议。
2. 支持VLSM/CIDR。
3. 支持汇总和不连续的网络。
4. 有效的邻居发现。
5. 基于可靠传输协议(RTP)的通信。
6. 基于弥散更新算法(DUAL)的最佳路径选择
u 邻居发现:
l 在EIGRP路由器彼此交换路由之前,它们必须是邻居。建立邻居关系必须要满足三个条件:
1. 收到Hello或ACK
2. 具有匹配的AS号
3. 具有相同的度量(K值)
l 为维持这一邻居关系,EIGRP路由器必须持续地从它们邻居那里接收Hello消息。
l 隶属于不同自治系统(AS)的EIGRP路由器不会自动共享路由信息。
l 当EIGRP路由器刚建立邻居关系时,EIGRP需要通报它的整个路由表,这也是唯一需要通报整个路由表更新之处,在它们都已经了解其邻居的路由之后,它们只传播路由表变化的部分。
u EIGRP术语:
l 通告距离(AD):由邻居报告的到达远程网络的度量。
l 可行距离(FD):本地到达远程网络的度量。(FD=本地到邻居的度量+AD)
l 继任者(successor):又称继任路由,是到达远程网络的最佳路由。
l 可行的继任者(Feasible successor):又称可行性后继路由,通报的度量比可行距离差一些,但满足FC。EIGRP的拓扑表中最多保持6个可行的继任者。
l 可行条件(FC):邻居宣告到达目标网络的的距离(AD)小于本地路由器到达目标网络的FD。(AD < FD => FC=ture)
u EIGRP的三张表:三张表都保存在RAM中,
1. 邻居表:保存邻居的状态信息,如邻居的地址和接口等信息,通过Hello包进行管理。
2. 拓扑表:保存从邻居那接收到的路由通告,列出的所有继任者和可行的继任者。
3. 路由表:根据拓扑表得出的当前最优的路径。
u 可靠传输协议(RTP):用来管理EIGRP路由器间的消息通信。EIGRP使用组播地址:224.0.0.10,如果没有从某个邻居那里得到应答,它将使用单播来重发同样的数据。如果16次单播尝试后,仍然没有回应,则此邻居将被宣告消失。人们常将这个过程称为可靠组播。
u EIGRP的度量:默认情况只使用带宽和延迟。
1. 带宽
2. 延迟
3. 负载
4. 可靠性
5. MTU(最大传输单元)
u EIGRP可以支持最多6条等价或不等价链路的(平衡或不平衡的)负载均衡,默认为4条。
u EIGRP Packets:
1. Hello 建立邻居关系
2. Update 发送路由更新信息(需要ACK确认)
3. Query 向邻居发送的请求查询信息(需要ACK确认)
4. Reply 用来响应Query的信息(需要ACK确认)
5. ACK 确认一个可靠的报文
u 实验:
R1
r1(config)#router eigrp 100
r1(config-router)#network 0.0.0.0 255.255.255.255(通告所网段)
r1(config)#int s0/0
r1(config-if)#ip summary-address eigrp 100 172.16.0.0 255.255.252.0
(手动汇总172.16.1.0/2.0/3.0,再进行通告)
r1(config)#router eigrp 100
r1(config-router)#maximum-paths 6(设置EIGRP负载均衡的最大数)
r1(config-router)#metric maximum-hops 255(设置EIGRP的最大跳数)
r1(config-router)#metric weights 0 1 2 3 4 5(设置EIGRP的K值)
r1(config-router)#variance 2
(Variance值默认为1,如要设置EIGRP进行非等价负载均衡,就必须设置Variance的值。继任者的FD*Variance的值 >或= 可行继任者的FD,则此可行继任者将被放到路由表中做负载均衡)
r1#clear ip eigrp neighbors(清空EIGRP的邻居表)
R2
r2(config)#router eigrp 100
r2(config-router)#network 0.0.0.0 0.0.0.0(通告所网段)
R3
r3(config)#router eigrp 100
r3(config-router)#network 0.0.0.0(通告所网段)
Ø OSPF(开放式最短路径优先)
u OSPF的特性:
1. 由地区和自治系统组成
2. 最小化的路由更新流量
3. 支持VLSM/CIDR
4. 无跳数限制
5. 是一个开放的链路状态路由协议
u 区域:OSPF将大型的网络分割成一些小的被称为区域的小网络。
l 划分区域的原因:
1. 减少路由选择的开销
2. 加速汇聚
3. 缩小网络的不稳定性
l 区域的划分:
1. 骨干区域(Area 0 必需有)
2. 非骨干区域:
1) 标准区域
2) 末节区域
3) 完全末节区域
4) NSSA区域
u OSPF路由器类型:
1. 骨干路由器(BR)
2. 区域边界路由器(ABR)
3. 自治系统边界路由器(ASBR)
4. 内部路由器(IR)
u OSPF术语:
l Router ID:用来标识此路由器的名字。
1. RID的格式是一个IP地址
2. RID的选择规则:
1) 首先从Loopback口中选最高的IP地址作为RID。
2) 如果没有Loopback口,则选择所有激活的物理接口中最高的IP地址作为RID。
3) 也可手动的自定义RID。
l 邻居:直接相连的两台路由器。
l 邻接:两台OSPF路由器已通过Hello协议建立起邻接关系,两台路由器允许直接交换路由更新数据。并不是所有的邻居都可以成为邻接。
l Hello协议:动态地发现邻居,并维护邻居关系。Hello数据包和链路状态通告(LSA)建立并维护着拓扑数据库。组播地址:224.0.0.5
l 链路状态通告(LSA):包含链路状态信息和路由信息。OSPF只与已建立了邻接关系的路由器交换LSA数据包。
u OSPF的三张表:
1. 邻接关系数据库:记录已建立邻接关系的路由器列表,包含邻接的RID和状态。
2. 拓扑数据库(LSDB):存放所有从邻接更新过来的LSA信息。
3. 路由表:记录到达某网段的最佳路径。
展开阅读全文