• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

SAVNET技术白皮书-6W102

手册下载

SAVNET技术白皮书-6W102-整本手册.pdf  (521.38 KB)

  • 发布时间:2024/12/17 19:33:06
  • 浏览量:
  • 下载量:

SAVNET技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  产生背景

本着“人之初,性本善”的理念,互联网体系结构在设计之初,假设所有网络成员均是可信的,没有考虑网络成员不可信带来的安全威胁。因此,网络设备只基于报文的IPv6目的地址对报文进行转发,不对转发报文的IPv6源地址的真实性进行验证,从而给伪造IPv6源地址的攻击以可乘之机。

其中,最为严重的是反射型DDoSDistributed Denial of Service,分布式拒绝服务)攻击。反射型DDoS攻击通过伪造受害者的IPv6地址,冒充受害者给放大器发送攻击报文,通过放大器(回应的报文数量远远大于请求的报文数量)反射给受害者。因具有成本低、追踪难、不需要大量“肉鸡”(僵尸主机,被黑客控制的电脑)、攻击性强等特点,反射型DDoS在网络中日益泛滥。以反射性DDoS为代表的伪造IPv6源地址的攻击,使得IPv6网络安全之路“荆棘丛生”。

SAVNETSource Address Validation in Intra-domain and Inter-domain Networks,域内域间源地址验证架构协议)是一种基于IPv6网络的源地址验证技术,能够防范网络攻击中的伪造IPv6源地址。该技术利用SAVNET协议报文生成的SAVNET表项,可以识别和阻断非法伪造的IPv6源地址报文,保障网络安全。

1.2  技术优点

SAVNET技术具有如下优点:

·     高效部署

SAVNET技术采用基于BGP协议的自动部署方式,相比传统的手动部署ACL方式具有更高的效率和便捷性,大大提高了部署效率。

·     升级影响小

SAVNET可以分批按需部署,无需一次升级所有设备,方便用户逐步升级网络。

·     谁部署谁受益

传统防御源地址欺骗技术,过滤本地发出的仿冒其他源地址的非法报文,但受益者却是其他网络。而SAVNET技术能够防止本地网络被非法IPv6源地址流量攻击,实现了谁部署谁受益。

·     验证准确性高

SAVNET可以解决非对称路由场景下严格型uRPF的误检测问题,从而提高了源地址验证的准确性和可靠性。

域内SAVNET技术实现

2.1  域内SAVNET协议信息

SAVNET邻居设备之间通过交互SPASource Prefix Advertisement,源前缀通告)信息和DPPDestination Prefix Probing,目的前缀探测)信息,在每台SAVNET设备上生成SAVNET表项(IPv6报文源前缀和报文入接口的映射关系)。

1. SPA信息

SAVNET设备通过SPA信息在SAVNET邻居之间通告各SAVNET设备本地学习到的源前缀信息,最终使得同一个SAVNET域内的每台SAVNET设备上均能学习到所有SAVNET设备本地学习到的源前缀信息。SPA信息中包含如下重要内容:

·     Origin Router ID:源Router ID。用于标识发送SPA信息的SAVNET设备。

·     Source Prefixes:源前缀信息。源前缀信息来源于设备本地学习到的直连、静态UNRUser Network Route,用户网络路由)IGPEBGP路由,可以通过在BGP IPv6 SAVNET地址族下配置路由引用功能引入这些路由。

2. DPP信息

SAVNET设备通过发送DPP信息,探测指定目的地址的IPv6报文在域内的转发路径,沿途的SAVNET设备根据DPP信息生成SAVNET表项。DPP信息中包含如下重要内容:

·     Origin Router ID:源Router ID。用于标识发送DPP信息的SAVNET设备。

·     Dest Prefixes:目的前缀信息。目的前缀来源于设备本地IPv6 FIB表中的非直连转发目的前缀。

·     Router ID ListRouter ID列表。用于记录DPP信息的转发路径。SAVNET邻居设备在接力转发DPP信息时,会将自己的源Router ID添加到Router ID List中,再转发给下一跳邻居设备。

2.2  SAVNETBGP扩展

2.2.1  新增路由类型

SAVNET设备通过BGPBorder Gateway Protocol,边界网关协议)来传递SAVNET协议信息。BGP为此新增了BGP IPv6 SAVNET地址族,并通过该地址族下的会话交互BGP IPv6 SAVNET路由信息。其中,BGP IPv6 SAVNET地址族的AFIAddress Family Identifier,地址族标识符)为2SAFISubsequent Address Family Identifier,子地址族标识符)为251

