RIP---路由信息协议
基本概念
版本
RIPv1---IPv4
RIPv2---IPv4
RIPng---IPv6
距离矢量型
基于UDP协议进行封装,端口号520
RIP基于组播进行数据包发送,组播地址--->224.0.0.9
存在周期更新机制---30S周期更新(应答报文)---保活、确认。
RIP的开销值(度量值)---以跳数计算开销值,最大15跳.开销值越小越优
数据包中转递的开销值===本地的开销值+1
RIP算法----贝尔特福特算法
1.当接受到数据包中含有本地路由表中没有的路由项时,则直接加载到本地路由表
2.当接受到的数据包中含有哦本地路由表已经具备的路由项,且下一跳地址相同,则将数据包中的路由项更新至本地路由表
3.当接受到的数据包中含有路由表已经具备的路由项,但下一跳地址不相同,则比较Cost值,若本地路由表中的cost中的cost值大,则将数据包中的路由项更新至本地路由表。 4. 当接收到的数据包中含有本地路由表已经具备的路由项,但下一跳地址不同,比较cost值,若本地 路由表中的cost值较小,则不进行更新。
RIP数据报文
request包--请求报文(组播)
response包--应答报文(组播)
RIP工作原理
初始化 (在初始化时,向每个参加工作的接口上发送请求报文,激活后发送request报文,请求完整的路由表,组播,回复也是
接受请求
接受响应---路由器完成RIP协议的收敛工作,接受响应报文里的路由表,对比,rip算法
常规路由更新和定时,周期 更新
当路由收敛完成后,路由器会以30S一次的频率发送应答报文
邻居路由器收到应答报文时,会设置一个180S的时间(超时时间)
超过了就认为邻居路由器出问题,并将吓一跳为邻居接口IP地址的路由项的开销值设置为16,并且向周围还存在的邻居发送该路由项
再经过120S后删除该路由项
RIP的计时器 更新计时器 每台启动了RIP协议的路由器都有一个属于自己的更新计时器。 计时器周期---30S 注意:当接收到请求报文时,必须立刻发送响应报文 无效计时器 每台路由器上的每个路由项都会有一个无效计时器。 计时器时间---更新计时器的六倍----180S-----每次路由条目被更新时,计时器刷新。 当计时器时间为0时,会认为该路由项已经无效,也就是说该路由项所指的目的地址不可达, 路由器会将该路由项的Cost值设置为16。并向外进行传输。 垃圾收集计时器 120S 发送四次周期更新后,删除该路由。 实际环境中,该计时器的时间并非是120S整,而是在90-120S之间。 抑制计时器-----cisco专属 路由表中的路由项--->30个;其中cost值小于16的路由项有23个,cost等于16的路由项有7个。共多少计 时器。
RIP周期更新
1、使用response报文进行更新操作
2、周期更新原因
a、RIP本身没有确认机制和保活机制
b、UDP传输是不可靠的传输
RIP的基本配置
RIPv1
rip 1--启动RIP协议,并配置进程号,进程号仅具备本地意义
version 1---选择RIP版本
network 12.0.0.0 ---宣告地址,激活接口并发布路由
RIPv2
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]undo summary ----关闭自动汇总功能,如果不关闭,宣告的属于同一个主类的路由就会
自动汇总;该功能在华为上不需要配置,因为华为默认关闭自动汇总功能。
[r1-rip-1]network 192.168.0.0
RIPv1和RIPv2的区别
更新时是否携带掩码
RIPv1不携带真实掩码
RIPv2携带真实掩码
RIPv2支持自动汇总功能
RIP扩展配置
1. 手工汇总
去往多个可以汇总的目标网段范围,且具备相同下一跳,则可以不用具体的多个路由条目,仅写一
条汇总目标的路由即可。
[r1-GigabitEthernet0/0/0]rip summary-address 10.1.0.0 255.255.252.0
2. 缺省路由
一般配置方向为指向与运营商相连的边界路由器上。
RIP的缺省路由一般配置在边界路由器上。
[r2-rip-1]default-route originate
1. 静默接口
配置了静默接口的接口无法主动发送数据包,只能被动接受。----一般配置在连接用户的接口上。
当静默接口接收到RIP报文后,会改变接口状态,恢复数据收发。
[r1-rip-1]silent-interface GigabitEthernet 0/0/0
2. 手工认证
路由器之间的身份核实,需要同时在双方路由器相连的接口上配置。
[r1-GigabitEthernet0/0/0]rip authentication-mode simple cipher 123456
1. 加快收敛----减少计时器时间
[r1-rip-1]timers rip 10 60 40-----三个时间分别对应更新计时器、无效计时器、垃圾收集计时器,单位秒S
注意:修改时,三个计时器的时间倍数不要改变。
RIP优缺点
优点:
配置简单
缺点:
占用资源过多----30S周期更新
选路不佳----RIP仅依靠跳数进行选路
仅支持小规模网络
收敛速度慢
由于15跳为最大值,RIP只能应用于小规模网络;
收敛速度慢;
根据跳数选择的路由,不一定是最优路由
环回问题
解决方法
1、触发更新—加快路由收敛速度
a、当某一个路由器中的路由项发生改变时,不需要等待下一次周期更新的到来,就可以直接将发生改变的路由项发送出去。
b、仅能降低环路产生的可能性,但是不能完全避免环路的产生。
2、水平分割
如果有一个X/Y的路由项从路由器的某接口学习到,那么在周期更新发送时,该路由项就不能从该出口发出。----从此口进,不能从此孔出。
3、毒性逆转
a、如果有一个X/Y的路由项从路由器的某接口进入,那么在周期更新时,虽然还会从该接口发出,但会将cost值设置为16。
b、若毒性逆转和水平分割同时开启,则按照毒性逆转规则 进行。
水平分割和毒性逆转原理相同,但做法不同,所以只能选择其中一个和触发更新搭配使用。—华为默认开启水平分割。
OSPF—开放式最短路径优先协议
基本概念
协议适用范围—IGP
链路状态型协议—传递拓扑
传递真实掩码信息—无类别路由协议
OSPF版本
OSPFv1
OSPFv2—IPv4
OSPFv3—IPv6
SPF算法
OSPF传递的是LSA信息(链路状态通告)
OSPF更新方式
触发更新
周期链路状态刷新-----30min
OSPF更新地址—组播
224.0.0.5/224.0.0.6
OSPF开销值===参考带宽/实际带宽(参考带宽默认为100Mbps)
OSPF进行跨层封装----基于IP协议进行封装,协议号89
OSPF区域化结构
基本概念
OSPF为了适应大中型网络环境,进行了结构化部署-------区域划分
区域划分特点
区域内部传递拓扑信息,区域间传递路由信息。
区域划分是基于路由器接口的。
区域编号-----32bit
区域0-----骨干区域
非骨干区域-----非0区域
区域划分规则
所有非骨干区域都必须与骨干区域相连
骨干区域唯一
区域编辑路由器-----ABR
同时属于多个区域且至少有一个接口属于区域0。
在骨干区域中至少存在一个活跃的邻居。//如果与区域0的接口断开,则不会向像该路由器发送拓扑信息;只需拥有一个激活的路由器与之相连即可。
OSPF数据包类型
Hello报文
用来周期性发现、建立、保活OSPF邻居关系。
10s发送一次Hello报文,来确认邻居的存在
如果一个Dead Time内没有收到邻居发送给自己的Hello报文,则认为邻居不存在,Dead Time一般为Hello时间的四倍,默认情况为40s。
Router-ID-----RID
全域唯一,标识路由器的身份
使用IP地址的表示形式
DBD报文
数据库描述报文。
包含了所有拓扑的目录信息。
LSR信息
链路状态请求报文
请求获取未知的链路信息(LSA信息)
LSU报文
链路状态更新报文
携带有真正的LSA信息
LSAck报文
链路状态确认报文
OSPF七种状态
Down----关闭状态------一旦启动OSPF协议,则发出Hello报文,进入下一状态
Init-----初始化状态-----当收到的Hello报文中,存在本地RID值时,进入下一状态
2-way-----双向通讯状态-----邻居关系建立的标志
条件匹配:匹配成功则进入下一阶段,失败则停留在邻居状态。
Exstart-----预启动状态----使用未携带信息的DBD报文进行主从关系选举,RID大的为主
Exchange-----准交换-----使用携带目录新的DBD包进行目录分享
Loading-----加载状态----邻居间使用LSR/LSU/LSAck三种报文来获取完整的拓扑信息
Full-----转发状态-----拓扑信息交换完成后进入该状态-----邻接关系建立的表示
条件匹配
设备接口角色
指定路由器-----DR
备份指定路由器-----BDR
其他路由器—DRother
角色之间的关系
DR与BDR----邻接
DR与DRother----邻接
BDR与DRother—邻接
DRother与DRother----邻接
OSPF条件匹配的情况
在以太网网络中-----必须进行条件匹配
在点到点网络中-----不需要进行条件匹配
选举规则
优先级,默认为1,0-255,越大越优
RID,越大越优
选举范围
一个广播域,进行一次条件匹配。
条件匹配属于非抢占模式-----一旦选举成功,不会因为新加入的设备而重新选举。
OSPF工作过程
OSPF协议启动后,路由器A向本地所有启动了OSPF协议的直连接口,使用组播地址224.0.0.5发送Hello报文。
该Hello报文中携带了本地的全域唯一的RID值。
当对端路由器B接收到该报文后,也会回复Hello报文
该Hello报文中携带了A的RID值
此时,A与B建立邻居关系,并生成邻居表
邻居关系建立后,邻居之家进行条件匹配,匹配失败则停留在邻居关系,仅使用Hello报文保活。
若匹配成功,则可以开始建立邻居关系
邻接间共享DBD报文,将本地与邻接之间的DBD报文进行对比,查找本地没有的LSA信息,之后使 用LSR来询问,对端使用LSU回复具体的LSA信息,之后本地使用LSAck报文进行确认。
该过程全部完成后,生成数据库表(LSDB)。
在之后,本地基于数据库表,启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到 本地的OSPF路由表中。
并将OSPF路由表中的部分路由加载到本地全局路由表中。
此时,路由器完成路由收敛工作。
最后,使用hello报文进行周期保活,并且每30min进行一次链路状态刷新。
基本配置
1.启动OSPF协议,配置进程号(仅具有本地意义),手工配置RID值
若没有配置RID值,则设备自动生成(环回接口最大IP》物理接口最大IP)
[r1]ospf 1 router-id 1.1.1.1
2.配置区域
[r1-ospf-1]area 0
3.宣告:激活接口,发布拓扑或路由
宣告网段
[r1-ospf-area-0.0.0.0]network 1.1.1.0 0.0.0.255
反掩码:32位二进制,使用点分十进制表示,由连续0+连续1
接口宣告方式-----精准宣告
[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0
4.OSPF邻居表
[r2]display ospf peer —查看OSPF邻居
[r2]display ospf peer brief —查看OSPF邻居简表
5.OPSF数据库表
[r2]display ospf lsdb -----查看OSPF数据库表
6.OSPF路由表
[r2]display ospf routing ----查看OSPF路由表
7.OSPF优先级=====10
reset ospf ! process -----重置OSPF进程
OSPF扩展配置
修改OSPF默认参考带宽
[r2-ospf-1]bandwidth-reference 10000 -----修改参考带宽,两端均需要修改
修改接口优先级,从而干涉条件匹配
[r1-GigabitEthernet0/0/0]ospf dr-priority 10 -----在接口修改
[r1-GigabitEthernet0/0/0]ospf dr-priority 0 ---优先级修改为0,代表放弃选举
手工汇总
[r2-ospf-1-area-0.0.0.0]abr-summary192.168.0.0 255.255.252.0
必须在ABR上配置
汇总的明细路由来源在那个区域,进入那个区域进行配置
缺省路由
在边界设备上
[r1-ospf-1]default-route-advertise -----非强制性下发,要求边界路由器中存在缺省路由才可以下发
[r1-ospf-1]default-route-advertise always -----强制性下发,不要求本地存在缺省路由
静默接口
不接受也不发送hello报文,与RIP的静默接口不同。
[r3-ospf-1]silent-interface GigabitEthernet 0/0/1
接口认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode ?
md5 Use MD5 algorithm -----MD5认证
null Use null authentication -----不认证----OSPF默认情况
simple Simple authentication mode ------简单认证----明文认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
加快收敛
[r3-GigabitEthernet0/0/0]ospf timer hello ? -------一端修改,另一端必须修改,若不修改, 则会导致邻居关系无法建立。 INTEGER Second(s)