HCIP-6.8BGP的团体属性、BGP联盟

news2024/10/5 5:20:08

BGP的团体属性、BGP联盟

  • 1、Community:团体属性
  • 1.1、案例配置
  • 2、BGP联盟属性
  • 2.1、配置案例:
  • 2.2、四种类型的AS_PATH:

对于大型网络或者路由条目较多,使用一种BGP特有的路由标记,用于简化路由策略的执行。

对于减少路由条目,BGP使用以下几种技术:

  • 路由聚合(Aggregation)
  • 对等体组(Peer Group)
  • 团体属性(Community )
  • 路由反射(Route Reflection )
  • BGP联盟(Confederations )

1、Community:团体属性

团体属性用于标识具有相同特征的BGP 路由,Community的BGP路径属性是可选过渡 (Optional transitive)。

先来理解分配一个特定的COMMUNITY属性,COMMUNITY属性对邻居起作用,在设置后,同时需要向邻居发送的概念。

COMMUNITY属性的数值,这个数值是是一组4个8位组。格式为:AA:NN,前两个8位组表示自治系统,后2个8位组表示出地管理目的而定义的标识符。RFC1997规定前2B表示AS号,后2B表示基于管理目的设置的标示符。

COMMUNITY属性的数值
团体号:团体号是0~4294967295的整数。RFC1997中定义,0(0x00000000)~65535(0x0000FFFF)和4294901760(0xFFFF0000)~4294967295(0xFFFFFFFF)是预留的。

团体属性用来简化路由策略
上图中标识具有相同特征的BGP 路由。为不同种类的路由打上不同的COMMUNITY属性值,而不用管前缀是192.168.1还是172.16还是10开始,只根据属性值执行不同的策略。

COMMUNITY属性两个重大作用:
1、匹配路由(一种标识,标识路由)。
2、针对路由的过滤

  • 团体属性是BGP的私有属性,在BGP对等体(peer)之间传播,且不受AS的限制。利用团体属性可以使多个AS中的一组BGP设备共享相同的策略,从而简化路由策略的应用和降低维护管理的难度。
  • BGP设备可以在发布路由时(或者针对邻居更新以及收取时、或者引入路由时),新增或者改变路由的团体属性。
  • 是在BGP中一种给路由条目打上标记,用于确保路由过滤和选择的连续性,BGP路由可以过滤进出路由更新或者优选某些路由
  • 可选传输属性,必须针对做peer x.x.x.x advertise-community

团体属性分为:

  • 自定义团体属性
  • 公认团体属性
    • Internet
    • No_Advertise
    • No_Export
    • No_Export_Subconfed

公认团体属性:

团体属性名称备注
Internet 0(0X00000000)向任何BGP邻居宣告
No_Advertise 4294967042(0XFFFFFF02)不向任何BGP邻居宣告
No_Export 4294967041(0XFFFFFF01)不向任何EBGP邻居宣告,但可以向联盟内的EBGP邻居宣告
No_Export_Subconfed 4294967043(0XFFFFFF03)不向任何EBGP邻居宣告,包括联盟内的EBGP邻居宣告
No_Export_Subconfed 4294967043(0XFFFFFF03)不向任何EBGP邻居宣告,包括联盟内的EBGP邻居宣告

No_Advertise

上图只有R2有这条路由,与它相邻都收不到这条路由。No_Advertise
no_export

no_export_subconfed
自定义团体属性:
自定义规则和应用方法,格式:AS(2Bit):Number(2Bit)

  • aa:nn:aa和nn的取值范围都是0~65535,管理员可根据实际情况设置具体数值。通常aa表示私有系统AS编号,nn是管理员定义的私有团体属性标识。例如,来自AS100的一条路由,管理员定义的团体属性标识是1,则该路由的团体属性格式是100:1。
  • 团体号:团体号是0~4294967295的整数。RFC1997中定义,0(0x00000000)~65535(0x0000FFFF)和4294901760(0xFFFF0000)~4294967295(0xFFFFFFFF)是预留的。

