动态路由
自治系统—AS
由单一的机构或组织所管理的一系列IP网络设备的集合
AS编号:ASN—1-65535—IANA(互联网数字分配机构)
AS的通讯方式
AS内部—运行相同的路由协议—内部网关协议(IGP)
AS之间—具备专用的路由协议进行通讯—边界网关协议(BGP)
动态路由协议分类
-
按照范围分类
- IGP—内部网关协议(RIP、OSPF、ISIS、EIGRP)
- EGP—外部网关协议
-
IGP协议按照协议特点分类
- 距离矢量型—DV—共享路由表
- RIP—路由信息协议(公有)
- EIGRP—加强型内部网关路由协议(Cisco专有)
- 链路状态型—LS—共享拓扑
- OSPF—开放式最短路径优先协议
- IS-IS—中间系统导中间系统
- 距离矢量型—DV—共享路由表
-
IGP协议按照是否携带真实掩码分类
- 有类别路由协议—不传递真实掩码(传递主类A、B、C)—RIPv1
- 无类别路由协议
RIP—路由信息协议
基本概念
-
版本
- 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内没有收到邻居路由器发来的应答报文,本地路由器会认为邻居出现问题,并将下一跳为邻居接口IP地址的路由项的开销值设置为16.并且向自身周围还存在的邻居发送该路由项。
- 在经过120s时间后,删除该路由项
RIP的计时器
-
更新计时器
- 每台启动了RIP协议的路由器都有一个属于自己的更新计时器
- 计时器周期—30s
- “当接收到请求报文时,必须立即发送响应报文”
-
无效计时器
- 每台路由器上的每个路由项都会有一个无效计时器
- 计时器时间—更新计时器的六倍—180s
- 当计时器时间为0时,会认为该路由项已经无效,也就是说该路由项所指的目的地址不可达,路由器会将该路由项的cost值设置为16.并向外进行传输。(此时无效计时器关闭,开始计时垃圾收集计时器)
-
垃圾收集计时器
- 120s
- 发送四次周期更新后,删除该路由器
- 实际环境中,该计时器的时间并非是120整,而是在90-120s之间。
RIP周期更新
- 使用response报文进行更新操作
- 周期更新原因
- RIP本身没有确认机制和保活机制
- UDP传输是不可靠的传输
RIP环路问题
解决方法
-
触发更新
- 当某一个路由器中的路由项发生改变时,不需要等待下一次周期更新的到来就可以直接将发生改变的路由项发送出去。
- 仅能降低环路产生的可能性,但不能避免环路的产生
-
水平分割
- 如果有一个X/Y的路由项从路由器的某接口学习到,那么在周期更新发送时,该路由项就不能从该接口发出。—从此口进,不能从此口出。
-
毒性逆转
- 如果有一个X/Y的路由项从路由器的某接口进入,那么在周期更新时,虽然还会从该接口发出,但会将cost值设置为16。
- 若毒性逆转和水平分割同时开启,则按照毒性逆转规则进行。
水平分割和毒性逆转原理相同,但做法不同,所以只能选择其中的一个和触发更新搭配使用。—华为默认开启水平分割。
RIP的基本配置
RIPv1
宣告:
1、需要宣告所有直连网段、2、必须按照主类地址宣告
RIPv2
RIPv1和RIPv2的区别
-
更新时是否携带掩码
- RIPv1不携带真实掩码
- RIPv2携带真实掩码
-
RIPv2支持自动汇总功能
-
更新方式
- RIPv1使用广播发送
- RIPv2使用组播发送,组播地址224.0.0.9
-
RIPv2支持手工认证
RIP扩展配置
1、手工汇总
去往多个可以汇总的目标网段范围,且具备相同下一跳,则可以不用具体的多个路由条目,仅写一条汇总目标路由即可。
[r1-GigabitEthernet0/0/0]rip summary-address 10.1.0.0 255.255.252.0
2、缺省路由
一般配置方向为指向与运营商相连的边界路由器上
RIP的缺省路由一般配置在边界路由器上
[r2-rip-1]defalut-route originate
1、静默接口
配置了静默接口的接口无法主动发送数据包,只能被动接收。—一般配置在连接用户的接口上。
当默认接口收到RIP报文后,会改变接口状态,恢复数据收发。
[r1-rip-1]silent-interfacee GigabitEthernet 0/0/0
2、手工认证
路由器之间的身份核实,需要同时在双方路由器相连的接口上配置
[ri-GigabitEthernet0/0/0]rip authentication-mode simple cipher 123456
1、加快收敛
[r1-rip-1]timers rip 10 60 40---三个时间分别对应更新、无效、垃圾收集计时器,单位s
注意:修改时,三个计时器的时间倍数不要改变
RIP优缺点
- 优点:配置简单
- 缺点:占用资源过多(30s的周期更新)、选路不佳(RIP仅依靠跳数进行选路)、仅支持小规模网络、收敛速度慢
OSPF—开放式最短路径优先协议
基本概念
-
协议使用范围—IGP
-
链路状态型协议—传递拓扑
-
传递真实掩码信息—无类别路由协议
-
OSPF版本
- OSPFv1(仅实验阶段版本)
- OSPFv2----IPv4
- OSPFv3----IPv6
-
SPF 算法
-
SOPF传递的是LAS信息(链路状态通告)
-
OSPF更新方式
- 触发更新
- 周期链路状态刷新—30min
-
OSPF更新地址–组播
- 224.0.0.5/224.0.0.6
-
OSPF开销值==参考带宽/实际带宽(参考带块默认为100Mbps)
-
OSPF进行跨层封装-----基于IP协议进行封装,封装号89
OSPF区域化结构
OSPF为了适应大中型网络环境,进行了结构化部署—区域划分
区域划分特点
- 区域内部传递拓扑信息,区域间传递路由信息。
- 区域划分是基于路由器接口的。
- 区域编号—32bit
- 区域0—骨干区域
- 非0区域—非骨干区域
区域划分规则
- 所有非骨干区域都必须和骨干区域直接相连—星型拓扑
- 骨干区域唯一
区域边界路由器—ABR
- 同时属于多个区域,且至少有一个接口属于骨干区域。
- 在骨干区域中至少存在一个活跃的邻居。
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、优先级,默认为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进行一次链路状态刷新。
基本配置
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进程
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-summary 192.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 qlgorithm -----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<1-65535> Second(s)
ACL技术—访问控制列表
是一种策略。
对于网络中的流量而言,通常有两种处理方式
- 允许
- 拒绝
ACL的原理
-
配置了ACL的网络设备会根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对报文执行预先设定好的处理动作。
-
ACL的功能
- 访问控制:在设备的流入或者流出接口上,匹配流量,然后执行设定的动作。
- permit—允许
- deny—拒绝
- 抓取流量:因为ACL经常会与其他协议共同使用,所以ACL一般只做匹配流量的作用,而对应的动作由其他协议完成。
- 访问控制:在设备的流入或者流出接口上,匹配流量,然后执行设定的动作。
-
ACL的匹配规则
- 自上而下,逐条匹配,匹配上则按照预先设定的动作执行,不再向下匹配。
- 华为设备ACL访问控制列表最后隐含条件:允许所有。
- cisco设备ACL访问控制列表最有隐含条件:拒绝所有。
-
ACL分类
- 基本ACL
- 只能基于IP报文的源IP地址定义规则
- 编号:2000-2999
- 高级ACL
- 可以基于IP报文的源IP地址、目的地址、IP报文协议字段、IP报文优先级、IP报文长度、TCP源目端口号、UDP原木端口号等一系列信息来定义规则。
- 编号:3000-3999
- 二层ACL
- 编号:4000-4999
- 用户自定义ACL
- 编号:5000-5999
- 基本ACL
需求一
-
要求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的地址通过 [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
- 通配符:0代表不可变、1代表可变、0和1可以随意穿插(使用通配符可以精准匹配某一个IP地址或多个IP地址或网段)
- 序列号-序列号用于规定ACL规则的顺序,匹配时从小到大匹配。
- 华为默认步长为5,方便插入或删除规则
-
调用列表
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
- 一个接口的一个方向只能调用一张ACL列表,但是一张ACL列表可以在不同的地方多次调用。
-
需求二
-
要求PC1可以正常访问PC3和PC4,而PC2只能访问PC3
-
高级ACL配置位置应尽量靠近源点
- 由于高级ACL对流量进行了精确的匹配,可以避免误伤,所以调用时尽量靠近源,减少链路资源的占用。—不需要在网络中进行无用传输。
-
高级ACL配置
[r1]acl 3000 -创建ACL列表 [r1-acl-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 -添加规则 [r1-GigabitEthernet0/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 ed 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
2.168.2.2 0.0.0.0
[r1-acl-adv-3000]rule permit ip source any -添加规则
[r1-GigabitEthernet0/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 ed 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