OSPF的重发布

news/2024/7/6 1:43:36

     在多点的重发布中,由于重发布技术的种子度量值问题,将必然导致选路不佳;只能依赖路由策略来人为干涉选路。

控制层流量 -- 路由协议发送路由信息是产生的流量。

数据层流量 -- 设备访问目标地址时产生的流量。

路由策略:在控制层流量转发的过程中,截取流量,之后,修改流量中的参数或直接不转发,最终影响路由器路由表的生成,以达到干涉选路的目的。

1,抓取流量(控制层流量)

1,通过ACL列表进行抓取 --- 本身用于限制数据层流量的进出,也可以用于抓取控制层流量,但由于通配符的设计,导致其无法精确匹配控制层流量。

2,通过前缀列表进行抓取 --- IP-Prefix

[r1]ip ip-prefix aa permit 192.168.1.0 24   --- 网段信息,包含网络号和掩码信息         前缀列表的名称

[r1]display ip ip-prefix aa --- 查看前缀列表的规则

前缀列表的规则默认是以10为步调自动添加。便于插入和删除规则

前缀列表的匹配规则:自上而下,逐一匹配,一旦匹配上将按照该规则执行,而不再向下匹配。末尾隐含拒绝所有。

[r1]ip ip-prefix aa index 15 permit 192.168.3.0 24 --通过序号插入规则

[r1]undo ip ip-prefix aa index 15 --- 通过序号删除规则

前缀列表还可以进行范围匹配

[r1]ip ip-prefix aa permit 192.168.3.0 24 less-equal

28  ---- 匹配路由的掩码范围在24 - 28之间

[r1]ip ip-prefix aa permit 192.168.4.0 24 greater-equal 28 --- 前后如果矛盾,则见按照后面的为准,前面的数字含有将不再代表掩码长度,而代表前24为固定。

[r1]ip ip-prefix aa permit 192.168.5.0 24 greater-equal

28 less-equal 30 --- 匹配前24位固定,掩码长度在28到30之间的路由信息。

[r1]ip ip-prefix aa permit 192.168.6.0 24 greater-equal 28 less-equal 28 --- 匹配前24位固定,掩码长度必须为28位的路由网段。

匹配所有的主机路由

[r1]ip ip-prefix aa permit 0.0.0.0 0 greater-equal 32

匹配所有

[r1]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32

匹配缺省路由

[r1]ip ip-prefix aa permit 0.0.0.0 0

2,路由策略

1,RIP的merticin和merticout --- 偏移列表 --- 只能应用在距离矢量型协议上,链路状态型协议是无法使用的。

[r1]ip ip-prefix aa permit 23.0.0.0 24 --- 通过前缀列表

抓取目标网段的流量