1.1、案例配置

在这里插入图片描述

1、no_advertise使用案例 谁也不给
使用network方式宣告

[R1]bgp 100
[R1-bgp]network 1.1.1.1 255.255.255.255 route-policy community
#配置向对等体发布团体属性,缺省情况下,BGP不会将团体属性发送给任何对等体。
[R1-bgp] peer 12.0.0.2 advertise-community   //配置将团体属性发布给对等体(组)。
[R1-bgp] peer 13.0.0.3 advertise-community
[R1-bgp]q
[R1]ip ip-prefix 5 permit 1.1.1.1 32
[R1]route-policy community permit node 10
[R1-route-policy]if-match ip-prefix 5
[R1-route-policy]apply community no-advertise
[R1-route-policy]q
[R1]route-policy community permit node 20      //带了ACL和前缀列表条件就必须放其他的通过

这时R2和R3都看不到1.1.1.1的路由。
R2查看dis bgp rout ipv4 1.1.1.1

使用邻居路由策略方式方式。

[R1]bgp 100
[R1-bgp]net 1.1.1.1 32
[R1-bgp]q
[R1]ip ip-prefix 5 permit 1.1.1.1 32
[R1]route-policy community permit node 10
[R1-route-policy]if-match ip-prefix 5
[R1-route-policy]apply community no-advertise
[R1-route-policy]q
[R1]route-policy community permit node 20       //带了ACL和前缀列表条件就必须放其他的通过
[R1]bgp 100
[R1-bgp]peer 12.0.0.2 route-policy community export
[R1-bgp]peer 13.0.0.3 route-policy community export

这里除了R2、R3外其它都不能接收1.1.1.1/32这条路由。

2、No_export本圈子之外谁也不给
表示携带该值的路由不能公布给EBGP邻居,如果配置了BGP联盟,则不能将该路由宣告到联盟之外,携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。

使用network方式宣告

[R1]bgp 100
[R1-bgp]network 1.1.1.1 255.255.255.255 route-policy community
#配置向对等体发布团体属性,缺省情况下,BGP不会将团体属性发送给任何对等体。
[R1-bgp] peer 12.0.0.2 advertise-community   //配置将团体属性发布给对等体(组)。
[R1-bgp] peer 13.0.0.3 advertise-community
[R1-bgp]q
[R1]route-policy community permit node 10
[R1-route-policy]if-match ip-prefix 5
[R1-route-policy]apply community no-export
[R1-route-policy]q
[R1]route-policy community permit node 20     //带了ACL和前缀列表条件就必须放其他的通过

使用邻居路由策略方式方式。

[R1]bgp 100
[R1-bgp]net 1.1.1.1 32
[R1-route-policy]q
[R1]route-policy community permit node 10
[R1-route-policy]if-match ip-prefix 5
[R1-route-policy]apply community no-export
[R1-route-policy]q
[R1]route-policy community permit node 20
[R1]bgp 100
[R1-bgp]peer 12.0.0.2 route-policy community export
[R1-bgp]peer 13.0.0.3 route-policy community export

针对邻居使用R2和R3调用,如果R2和R3、R4有自己的BGP联盟,可以在联盟内宣告,但不能对AS200以外宣告。

3、no-export-subconfed不通告给子的联邦,也不给其他AS。
和上面配置一样,省略。

4、none将团体属性清空。
在这里插入图片描述
5、自定义属性配置
R1对1.1.1.1\32的路由标识团体属性号100:1。

[R1]route-policy community permit node 10
[R1-route-policy]apply community 100:1   //前面是AS号后面是路由器号
[R1]bgp 100
[R1-bgp]network 1.1.1.1 255.255.255.255 route-policy community 
#配置向对等体发布团体属性,缺省情况下,BGP不会将团体属性发送给任何对等体。
[R1-bgp] peer 12.0.0.2 advertise-community     //针对邻居发送团体属性
[R1-bgp] peer 13.0.0.3 advertise-community     //针对邻居发送团体属性

