路由选路控制双点双向重分发(HCIP)

2023-12-06 17:20

本文主要是介绍路由选路控制双点双向重分发(HCIP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、路由控制介绍

二、对流量行为的控制需求分析

1、控制网络流量的可达性:

if-match匹配实验:

route-policy应用实验:

实验:(ACL)

IP-Prefix List实验:

2、调整网络流量路径:

策略路由实验:

三、多协议复杂场景的流量路径(双点双向重分发引入的路由环路、回馈)

双点双向路由引入实验:


学习目标:

1、了解路由控制方式方法

2、了解ACL、ip-prefix list、route-policy的区别和使用

3、掌握双点双向重分发的问题以及解决方法

一、路由控制介绍

路由控制是一种工具,需要熟练使用。

企业网络中经常面临一些非法流量(非授权)访问产生安全性和流量路径不优等问题。

新的SDN基于业务的网络,APP1的流量走上边,APP2的流量走下边更适合现在网络,比传统的基于协议的网络更适合现在。

高端操作:SR、Evpn。

分段路由SR,学习难度比较高,得学习OSPF、ISIS、BGP、MPLS-vpn。

传统网络中要保证数据安全性、提高带宽利用率,需要控制流量可达性(通与不通,不通最安全)、调整网络流量路径等。

二、对流量行为的控制需求分析

1、控制网络流量的可达性:

市场部不能访问财务、研发、资料部。

过滤路由的2种情况:

1、在引入路由时对路由进行过滤,filter-policy export

2、在发布路由或接收路由时进行过滤:

(1)、filter-policy export(对距离矢量协议有效,对链路状态协议无效)

(2)、filter-policy import 对接收的路由做过滤(对距离矢量协议、链路状态协议都有效)

ip ip-prefix-list 前缀列表:可以匹配网络号、掩码长度、掩码范围。

ACL 访问控制列表:定义路由只能匹配网络号,不能匹配掩码,功能有限。比如:192.168.11.0/28不能匹配。

ip ip-prefix-list和ACL共同特点,只能匹配网络号,对路由的其他属性无法匹配,所以某些情况下工作量比较大

3、通过route-policy做操作,可以匹配网络号、掩码长度、掩码范围以及其他属性。

(1)、route-policy 可以匹配各种路由的特征,匹配能力更强、灵活、高效。

(2)、可以对路由的属性进行修改,BGP协议大量需要做路由属性编辑就需要使用router-policy。

route-policy匹配规则,按照node号,从小到大进行匹配,一条匹配就不会继续向下匹配,没有则继续向下,默认隐藏就是拒绝所有。

route-policy中的permit代表允许,deny代表拒绝引入。

node中存在多个if-match时,相同的if-match是“或”的关系,不同if-match之间是“与”的关系。

        @存在的多个apply时,是“与”的关系(都要执行)

        @node中可以不存在if-match语句,没有if-match匹配所有路由。

        总结:if-match和apply可以单独出现。

如果if-match中引入的ACL或者前缀列表prefix-list,而ACL和prefix-list使用的deny语句,会跳过这个node匹配下一个node。

if-match匹配实验:

ip ip-prefix 1 index 10 deny 4.4.4.0 24

route-policy R4 permit node 10

if-match ip-prefix 1

apply cost 111

route-policy R4 permit node 20

apply cost 222

import-route rip 1 route-policy R4

结果是引入了cost为120

R6结果:

route-policy应用实验:

6.6.6.6放行了,这个有问题:

两种手段:路由策略、流量过滤

(1)、路由策略:对接收或发布的路由进行过滤,来控制流量可达性(不发或者不收)

@Filter-Policy:RIP、OSPF、ISIS、BGP协议都可以使用Filter-Policy对路由进行过滤。

实验:(ACL)

ACL只能匹配网络号,不能匹配掩码长度(思科可以用扩展ACL匹配掩码长度,华为不行)

华为Firster-Policy只能匹配ACL2000-2999,扩展3000的不能用。

链路状态协议(OSPF/ISIS),对引入路由做过滤:

1、在ASBR上做,使用Filter-Policy或者router-policy实现

[R1]acl 2000

[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

[R1-ospf-1]filter-policy 2000 export static

做之前:五类LSA两条

过滤之后:

过滤奇数路由:

过滤前:

执行过滤:

0 偶数 0000 0000

1 奇数 0000 0001

2 偶数 0000 0010

3 奇数 0000 0011

4 偶数 0000 0100

奇数和偶数只要关注最后1bit是否为0,为0就是偶数,不为0就是奇数

192.168.1.0

0 . 0 . 254 .0

写一个ACL

acl number 2000

rule 5 deny source 192.168.1.0 0.0.254.0

rule 10 permit

export:是在路由引入的时候做过滤,可以带参数。

import:对接收到的路由做过滤。

[R2-ospf-1]filter-policy 2000 import 对于接收的路由做过滤,对于链路状态协议来说不会过滤LSA,LSA依然可以泛洪给邻居

(如果是:[R2-ospf-1]filter-policy 2000 export 对链路状态协议发送的路由一点用也没有,对距离矢量协议有用)

R2过滤后:五类LSA算出的路由在加表的时候过滤。

但是R2身后的R3依旧有这些外部路由:OSPF之间传递LSA,无法被过滤,只能过滤路由产生的结果,但LSA依旧会泛洪给邻居。

距离矢量:传递路由的结果,干掉结果就传不出去了。

链路状态:传递链路状态,产生路由的原因,需要计算结果。

IP-Prefix List:不能用于IP报文的过滤,只能用于路由信息的过滤。

重点:

1、ip ip-prefix 也存在默认语句,拒绝所有的路由。

2、leght

3、ip ip-prefix-list 不能匹配奇偶网段

[R3]ip ip-prefix test index 10 permit 10.0.0.0 16 greater-equal 24 less-equal 28

匹配地址范围是10.0.0.0 - 10.0.x.x,掩码范围是大于等于24小于等于28,例如:10.0.1.0/24,10.0.125.0/26

[R3]ip ip-prefix pp index 10 permit 1.1.1.0 24 精确匹配1.1.1.0/24

[R3]ip ip-prefix pp index 10 permit 1.1.1.0 24 greater-equal 24 less-equal 24 精确匹配1.1.1.0/24

[R3]ip ip-prefix pp index 10 permit 1.1.0.0 16 greater-equal 24 匹配1.1.x.x掩码大于等于24小于等于32的路由

[R3]ip ip-prefix pp index 10 permit 1.1.1.0 16 less-equal 24 匹配1.1.x.x掩码大于16小于等于24的路由

特殊用法:

[R3]ip ip-prefix pp index 10 permit 0.0.0.0 0 匹配缺省路由

[R3]ip ip-prefix pp index 10 permit 0.0.0.0 0 less-equal 32 匹配所有路由

问题:用一条语句把192.168.1.0/24的所有子网匹配出来:

[R3]ip ip-prefix s10 index 10 permit 192.168.1.0 24 greater-equal 25 less-equal 32

问题:用一条语句匹配所有A类网段

0开头都是A类地址

[R1]ip ip-prefix aa index 10 permit 1.0.0.0 1 greater-equal 8 less-equal 8

IP-Prefix List实验:

写好ip ip-prefix list

在OSPF中使用

R2效果:

删除ip ip-prefix list的R2:

问题:用一条语句匹配所有B类网段

10开头都是B类地址

[R2]ip ip-prefix B index 2 permit 128.0.0.0 2 greater-equal 16 less-equal 16

(2)、流量过滤:使用ACL工具对数据报文进行过滤。

对路由没有影响,只是对报文转发时会影响。

2、调整网络流量路径:

都走上边会造成链路浪费,让市场走上边,财务走下边。

默认华为路由器的负载分担方式是基于流的负载分担(数据包五元组定义一股流【报文源目IP、源目MAC、端口号】,非TCP/UDP的包是二元组,根据源目IP)

解决方法一:通过路由策略方式修改协议属性来控制路由表条目,从而调整流量路径(通过改开销,但是不会改变实际带宽)

只能根据目的地址做转发,可能导致分流。

解决方法二:采用策略路由(PBR)方式在查找路由表之前控制流量行为(通过filter-policy)

对流量的转发路径进行控制,控制的对象是报文,非路由表条目。

优点:在于灵活,不再根据目的IP进行报文转发,而是根据管理员定义的策略执行报文转发。

缺点:配置复杂,可能需要多台设备上做定制的配置,扩展性不是很好。

路由策略:

1、操作对象对象是路由表条目。

2、实现路由过滤,从而实现访问控制,引入时过滤,发送和接收路由过滤。

3、通过配置cost,来实现路径的控制。

策略路由:

1、对流量转发路径进行控制,可以基于报文的特征决定转发路径。

2、匹配报文的大小、入接口、优先级、端口号等特征。

第一步定义流量特征:

第二步流量分类:

第三步流量的行为:

重转发,指定下一跳

第四步流策略工具:

注释:策略之间关联定义的流分类做对应的流行为

策略路由实验:

第一步定义流量特征:

acl number 3000

rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq telnet

acl number 3001

rule 5 permit tcp source 192.168.2.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq telnet

traffic classifier B operator or(or是默认加的,如果有多个if-match是逻辑“或”的意思,满足其中一个就行。and就是满足所有)

if-match acl 3001

traffic classifier A operator or

if-match acl 3000

第二步定义流量行为:(redirect重定向)

traffic behavior B

redirect ip-nexthop 10.1.24.4

traffic behavior A

redirect ip-nexthop 10.1.23.3

第三步策略工具:

traffic policy AA

classifier A behavior A

classifier B behavior B

第四步应用策略:

[R2-GigabitEthernet0/0/0]traffic-policy AA inbound

R2回包:

ip route-static 192.168.1.0 255.255.255.0 10.1.12.1

ip route-static 192.168.2.0 255.255.255.0 10.1.12.1

结果:

三、多协议复杂场景的流量路径(双点双向重分发引入的路由环路、回馈)

多点双向的次优路径:(路由回馈)

多点双向的路由环路

RIP优先级100,ISIS优先级15

双点双向路由引入存在的问题:

1、次优路径

2、路由回馈:从一台路由器引出去的路由,又从另一条路由器引回来了。

3、路由环路

这些问题产生的根因是什么?如何解决?

次优路径产生的原因?协议优先级导致的问题,优先级低的路由引入到路由优先级高的协议中,产生次优路径,反之没有。

路由回馈:次优路径之后,再次将路由引入所导致,导致环路风险。

双点双向要解决的问题:

1、无次优路径

2、无路由回馈

3、无路由环路

双点双向做成功的标准,就是路由表没做和做之后是一样的。

双点双向路由引入实验:

R1配置:

[R1-GigabitEthernet0/0/0]ip address 10.1.12.1 24

[R1-LoopBack0]ip address 1.1.1.1 32

[R1]ip route-static 192.168.1.0 24 NULL 0

双点双向重引入之前的路由表信息:

AR3的OSPF路由表:

AR3的ISIS路由表:

环路的样子:

AR4的OSPF引入ISIS中

会进入ISIS的路由:

OSPF内部正常路径:

OSPF外部次优路径了:

AR3的ISIS引入OSPF中

R1是ASBR,R3这个时候也成为了ASBR,在R2上学到两条去往相同目的网络的LSA(192.168.2.0),由于引入的ISIS度量值为1小,R1产生度量值大为2,这个时候环路就产生了。

环路

产生环路的根因就是OSPF已经有一条外部路由了,进入到ISIS后优先级发生改变,再到OSPF引入到ISIS,环路产生。

优先级高往优先级低的引入不会有路由回馈,优先级低的引入优先级高的会引发路由回馈。

现网中双点双向重分发如何解决所面临的问题?(引进去、引回来)

产生问题就因为192.168.2.0的外部路由优先级150,引入到ISIS会回馈

[R3]route-policy oti deny node 10

[R3-route-policy]if-match tag 20

[R3]route-policy oti permit node 20

[R3-route-policy]apply tag 10

[R3-isis-1]import-route ospf 1 route-policy oti

[R3]route-policy ito deny node 10

[R3-route-policy]if-match tag 30

[R3]route-policy ito permit node 20

[R3-route-policy]apply tag 40

[R3-ospf-1]import-route isis 1 route-policy ito

[R3]route-policy ase permit node 10

[R3-route-policy]if-match tag 20(ISIS引入的)

[R3-route-policy]apply preference 150

绝杀:

[R3-ospf-1]preference ase route-policy ase 10

针对192.168.2.0的路由优先级改为10,ISIS的默认150

[R3-isis-1]cost-style wide (ISIS改为宽度量值【ISIS才支持协带Tag】,只有这样才能让ISIS协带Tag信息)

[R4]route-policy ito deny node 10

[R4-route-policy]if-match tag 10

[R4]route-policy ito permit node 20

[R4-route-policy]if-match tag 20

[R4-ospf-1]import-route isis route-policy ito

[R4]route-policy oti permit node 10

[R4-route-policy]apply tag 30

[R4]route-policy oti deny node 10

[R4-route-policy]if-match tag 40

[R4]route-policy ase permit node 10

[R4-route-policy]if-match tag 40

[R4-route-policy]apply preference 150

[R4-ospf-1]preference ase route-policy ase 10

[R4-isis-1]cost-style wide

做之前:

做之后:

通过打路由策略打Tag,修改度量值,解决了双点双向重分发环路,解决了次优路径,所有路由器路由表和做之前一模一样。

这篇关于路由选路控制双点双向重分发(HCIP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/462641

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

csu1329(双向链表)

题意:给n个盒子,编号为1到n,四个操作:1、将x盒子移到y的左边;2、将x盒子移到y的右边;3、交换x和y盒子的位置;4、将所有的盒子反过来放。 思路分析:用双向链表解决。每个操作的时间复杂度为O(1),用数组来模拟链表,下面的代码是参考刘老师的标程写的。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#

控制反转 的种类

之前对控制反转的定义和解释都不是很清晰。最近翻书发现在《Pro Spring 5》(免费电子版在文章最后)有一段非常不错的解释。记录一下,有道翻译贴出来方便查看。如有请直接跳过中文,看后面的原文。 控制反转的类型 控制反转的类型您可能想知道为什么有两种类型的IoC,以及为什么这些类型被进一步划分为不同的实现。这个问题似乎没有明确的答案;当然,不同的类型提供了一定程度的灵活性,但

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

【电机控制】数字滤波算法(持续更新)

文章目录 前言1. 数字低通滤波 前言 各种数字滤波原理,离散化公式及代码。 1. 数字低通滤波 滤波器公式 一阶低通滤波器的输出 y [ n ] y[n] y[n] 可以通过以下公式计算得到: y [ n ] = α x [ n ] + ( 1 − α ) y [ n − 1 ] y[n] = \alpha x[n] + (1 - \alpha) y[n-1]

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说

react笔记 8-19 事件对象、获取dom元素、双向绑定

1、事件对象event 通过事件的event对象获取它的dom元素 run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid") //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{

OpenStack离线Train版安装系列—3控制节点-Keystone认证服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版