为什么需要动态路由?
静态路由协议:
优点:
1、安全性比较高
2、不需要额外的占用资源
3、可控性高
缺点:
1、不能够自动收敛,当网络中出现故障、拓扑结构发生变化的时候,需要管理员手动配置。
2、浪费的人力资源。
适合于小型网络环境
动态路由协议:在当前的网络中,所有的路由器去运行相同的路由协议,然后路由器之间去相互协商、沟通,最终计算生成路由条目到路由表中。
动态路由协议:
优点:
1、配置简单
2、可以自动收敛
缺点:
1、安全性低
2、需要额外的占用资源
适合中大型网络环境
AS自治系统
目的:是为了把一个大型的网络划分成多个小的自治系统,
定义:在网络通信中,一个自治系统是指由若干个二层网络及若干个路由器组成的集合,集合中的这些网络及路由器属于同一个管理机构。
由于规模的不同,一个网络可能只有一个as,也可能包含多个不同的as。
AS编号:16位二进制构成,0-65535
扩展版的AS编号:32位二进制构成。
动态路由协议的分类
AS内的路由协议(内部网关协议IGP):rip、ospf、isis、eigrp
距离矢量型协议:rip,路由器之间发送路由信息,贝尔曼-福特算法。
链路状态型协议:ospf,路由起之间发送链路状态信息(lsa链路状态通告),采用的是SPF算法(最短路径优先算法),采用的是树型结构。
AS之间的路由协议(外部网关协议EGP):BGP。
RIP(routing information protocol)路由信息协议
优先级:100
邻居关系:两台相邻的,彼此之间可以直接传递路由信息,并且属于同一个广播域的,叫做邻居关系。
开销值:以跳数作为开销值,每经过一台路由器跳数加一。
Rip以跳数作为开销值存在不合理性。
Rip 存在工作半径,15跳。,如果出现16跳,认为不可达。
贝尔曼—福特算法
Destination/Mask Proto Pre Cost Flags NextHop Interface
目标网段/子网掩码 路由类型 优先级 开销值 下一跳 出接口
1.AR16要将2.2.2.0/24网段的信息发给AR15,AR15首先查看自己的路由表上有没有这个信息,如果没有的话,将这个网段的信息刷新到路由表中。
2.AR16要将2.2.2.0/24网段的信息发给AR15,AR15首先查看自己的路由表上有没有这个信息,如果有的话,并且下一跳就是AR16,将这个网段的信息刷新到路由表中。
3.AR16要将2.2.2.0/24网段的信息发给AR15,AR15首先查看自己的路由表上有没有这个信息,如果有的话,并且下一跳就不是AR16,比较开销值,如果开销值大于之前的理由条目的信息,则不刷新路由表。
4.AR16要将2.2.2.0/24网段的信息发给AR15,AR15首先查看自己的路由表上有没有这个信息,如果有的话,并且下一跳就不是AR16,比较开销值,如果开销值小于之前的理由条目的信息,则直接刷新到路由表中。
RIP版本
1.IPV4:RIPV1 RIPV2
相同点:在传输层使用的都是UDP协议,使用的端口号520端口
不同点:
2.IPV6:RIPNG
Rip的数据包
Request:请求包,在网络刚开始的时候去获取网络信息。
Response(更新包):回复应答,隔30秒更新一次,并且是异步更新。
目的:是要像所有邻居去发布他最新的路由表中关于rip协议的路由信息。
30秒更新一次:1、弥补自己没有确认机制。
2、弥补自己没有保活机制。
Rip计时器
周期更新计时器:30秒
失效计时器:180秒,路由条目刷新后,开启失效计时器,如果180秒中,这个路由条目一直都没有刷新,认为这个路由不可达,就将该条路由条目中的cost值改为16。
垃圾回收计时器:120秒,是失效计时器归零后开始计时,达到120秒的时候,则直接从路由表中删除,如果在120内发生变化,并且cost值小于16,则不删除,将失效计时器复位初始值。
Rip破环机制
触发更新:当网络中的拓扑结构发生变化的时候,直接将拓扑信息传递出去,而不是等他的周期更新时间到了再发。触发更新的消息中只包含路由信息发生改变的路由项。
水平分割:从哪个口学到的信息,则不再从哪个口出。类似于某一个路由器的一个网段中断了,然后另一个路由器是通过0/0口学到的这个路由信息,则他之后再从0/0口发布路由信息的时候,就不再发送中断网段的信息。
毒性逆转:从哪个口学到的信息,还可以从这个口出,但是出的时候要带毒。
将cost值变为16,把他不可达的情况传出去。.
毒性逆转和水平分割选择一个去操作。华为设备中默认开启水平分割,如果水平分割和毒性逆转全部开启,则选择毒性逆转去执行。
Rip具体配置:
1.启动进程
[r1]rip 1
1—代表的是进程号,具有本地意义,作用是分辨一台路由器上的多个rip进程
[r1-rip-1]
2.选择rip的版本
[r1-rip-1]version 2 选择的是ripv2的版本
3.宣告网段
[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0
规则:1、宣告自己所有直连网段;2、宣告网段的时候按照主类进行宣告。
目的:1.激活接口,因为只有激活的接口才能去收发rip的数据
2.发布路由新,因为只有激活的接口所对应的路由信息才能被发布。
[r3]display ip routing-table protocol rip——去查看rip协议的路由表
Rip的扩展配置:
1.rip的手工认证(仅限于ripv2,因为v1不支持)
[r1-GigabitEthernet0/0/0]rip authentication-mode md5 usual plain 123456
切记在手工认证的时候要给两边的端口都配置,并且密码要相同才可以连通,如果只给一边加认证另一边没做,也会网络不通(网络不通的原因的是手工认证做完后如果两边认证不通,则从该接口获得的rip路由条目会删除,则网不通)
2.Rip的手工汇总
[r1-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.252.0
手工汇总的时候子网掩码要写具体
3.沉默接口:只接受rip数据,但是不发送rip数据
[r1]rip 1
[r1-rip-1]si
[r1-rip-1]silent-interface g 0/0/0
4.加快收敛
[r1]rip 1
[r1-rip-1]timers rip 30 180 120
修改时间的时候要注意时间倍数关系不能更改
5.缺省路由
[r1-rip-1]default-route originate
RIP/OSPF比较
评判规则:
1、选路:动态协议的本职工作是选路,选的路是最符合我们期望的,也就是最好的——选路佳
2、收敛速度:获取未知网段所消耗的时间,越快越好,消耗的时间越短越好——收敛速度快
3、资源占用:动态协议需要路由器间进行沟通、计算生成路由信息,需要额外的占用资源,占用资源越少越好——资源占用少
RIP:
1、选路:rip以跳数作为开销值,不合理性,选出的路不是最好的,并且还可能存在环路,选路上表现不太好。
2、收敛速度:存在三个计时器,即时更新是30秒,失效计时器是180秒,垃圾回收计时器120秒,加起来快有五分钟,收敛速度慢,所以在收敛速度方面表现不太好。
3、资源占用:从单个数据包来看,rip传递的是路由信息,包含的数据量不大,但是从整体上看,由于存在30秒一次的周期更新,就会占用很多资源,所以在资源占用方面表现不太好。
rip是适合于小型的网络环境的。
OSPF:
1、选路:ospf是以带宽作为开销值的,使用的是SPF最短路径优先算法,采用的是树型结构,在选路方面ospf优于rip的。
2、收敛速度:ospf的计时器相较于rip是短的,在收敛速度方面ospf优于rip的。
3、资源占用:从单个数据包来看,ospf传递的是拓扑信息,而rip传递的是路由信息,ospf占用的资源要比rip多,但是从整体上来看,rip存在30秒一次的周期更新,占用资源比较多,而ospf它没有像rip一样存在高频的周期更新,并且在设立初期的时候就考虑到自己传递的是拓扑信息,就采取了一些手段来减少资源占用,在资源占用上面ospf是略优于rip的。
ospf是适合于中、大型网络环境的。
限制网络范围的主要原因是资源占用
PS:ospf是适合于中、大型网络环境的——结构化部署(区域划分)
所以我们的目的:区域内传递拓扑信息,区域间传递路由信息。——减少资源占用
ABR边界路由器:连接不同区域
区域编号(areaID):由32位二进制构成,采用点分十进制、目的是为了区分不同的区域
要求:
1、遵循星型拓扑结构,将星型拓扑结构中间的部分称为骨干区域area0,其余的区域为非骨干区域。
2、必须要有ABR边界路由器(一个边界路由器可以链接多个区域,两个区域间可以存在多个边界路由器)
ospf的版本:
IPV4 :RIPV1,RIPV2 OSPFV1(在实验室阶段已经夭折) ,OSPFV2
IPV6: RIPNG OSPFV3
RIPV2与OSPFV2的比较:
相同点:
1、都是无类别的路由协议,传递的过程中都需要携带子网掩码
2、都是以组播形式进行传递数据,ospf的组播地址是224.0.0.5,224.0.0.6
3、都支持等开销负载均衡
不同点:rip是适合于小型的网络环境的;ospf是适合于中、大型网络环境的
5种数据包
Hello(打招呼):周期性的发现、建立、维护邻居关系。hello时间:10秒,失效时间(dead time):四倍的hello时间=40秒。
携带rid:区分网络中不同的路由器,唯一性,格式统一(32位二进制构成的)
获取rid的方式:
1、手动设置(符合rid的唯一和格式统一的特性)
2、自动获取,如果路由器存在环回地址,则从环回地址中挑选最大的那个作为rid;如果没有环回地址,则从ip地址中挑选最大的那 个作为rid。
DBD:数据库描述报文,携带的是路径信息的摘要(目录/菜单)。
LSR:链路状态请求包,基于DBD请求未知的LSA信息。(点菜)
LSU:链路状态更新包,真正携带lsa信息的包(上菜)
LSACK:链路状态确认包。(菜拿到的动作/确认)
7种状态机
DOWN:启动ospf
INIT 初始化:发送携带自己rid的hello包,其他路由器向自己发送携带它的rid的hello包,并告诉我他已经收到我的hello包,
TWO-WAY双向通讯:标志着邻居关系的建立,开始条件匹配,条件匹配成功,则进入下一个状态;条件匹配失败则停留在当前状态,只发送hello包进行周期保活。
EXSTART预启动:开始主从关系选举,比较rid,rid大的为主优先进入下一个状态,rid小的为从后进入下一个状态。
EXCHANGE准交换:rid大的先开始交换自己的dbd包,rid小的后交换自己的dbd包
LOADING加载:开始基于刚刚的dbd包发送lsr、lsu、lsack获取未知网段的路径信息
FULL:标志着邻接关系的建立。
工作流程
ospf启动配置后,以组播224.0.0.5的形式向所有运行ospf协议的路由器发送携带自己rid和本地已知所有邻居rid的hello包,然后将收集到的所有信息都记录到邻居表中。
邻居关系建立之后开始条件匹配,匹配失败则停留在邻居关系,仅发送hello包进行周期保活。
匹配成功,在开始建立邻接关系,首先基于未携带数据的dbd包进行主从关系选举,rid大的为主,rid小的为从。然后基于携带目录信息的dbd包,发送lsr、lsu、lsack包来获取未知的路径信息,完成本地数据库的建立,生成数据库表。
最后,基于本地的数据表生成有向图和最短路径树,之后计算本地到未知网段的路径信息,然后生成路由添加到路由表中。
整个收敛完成后,hello包10秒进行一次周期保活、每30分钟进行一次周期更新。
具体配置:
1、启动ospf进程
[r1]ospf 1 router-id 1.1.1.1 1代表进程号,只具有本地意义,为了区分不同进程
2、划分区域
[r1-ospf-1]area 0
3、宣告网段
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
0.0.0.255——反掩码,0代表不变,1代表可变,必须是连续的0和1构成,这个代表宣告了一个范围。
宣告的目的:
1、激活接口
2、只有激活的接口才可以发布、接收路由信息。
[r3]dis ip rou p ospf——查看ospf协议的路由表
条件匹配
定义:在一个广播域中,如果所有设备都是邻接关系,则会存在大量的重复更新,就需要DR/BDR选举来减少重复网段,除了DR、BDR外其余的路由器之间只保持邻居关系。
目的:减少邻接关系
指定路由器DR:与其他路由器都是邻接关系(一个路由器的接口)
(可能存在路由器的一个接口是DR,另一个接口是普通的DRother)
备份指定路由器BDR:与其他路由器都是邻接关系
其他路由器DROTHER:只和指定路由器和备份指定路由器是邻接关系,和其余的都是邻居关系。
如果网络中出现邻接关系,则至少需要四台路由器。
选举规则:
1、比较优先级,优先级大的为DR、次大的为BDR
2、优先级相同,则比较rid,rid大的为DR,次大的为BDR。
(DR和BDR的选举规则是非抢占模式,选举好了就会固定,不会再因为新的路由器的加入而去修改DR和BDR)
选举时间:40秒。
重新选举:在用户视图下重新启动ospf进程(两台机器同时启动)——Reset ospf 1 process
[r3]dis ospf peer brief ——查看邻居表简表
[r3]dis ospf lsdb——查看数据库表
[r3]dis ospf lsdb router 2.2.2.2——查看lsa信息
开销值(带宽)
Cost=参考带宽/真实带宽(华为中默认是100mbps)
进位取整(不满1的时候直接取1)
[r1-ospf-1]bandwidth-reference 1000——修改参考带宽。(修改参考带宽值的时候一定要将当前网络中所有的路由器中的参考带宽值修改为一样的。)
扩展配置:
1.区域汇总
Ospf不能在接口上进行汇总,只能在边界路由上将左边区域网段计算所得的路由信息进行汇总发给ABR的右边区域。
[r1-ospf-1-area-0.0.0.0]abr-summary 192.168.1.0 255.255.255.0
2.沉默接口
只接收数据、不发送数据,只用于连接终端的接口,不能用于连接其他路由器的接口。(在进程内去做)
[r1-ospf-1]silent-interface GigabitEthernet 0/0/0
3.手工认证
目的:保障数据安全。
在路由器的接口上进行认证,并且认证的格式和数据内容保持一致
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
4.加快收敛
修改计时器的时间,记住要保证令居之间的收敛时间是相同,否则没有办法建立邻居关系。
[r1-GigabitEthernet0/0/0]ospf timer hello 5
5.缺省路由
强制下发:不管本地是否有一条默认路由,我都会向邻居发送一条默认路由
[r1-ospf-1]default-route-advertise always
非强制下发:只有本地存在一条默认路由,才向邻居通告,否则不通告
[r1-ospf-1]default-route-advertise