R3查看接收1.1.1.1/32的路由被标识团体属性号100:1。
R3查看dis bgp rout ipv4 1.1.1.1
[R3]dis bgp routing-table community
R3配置根据团体属性的路由策略

#创建高级团体属性列表 R1Lo0,允许团体属性内容100:1的路由信息通过。
[R3] ip community-list advanced R1Lo0 permit 100:1
[R3] route-policy R3 permit node 10
[R3-route-policy]if-match community name R1Lo0
[R3-route-policy]apply preferred-value 200    
[R3] route-policy attribute permit node 20         //有条件if-match就必须放其他的通过community
[R3-bgp] peer 4.4.4.4 route-policy R3 export  

R3在邻居R4出方向调用路由策略,使用本地优先级属性值增加到400,从R4发送数据包到R1的1.1.1.1/32,优先走R4–>R3–>R1,达到优化调整数据流的目的。

2、BGP联盟属性

为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接(Full-mesh)关系。
BGP全互联
假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2。当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。利用联盟和路由反射可以解决这一问题。

联盟将一个AS划分为若干个子AS。每个子AS**内部**建立IBGP全连接关系,子AS之间建立联盟EBGP连接关系,但联盟外部AS仍认为联盟是一个AS。配置联盟后,原AS号将作为每个路由器的联盟ID。

这样有两个好处:
一是可以保留原有的IBGP属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;
二是联盟相关的属性在传出联盟时会自动被删除,即管理员无需在联盟的出口处配置过滤子AS号等信息的操作。

子AS建议采用私有AS号。在联盟中,子成员自治系统间使用一种特殊的EBGP连接,我们称之为联盟EBGP。

联盟适用于大规模网络。实际应用比较少,省略详细部分。

配置联盟后,原AS号将作为每个路由器的联盟ID。

原有的IBGP 属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;联盟相关的属性在传出联盟时会自动被删除。
在这里插入图片描述

2.1、配置案例:

联盟AS内仍然需要保证IGP的连通性,才能保证数据包的正确转发。否则下一跳会出现不可达的状况。默认认为的是在整个AS中,包括与外部AS建立邻居关系的接口所在的网段,都是通告进入IGP路由协议的。

在联盟AS2345内,R2、R3、R4、R5,通过内部网关协议(IGP)OSP实现内网互通,联盟AS内保证IGP的连通,用于实现与联盟外部AS的EBGP的路由通告。

R2配置ospf

[R2-LoopBack0]ospf 1 rou 2.2.2.2
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 34.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 24.0.0.0 0.0.0.255

R3配置ospf

[R3]ospf 1 rou 3.3.3.3
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]netw 34.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]netw 35.0.0.0 0.0.0.255

R4、R5省略。

AS 2345内部建立 BGP 联盟,联盟 AS 为 AS 200,包含 2个子 AS 为 AS 65510 和 AS 65520。
R1 和 R2 建立 EBGP 邻居,R2 和 R4 建立 EBGP 邻居,R4 和 R6 建立 EBGP 邻居。
子 AS 内部建立 IBGP 全连接。

[R1-LoopBack1]bgp 100
[R1-bgp]peer 12.0.0.2 as 200
[R2]bgp 65510
[R2-bgp]router-id 2.2.2.2
[R2-bgp]confederation id 2345          //配置BGP联盟,并指定联盟ID2345。
[R2-bgp]confederation peer-as 65520    //指定属于同一个联盟连接本机的子自治系统号。
[R2-bgp]pe 24.0.0.4 as 65520           //与联盟内对等体建立EBGP关系
[R2-bgp]pe 24.0.0.4 next-hop-local     //联盟的EBGP邻居之间下一跳是我自己,
#联盟内如果不配置这条命令,其下一跳是不会修改为自己的IP地址,这里和普通的EBGP邻居有区别。
[R2-bgp]pe 12.0.0.1 as 100             //非联盟内EBGP对等体

