惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Visual Studio Blog
I
InfoQ
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
D
Docker
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
量子位
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
T
Tailwind CSS Blog
S
Securelist
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
雷峰网
雷峰网
D
Darknet – Hacking Tools, Hacker News & Cyber Security
小众软件
小众软件
Cloudbric
Cloudbric
N
News and Events Feed by Topic
L
LangChain Blog
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
L
LINUX DO - 热门话题
T
The Blog of Author Tim Ferriss
AWS News Blog
AWS News Blog
爱范儿
爱范儿
博客园 - 聂微东
Project Zero
Project Zero
V
Vulnerabilities – Threatpost
PCI Perspectives
PCI Perspectives
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - Franky
Y
Y Combinator Blog
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
AI
AI
The Last Watchdog
The Last Watchdog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
CXSECURITY Database RSS Feed - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
美团技术团队
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
T
Tor Project blog

博客园 - 叶川

数据链路层学习之LLDP Win8.1 Metro应用无法联网终极解决方法 Win8.1 Metro应用无法联网,提示“无法加载此页面”解决方法!(看红色字体部分) Telnet协议的java实现 使用Eclipse制作可执行jar文件 浅析影响MSTP设备以太网宽带的因素 城域波分组网的若干关键因素考虑 光信噪比 (OSNR) 的概念及其重要性 海事卫星通信系统 MPLS-VPN简介 - 叶川 IP专网VPN技术方案选型 - 叶川 MPLS_TE_FRR技术白皮书 BGP(自治系统间的路由)协议详解 VRRP概述 MPLS 原理详解 关于DHCP原理的讲解 RD与RT(MPLS VPN BGP) - 叶川 爆一个taobao网的BUG(原创) 清除新版阿里旺旺2008自动添加的右键菜单 - 叶川 - 博客园
路由反射器(Route Reflector)简介
叶川 · 2013-01-09 · via 博客园 - 叶川

关键字:Reflector 客户机 反射器 路由技术 路由器

  在使用BGP路由协议的网络中,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2.当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。

  一、路由反射器的定义

  利用路由反射可以解决这一问题。在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器做为客户机(Client)。客户机与路由反射器之间建立IBGP连接。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需要建立BGP连接。

  既不是反射器也不是客户机的BGP路由器被称为非客户机(Non-Client)。非客户机与路由反射器之间,以及所有的非客户机之间仍然必须建立全连接关系。如下图所示。

  二、路由反射器的工作步骤

  当RR收到IBGP发来的路由,首先使用BGP选择路由的策略选择最佳路由。在公布学习到的路由信息时,RR按照RFC2796中的规则发布路由:

  1)从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机。

  2)从客户机学到的路由,发布给此RR的所有非客户机和客户机(发起此路由的客户机除外)。

  3)从EBGP对等体学到的路由,发布给所有的非客户机和客户机。

  RR的一个好处就是配置方便,因为只需要在反射器上配置,客户机不需要知道自己是客户机。

  三、Originator_ID

  RFC2796定义了Originator_ID属性和Cluster_List属性,用于检测和防止路由环路。

  Originator_ID属性长4字节,是由路由反射器(RR)产生的,携带了本地AS内部路由发起者的Router ID.

  1)当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起路由器。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID.

  2)当其它BGP Speaker接收到这条路由的时候,将比较收到的Originator_ID和本地的Router ID,如果两个ID相同,BGP Speaker会忽略掉这条路由,不做处理。

  Originator_ID属性保证路由在反射器和客户机/非客户机之间的不出现循环。

  四、Cluster_List

  对于AS之间,BGP用于防止环路的主要措施是通过AS_Path属性记录途经的AS路径,带有本地AS号的路由将被路由器丢弃;对于AS之内,BGP防止路由环路的方法是禁止IBGP对等体发布从AS内部学来的路由。

  路由反射器的实现是基于放宽对"BGP在AS内学到的路由不会在AS中转发"的要求,即允许IBGP对等体之间发布从AS内部学来的路由。在这种情况下,Cluster_List属性被引入,用于防止AS内部的环路。

  Cluster_List由一系列的Cluster_ID组成,描述了一条路由所经过的反射器路径,这和描述路由经过的As路径的AS_Path属性有相似之处。Cluster_List由路由反射器产生。

  1)当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster_ID添加到Cluster_List的前面。如果Cluster_List为空,RR就创建一个。

  2)当RR接收到一条更新路由时,RR会检查Cluster_List.如果Cluster_List中已经有本地Cluster_ID,丢弃该路由;如果没有本地Cluster_ID,将其加入Cluster_List,然后反射该更新路由。

  为了保证客户机可以学习到反射器发来的路由,Cluster_ID不能和客户机的Router ID相同。如果相同,客户机会将收到的路由丢弃。Cluster_List只在AS内部传播,从EBGP对等体收到的含有Cluster_List的路由将被丢弃。