BGP IPv6 SAVNET路由类型包含如下两种:

·     SPA路由:用于传递SPA信息。

·     DPP路由:用于传递DPP信息。

2.2.2  路由生成机制

1. SPA路由

(1)     生成SPA路由:在BGP IPv6 SAVNET地址族视图下引入IGP路由协议的路由后,SAVNET设备会生成SPA路由,SPA路由包含源前缀以及源Router ID信息,生成的路由信息中的前缀为引入IGP路由协议的路由前缀,生成的路由的源Router ID为设备本地配置的Router ID

(2)     发布SPA路由:SPA路由对应的IP路由的出接口为SAVNET用户侧接口时,才能被发布给BGP IPv6 SAVNET对等体。

2. DPP路由

SPA路由生成后,存在以下两种DPP路由的生成方式:

·     根据IPv6 FIB转发表中非直连表项的转发目的前缀生成DPP路由(非直连表项的下一跳地址不属于本地直连网段)。DPP路由信息中包含源Router ID、目的前缀以及Router ID列表,其中源Router ID为设备本地配置的Router ID,目的前缀与IPv6 FIB转发表中的非直连转发目的前缀相同,Router ID列表中的Router ID为设备本地配置的Router ID

·     根据SAVNET设备已经应用的IPv6策略路由生成DPP路由。IPv6策略路由需要应用在本地发布的源前缀所在的接口上才能生成DPP路由。生成的DPP路由信息中包含源Router ID、目的前缀以及Router ID列表,其中源Router ID为设备本地配置的Router IDRouter ID列表中的Router ID为设备本地配置的Router ID,目的前缀与设备应用的IPv6策略路由关系如下:

¡     对于设置了ACL匹配的IPv6策略路由:

-     如果该ACL存在仅匹配源地址的permit规则,不存在匹配目的地址的规则,则需要ACL源地址能够匹配本地发布的源前缀信息,才能生成目的前缀为任意IPv6地址::DPP路由;否则,不生成DPP路由。

-     如果该ACL存在同时匹配源地址和目的地址的permit规则,则需要ACL源地址能够匹配本地发布的源前缀信息,才能生成目的前缀为ACL目的地址的DPP路由;否则,不生成DPP路由。

-     如果该ACL存在仅匹配目的地址的permit规则,不存在匹配源地址的规则,则生成目的前缀为该目的地址的DPP路由。如果ACL匹配的目的地址为any,则生成目的前缀为任意IPv6地址::DPP路由。

-     如果该ACL不存在任何permit匹配规则,则不生成DPP路由。

¡     对于设置了其他匹配规则的IPv6策略路由,DPP路由的目的前缀为任意IPv6地址::

经过以上两种DPP路由生成方式生成的路由相互独立,即使通过两种方式生成的DPP路由携带的目的前缀相同,设备也会生成两条不同的DPP路由。根据IPv6 FIB转发表生成的DPP路由子协议类型为1,根据IPv6策略路由生成的DPP路由子协议类型为2,用户可以通过此信息进行区分。

2.3  域内SAVNET工作机制

2.3.1  基本工作机制

域内SAVNET的基本工作机制可以概括为如下:

(1)     合法源前缀通告

(2)     目的前缀路径探测

(3)     SAVNET验证表项生成

(4)     IPv6报文合法性验证

2. 合法源前缀通告

连接用户侧网络的始发节点A认为本地连接的用户网络前缀P1P2为合法源前缀,将合法源前缀通过SPA报文在域内泛洪通告给其他节点,使得所有节点上均能学习到用户网络侧的合法源前缀。

说明

基本工作机制的介绍,以组网图中的始发节点A为例。

 

图1 合法源前缀通告

 

3. 目的前缀路径探测

始发节点A和其他中继节点通过传递DPPDestination Prefix Probing,目的前缀探测)报文,完成到达指定目的前缀的转发路径探测:

(1)     始发节点A根据本地路由表信息,生成DPP报文发给中继节点。DPP报文中携带“始发节点ARouter ID、通过某一出接口能够到达的所有目的前缀集合”,通过该出接口发送给下一节点(下一节点为路由表中目的前缀对应的下一跳节点)。

