动态路由
自治系统—AS
由单一的机构或组织所管理的一系列IP网络设备的集合。
AS编号:ASN----1-655365
IANA----互联网数字分配机构
AS的通讯方式:
AS内部----运行相同的路由协议----内部网关协议(IGP)
AS之间----具备专用的路由协议—边界网关协议(BGP)
动态路由协议分类
按照范围分类:
IGP—内部网关协议(RIP、OSPF、ISIS、EIGRP)
EGP—外部网关协议
IGP协议按照协议特点分类:
距离矢量型—DV
RIP—路由信息协议(公有)
EIRP—加强型内部网关路由协议(cisco专有)
链路状态型—LS----共享拓扑
OSPF—开放式最短路径优先协议
IS-IS----中间系统到中间系统
IGP协议按照是否携带真实掩码分类:
有类别路由协议—不传递真实掩码(传递A、B、C)—RIPv1
无类别路由协议----传递真实掩码
RIP—路由信息协议
基本概念
版本
RIPV1和RIPV2的区别:
更新时是否携带掩码
RIPv1不携带真实掩码
RIPv2携带真实掩码
RIPv2支持自动汇总功能
更新方式
RIPv1使用广播发送
RIPv2使用组播发送,组播地址224.0.0.9
RIPv2支持手工认证
1.RIPv1是有类路由协议,RIPv2是无类路由协议。
2.RIPv1不能支持VLSM,RIPv2可以支持VLSM。 3.RIPv1在主网络边界不能关闭自动汇总(没有手工汇总的功能),RIPv2可以在关闭自动汇总的前提下,进行手工汇总(v1不支持主网络被分割,v2支持主网络被分割)。
4.RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证。
5.RIPv1是广播更新,RIPv2是组播更新。 6.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略。
7.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定。
RIPv1—IPv4
RIPv2—IPv4
RIPng—IPv6
距离矢量型(共享路由表)
基于UDP协议进行封装,端口号为520。
RIP基于组播进行数据包发送,组播地址—>224.0.0.9
存在周期更新机制----30s周期更新(应答报文)----保活、确认。
RIP的开销值(度量值)----以跳数计算开销值,最大15跳(经过的路由器)----开销值越小越优。
数据包中传递的开销值===本地的开销值+1
RIP算法----贝尔曼福特算法
1.当接收到数据包中含有本地路由表中没有的路由项时,则直接加载到本地路由表。
2.当接收到的数据包中含有本地路由表已经具备的路由项,且下一跳地址相同,则将数据包的路由项更新至本地路由表。
3.当接收到的数据包中含有本地路由表已经具备的路由项,但下一跳地址不同,则比较cost值,若本地路由表中的cost值大,则将数据包中的路由项更新至本地路由表。
4.当接收到的数据包中含有本地路由表已经具备的路由项,但下一跳地址不同,比较cost值,若本地路由表中的cost值较小,则不进行更新
RIP数据报文
request—请求报文
response—应答报文
RIP工作原理
初始化
接收请求
接收响应----路由器完成了RIP协议的收敛工作
常规路由更新和定时
当路由收敛完成后,路由器会以30s一次的频率发送应答报文。
邻居路由器收到收到应答报文时,会设置一个180s的时间(超时时间)。
如果180s内没有收到邻居路由器发来的应答报文,本地路由器会认为邻居出现问题,并将下一跳为邻居接口地址的路由项的开销值设置为16,并且向自身周围还存在的邻居发送该路由项。
在经过120s后,删除该路由项。
RIP的计时器
更新计时器
每台启动了RIP协议的路由器都有一个属于自己的更新计时器
计时周期—30s
注意:当接收到请求报文时,必须立刻发送响应报文
无效计时器
每台路由器上的每个路由项都会有一个无效计时器。
计时器时间—更新计时器的6倍—180s----每次路由条目被更新时,计时刷新
当计时器时间为0时,会认为该路由项以及无效,也就是说该路由项所指的目的地址不可达,路由器会将该路由项的cost值设置为16,并向外进行传输。
垃圾收集计时器
120S
发送四次周期更新后,删除该路由
实际环境中,该计时器的时间并非是120S整,而是在90-120S之间
抑制计时器
RIP周期更新
使用response报文进行更新操作
周期更新原因:
RIP本身没有确认机制和保活机制
UDP传输是不可靠的传输
RIP环路问题
解决方法—加快路由收敛速度
触发更新:
当某一个路由器中的路由项发生改变时,不需要等待下一次周期更新的到来,就可以**直接将发生改变的路由项发生出去。**仅能降低环路产生的可能性,但是不能完全避免环路产生
(不能连续更新同一报文)
水平分割:
如果有一个X/Y的路由项从路由器的某接口学习到,那么在周期更新发送时,该路由项就不能
从该接口发出。-------从此口进,不能从此口出。
毒性逆转:
如果有一个X/Y的路由项从路由器的某接口进入,那么在周期更新时,虽然还会从该接口发
出,但会将cost值设置为16。
若毒性逆转和水平分割同时开启,则按照毒性逆转规则进行。
原理相同,但做法不同,所以只能选择其中一个和触发更新搭配使用。—华为默认开启水平分割
RIP基本配置
RIPV1
[r1]rip 1 ----启动RIP协议,并配置进程号,进程号仅具备本地意义。
[r1-rip-1]version 1 -----选择RIP版本
[r1-rip-1]network 12.0.0.0 -----宣告地址,激活接口并发布路由
宣告:
1.需要宣告所有直连网段
2.必须按照主类地址宣告
RIPV2
[riJrip 1
[r1-rip-1]version 2
[r1-rip-1Jundo summary ----关闭自动汇总功能,如果不关闭,宣告的属于同一个主类的路由就会自动汇总该功能在华为上不需要配置,因为华为默认关闭自动汇总功能。
[r1-rip-1]network 192.168.0.0
RIP扩展配置
1.手工汇总
去往多个可以汇总的目标网段范围,且具备相同下一跳,则可以不用具体的多个路由条目,仅写一条汇总目标的路由即可。
[r1-GigabitEthernet0/0/0]rip summary-address 10.1.0.0 255.255.252.0
2.缺省路由
一般配置方向为指向与运营商相连的边界路由器上。
RIP的缺省路由一般配置在边界路由器上。
缺省路由的下发是强制性的DJIHPEE
[r2-rip-1]default-route originate
3.静默接口
配置了静默接口的接口无法主动发送数据包,只能被动接受。----一般配置在连接用户的接口上。
当静默接口接收到RIP报文后,会改变接口状态,恢复数据收发。
[r1-rip-1]silent-interface GigabitEthernet 0/0/0
4.手工认证
路由器之间的身份核实,需要同时在双方路由器相连的接口上配置。
[r1-GigabitEthernet0/0/0]rip authentication-mode simple cipher 123456
5.加快收敛----减少计时器时间[r1-rip-1]timers rip 10 60 40-----三个时间分别对应更新计时器、无效计时器、垃圾收集计时器,单位S
注意:修改时,三个计时器的时间倍数不要改变
优点:
RIP 协议非常适合小型网络 - 易于理解和配置。
RIP 路由保证支持几乎所有的路由器。
RIP 不需要每次网络拓扑更改时都进行更新。
缺点:
RIP 可能会造成流量瓶颈,因为它每 30 秒广播一次更新,由于 RIP 中的任何路由更新都会占用大量带宽,因此关键 IT 流程的资源是有限的。
RIP 的跳数限制为 15 跳,因此超出该距离的任何路由器都被视为无穷大,因此无法访问。
收敛速度很慢,当任何链接出现故障时,选择替代路线需要花费大量时间。
RIP 不支持同一路由上的多条路径,这可能会产生更多的路由环路,使用固定跳数度量来选择最佳路由时,根据实时数据比较路由时,RIP 无法工作,由于重复的过程,这会导致数据包丢失和网络操作过载。
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区域
区域划分规则
OSPF采用严格的两层区域结构。 网络的底层物理连接必须与两层区域结构匹配,即所有非骨干区域都直接与区域0相连----星型拓扑
骨干区域唯一
区域边界路由器-----ABR
全称:Area Border Routers,位于一个或多个OSPF区域边界上、将这些区域连接到主干网络的路由器。ABR被认为同时是OSPF主干和相连区域的成员,可以同时属于两个以上的区域,但其中一个必须是骨干区域(area 0)。因此,它们同时维护着描述主干拓扑和其他区域拓扑的路由选择表。
同时属于多个区域,且至少有一个接口属于骨干区域
在骨干区域中至少存在一个活跃的邻居
OSPF数据包类型
Hello报文
用来周期发现 、建立、保活OSPF邻居关系。
10S发送一次,来确认邻居的存在
如果一次dead time 时间没有收到邻居发送给自己的Hello报文,则认为邻居不存在,dead time 一般为Hello时间的四倍,默认情况下为40S。
Router-ID----RID
全域唯一,标识路由器的身份
使用IP地址的标识形式
DBD报文
数据库描述报文
包含了所有拓扑的目录信息。
LSR报文
链路状态请求报文
请求获取未知的链路信息 (LSA信息)。
LSU报文
链路状态更新报文
携带有真正的LSA信息
LSAck报文
链路状态确认报文
OSPF七种状态机
1.down----关闭状态----一旦启动了OSPF协议,则发出hello报文,进入下一状态
2.init----初始化状态----当收到的hello 报文中,存在本地RID值时,进入下一状态
3.2-way----双向通讯状态-----邻居关系建立的标志
条件匹配:匹配成功则进入下一阶段,失败则停留在邻居关系
4.exstart----预启动状态-----使用未携带信息的DBD报文进行主从关系选举,RID大的为主
5.exchange----准交换------使用携带目录信息的DBD包进行目录共享
6.loading ------加载状态------邻居间使用LSR、LSU、LSAck三种报文去获取完整的拓扑信息
7.full-----转发状态-------拓扑信息交换完成后进入该状态----------邻接关系建立的标志
状态机名称 | 状态机描述 |
---|---|
Down (失效) | 该状态还没有进行hello包的收发,一旦进行hello的收发,则进入下一状态 |
Init (初始化) | 接收到的helo包中并不存在本地的route-id,但是会将发送helo包的邻居置为n状态,此时双方并没有建立双向通信,随着双方互相收发hello包,于是才会进入下一状态 |
2-way (双向通信) | 接收到的helo包中存在本地的routeid,则双方就会进入2-way双向通信状态。该状态也是OSPF最稳定的状态之一,它标志着邻居关系的建立,同时也是邻接关系建立的基础 |
Exstart (预启动) | 使用类似hello的DD报文进行主从关系(Master/Slave) 选举,route-id数值大为主,优先进入下一状态。此时的DD报文是空的. |
Exchange (准交换) | 使用真正的DD报文进行数据库目录的共享 |
Loading (加载) | 使用LSR、LSU、LSAck去获取未知的LSA信息 (存在LSDB本地数据库中) |
Full (全毗邻) | 邻接关系建立的标志,此时不再进行LSDB的同步 |
条件匹配(40S)
设备接口角色
指定路由器—DR
指定路由器(Designated Router)是一个运行开放最短路径优先(OSPF)的路由器,其为一个多路接入网络产生LSAs,在运行OSPF时有其它特殊的功能。每个多路接入 OSPF网络最少有两个附加路由器,有一个路由器是被OSPF Hello协议推选的。这个指定路由器能够使多接入网络需要的邻接的数量减少,进而减少路由协议通信的数量和拓扑数据库的大小。
备份指定路由器—BDR
工作原理: BDR(Backup Designated Router)备份指定路由器的设立是为了保证当DR发生故障尽快接替DR的工作,以防止出现由于需要重新选举DR和重新构筑拓扑数据库而产生大范围的数据库震荡,因此,BDR也和本网络中的其他路由器建立邻接关系,如果DR存在,则BDR不生成网络链路广播消息。
在DR,BDR的选举后,这个网络内其他路由器向DR,BDR送链路状态信息,并经DR转发到和DR建立邻接关系的其他路由器,当链路状态信息交换完毕时,DR和其它路由器的邻接关系进入了稳定状态,区域范围内统一的拓扑数据库也就建立了,每个路由器以这个数据库为基础,采用SPF算法计算机出各个跌幅器的路由表,这样就可以进行路由转发了。
其他路由器—DRother
角色之间的关系
DR与BDR----邻接
DR与DRother—邻接
BDR与DRother—邻接
DRother与DRother—邻居
OSPF条件匹配的情况
在以太网网络中----必须进行条件匹配
在点到点网络中----不需要进行条件匹配
选举规则
1、优先级,默认为1,0-255,越大越优
2、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进行一次链路状态刷新
基本配置
[r1]interface g
[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ip address 12.0.0.1 24
[r1-GigabitEthernet0/0/0]int l0
[r1-LoopBack0]ip add 1.1.1.1 24
[r1-LoopBack0]q
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]ip add 23.0.0.1 24
[r2-LoopBack0]ip add 2.2.2.2 24
[r2-LoopBack0]q
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ip add 23.0.0.2 24
[r3-GigabitEthernet0/0/0]int l0
[r3-LoopBack0]ip add 3.3.3.3 24
[r3-LoopBack0]q
1.启动OSPF协议,配置进程号(仅具有本地意义),手工配置RID值
若没有配置RID值,则设备自动生成(环回接口最大IP>物理接口最大IP)
[r1]ospf 1 router-id 1.1.1.1
2.配置区域
[r1-ospf-1]area 0
3.宣告:激活接口,发布拓扑或路由
宣告网段
[r1-ospf-1-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
OSPF邻居表
[r2]display ospf peer —查看OSPF邻居
[r2]display ospf peer brief ----查看OSPF邻居简表
OSPF数据库表
[r2]display ospf lsdb -----查看OSPF数据库表
OSPF路由表
[r2]display ospf routing —查看OSPF路由表
OSPF优先级====10
reset ospf 1 process -----重置OSPF进程
BDR>DR的原因:因为先配置r1,导致r1先启动OSPF协议,在r1启动OSPF后会向r2发送hello包,但是在40s内没有得到r2的回应,r1就认为没有邻居,此时r1就会认为自己是DR,但是在r2启动OSPF协议后,由于非抢占模式,此时r1已经是DR了,所以r2就不会与r1再次进行选举,所以r2的BDR>r1的DR。
OSPF扩展配置
修改参考带宽
修改参考带宽,两端均需要修改:
[r1-ospf-1]bandwidth-reference 10000
[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-summary 192.168.0.0 255.255.252.0
必须在ABR上配置(连接两个不同区域的路由器,这里的ARB是路由器r2)。 汇总的明细路由来源在哪个区域,就进入哪个区域进行配置。
缺省路由
由手工配置静态缺省从路由指向ISP(一般情况,也可由ISP下发一个缺省路由给路由器),先决条件—>网络中存在一个缺省路由
在边界设备上(一般为ABR边界设备):
[r1-ospf-1]default-route-advertise ----非强制性下发,要求边界路由器中存在缺省路由才可以下发
[r1-ospf-1]default-route-advertise always -----强制性下发,不要求本地存在缺省路由
静默接口
不接受也不发送hello报文,与RIP的静默接口不同。
- 当r3下连接一个PC端时
[r3-ospf-1]silent-interface GigabitEthernet 0/0/1
1
- 当r3下连接一个路由器r5时
[r5-ospf-1-area-0.0.0.1]network 192.168.10.1 0.0.0.0
接口认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode ?
md5 Use MD5 algorithm -----MD5认证
null Use null authentication -----不认证--OSPF默认情况
simple Simple authentication mode -----简单认证--明文认证
r1和r2两边都要配置,且配置相同:
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
加快收敛
修改hello包的时间:
[r3-GigabitEthernet0/0/0]ospf timer hello ?
INTEGER<1-65535> Second(s) ------一端修改,另一端必须修改,若不修改,则会导致邻居关系无法建立
ACL技术—访问控制列表
是一种策略。
对于网络中的流量而言,通常有两种处理方式。
1、允许
2、拒绝
ACL的原理
配置了ACL的网络设备会根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对报文执行预先设定好的处理动作
ACL的功能
访问控制:在设备的流入或流出接口上,匹配流量,然后执行设定的动作
permit----允许
deny----拒绝
抓取流量:因为ACL经常会与其他协议共同使用,所以ACL一般只做匹配流量的作用,而对应的动作由其他协议完成。
ACL的匹配规则
自上而下,逐条匹配,匹配上则按照预先设定的动作执行,不再向下匹配。
华为设备ACL访问控制列表最后隐含条件:允许所有
cisco 设备ACL 访问控制列表最后隐含条件:拒绝所有
ACL 分类
基本ACL
只能基于IP报文的源IP地址定义规则
编号:2000-2999
高级ACL
可以基于IP报文的源IP地址、目的IP地址、IP报文协议字段、IP报文优先级、IP报文长度、TCP源目端口号、UDP元目端口号等一系列信息来定义规则
编号:3000-3999
二层ACL
编号:4000-4999
用户自定义ACL
5000-5999
需求一
要求PC1可以访问192.168.2.0/24,而PC2不可以。
基本ACL配置位置应尽量靠近目标。
由于基本ACL仅关注数据包中的源IP地址;故配置时尽量靠近目标,避免对其他目的地址访问产生误伤。
基本ACL配置
创建ACL列表
[r2]acl 2000
[r2-acl-basic-2000]
设定规则
[r2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0 ----拒绝192.168.1.2的地址
通过
通配符:0代表不可变,1代表可变;0和1可以随意穿插。
使用通配符可以精准匹配某一个IP地址或多个IP地址或网段。
[r2-acl-basic-2000]rule permit source any ----允许所有,在ACL的最后配置
[r2]display acl 2000 ----查看ACL配置
[r2-acl-basic-2000]rule 8 permit source 192.168.1.1 0.0.0.0
序列号----序列号用于规定ACL规则的顺序,匹配时,从小到大匹配。
华为默认步长为5。方便插入或删除规则。
调用列表
[r2GigabitEthernet0/0/1]traffic-filter outbound acl 2000
一个接口的一个方向只能调用一张ACL列表;但是一张ACL列表可以在不同的地方多次调用。
拒绝192.168.1.2和192.168.1.3
192.168.1.00000010
192.168.1.00000011
0.0.0.00000001=====0.0.0.1
拒绝192.168.1.0/24网段中的所有单数IP地址
192.168.1.0000 0001
192.168.1.0000 0011
192.168.1.0000 0101
192.168.1.0000 0111
...
192.168.1.1111 1111
0.0.0.1111 1110
需求二
高级ACL配置位置应尽量靠近源点。
由于高级ACL对流量进行了精确的匹配,可以避免误伤,所以调用时应该尽快靠近源,减少链路资源的占用。------不需要在网络中进行无用传输。
高级ACL配置
创建ACL列表
[r1]acl 3000
[r1-ac-adv-3000]
添加规则
[r1-ac-adv-3000]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.2.2 0.0.0.0
[r1-acl-adv-3000]rule permit ip source any ----允许所有
调用
[r1GigabitEthernet0/0/1]traffic-filter inbound acl 3000
需求三
要求R1能够ping通R2的环回,但是不能通过telnet 环回的方式登录R2
[r2-acl-adv-3000]rule permit tcp destination 2.2.2.2 0.0.0.0 destination-port eq telnet
[r2-acl-adv-3000]rule deny tcp destination 12.0.0.2 0.0.0.0 destination-port eq telnet
[r1]acl 3100
[r1-acl-adv-3100]rule deny tcp source 12.0.0.1 0.0.0.0 destination 2.2.2.2 0.0.0.0 destination
port eq 23
[r1-GigabitEthernet0/0/1]traffic-filter outbound acl 3100
由于高级ACL对流量进行了精确的匹配,可以避免误伤,所以调用时应该尽快靠近源,减少链路资源的占用。------不需要在网络中进行无用传输。
高级ACL配置
创建ACL列表
[r1]acl 3000
[r1-ac-adv-3000]
添加规则
[r1-ac-adv-3000]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.2.2 0.0.0.0
[r1-acl-adv-3000]rule permit ip source any ----允许所有
调用
[r1GigabitEthernet0/0/1]traffic-filter inbound acl 3000
需求三
要求R1能够ping通R2的环回,但是不能通过telnet 环回的方式登录R2
[r2-acl-adv-3000]rule permit tcp destination 2.2.2.2 0.0.0.0 destination-port eq telnet
[r2-acl-adv-3000]rule deny tcp destination 12.0.0.2 0.0.0.0 destination-port eq telnet
[r1]acl 3100
[r1-acl-adv-3100]rule deny tcp source 12.0.0.1 0.0.0.0 destination 2.2.2.2 0.0.0.0 destination
port eq 23
[r1-GigabitEthernet0/0/1]traffic-filter outbound acl 3100
ACL如果配置在流量的发出者本地,则不会对该流量生效