[R2-bgp]peer 3.3.3.3 as-number  65510     //IBGPm内对等体
[R2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R2-bgp]pe 3.3.3.3 next-hop-local

[R2-bgp]dis current-configuration configuration bgp

[R3]bgp 65510
[R3-bgp]con id 2345
[R3-bgp]con pe 65520
[R3-bgp]pe 2.2.2.2 as 65510
[R3-bgp]pe 2.2.2.2 con LoopBack 0
[R3-bgp]pe 2.2.2.2 next-hop-local

R4、R5省略。
[R1]ping -a 1.1.1.1 6.6.6.6

R1在BGP内宣告还回口lo1: 11.11.11.11/32路由。

[R1-LoopBack1]bgp 100
[R1-bgp]add ipv4 un
[R1-bgp]netw 11.11.11.11/32

2.2、四种类型的AS_PATH:

  • AS_SET: 一个去往特定目的地所经路径上的无序AS号列表,标记{};
  • AS_SEQENCE: 一个有序的AS号列表,没有任何标记;
  • AS_CONFED_SEQUENCE 一个去往特定目的地所经路径上的有序AS 号列表,其用法与AS_SEQUENCE完全一样,区别在于该列表中的AS号属于本地联邦中的AS,标记() ;
  • AS_CONFED_SET 一个去往特定目的地所经路径上的无序AS号列表,去用方法与AS_SET完全一样,区别在于列表中的AS号属于本地联邦中的AS,标记[]。

只在联盟中出现的:

  • AS_CONFED_SEQUENCE;
  • AS_CONFED_SET。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/421605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity,制作一个环状滑动条

介绍 unity,制作一个环状滑动条 方法 1.导入png图片素材2.新建一个滑动条,两者图片都设置为图片3.调节slider的参数4.调节backgroud的参数5.fill area、fill的参数同上。 得到两个叠加的圆环。6.设置fill的背景颜色为红色7.设置fill填充方式&#xff0…

【C++】容器适配器之priority_queue 仿函数

一、priority_queue 的介绍和使用 1.priority_queue 的介绍 我们和学习之前的容器一样,可以使用cplusplus官网进行学习:priority_queue文档介绍 priority_queue(优先级队列)是一种容器适配器,它 和queue使用同一个头文件,其底层…

Elastic(ELK) Stack 架构师成长路径

Elastic Stack(ELK Stack)是一个开源的日志分析平台,由 Elasticsearch、Logstash 和 Kibana 三个组件组成,主要用于数据搜索、分析和可视化。要成为一名 ELK Stack 架构师,需要遵循一定的成长路径,以便逐步…

详解HiveSQL执行计划

一、前言 Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其…

【计算机组成原理】计算机组成原理(三)

计算机组成原理(三) 奇偶校验码: 校验原理: 2个比特位可以映射出4种合法的情况 2的2次方 3个比特位可以映射出8种不同的情况,其中4种为合法情况,另外4种为非法情况 上图的每个编码都是一个码字 在同一组码字内&am…

【DES详解】(一)处理input block(64 bits)

一、DES 加密算法总览 0-1、初识置换 IP(Initial Permutation) 输入:明文(64 bits) 过程:初识置换 输出:处理后的明文permuted input(64 bits) 首先,对需要解…

手写一个IO泄露监测框架

作者:长安皈故里 大家好,最近由于项目原因,对IO资源泄漏的监测进行了一番调研深入了解,发现IO泄漏监测框架实现成本比较低,效果很显著;同时由于IO监测涉及到反射,还了解到了通过一种巧妙的方式实…

AEC-Q认证介绍及所有最新工程文件下载