比如,通过查找节点A上的路由表,可以发现通过出接口A1可达的目的前缀为P3P4,下一跳为B。那么节点A将通过A1接口将如图所示的DPP报文发送给B

说明

由于P3是节点B的合法源前缀,因此目的前缀P3的探测在节点B处结束,目的前缀P3不会出现在中继节点B中继发出的DPP报文中。其他中继节点类似

 

(2)     中继节点B收到DPP报文后,会记录始发节点A对应的合法源前缀与DPP报文入接口之间的对应关系,即SAVNET验证表【P1P2B1】。同时,B根据收到的DPP报文中可达的目的前缀,继续查找本地路由表,中继发送DPP报文探测。

图2 目的前缀路径探测

 

4. SAVNET验证表项生成

各中继节点根据收到DPP报文中的Router ID,找到包含相同Router IDSPA报文,得到对应的合法源前缀。将合法源前缀与收到DPP报文的入接口进行绑定,生成SAVNET验证表——合法源前缀和合法入接口的对应关系。

图3 SAVNET验证表项生成

 

5. IPv6报文合法性验证

各节点根据SAVNET验证表对收到的IPv6报文合法性进行校验。如果存在该报文的IPv6源地址和入接口对应的SAVNET表项,则认为该报文合法,正常处理该报文;否则,则认为该报文非法,直接丢弃。

图4 IPv6报文合法性验证

 

2.3.2  BGP在工作机制中的应用

BGPSAVNET工作机制中的应用,主要体现在如下:

(1)     通过建立BGP邻居建立SAVNET组网

(2)     BGP IPv6 SAVNET对等体通告SPA路由

(3)     BGP IPv6 SAVNET对等体间传递DPP路由

2. 建立BGP邻居组网SAVNET

在设备之间建立BGP邻居并配置BGP IPv6 SAVENET地址族,建立SAVNET邻居。

3. BGP IPv6 SAVNET对等体间通告SPA路由

SAVNET设备生成SPA路由后,会将SPA路由发布给所有的BGP IPv6 SAVNET对等体,SPA路由接收方配置了路由反射功能后,可以将该路由反射出去。在SPA路由的传播过程中,路由信息中携带的源前缀和源Router ID不会发生改变。

设备通过BGP IPv6 SAVNET会话收到SPA路由后,将SPA路由信息中的Router ID与本地配置的Router ID进行比较:

·     如果相同,则丢弃该路由。

·     如果不同,则将SPA路由信息中的源前缀信息和Router ID的对应关系保存到本地的邻居信息表中,同时将SPA路由反射给其他BGP IPv6 SAVNET对等体。

4. BGP IPv6 SAVNET对等体间传递DPP路由

SAVNET设备生成DPP路由后,根据生成的方式不同,发送机制如下。

·     根据IPv6 FIB转发表中非直连表项的转发目的前缀生成的DPP路由:查找DPP路由的目的前缀在IPv6 FIB表中的下一跳出接口,并判断设备是否通过该出接口建立了直连BGP IPv6 SAVNET对等体。如果建立了直连对等体,则设备会将DPP路由发送给该直连对等体;如果未建立直连对等体,则设备不会将DPP路由发送出去。

·     根据SAVNET设备已经应用的IPv6策略路由生成的DPP路由:设备判断IPv6策略路由设置的报文下一跳出接口上是否建立了直连BGP IPv6 SAVNET对等体。如果建立了直连对等体,则设备会将DPP路由发送给该直连对等体;如果未建立直连对等体,或应用的IPv6策略路由未设置报文下一跳,则设备不会将DPP路由发送出去。

上述机制的作用是借助去往远端目的前缀的最优路径,向远端设备发送DPP信息,使得沿途设备均可以根据收到DPP信息的接口生成SAVNET表项。

设备在接收到DPP路由后,将收到的DPP路由中的源Router ID与本地配置的Router ID进行比较:

·     如果相同,则丢弃该DPP路由。

·     如果不同,则将接收到的DPP路由中携带的目的前缀与本地IPv6 FIB表进行匹配:

¡     如果存在能到达该前缀的IPv6 FIB表项,则将本地配置的Router ID作为路由属性添加到DPP路由信息的Router ID列表中,查找该前缀在FIB中的下一跳出接口,并判断设备是否通过该出接口建立了直连BGP IPv6 SAVNET对等体。只有建立了直连对等体,设备才会将DPP路由仅转发给该直连对等体。