[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa

10 --- 在路由器接口上做入方向的偏移列表

2,filter-policy --- 过滤列表/过滤策略

[r1]ip ip-prefix bb deny 34.0.0.0 24   ---- 因为过滤列表本身并不具备过滤功能,所以,在进行流量抓取时,需要使用抓取流量列表的过滤功能。

[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32

[r1-rip-1]filter-policy ip-prefix bb import

GigabitEthernet 0/0/0  ---- 在进程中调用过滤列表,注意,按需求确认是否需要选择作用的接口

过滤列表 --- 可以在距离矢量型协议上使用,也可以在链路状态型协议中使用。但是注意,在链路状态型协议中使用时,在一个区域内,因为他没有办法过滤拓扑信息,所以,只能在入方向进行调用,用来影响自身,并且只是在路由加表时不向路由表中加表,并不是将拓扑信息过滤掉。     当然,如果想在出方向进行调用,可以在ABR或者ASBR上针对三类,五类,七类LSA进行过滤。

  

    3,Route-policy 路由策略

1,先抓取流量

Basic ACL 2000, 1 rule

Acl's step is 5 rule 5 permit source 1.1.1.0 0

Basic ACL 2001, 1 rule

Acl's step is 5 rule 5 permit source 2.2.2.0 0 ip ip-prefix aa index 10 permit 3.3.3.0 24 ip ip-prefix bb index 10 permit 4.4.4.0 24

2,路由策略

[r2]route-policy aa deny node 10 --- 加了一个列表的

条目序号,我们一般也是以10为步调手工添加

路由策略的名称

   

[r2]route-policy aa deny node 10

[r2-route-policy]if-match acl 2000  ---- 如果匹配到 ACL2000抓取到的流量

[r2]route-policy aa permit node 20

Info: New Sequence of this List.

[r2-route-policy]if-match acl 2001

[r2-route-policy]apply cost-type type-1

[r2]route-policy aa permit node 30

[r2-route-policy]if-match ip-prefix aa [r2-route-policy]apply cost 10

[r2]route-policy aa permit node 40

Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix bb

[r2-route-policy]apply cost-type type-1   ---- 单条规则中如果存在多个小动作或者匹配规则,则他们之间将按照“与”关系来执行。而规则之间则按照匹配原则,满足

“或”关系即可。

[r2-route-policy]apply tag 6666

[r2]route-policy aa permit node 50  --- 放通所有流量

路由策略的匹配规则 ---- 自上而下,逐一匹配,一旦匹配上将按照该规则执行,而不再向下匹配。末尾隐含拒绝所有。

3,在重发布中进行调用

[r2-ospf-1]import-route rip 1 route-policy aa

ROUTE-POLICY的配置指南

1,即便要拒绝一个流量,在抓取时也使用允许,之后在路由策略中进行拒绝。

2,在一条规则中,若没有进行流量匹配的动作,则代表匹配所有流量;如果没有相应的应用(小动作),则仅对匹配的流量执行大动作即可;因此,大动作为允许的空表,代表允许所有。

BGP --- 边界网关协议

IGP --- 内部网关协议 --- RIP OSPF

EGP --- 外部网关协议 --- BGP

AS --- 自治系统 --- 由单一的机构或组织所管理的一些列IP网络及设备所构成集合。

划分AS的原因:

1,网络范围太大,协议跑不过来;

2,自治管理

      为了方便对自治系统进行管理,我们给每一个自治系统设计了一个号 --- AS号 ---- 16位二进制构成 ---- 取值范围:0 - 65535,其中0

和65535为保留;AS号的可用值范围为1 - 65534 ---- 其中 64512 -

65534被设定为私有AS号,剩下的为公有AS号。

      因为传统的AS号存在不够用的情况,所以,目前大部分设备均支持拓展的AS号 --- 32位二进制构成。

      BGP协议 --- 目前在IPV4环境下 --- BGPV4 --- 目前市场上也存在BGPV4+

--- 在BGPV4的基础上,可以支持多种地址族 AS之间相互获取路由信息可以使用重发布,但是以重发布作为解决方案存在问题:

1,选路不佳 --- 重发布在导入路由时会洗掉开销值。

2,ASBR的归属问题

BGP协议 --- 无类别的路径矢量协议无类别 --- 传递路由信息时携带子网掩码路径矢量 --- 1,距离矢量中的距离指的是协议将一个路由器作为一跳来计算开销。而路径矢量是以一个AS作为一个单位来传递信息的。

             2,距离矢量型协议的分发是根据算法来分的,但是BGP协议不存在算法的概念,因为BGP协议不需要去计算路由,只需要将现有的传递到自己的邻居处即可。

IGP --- 选路佳,收敛快,占用资源少

EGP --- 1,可控性 --- AS之间需要传递大量的路由信息,所谓可控,就是可以更方便的干涉选路,更容易做策略。 --- 弥补重发布的不足为了保证路由传递的可控性,更方便干涉选路,BGP协议舍弃了开销值,取而代之的是他为路由信息设计了很多路径属性。可以通过属性进行选路,是的选路过程更加灵活,可控性更高。

        2,可靠性 --- BGP协议为了保证传输的可靠性,直接选择

TCP协议作为传输层的协议来完成数据收发 ---- 使用的是TCP 179号端口

                  --- 使用TCP协议通讯造成的问题是,传输效率降低,只能实现单播通讯(TCP需要去建立会话),占用资源会加大 ---- 使用TCP之后,便不能通过广播或者组播去自动发现邻居进行通信了。

                  --- BGP协议可以实现非直连建邻,非直连建邻的前提条件是邻居双方网络可达 ---- BGP的非直连建邻是建立在IGP 的基础上

我们可以根据邻居关系的建立情况,将BGP的邻居关系分为两种 AS之间:EBGP对等体 --- 如果建立对等体的两台路由器位于不同的AS中,则他们的关系被称为EBGP对等体关系。

AS内部:IBGP对等体 --- 如果建立对等体的两台路由器位于同一个AS中,则他们的关系被称为IBGP对等体关系。

     因为EBGP对等体之间一般采用直连建邻的方法,所以,我们将EBGP 对等体之间的数据包中的TTL值设置为1;而IBGP对等体之间往往需要非直连建邻,所以,IBGP对等体之间的数据报中的TTL值我们设置为255;当

然,如果EBGP对等体之间需要非直连建邻,则需要手工修改TTL值。

       

         3,AS-BY-AS:BGP将一个AS作为一个单位来看待。

---- BGP的一个特性:BGP是不支持负载均衡。

1,BGP的数据包 ospf的hello包 --- 周期发现,建立和保活邻居关系。

发现邻居的任务 --- 在BGP中由手工指定邻居关系来替代建立邻居的任务 --- 在BGP中由OPEN报文来承担保活邻居的任务 --- 在BGP中由Keeplive报文来承担

Open---- 建立邻居关系

AS:在手工建立邻居关系时声明的邻居的AS号。对端收到后会检查其是否和本地的AS号一致,一致则正常建立邻居关系。

认证:BGP也可以在建邻时做认证,需要比对双方认证口令,不一致则无法建立邻居关系。

Router-ID:主要区分和标定路由器。OPEN报文中携带RID的目的是为了确保双方的RID不一致。确保其唯一性,如果相同,则无法正常建立邻居关系。

----- RID 也是由32位二进制构成,并且遵循IP地址的格式。

---- 也可以通过两种方法获取,一种是手工配置;另一种是自动获取。(先在自己路由器的环回接口中选择最大的IP地址作为RID,如果没有环回接口,则在自己物理接口中选择IP地址最大的作为RID)注意:在接受邻居数据包时,其中的源IP地址必须和手工指定的邻居的IP地址一致才可以正常建立邻居关系。(这个地址将作为之后的更新源地址)

OPEN报文在建立邻居关系的时候也会携带保活时间(hold time)这个参数 --- 这个参数默认值为 180S --- 即180S内若

收不到对方发送的keeplive或者UPdate包则将判定BGP链接中断。--- 双方建邻时携带这个值,但是并不要求必须相同。但是,执行时必须相同,所以,将会选择二者中较小的作为执行时间。

OPEN报文中也会将自身是否支持路由刷新功能的相关参数进行携带,双方进行协商,如果都支持,则可以开启路由刷新功能。

keeplive---- 仅完成周期保活即可(保活TCP会话),不需要携带太多的参数,也不具备太多的功能。

--- Keeplive报文的发送周期 --- 保活时间(hold time)的

1/3,保活时间默认为180S,则周期发送时间默认为60S。

KeepLive包还有一个作用 ---- 在收到对方发送的OPEN报文后,临时充当确认包的作用。 --- TCP本身具有确认机制,可以确保传输的可靠性,这里的确认主要是确认OPEN报文中携带的参数,如果认同对方的参数,则将回复Keeplive包进行确认。

Update--- 更新包 --- 携带路由信息的数据包 ---- 包括目标网段,子网掩码信息以及BGP的各种属性在UPdate包中存在撤销路由字段,我们可以直接将不可达的路由信息放在该字段下进行通告,以达到传递失效信息的目的。而不需要像RIP那样采用带毒传输的方式。

Notification--- BGP设计的一个告警机制 --- 当BGP检测到一个错误的时候,他将会用这个包进行告警,告知对端错误点在哪

Route-refresh--- 用于改变路由策略后请求对等体重新发送路由信息。(前提是对等体双方均支持路由刷新)

2,BGP的状态机

BGP的状态机仅描述BGP对等体建立过程中的状态变化。因为BGP可以做到建立邻居关系和发布路由分开完成。

IDLE状态 --- 空闲状态 --- 一开始,启动BGP之后,先处于IDLE状态,之后手工指定邻居关系。

当手工指定好邻居之后,BGP将开启检查步骤。他需要确认指定的IP地址在本地路由表中是否路由可达,如果可达,则开始尝试建立TCP会话,进入下一个状态。如果不可达,则将停留在IDLE 状态。

connect状态 --- 进行TCP会话连接的状态。如果TCP会话连接建立成功,则进入OPENsent状态;如果TCP会话建立失败,则进入Active状态,反复尝试重新建立会话连接。

注意:在建立TCP会话连接时,双方都会尝试建立连接,一方建立成功,则将创建一个双向的TCP会话通道;双方都建立成功,则将会出现两个双向通道。则需要关闭一个TCP通道。后面开始发送OPEN报文,其中会携带RID,双方将比较RID,仅保留RID大的一端发起的TCP连接,RID小的一端发起的TCP连接通道将被断开。

OPENsent --- 开始发送OPEN报文,报文中携带建立邻居关系所需的参数。当收到对端发送的OPEN报文后,将检查里面的参数。如果参数没有问题,则将回复一个keeplive作为确认,则进入下一个状态;

OPENConfirm --- OPEN确认状态  --- 对端收到本段的OPEN报文后,确认参数无误,则将发送keeplive包进行确认。此时,则代表双方的

OPEN包中的参数都确认无误则进入下一个状态;

Established --- 建立完成状态 --- 标志着对等体关系的建立。

从流程图中可以看出,TCP连接失败,则进入ACTIVE状态,尝试重连,如果重连超时,则放弃重连,判断邻居关系建立失效,回到idle 状态。整个环节中,任意环节出现问题,都将发送Notification包进行报错,之后将状态退回到IDLE状态。

3,BGP的工作过程

1,基于IGP(静态,直连)实现IP可达;

2,指定邻居关系,邻居间需要建立TCP会话通道。BGP之后发送的所

有数据包都是通过TCP会话通道发送,来保证其传输的可靠性的。 3,使用OPEN报文和keeplive报文进行邻居关系的建立;生成邻居表

4,使用Update报文共享路由信息,信息中携带目标网络号,掩码信息及各种属性;将收集和发送的所有路由信息记录在一张表中 ---

BGP

5,之后,将BGP表中的最优路径加载到路由表中。(到达同一个目标网段可能收到多条路由信息,BGP仅加载一条(不存在负载均衡)最优路径,最优路径是通过属性来选择的)

6,收敛完成后,将使用keeplive包进行周期保活,默认保活时间为

180S,周期发送时间为60S。

7,若出现错误信息,将使用notification报文进行告警;(这个错误信息可能出现在对等体建立的时候,也可能出现在之后。)

8,若发生结构突变,则将直接发送UPdate报文进行触发更新。

4,BGP的基础配置

扩展:

Ⅰ。BGP安全特性:

MD5:BGP使用TCP作为传输层协议,为提高BGP的安全性,可以在建立TCP连接时进行MD5认证。但BGP的MD5认证并不能对BGP报文认证,它只是为TCP连接设置MD5认证密码,由TCP完成认证。如果认证失败,则不建立TCP连接。
GTSM(Generalized TTL Security Mechanism 即通用TTL安全保护机制):使能BGP的GTSM策略后,接口板对所有BGP报文的TTL值进行检查。根据实际组网的需要,对于不符合TTL值范围的报文,GTSM可以设置为通过或丢弃。配置GTSM缺省动作为丢弃时,可以根据网络拓扑选择合适的TTL有限值范围,不符合TTL值范围的报文会被接口板直接丢弃,这样就避免了网络攻击者模拟的“合法”BGP报文占用CPU。该功能与EBGP多跳互斥。
限制从对等体接收的路由数量,防止资源耗尽性攻击。
AS_Path长度保护。通过在入口和出口两个方向对AS_Path的长度进行限定,直接丢弃AS_Path超限的报文。
Ⅱ。路由衰减(EBGP)
路由衰减(Route Dampening)用来解决路由不稳定的问题,即路由表中的某条路由反复消失和重现,也就是路由振荡。多数情况下,BGP协议都应用于复杂的网络环境中,路由变化十分频繁。为了防止持续的路由振荡带来的不利影响,BGP使用路由衰减来抑制不稳定的路由。


BGP衰减使用惩罚值来衡量一条路由的稳定性,惩罚值越高则说明路由越不稳定。路由每发生一次振荡(路由从激活状态变为未激活状态,称为一次路由振荡),BGP便会给此路由增加一定的惩罚值(1000)。当惩罚值超过抑制阈值时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发布更新报文。
被抑制的路由每经过一段时间(900S),惩罚值便会减少一半,这个时间称为半衰期(Half-life)。当惩罚值降到再使用阈值时,此路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文

路由衰减只适用于EBGP路由。对于从IBGP收来的路由不能进行衰减,因为IBGP路由经常含有本AS的路由,内部网络路由要求转发表尽可能一致,IGP快速收敛就是为了达到信息同步,转发一致。如果衰减对IBGP路由起作用,不同设备的衰减参数不一致时,会导致转发表不一致。
 


http://www.niftyadmin.cn/n/3295268.html

相关文章

企业级Docker Registry开源工具Harbor的用户使用指南

摘要: 本文承接上一篇安装和配置,主要讲解一些关于不同角色在使用Harbor中的一些指导帮助。用户手册 概述 该指导将引导你去使用Harbor的各个功能特性。你将学习到怎样使用Harbor去完成以下任务: 管理你的项目管理一个项目中的成员同步一个项目中的regis…

完美妻子

一个男人的品位在于选择妻子,选择了什么样的妻子就等于选择了什么样的人生。俗话说,男怕入错行,女怕嫁错郎,男人何尝不是,写《菜根谭》的洪应明就说过“悍妻诟谇,真不若耳聋也!”浓妖不及淡久&a…

OSPF的选路原则

OSPF的选路原则 域内 --- 1类,2类LSA 域间 --- 3类LSA 域外 --- 5类,7类LSA --- 根据开销值的计算规则不同,还分为类型1和类型2. 1,如果学到的路由都是通过1类,2类LSA获取的域内路由 --- 这种情况直接比较开销值&#…

几个与Dropbox和Ubuntu One有关的链接

Dropbox Dropbox 有哪些「另类」功用?(知乎问答精编) | 同步控Top 10 Clever Uses for DropboxCreate a Highly Organized, Synchronized Home Folder with DropboxHow to Back Up Your iPhone’s App Data to Dropbox - How-To GeekDropbox …

企业级Docker Registry开源工具Harbor的介绍以及使用指南

摘要: 在使用Docker工具去构建和管理整个容器生态的过程中,image可以说是一个重要的环节,各种容器的运行也都必须依赖image才能启动。因此images的存储就变的非常重要了,当然在docker官方是提供了registry服务的,对于基本的镜像存…

python web应用部署_了解pythonweb应用程序部署

对于跨负载平衡器(如nginx)后面的多个热实例的部署,我喜欢使用Fabric这样的工具进行滚动部署。在结构将您连接到服务器1关闭web服务器通过使用VCS或将tarball与新应用程序一起传输来部署更改启动web服务器转到1并连接到下一个服务器。在这样你就永远不会离线&#x…

/etc/resolv.conf 的更改在重启后丢失的解决办法

转自http://hi.baidu.com/iamcyh/blog/item/4cfa1c021e9630f208fa9300.html解决方法: 在 /etc/sysconfig/network-scripts/ifcfg-eth<N> 文件中加入 PEERDNS 选项。<N>可以是 0, 1, 2 等等&#xff0c;代表不同网卡的配置文件。例如&#xff0c;系统上第一张网卡是…

机器人庄园作文_作文范文之你是大便的作文怎么写

你是大便的作文怎么写【篇一&#xff1a;——感觉真好的作文】当baby的感觉真好“呀&#xff01;又尿了。珊婷&#xff0c;快拿拖把&#xff01;”妈妈叫到。原来是我那才出生不久的小表弟撒尿了&#xff0c;可是妈妈的声音里让人感觉不到愤怒&#xff0c;倒是洋溢着快乐的气氛…