AEC-Q认证介绍及所有最新文件(英文版)下载 注意: 更多交流及资料请加V:john-130 AEC-Q认证介绍 1,AEC-Q认证总体情况介绍 (​1)AEC(Automotive Electronics Council)…

图像分类:Pytorch图像分类之-- MobileNet系列模型

文章目录前言MobileNetV1模型介绍DW(Depthwise Convolution)卷积PW (Pointwise Convolution)卷积深度可分离卷积(DWPW)ReLU6激活函数的介绍MobileNet V1网络结构MobileNet V1程序MobileNetV2模型介绍Invert…

链接、包管理工具、polyrepo、monorepo以及Lerna 工具的使用

nodejs 链接、包管理工具、多包管理以及Lerna 工具的使用jcLee95:https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/129903902 目 录1. 概述…

bjdctf_2020_babyrop2-fmt-leak canary

1,三连 分析:开了canary,先想办法获取canary值。 2,IDA静态分析,查看可以泄露canary的地方,否则只能爆破了 发现可以格式化字符串函数泄露的地方: 栈帧结构: 高地址 -------------- gift_ret栈帧 ------…

【算法宇宙——在故事中学算法】背包dp之01背包问题

唯手熟尔方成艺,唯读书能致卓越。勤学苦练方可成,路漫漫其修远兮! 文章目录前言正文故事总结前言 尽管计算机是门严谨的学科,但正因为严谨,所以要有趣味才能看得下去。在笔者的前几篇算法类文章中,都采用了…

智慧公厕系统的应用示例

近几年,在一些高速服务区或者一些城市的公共厕所当中,总会看见一些富有科技感的硬件,比如厕位有无人指示灯、厕所除臭杀菌机、智能取纸机、智能洗手台镜面广告机等。现在在衡量城市发展的过程中,总会以城市的建设,城市…

Weblogic远程代码执行漏洞 CVE-2023-21839

漏洞简介 WebLogic Core远程代码执行漏洞(CVE-2023-21839),该漏洞允许未经身份验证的远程攻击者通过T3/IIOP协议进行 JNDI lookup 操作,破坏易受攻击的WebLogic服务器,成功利用此漏洞可能导致Oracle WebLogic服务器被接…

MySQL可重复读事务隔离具体是怎么实现的

事务的启动会有的操作 事务的隔离等级有四种,现在说默认的可重复读,可重复读就是一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的。 可重复…

Java阶段一Day22

Java阶段一Day22 文章目录Java阶段一Day22线程安全synchronized教师总结新单词多线程多线程并发安全问题概念例synchronized关键字同步方法同步块在静态方法上使用synchronized互斥锁总结重点:多线程并发安全问题聊天室(续)实现服务端发送消息给客户端服务端转发消息给所有客户…

内网穿透实现在外远程连接RabbitMQ服务

文章目录前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址转载自远控源码文章:无公网IP,…

Linux Systemd type=simple和type=forking的区别

Typeforking 使用Typeforking时,要求ExecStart启动的命令自身就是以daemon模式运行的。 而以daemon模式运行的进程都有一个特性:总是会有一个瞬间退出的中间父进程,例如,nginx命令默认以daemon模式运行,所以可直接将其…

Nodejs vm/vm2沙箱逃逸

文章目录什么是沙箱以及VM?vm模块nodejs作用域vm沙箱vm沙箱逃逸vm2例题分析:(待补充)[HFCTF2020]JustEscape[HZNUCTF 2023 final]eznode參考文章:什么是沙箱以及VM? 什么是沙箱: 沙箱就是能够像一个集装箱…

Ansys Speos | 联合 optiSLang 背光板设计优化方案

在这个例子中,讲述如何建模一个典型的背光单元及其与亮度和均匀性有关的照度分布。其中一个关键特点是使用了Speos 3D Texture功能,这是最初开发的用于背光单元产品,并可用于设计导光板,亮度增强膜(BEF)和由数千/数百万组成的背光…