¡     如果DPP路由携带的目的前缀为任意IPv6地址::,则设备会查找本地IPv6 FIB转发表中的每一个非直连表项,并为每一个非直连表项生成一个DPP路由,DPP路由携带的目的前缀与非直连表项的目的地址前缀相同。本过程生成的DPP路由亦只会被设备发送给在非直连表项的下一跳出接口上建立了直连BGP IPv6 SAVNET会话的对等体。

¡     如果不存在能到达该前缀的IPv6 FIB表项,则丢弃该DPP路由。

2.3.3  工作机制详细解析示例

5所示,在SAVNET网络中,Device ADevice BDevice C均为SAVNET设备,其中Device A通过10::/64网段与用户网络相连。为了保障核心网络的安全性,需要Device BDevice C均生成SAVNET表项,仅处理各自收到的来自Port 1的用户网络报文。

图5 SAVNET组网图

 

部署了SAVNET功能后,SAVNET协议信息的传递以及SAVNET表项的详细生成过程为:

(2)     Device ABGP IPv6 SAVNET地址族中引入本地的直连路由,生成源前缀为10::/64、源Router ID1.1.1.1SPA路由,并发布给Device BDevice B收到SPA路由后,记录其中的源前缀信息与源Router ID的对应关系,并将该SPA路由反射给Device CDevice C收到Device B反射的SPA路由后,记录其中的源前缀信息与源Router ID的对应关系。

(3)     Device A查找本地IPv6 FIB表项,其中22::/6430::/64均为非直连的转发目的前缀,即产生两条DPP路由,两条DPP路由的目的前缀分别为22::/6430::/64,源Router ID均为1.1.1.1Router ID列表中的Router ID均只包含1.1.1.1

(4)     Device AIPv6 FIB表项中,转发目的前缀22::/6430::/64的下一跳出接口均为Port 1,且Device ADevice B通过Port 1建立了直连BGP IPv6 SAVNET会话,所以Device A将产生的两条DPP路由均发布给Device B

(5)     Device B接收到目的前缀为22::/64DPP路由后,根据该DPP路由信息中携带的源Router ID,查找到本地保存过该源Router ID对应的源前缀信息,即生成匹配的前缀为源前缀10::/64、入接口为Port 1SAVNET表项。在后续的报文转发中,Device B如果收到源IPv6地址属于10::/64前缀的报文,则仅会处理当中从Port 1收到的报文。由于目的前缀22::/64Device BIPv6 FIB表项中为直连的转发目的前缀,Device B不会将目的前缀为22::/64DPP路由转发出去。

(6)     Device B接收到目的前缀为30::/64DPP路由后,根据该DPP路由信息中携带的源Router ID,查找到本地保存过该源Router ID对应的源前缀信息,即生成匹配的前缀为源前缀10::/64、入接口为Port 1SAVNET表项。目的前缀为30::/64DPP路由和目的前缀为22::/64DPP路由携带的源Router ID相同,触发生成的SAVNET表项亦相同,但是Device B不会生成重复的SAVNET表项,仅会生成一条SAVNET表项。

(7)     Device B查找本地IPv6 FIB表项,其中30::/64为非直连的转发目的前缀,下一跳出接口为Port 2,并且Device B通过Port 2Device C建立了直连BGP IPv6 SAVNET会话。所以Device B将本地的Router ID填入来自Device A的、目的前缀为30::/64DPP路由,不修改路由信息中的源Router ID,并通过Port 2将该DPP路由转发给Device C

(8)     Device C接收到目的前缀为30::/64DPP路由后,根据该DPP路由信息中携带的源Router ID,查找到本地保存过该源Router ID对应的源前缀信息,即生成匹配的前缀为源前缀10::/64、入接口为Port 1SAVNET表项。在后续的报文转发中,Device C如果收到源IPv6地址属于10::/64前缀的报文,则仅会处理当中从Port 1收到的报文。由于目的前缀30::/64Device CIPv6 FIB表项中为直连的转发目的前缀,Device B不会将目的前缀为30::/64DPP路由转发出去。

2.4  域内SAVNET增强功能

2.4.1  代理DPP路由

1. 产生背景

在如6所示的组网中,前缀1::1/128Device E发布给网络中的其他所有设备。Device A将该前缀引入到BGP IPv6 SAVNET地址族后,生成SPA路由和DPP路由向外发布。其中,DPP路由的发布路径如6中的蓝色路径所示。

正常情况下,Device E接收到来自Device ASPA路由和DPP路由后,会生成接口为Port 1SAVNET表项,即只会处理从Port 1接口收到的报文。如果Device BDevice C之间的链路断开,则需要等到Device A去往1::1/128的路由重新收敛并重新生成DPP路由后,Device E才能从Device ADevice BDevice DDevice E路径收到更新的DPP路由并更新生成的SAVNET表项,以确保能够处理从Port 2接口收到的报文。

图6 代理DPP路由组网组

 

目前DPP路由在BGP协议中通过Route-refresh消息进行发送,具有一定的发送周期。由于不能实时响应网络中的链路变化,DPP路由的更新可能不及时。

2. 工作机制

BGP通过支持DPP路由的代理发送功能,来解决SAVNET网络中的上述问题。

DPP路由的产生端(如图中Device B,后续称之为DPP中继设备)在收到DPP路由后,记录并保存DPP路由要探测的前缀信息。如果目的前缀的下一跳发生了更改,但此时该DPP中继设备未收到更新的DPP报文,则该中继设备立刻产生一个相同目的前缀的代理DPP路由,并发送给能够到达该目的前缀的下一跳BGP IPv6 SAVNET对等体。对等体收到代理DPP路由后,将该路由作为普通DPP路由进行转发。

在本例中,Device BDevice C之间的链路断开,Device A路由重新收敛后,可能还处在等待发送下一个DPP路由的周期内,无法及时发送DPP路由以帮助其他设备更新SAVNET表项。Device B路由收敛后,未收到来自Device ADPP更新路由,便立即发布代理DPP路由,沿着Device BDevice DDevice E将代理DPP路由传递至Device EDevice E根据代理DPP路由更新生成的SAVNET表项,以保证可以正确处理从Port 2接口收到的报文。

代理DPP路由的效果与路由完全收敛后Device A自身发出更新后的DPP路由相同。代理DPP路由的好处是无需等待DPP路由产生端设备发送DPP路由的间隔周期,在网络中到达目的前缀的下一跳发生变化后,快速进行响应,以更新SAVNET设备的SAVNET表项,尽可能地减少报文丢失。

2.4.2  接入场景生成SAVNET表项

1. 场景介绍

缺省情况下,SAVNET设备需要收到DPP路由才能生成SAVNET表项。由于产生DPP路由的设备需要FIB存在非直连表项或者策略路由,DPP路由往往只能在部署了SAVNET的骨干网设备上产生。在如7所示的组网中,通过PE接入骨干网的CE设备无法产生DPP路由,导致PE 1PE 2无法生成针对子网内源前缀P1P2、和P3SAVNET表项。

图7 接入场景SAVNET组网图

 

为了解决上述问题,SAVNET提供了一种仅需SPA路由就能生成SAVNET表项的机制,以帮助PE过滤仿冒报文的同时,允许合法报文通过。本机制支持单归接入和多归接入两种场景。

2. 工作机制

在接入场景中,PE设备为自身的接口配置SAVNET接入标签后,该标签的信息可以被携带在SPA路由中,根据SPA路由携带的接入标签信息,收到SPA路由的设备即可生成SAVNET表项。具体的工作机制为:

(1)     PE设备可以为自身的接口配置SAVNET接入标签,标签信息包含标签值和接入类型。

(2)     PE设备在引入源前缀信息从而生成SPA路由时,通过路由策略为生成的SPA路由携带包含标签值和接入类型的接入标签信息。

(3)     PE设备在生成或收到携带接入标签信息的SPA路由时,进行如下判断:

¡     如果设备本地存在与SPA路由携带的接入标签信息相同的接口,则设备生成SAVNET表项,表项的源前缀为SPA路由携带的源前缀,入接口为与SPA路由接入标签信息相同的接口。

¡     如果设备本地不存在与SPA路由携带的接入标签信息相同的接口,则设备不生成SAVNET表项。

(4)     如果设备收到更新的SPA路由,则根据SPA路由生成的SAVNET表项也会同步进行更新。

3. 场景举例

图8 接入标签作用机制

 

8所示的组网中,PE 1PE 2作为SAVNET骨干网的边缘设备,为CE 1CE 2提供接入服务。其中,CE 1单归接入PE 1CE 2多归接入PE 1PE 2CE 1将子网1内的前缀信息P1发布给PE 1CE 2将子网2内的前缀信息P2发布给PE 1,将子网2内的前缀信息P3发布给PE 2

PE 1PE 2的接入标签信息配置如8所示,根据该接入标签信息生成SAVNET表项的过程为:

(2)     PE 1根据前缀信息P1P2生成SPA路由,并通过路由策略为SPA路由添加接入标签信息:

¡     SPA路由1携带的源前缀为P1,接入标签值为1,接入类型为单归接入。

¡     SPA路由2携带的源前缀为P2,接入标签值为2,接入类型为完整多归接入。

(3)     PE 1Interface 1SPA路由1的接入标签信息相同,生成源前缀为P1、入接口为Interface 1SAVNET表项。PE 1Interface 2SPA路由2的接入标签信息相同,生成源前缀为P2、入接口为Interface 2SAVNET表项。

(4)     PE 2根据前缀信息P3生成SPA路由3,并通过路由策略为SPA路由添加接入标签信息。生成的SPA路由3携带的源前缀为P3,接入标签值为2,接入类型为完整多归接入。

(5)     PE 2Interface 1SPA路由3的接入标签信息相同,生成源前缀为P3、入接口为Interface 1SAVNET表项。

(6)     PE 1SPA路由12发布给PE 2PE 2SPA路由3发布给PE 1

(7)     PE 1Interface 2SPA路由3的接入标签信息相同,生成源前缀为P3、入接口为Interface 2SAVNET表项。

(8)     PE 2不存在与SPA路由1的接入标签信息相同的接口,所以不根据SPA路由1生成SAVNET表项。PE 2Interface 1SPA路由2的接入标签信息相同,生成源前缀为P2、入接口为Interface 1SAVNET表项。

跨域SAVNET技术实现

3.1  跨域SAVNET简介

SAVNET作为一种灵活的网络技术,不仅可以在单一自治系统(AS)内部署以提高网络的安全性和可管理性,而且还能扩展至跨越多个自治系统的大规模组网环境中。这种跨AS的部署能够为复杂网络结构中的流量传输提供强大的安全认证支持,确保数据在传输过程中的完整性和机密性得到保护。在域内SAVNET配置中,路由器IDRouter ID)是实现网络内部分段和路径选择的关键信息。路由器ID在同一自治系统内部是唯一的,可以有效地用于内部网络管理和路由决策。然而,当SAVNET需要在跨AS场景中运作时,路由器ID的局限性就凸显出来了。在这种复杂的网络环境中,单个AS的标识——也就是AS号——成为了更为关键的信息。AS号可以帮助区分不同的自治系统,是维护跨域流量管理和控制的核心标识。为了在跨AS域部署SAVNET并实现既定的安全目标,需要设计和实施一系列额外的信息和机制。这样,才能确保在跨AS的环境下,网络的安全性和隔离性得到同样的保障。

3.2  跨域SAVNET组网模型

图9 跨域SAVNET组网模型

 

9所示,在通过SAVNET对跨域流量进行安全验证的场景中,存在如下两个需要配置的AS域:

·     AS:报文源地址的前缀所属的AS

·     验证AS:需要生成SAVNET表项,来对跨域流量进行安全验证的AS

图10 跨域SAVNET组网部署

 

10所示,在源AS和验证AS内,均需要从所有的边界设备中选出一个DRDesignated Router,指定路由器)设备。DR设备之间需要建立EBGP IPv6 SAVNET会话,以交互域间的SAVNET协议信息。非DRASBR均需要与本域内的DR建立IBGP IPv6 SAVNET会话,以交互域内的SAVNET协议信息。

3.3  跨域SAVNET协议信息

SAVNET新增了如下两类协议信息,以实现跨域的SAVNET组网:

·     域间SPA信息:验证ASDR通过域间SPA信息学习到源AS域的源前缀信息,并且通过IBGP IPv6 SAVNET会话将源前缀信息扩散给验证AS内的其他ASBR域间SPA信息主要包括如下内容

¡     Source AS Number:源前缀信息的始发AS号,即源ASAS号。

¡     Source Prefixes:源前缀地址。来自于源ASASBR本地学习到的直连、静态、UNRIGPEBGP路由。

·     域间DPP信息:源AS向验证AS发送域间DPP信息,帮助验证AS内的ASBR确定去往源AS的最佳出口,并根据该出口生成SAVNET表项。域间DPP信息主要包括如下内容:

¡     Source AS Number:域间DPP信息的始发AS号,即源ASAS号。

¡     Validation AS Number:域间DPP信息要发往的目的AS号,即验证ASAS号。

¡     Ingress Neighbor AS List:入口邻居的AS列表,表示从源AS去往验证AS的所有最佳路径上,到达验证AS前的上一跳AS

说明

跨域的SPA信息和DPP信息仍然通过SPA路由以及DPP路由进行传播。传播域内SPA信息的SPA路由被称为域内SPA路由,传播域间SPA信息的SPA路由被称为域间SPA路由,传播域内DPP信息的DPP路由被称为域内DPP路由,传播域间DPP信息的DPP路由被称为域间DPP路由。

 

3.4  跨域SAVNET工作机制

图11 跨域SAVNET表项生成过程

 

11所示,跨域SAVNET表项的生成过程为:

(1)     AS内的ASBR引入源前缀P 1P 2后,通过域内的SPA路由将源前缀信息发布给DR设备ASBR 3

(2)     ASBR 3将域内SPA路由转化为域间SPA路由并发送给对端的DR设备ASBR 4。转化后的域间SPA路由携带的源前缀不变,并携带源ASAS号。

(3)     ASBR 4记录域间SPA路由携带的源前缀信息以及源ASAS号,并将域间SPA路由直接转发给验证AS内的其他ASBR

(4)     验证AS内的非DRASBR设备记录域间SPA路由携带的源前缀信息以及源ASAS号。

(5)     在源AS内非DRASBR上指定DR设备,并且指定验证ASAS号后,会收集自身去往验证ASAS_PATH中的入口邻居AS号,并将收集到的入口邻居AS号发送给DR设备ASBR 3

图12 AS收集入口邻居AS号示意图

 

收集入口邻居AS的过程如12所示。源ASASBR取本地BGP路由表中的所有经过或者来自验证AS的优选路由的AS_PATH,并取其中所有验证AS的后一跳AS(也就是从源AS去往验证AS路径中,到达验证AS的前一跳AS),将其汇总后由源ASDR发送给验证ASDR。例如,源AS100,验证AS200,源AS共从验证AS收到来自两条不同路径的优选路由,分别经过AS 5AS 10以及AS 20。对于两条路由,其AS_PATH中针对验证AS 200的入口邻居AS分别为AS 10AS 20AS 100内的ASBR即会将这些AS都汇总到DR中,由DR将入口邻居AS整合为入口邻居AS列表发送给AS 200。目前,设备在收集入口邻居AS时也支持收集FRR中备路由的入口邻居AS,以确保跨域流量在快速路径切换后也可以通过安全验证。

(6)     ASBR 3上指定验证ASAS号后,也会收集自身BGP路由中的入口邻居AS号。然后ASBR 3汇总域内所有的入口邻居AS,形成入口邻居AS列表,通过域间DPP路由发送给对端DR设备ASBR 4

(7)     ASBR 4收到域间DPP路由后,根据其中携带的入口邻居AS列表,找到去这些邻居的出接口(根据属于入口邻居AS的邻居IP地址,查找路由表中该IP地址的出接口),并且根据域间DPP路由中的源AS号找到来自该AS的源前缀,为这些源前缀形成SAVNET表项,形成的SAVNET表项的入接口即为去往入口邻居的出接口。每一个邻居AS号都能生成一份SAVNET表项。

(8)     ASBR 4将收到的域间DPP路由转发给域内的其他ASBR,其他ASBR也根据路由携带的域间DPP信息,通过与步骤(7)相同的过程形成SAVNET表项。

典型组网应用

13所示,局域网中的合法用户地址前缀为10::/64。在Decice ADevice B上均配置SAVNET功能,满足如下需求:

·     Device ADevice B之间建立SAVNET邻居,通过BGP交互SPADPP路由,在Device B上生成相应的SAVNET表项

·     经由Device A进入SAVNET网络的IPv6报文,将在Device B上基于SAVNET表项进行源地址的合法性检查,有对应表项的报文会被接收和转发。

图13 SAVNET典型组网应用

 

新华三官网
联系我们