CN112398741A - 学习路由的方法、转发报文的方法、设备和存储介质 - Google Patents
学习路由的方法、转发报文的方法、设备和存储介质 Download PDFInfo
- Publication number
- CN112398741A CN112398741A CN201910988765.3A CN201910988765A CN112398741A CN 112398741 A CN112398741 A CN 112398741A CN 201910988765 A CN201910988765 A CN 201910988765A CN 112398741 A CN112398741 A CN 112398741A
- Authority
- CN
- China
- Prior art keywords
- belongs
- target area
- network device
- area
- original
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000012795 verification Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 16
- 238000013475 authorization Methods 0.000 claims description 6
- 101150045440 ISP1 gene Proteins 0.000 description 24
- 101100353471 Mus musculus Prss28 gene Proteins 0.000 description 24
- 101100509103 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ish1 gene Proteins 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 101000610620 Homo sapiens Putative serine protease 29 Proteins 0.000 description 13
- 102100040345 Putative serine protease 29 Human genes 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 241001189642 Theroa Species 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005242 forging Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 101710128746 Cytochrome b6-f complex iron-sulfur subunit 1 Proteins 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种学习路由的方法。包括:网络设备获取来自BGP邻居的BGP路由信息;当BGP邻居所属的目标区域与BGP路由所属的目标区域相同时,网络设备对BGP路由信息进行学习。一种转发报文的方法。包括:网络设备通过网络接口接收报文;当网络接口所属的目标区域与报文的所属的目标区域相同时,网络设备转发报文。通过上述方法,网络设备在接收BGP路由信息或接收报文后进行区域验证,确保学习真实可靠的BGP路由信息,或者确保所转发报文的来源真实可靠,防止外部ISP伪造BGP路由信息或劫持报文,提高网络安全。
Description
本申请要求于2019年8月15日提交的申请号为201910754931.3、发明名称为“一种BGP网络中接收路由的方法、设备和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种学习路由的方法、转发报文的方法、设备和存储介质。
背景技术
在网络中,基于边界网关协议(border gateway protocol,BGP)路由的安全攻击每天都在发生,例如,外部互联网服务提供商(internet service provider,ISP)可能通过伪造BGP路由信息的方式实现对用户流量的窃听。
发明内容
本申请提供了一种学习路由的方法、转发报文的方法、设备和存储介质,用于解决外部ISP伪造BGP路由信息的技术问题,提高网络安全。
第一方面,本申请提供了一种学习路由的方法,所述方法应用在基于边界网关协议BGP的网络中的第一网络设备中,所述网络还包括第二网络设备,所述第一网络设备通过BGP与所述第二网络设备通信,所述方法包括:所述第一网络设备获取来自所述第二网络设备的BGP路由第一BGP路由信息,所述第一BGP路由信息包括验证信息;所述第一网络设备根据所述验证信息确定所述第一BGP路由信息所属的目标区域;当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同时,所述第一网络设备对学习所述第一BGP路由信息。
该方法可以由网络中的提供商边缘(provider edge,PE)设备执行。网络设备在接收来自BGP邻居的BGP路由信息后进行区域验证,确保学习真实可靠的BGP路由信息,防止外部ISP伪造BGP路由信息,提高网络安全。
在一种可能的设计中,所述方法还包括:当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域不同时,所述第一网络设备丢弃所述第一BGP路由信息,即所述第一网络设备不保存所述BGP路由信息。对于区域不一致的BGP路由信息,进行丢弃,确保网络安全。
在一种可能的设计中,所述方法还包括:当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域不同时,将所述第一BGP路由信息的优先级设置为第一优先级,所述第一优先级低于第二优先级,第二BGP路由信息的优先级为第二优先级,所述第二BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同。对于第二网络设备的目标区域与BGP路由信息的目标区域不相同的情况,通过将BGP路由信息设置为较低的优先级,使得对于目标区域不一致的BGP路由信息,后续选择路由时不会被优先选择,确保网络安全。
在一种可能的设计中,所述验证信息包括第一原始自治系统AS,所述第一网络设备根据所述验证信息确定所述第一BGP路由信息所属的目标区域,包括:所述第一网络设备将所述第一原始AS所属的目标区域作为所述第一BGP路由信息所属的目标区域。
在该方法中,BGP网络中的网络设备被划分成不同的区域,BGP路由信息根据携带的原始AS对应特定的区域。
在一种可能的设计中,所述方法还包括:所述第一网络设备获得区域信息,所述区域信息包括所述第二网络设备的标识信息与所述第二网络设备所属的目标区域的映射关系,以及所述第一原始AS与所述第一原始AS所属的目标区域的映射关系;所述第一网络设备根据所述第二网络设备的标识信息和所述区域信息确定所述第二网络设备所属的目标区域;所述第一网络设备根据所述第一原始AS和所述区域信息确定所述第一原始AS所属的目标区域。
在一种可能的设计中,所述第一网络设备学习所述第一BGP路由信息之前,所述方法还包括:所述第一网络设备确定所述第一原始AS与第二原始AS相同,所述第二原始AS是从路由起源授权ROA数据中获取到的与所述第一BGP路由信息对应的原始AS。
在该方法中,网络设备在利用原始AS确定BGP路由信息所属的目标区域之前,对原始AS的可靠性进行验证。
在一种可能的设计中,所述目标区域包括区域、区域联盟、或者区域和区域联盟的组合。
第二方面,本申请提供了一种转发报文的方法,所述方法应用在基于边界网关协议BGP的网络中的第一网络设备中,所述第一网络设备包括网络接口,所述方法包括:所述第一网络设备通过所述网络接口接收报文,所述报文包括源地址;所述第一网络设备根据所述源地址确定所述报文所属的目标区域;当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,所述第一网络设备转发所述报文。
该方法可以由网络中的提供商边缘(provider edge,PE)设备执行。网络设备在通过网络接口接收报文后进行区域验证,确保报文来源真实可靠时再转发报文,防止外部ISP通过伪造BGP路由信息的方式劫持本区域的流量,提高网络安全。
在一种可能的设计中,所述方法还包括:当所述网络接口所属的目标区域与所述报文所属的目标区域不同时,所述第一网络设备丢弃所述报文,或者,所述第一网络设备记录所述报文。
在一种可能的设计中,所述源地址对应于第一BGP路由信息,所述第一BGP路由信息还包括第一原始自治系统AS,所述第一网络设备根据所述源地址确定所述报文所属的目标区域,包括:所述第一网络设备将所述第一原始AS所属的目标区域作为所述报文所属的目标区域。
在一种可能的设计中,所述网络还包括第二网络设备,所述第一网络设备通过BGP与所述第二网络设备通信,所述第一网络设备通过所述网络接口连接所述第二网络设备,所述方法还包括:所述第一网络设备获得区域信息,所述区域信息包括所述第二网络设备的标识信息与所述网络接口所属的目标区域的映射关系,以及所述第一原始AS与所述第一原始AS所属的目标区域的映射关系;所述第一网络设备根据所述第二网络设备的标识信息和所述区域信息确定所述网络接口所属的目标区域;所述第一网络设备根据所述第一原始AS和所述区域信息确定所述第一原始AS所属的目标区域。
在一种可能的设计中,所述第一网络设备转发所述报文之前,所述方法还包括:所述第一网络设备确定所述第一原始AS与第二原始AS相同,所述第二原始AS是从路由起源授权ROA数据中获取到的所述源地址所属的原始AS。
第三方面,本申请提供了一种网络设备,执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该网络设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第四方面,本申请提供了一种网络设备,执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该网络设备包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第五方面,本申请提供了一种网络设备,该网络设备包括:处理器、网络接口和存储器。网络接口可以是收发器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第一方面或第一方面的任意一种可能的实现方式,此处不再赘述。
第六方面,本申请提供了一种网络设备,该网络设备包括:处理器、网络接口和存储器。网络接口可以是收发器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第二方面或第二方面的任意一种可能的实现方式,此处不再赘述。
第七方面,本申请提供了一种网络设备,该网络设备包括:主控板和接口板。主控板包括:第一处理器和第一存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码执行如下操作:根据所述验证信息确定所述第一BGP路由信息所属的目标区域;当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同时,学习所述第一BGP路由信息。
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码,触发接口卡执行如下操作:获取来自所述第二网络设备的第一BGP路由信息,所述第一BGP路由信息包括验证信息。
第八方面,本申请提供了一种网络设备,该网络设备包括:主控板和接口板。主控板包括:第一处理器和第一存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码执行如下操作:根据所述源地址确定所述报文所属的目标区域;
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码,触发接口卡执行如下操作:通过所述网络接口接收报文,所述报文包括源地址;当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,转发所述报文。
第九方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第十方面,本申请提供了一种包括计算机程序指令的计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行第一方面、第二方面、第一方面的任意一种可能的实现方式或第二方面的任意一种可能的实现方式中提供的方法。
第十一方面,本申请提供了一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行该计算机程序,以执行上述第一方面及其第一方面任意可能的实现方式中的方法,或者,处理器执行第二方面或第二方面任意可能的实现方式中的方法。
可选地,上述芯片仅包括处理器,处理器用于读取并执行存储器中存储的计算机程序,当计算机程序被执行时,处理器执行第一方面或第一方面任意可能的实现方式中的方法,或者,处理器执行第二方面或第二方面任意可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种应用场景示意图;
图3A为本申请实施例提供的一种应用场景示意图;
图3B为本申请实施例提供的一种应用场景示意图;
图4为本申请实施例提供的一种学习路由的方法流程示意图;
图5为本申请实施例提供的一种转发报文的方法流程示意图;
图6为本申请实施例提供的一种网络设备的结构示意图;
图7为本申请实施例提供的一种网络设备的结构示意图;
图8为本申请实施例提供的一种网络设备的结构示意图;
图9为本申请实施例提供的一种网络设备的结构示意图;
图10为本申请实施例提供的一种网络设备的结构示意图;
图11为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
互联网(Internet)是网络与网络之间串连成的庞大网络,网络之间以一组通用的协议相连,依赖于基础设施来保证网络连通性、服务可用性和服务可信性。当前Internet基础设施主要包括:域间路由系统(Border Gateway Protocol,BGP)、域名系统(domain namesystem,DNS)和公钥证书体系(public key infrastructure,PKI)。然而,由于当前基础设施缺乏牢固安全可信根基,当前BGP协议本身对学习BGP路由信息并无安全认证机制,基于BGP路由信息的安全攻击每天都在发生,如源劫持、路径劫持、路由泄露等。因此,Internet安全问题是一个亟需解决的问题。为了验证BGP路由信息的起源是否正确,在BGP协议基础上引入了资源公钥基础设施(resource public key infrastructure,RPKI)机制。利用RPKI机制下发认证BGP路由信息所需的信息,然后用BGP路由信息中携带的内容和RPKI机制下发的信息对比来进行合法性校验。具体的,通过分布式的RPKI服务器收集各个互联网服务提供商(internet service provide,ISP)发起的BGP路由信息的原始自治系统(autonomous system,AS)、路由前缀、掩码等信息。并且,各个ISP发布BGP路由信息时,也需要在BGP路由信息中携带该BGP路由信息的原始AS。路由器跟RPKI服务器建立连接,在本地保存一份路由起源验证(route origination authorization,ROA)数据,ROA数据包括从RPKI服务器获得的BGP路由信息与原始AS的映射关系。当路由器收到外部邻居发布的BGP路由信息时,比较BGP路由信息中携带的原始AS和ROA数据中该BGP路由信息映射到的原始AS是否相同,从而验证从外部邻居收到的BGP路由信息是否合法,确保其管理域内主机能够安全访问外部的服务。
如图1所示的网络场景为例,目的服务器(10.1.0.0/16)在ISP1骨干接入,并向外部AS发布路由信息。该目的服务器属于AS3,则该路由信息携带的原始AS为AS3。并且10.1.0.0/16相关的路由信息与AS3的映射关系也通过RPKI服务器保存至ROA数据中。如果属于AS100的外部ISP伪造该服务器的更精确的路由信息(10.1.1.0/24),该路由信息携带的原始AS为AS100。外部ISP将伪造的路由信息发布给ISP1骨干。ISP1骨干通过ROA验证,比对ROA数据库中10.1.0.0/16~10.1.1.0/24相关的路由信息,发现该路由信息的原始AS应该是AS3,而从外部ISP接收到的路由信息中携带的AS100与其不匹配,则认为从外部ISP接收到的路由信息是无效的。即该验证方式通过验证路由信息中携带的原始AS是否正确来验证路由信息是否安全可靠。
然而,这种验证方式无法防范外部ISP伪造原始AS的攻击方式。如图2所示的网络场景为例,目的服务器(10.1.0.0/16)在ISP1互联网数据中心(internet data center,IDC)接入,IDC所属的AS为AS2。目的服务器(10.1.0.0/16)向外部AS发布10.1.0.0/16相关的路由信息,携带的原始AS为AS3。同样,10.1.0.0/16相关的路由信息与AS3的映射关系也通过RPKI服务器保存至ROA数据中。如果外部ISP想要劫持用户访问该服务器(10.1.0.0/16)的流量,伪造了10.1.1.0/24相关的路由信息,并且伪造了该路由信息的原始AS为AS2。ISP1骨干接收到外部ISP发布的10.1.1.0/24相关的路由信息,原始AS为AS2。在这种场景下,即使ISP1骨干部署有ROA,并利用ROA进行校验,也会认为该伪造路由信息携带的原始AS完全匹配,进而认为该伪造的路由信息安全可靠。
本申请实施例提供了学习路由的方法及基于该方法的设备和系统。方法、设备和系统的实施例可以相互参见,相同或类似之处不再赘述。该方法增加了区域的概念,通过为网络中的AS设置区域的属性,将AS划分为区域,进而利用区域对学习路由、报文转发进行校验,禁止区域内的路由从区域外部学习到,禁止区域内的报文进出区域外部,由此提高网络安全性。
图3A示出了本申请实施例的一种可能的应用场景。该场景包括若干AS:AS1,AS2,AS3,AS100等。其中,AS3可以是ISP1的骨干网,AS1可以是ISP1的城域网,AS2可以是ISP1的IDC,AS4可以是ISP2的骨干网,AS5可以是ISP2的城域网,AS6可以是ISP2的IDC,AS100可以是外部ISP的网络。AS3包括提供商边缘(provider edge,PE)设备1和PE2,AS1包括PE3,AS4包括PE4,AS100包括PE5。PE1分别与PE4和PE5连接,PE2和PE3连接,PE4与PE5连接。
将AS划分为不同区域的原则包括但不限于:一个ISP的多个具有互联关系的子ISP划分为一个区域,如果ISP1还具有入网点(point of presence,POP),但该POP不直接与ISP1的其他子ISP互联,那么该POP则不划分到ISP1的区域中。
如图3所示,AS1、AS2和AS3组成区域1,AS4、AS5和AS6组成区域2。PE1作为ISP1骨干出口设备,PE4作为ISP2骨干出口设备,均与外部ISP的PE5进行连接。
划分区域之后,为了区分不同的区域,可以为每个区域分配标识。例如分配的标识可以是一个数字编号;通过对每个区域进行编号,得到区域号,以通过区域号对区域进行管理。例如上述区域1和区域2,可以通过区域号对区域进行管理。
在一个示例中,多个区域可以组成区域联盟。区域联盟划分原则包括但不限于:一个地区(如一个国家)内多个具有直接互联关系的区域划分为一个区域联盟。如图6所示,区域1和区域2组成区域联盟1。
类似的,在划分区域联盟之后,也可以通过对每个区域联盟进行编号,得到区域联盟号,以通过区域联盟号对区域联盟进行管理。
在本申请实施例提供的方法中,区域的划分可以包括区域的划分、区域联盟的划分或者区域和区域联盟的同时划分。示例性地,如果本申请实施例仅划分区域时,可以不划分区域联盟。如果本申请实施例仅划分区域联盟时,可以不划分区域。本申请实施例也可以同时划分区域和区域联盟。
关于对区域和区域联盟进行编号的方式,本申请实施例不进行限定。示例性地,可以由全国互联网注册表(national internet registry,NIR)来管理区域的编号分配和区域联盟的编号分配。
在网络中,区域和/或区域联盟的划分方式可以表示为区域信息。区域信息可以包括AS号、区域号和/或区域联盟号。例如,区域信息包括:<区域编号,AS号>,或者,区域联盟信息包括<区域联盟编号,区域编号>。在本申请实施例提供的方法中,区域信息可以不包括BGP路由信息,此时,BGP路由信息和AS的映射关系可以通过ROA数据库获得。
区域和/或区域联盟的划分以及区域信息的发布可以由区域数据服务器执行,也可以通过网络设置来完成。以图3A或图3B所示的应用场景为例,其中的各个PE可以连接区域数据服务器(图中未示出),区域数据服务器向各个PE设备下发区域信息。
例如,对于图3A所示的区域1,区域数据服务器为其设置区域号1,关于区域1中的AS1内的网络设备,区域数据服务器下发的区域信息可以为<1,1>。其中,<1,1>中的第一个1代表区域1,第二个1代表AS1,即这些设备所属的AS为AS1,这些设备所属的区域为区域1。类似的,区域数据服务器下发的关于AS2和AS3内的网络设备的区域信息分别为<1,2>和<1,3>。类似的,对于区域2,区域数据服务器下发的关于AS4、AS5和AS6内的网络设备的区域信息分别为<2,4>、<2,5>和<2,6>。
网络设备根据区域信息确定BGP邻居所属的区域。以图3A所示的应用场景为例,PE1根据区域信息确定BGP邻居所属的区域,其中PE4所属的区域为区域2。PE4根据区域信息确定BGP邻居所属的区域,其中PE1所属的区域为区域1。
例如,对于图3B所示的区域联盟1,区域数据服务器为其设置区域联盟号1,关于区域联盟中的区域1内的网络设备,区域数据服务器下发的区域信息可以为<1,1>。其中,<1,1>中的第一个1代表区域联盟1,第二个1代表区域1,即这些设备所属的区域联盟为区域联盟1,这些设备所属的区域为区域1。类似的,区域数据服务器下发的关于区域2内的网络设备的区域信息可以为<1,2>。
类似的,网络设备根据区域信息确定BGP邻居所属的区域联盟。以图3B所示的应用场景为例,PE1根据区域信息确定BGP邻居所属的区域联盟,其中PE4所属的区域联盟为区域联盟1。PE4根据区域信息确定BGP邻居所属的区域联盟,其中PE1所属的区域联盟为区域联盟1。
可选的,上述区域信息均可以通过手工配置在所有网络设备上,此时网络中可以不存在区域服务器。
利用以上描述的区域的概念,本申请实施例可以对BGP路由信息的真实可靠性进行验证。参阅图4,本申请实施例提供了一种学习路由的方法,该方法应用在基于BGP的网络中的第一网络设备中,该网络还包括第二网络设备,第一网络设备通过BGP与第二网络设备通信,该方法包括:
S210,第一网络设备获取来自第二网络设备的第一BGP路由信息,第一BGP路由信息包括验证信息。
在一个示例中,该BGP路由信息中携带的原始AS可以作为验证信息。
S220,第一网络设备根据验证信息确定第一BGP路由信息所属的目标区域。
可选的,第一网络设备将第一原始AS所属的目标区域作为第一BGP路由信息所属的目标区域。示例性地,目标区域包括区域、区域联盟或者区域和区域联盟的组合。例如,第一网络设备可以将第一BGP路由信息中携带的原始AS所属的区域,作为该第一BGP路由信息所属的区域,或者,第一网络设备可以将第一BGP路由信息中携带的原始AS所属的区域联盟,作为该第一BGP路由信息所属的区域,或者,第一网络设备可以将第一BGP路由信息中携带的原始AS所属的区域与区域联盟的组合,作为该第一BGP路由信息所属的区域。
结合图3A所示的网络场景,第一网络设备可以是ISP1骨干中的PE1,第二网络设备可以是ISP2骨干中的PE4或者外部ISP中的PE5,PE1通过BGP与PE4或PE5连接。ISP2骨干中的PE4接入的服务器(图3A中未示出),服务器地址可以是10.1.0.0/16,该服务器向外部AS发布BGP路由信息1,BGP路由信息1中包括的BGP前缀为10.1.0.0/16,BGP路由信息1中携带的原始AS为AS4,该AS4作为验证信息。当ISP1骨干中的PE1从PE4接收到BGP路由信息1时,PE1根据BGP路由信息1中的AS4,结合获得的区域信息,确定AS4所属的区域为区域2,则该BGP路由信息1所属的区域为区域2。
如果属于AS100的外部ISP中的PE5伪造该服务器的更精确的BGP路由信息2,其中包括的BGP前缀为10.1.1.0/24,该BGP路由信息2携带的原始AS为AS4。外部ISP将伪造的BGP路由信息2发布给ISP1骨干中的PE1,PE1根据BGP路由信息2中的AS4,结合获得的区域信息,确定AS4所属的区域为区域2,则该BGP路由信息2所属的区域为区域2。
结合图3B所示的网络场景,ISP2骨干中的PE4接入的服务器(图3B中未示出),服务器地址可以是10.1.0.0/16,该服务器向外部AS发布BGP路由信息1,BGP路由信息1中包括的BGP前缀为10.1.0.0/16,BGP路由信息1中携带的原始AS为AS4,该AS4作为验证信息。当ISP1骨干中的PE1从PE4接收到BGP路由信息1时,PE1根据BGP路由信息1中的AS4,结合获得的区域信息,确定AS4所属的区域为区域联盟1,则该BGP路由信息1所属的区域为区域联盟1。
如果属于AS100的外部ISP中的PE5伪造该服务器的更精确的BGP路由信息2,其中包括的BGP前缀为10.1.1.0/24,该BGP路由信息2携带的原始AS为AS4。外部ISP将伪造的BGP路由信息2发布给ISP1骨干中的PE1,PE1根据BGP路由信息2中的AS4,结合获得的区域信息,确定AS4所属的区域为区域联盟1,则该路由信息2所属的区域为区域联盟1。
S230,当第一BGP路由信息所属的目标区域与第二网络设备所属的目标区域相同时,第一网络设备学习第一BGP路由信息。
如上所述,本申请实施例提供的方法通过将网络中的多个AS划分为不同的区域和/或区域联盟。进而,该方法对接收到的路由信息进行校验,对于通过校验的路由信息才进行学习。禁止区域内的路由信息从区域外部学习到,禁止区域联盟内的路由信息从区域联盟外部学习到。网络设备校验BGP路由信息的规则如下:对于属于本区域的路由信息,从非本区域邻居接收则是无效或可疑的,对于属于本区域联盟的路由信息,从非本区域联盟邻居接收则是无效或可疑的。
因此,第一网络设备获取到来自第二网络设备的第一BGP路由信息后,先对BGP路由信息进行校验,具体的,对第一BGP路由信息所属的目标区域与BGP路由信息的来源设备,即第二网络设备,所属的目标区域进行比较。由于第一网络设备与第二网络设备之间通过BGP进行通信,因而,在第一网络设备与第二网络设备之间的BGP邻居建立后,通过该BGP邻居接收到的第一BGP路由信息的来源设备必然是第二网络设备。进而,第一网络设备根据第二网络设备的标识信息和区域信息能够确定出第二网络设备所属的目标区域。
示例性地,当第二网络设备所属的目标区域与第一BGP路由信息所属的目标区域相同时,第一网络设备对第一BGP路由信息进行学习,例如,第一网络设备将该第一BGP路由信息加入到第一网络设备的路由表中。
在一个示例中,当第二网络设备所属的目标区域与第一BGP路由信息所属的目标区域不相同时,第一网络设备不保存第一BGP路由信息。例如,对于从非本区域邻居学习到的本区域BGP路由信息,进行丢弃,确保网络安全。
在一个示例中,当第二网络设备所属的目标区域与第一BGP路由信息所属的目标区域不相同时,第一网络设备可以将该第一BGP路由信息设置为低优先级,例如,将第一BGP路由信息设置为较低的优先级。由于该第一BGP路由信息的优先级较低,在选路过程中优先使用其他优先级更高的路由,避免该BGP路由信息被优先选用,从而确保网络安全。其中,将该第一BGP路由信息设置为低优先级可以是将第一BGP路由信息的优先级设置为第一优先级,第一优先级低于第二优先级,第二BGP路由信息的优先级为第二优先级。
结合图3A所示的网络场景,第一网络设备可以是ISP1骨干中的PE1,第二网络设备可以是ISP2骨干中的PE4或者外部ISP中的PE5,PE1通过BGP与PE4或PE5连接。ISP2骨干中的PE4接入的服务器(图3A中未示出),服务器地址可以是10.1.0.0/16,该服务器向外部AS发布BGP路由信息1,BGP路由信息1中包括的BGP前缀为10.1.0.0/16,BGP路由信息1中携带的原始AS为AS4。当ISP1骨干中的PE1从PE4接收到BGP路由信息1时,PE1确定AS4所属的区域为区域2,则该BGP路由信息1所属的区域为区域2。并且,该BGP路由信息1是从PE4接收来的,PE4所属的区域也为区域2,与BGP路由信息1所属的区域相同。则PE1认为BGP路由信息1是安全可靠的,对BGP路由信息1进行学习。例如,将该BGP路由信息1保存到路由表中,进而做路由选路,发布BGP路由信息1,利用该BGP路由信息1转发报文。
如果属于AS100的外部ISP中的PE5伪造该服务器的更精确的BGP路由信息2,其中包括的BGP前缀为10.1.1.0/24,携带的原始AS为AS4。外部ISP将伪造的BGP路由信息2发布给ISP1骨干中的PE1,PE1确定BGP路由信息2所属的区域为区域2。并且,该BGP路由信息2是从PE5接收来的,PE5所属的区域非区域2,与BGP路由信息2所属的区域不同。则PE1认为BGP路由信息2是无效的或可疑的,不对BGP路由信息2进行学习。例如,将该BGP路由信息2丢弃。
从而,本申请实施例提供的技术方案带来的有益效果至少包括:防止外部ISP通过伪造路由信息的方式劫持本ISP所属区域的路由信息;防止外部ISP通过伪造路由信息方式劫持本ISP所属区域联盟的路由信息;提高了网络的安全性。
在一个示例中,在第一网络设备利用BGP路由信息携带的原始AS确定该BGP路由信息所属的目标区域之前,第一网络设备先对该原始AS进行ROA验证。具体的,第一网络设备判断所述第一原始AS与从路由起源授权ROA数据中获取到的与所述BGP路由信息对应的原始AS是否相同。如果两者相同,则第一网络设备进而利用第一原始AS确定所述BGP路由信息所属的目标区域。如果两者不同,则表明第一原始AS可能是伪造的,所述BGP路由信息也可能是伪造的,第一网络设备可以直接对所述BGP路由信息进行丢弃或设置为较低优先级的处理,而不再进行BGP路由信息所属目标区域的验证。
示例性地,ROA数据可以是第一网络设备与RPKI服务器建立连接,在本地保存的。例如,第一网络设备从RPKI服务器接收ROA数据,根据收到的ROA数据在本地构建路由验证数据库。
需要说明的是,上述仅以在第一网络设备确定通过来自第二网络设备的BGP路由信息获取到的第一原始AS与从路由起源授权ROA数据中获取到的与该BGP路由信息对应的第二原始AS相同之后,第一网络设备再判断第二网络设备所属的目标区域与BGP路由信息所属的目标区域是否相同,从而进一步提高网络安全性。此外,由于一个区域可能包含多个AS,区域匹配了,可能是这条路由的原始AS是区域内的另一个AS,仍然会存在和真实的原始AS并不一致的情况。对此,在本申请实施例提供的方法中,第一网络设备还可以先判断第二网络设备所属的目标区域与BGP路由信息所属的目标区域是否相同,在第二网络设备所属的目标区域与BGP路由信息所属的目标区域相同之后,第一网络设备再确定通过来自第二网络设备的BGP路由信息获取到的第一原始AS与从路由起源授权ROA数据中获取到的与该BGP路由信息对应的第二原始AS是否相同,以进一步提高网络安全性。
示例性地,在第一网络设备确定第二网络设备所属的目标区域与BGP路由信息所属的目标区域不相同时,可以直接丢弃该BGP路由信息,或者直接将该BGP路由信息降低优先级,而不再确定通过来自第二网络设备的BGP路由信息获取到的第一原始AS与从路由起源授权ROA数据中获取到的与该BGP路由信息对应的第二原始AS是否相同。在保证网络安全性的同时,还可以提高路由学习效率。
本申请实施例不对先确定通过来自第二网络设备的BGP路由信息获取到的第一原始AS与从ROA数据中获取到的与该BGP路由信息对应的第二原始AS是否相同,还是先确定第二网络设备所属的目标区域与BGP路由信息所属的目标区域是否相同的先后顺序进行限定。既确定通过来自第二网络设备的BGP路由信息获取到的第一原始AS与从ROA数据中获取到的与该BGP路由信息对应的第二原始AS是否相同,也确定第二网络设备所属的目标区域与BGP路由信息所属的目标区域是否相同,可以进一步提高网络安全性。
本申请实施例提供了转发报文的方法及基于该方法的设备和系统。方法、设备和系统的实施例可以相互参见,相同或类似之处不再赘述。
参阅图5,本申请实施例提供了一种转发报文的方法。方法应用在基于BGP的网络中的第一网络设备中,第一网络设备包括网络接口,方法包括:
S310,第一网络设备通过网络接口接收报文。
S320,第一网络设备根据报文的源地址确定报文所属的目标区域。
所述报文的源地址可以对应于特定的BGP路由信息,具体的,所述源地址能够根据最长匹配原则匹配至该BGP路由信息中的BGP前缀,或者说,发送至所述源地址的流量能够采用所述BGP路由信息进行路由。该特定的BGP路由信息中可以携带原始AS。
可选的,第一网络设备将BGP路由信息中携带的原始AS所属的目标区域作为报文所属的目标区域。示例性地,目标区域包括区域、区域联盟或者区域和区域联盟的组合。例如,所述第一网络设备将所述BGP路由信息中携带的原始AS所属的区域作为所述报文所属的区域,或者,第一网络设备可以将BGP路由信息中携带的原始AS所属的区域联盟作为所述报文所属的区域,或者,第一网络设备可以将BGP路由信息中携带的原始AS所属的区域与区域联盟的组合,作为所述报文所属的区域。
结合图3A所示的网络场景,第一网络设备可以是ISP1骨干中的PE1,第二网络设备可以是ISP2骨干中的PE4或者外部ISP中的PE5,PE1通过BGP与PE4或PE5连接。ISP2骨干中的PE4接入的服务器(图3A中未示出),服务器地址可以是10.1.0.0/16,该服务器向外部AS发布BGP路由信息1,BGP路由信息1中包括的BGP前缀为10.1.0.0/16,BGP路由信息1中携带的原始AS为AS4。ISP1骨干中的PE1通过网络接口A与PE4建立连接,则PE1通过网络接口A从PE4接收到BGP路由信息1,并且PE1还可以从PE4接收到服务器发送的报文1,报文1的源地址为服务器地址10.1.0.0/16。PE1根据报文1的源地址确定对应于该源地址的BGP路由信息为路由信息1,并且根据BGP路由信息1中的AS4,结合获得的区域信息,确定AS4所属的区域为区域2,则该报文1所属的区域为区域2。
如果上述服务器发送的报文被属于AS100的外部ISP中的PE5劫持,PE4通过网络接口B与PE5建立连接,则PE4通过网络接口B从PE5接收到由上述服务器发送出的报文2,报文2的源地址为服务器地址10.1.0.0/16。PE1仍然根据报文2的源地址确定对应于该源地址的路由信息为BGP路由信息1,并且根据BGP路由信息1中的AS4,结合获得的区域信息,确定AS4所属的区域为区域2,则该报文2所属的区域为区域2。
S330,当网络接口所属的目标区域与报文所属的目标区域相同时,第一网络设备转发报文。
如上所述,本申请实施例提供的方法通过将网络中的多个AS划分为不同的区域和/或区域联盟。进而,该方法对接收到的报文进行校验,对于通过校验的报文才进行转发。禁止区域内的报文从区域外部被接收到,禁止区域联盟内的报文从区域联盟外部被接收到,由此提高网络安全性。网络设备校验报文的规则如下:对于本区域报文,禁止从非本区域接口出入;对于本区域联盟报文,禁止从非本区域联盟接口出入。
因此,第一网络设备通过网络接口接收报文后,先对报文进行校验。具体的,第一网络设备对报文所属的目标区域与接收报文的网络接口所属的目标区域进行比较。示例性的,接收报文的网络接口所属的目标区域就是第一网络设备通过该网络设备连接的其他网络设备,例如第二网络设备所属的目标区域。
示例性地,当报文所属的目标区域与接收报文的网络接口所属的目标区域相同时,第一网络设备对报文进行转发。
在一个示例中,当报文所属的目标区域与接收报文的网络接口所属的目标区域不相同时,所述第一网络设备丢弃所述报文,或者,所述第一网络设备记录所述报文,以确保网络安全。
结合图3A所示的网络场景,第一网络设备可以是ISP1骨干中的PE1,第二网络设备可以是ISP2骨干中的PE4或者外部ISP中的PE5,PE1通过BGP与PE4或PE5连接。ISP2骨干中的PE4接入的服务器(图3A中未示出),服务器地址可以是10.1.0.0/16,ISP1骨干中的PE1通过网络接口A从PE4接收到服务器发送的报文1,报文1的源地址为服务器地址10.1.0.0/16。PE1根据报文1的源地址确定报文1所属的区域为区域2。并且,PE1通过网络接口A与PE4连接,PE4所属的区域为区域2,则网络接口A所属的区域为区域2。因此,所述报文1所属的区域与接收该报文1的网络接口所属的区域相同,PE1认为该报文1是安全可靠的,对报文1进行转发。
如果上述服务器发送的报文2被属于AS100的外部ISP中的PE5劫持,PE4通过网络接口B与PE5建立连接,则PE4通过网络接口B从PE5接收到由上述服务器发送出的报文2,报文2的源地址为服务器地址10.1.0.0/16。PE1确定报文2所属的区域为区域2。并且,PE1通过网络接口B与PE5连接,PE5所属的区域非区域2,则网络接口B所属的区域非区域2。因此,所述报文2所属的区域与接收该报文2的网络接口所属的区域不相同,PE1认为该报文2是可疑的,不对报文1进行转发。
从而,本申请实施例提供的技术方案带来的有益效果至少包括:防止外部ISP劫持本ISP所属区域的报文;防止外部ISP劫持本ISP所属区域联盟的报文;提高了网络安全性。
在一个示例中,在第一网络设备利用BGP路由信息携带的原始AS确定报文所属的目标区域之前,第一网络设备先对该原始AS进行ROA验证。具体的,第一网络设备判断所述第一原始AS与从路由起源授权ROA数据中获取到的与所述BGP路由信息对应的原始AS是否相同。如果两者相同,则第一网络设备进而利用第一原始AS确定所述报文所属的目标区域。如果两者不同,则表明第一原始AS可能是伪造的,所述BGP路由信息也可能是伪造的,第一网络设备不能利用该原始AS确定报文所属的目标区域。
示例性地,ROA数据可以是第一网络设备与RPKI服务器建立连接,在本地保存的。
需要说明的是,上述仅以第一网络设备确定通过报文获取到的报文的源地址所属的第一原始AS与第二原始AS相同之后,第一网络设备再判断网络接口所属的目标区域与报文所属的目标区域是否相同。在本申请实施例提供的方法中,第一网络设备还可以先判断网络接口所属的目标区域与报文所属的目标区域是否相同,在网络接口所属的目标区域与报文所属的目标区域相同之后,第一网络设备再确定通过报文获取到的报文的源地址所属的第一原始AS与第二原始AS是否相同。示例性地,在第一网络设备确定网络接口所属的目标区域与报文所属的目标区域不相同时,可以直接丢弃该报文,而不再确定通过报文获取到的报文的源地址所属的第一原始AS与第二原始AS是否相同。
本申请实施例不对先确定网络接口所属的目标区域与报文所属的目标区域是否相同,还是先确定通过报文获取到的报文的源地址所属的第一原始AS与第二原始AS是否相同的先后顺序进行限定。既确定网络接口所属的目标区域与报文所属的目标区域是否相同,也确定通过报文获取到的报文的源地址所属的第一原始AS与第二原始AS是否相同,可以进一步提高网络安全性。
在示例性实施例中,提供了一种学习路由的装置,该装置应用在基于BGP的网络中的第一网络设备中,网络还包括第二网络设备,第一网络设备通过BGP与第二网络设备通信,如图6所示,该装置包括:
获取单元801,用于获取来自第二网络设备的第一BGP路由信息,所述第一BGP路由信息包括验证信息;
处理单元802,用于根据所述验证信息确定所述第一BGP路由信息所属的目标区域;当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同时,学习所述第一BGP路由信息。
在示例性实施例中,提供了一种转发报文的装置,该装置应用在基于边界网关协议BGP的网络中的第一网络设备中,第一网络设备包括网络接口,如图7所示,该装置包括:
获取单元1001,用于通过网络接口接收报文,所述报文包括源地址;
处理单元1002,用于根据所述源地址确定所述报文所属的目标区域;
转发单元1003,用于当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,转发所述报文。
应理解的是,上述图6或图7提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8示出上述实施例中所涉及的网络设备的另一种可能的结构示意图。网络设备1200包括:处理器1202、网络接口1203、存储器1201以及总线1204。其中,
存储器1201,用于存储指令;在实现图6所示实施例的情况下,且图6实施例中所描述的各单元为通过软件实现的情况下,执行图6中的各单元的功能所需的软件或程序代码存储在存储器1201中。
处理器1202,用于执行存储器1201中的指令,执行上述应用于图4所示实施例中学习路由的方法;处理器1202可以是中央处理器(central processing unit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
网络接口1203,用于与其他网络设备通信。网络接口1203可以为以太(ethernet)接口或异步传输模式(asynchronous transfer mode,ATM)接口等。
网络接口1203、处理器1202以及存储器1201通过总线1204相互连接;总线1204可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器1202用于执行存储器1201中的指令,以使得网络设备1200获取来自所述第二网络设备的BGP路由第一BGP路由信息,所述第一BGP路由信息包括验证信息;根据所述验证信息确定所述第一BGP路由信息所属的区域;当所述第一BGP路由信息所属的区域与所述第二网络设备所属的区域相同时,学习所述第一BGP路由信息。该处理器1202的详细处理过程请参考上述图4所示实施例中的过程S210,S220,S230的详细描述,这里不再赘述。
网络接口1203用于网络设备1200通过网络系统接收路由信息和收发报文。具体的过程请参考上述图4所示实施例中S210,S220,S230的详细描述,这里不再赘述。
图9示出上述实施例中所涉及的网络设备的另一种可能的结构示意图。网络设备1300包括:主控板1301和接口板1302。主控板1301包括:处理器1303和存储器1304。接口板1302包括:处理器1305、存储器1306和接口卡1307。主控板1301和接口板1302耦合。
这些硬件可以实现图4所示实施例中网络设备的相应功能,例如,存储器1306用于存储接口板1302的程序代码,处理器1305用于调用存储器1306中的程序代码触发接口卡1307执行上述方法实施例中网络设备执行的各种信息接收和发送。存储器1304可以用于存储主控板1301的程序代码,处理器1303用于调用存储器1304中的程序代码执行上述方法实施例中网络设备除了信息收发之外的其他处理。
举例来说,处理器1305用于触发接口卡1307获取来自所述第二网络设备的第一BGP路由信息,所述第一BGP路由信息包括验证信息;处理器1303根据所述验证信息确定所述第一BGP路由信息所属的目标区域;当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同时,学习所述第一BGP路由信息。存储器1304,用于存储主控板1301的程序代码和数据;存储器1306,用于存储接口板1302的程序代码和数据。
在一个示例中,主控板1301和接口板1302之间建立IPC通道,主控板1301和接口板1302之间利用该IPC通道进行通信。例如,主控板1301通过IPC通道从接口板1302接收BGP路由信息或报文。
网络设备1300可以为路由器或交换器或有转发功能的网络设备,网络设备1300能够实现图4所示实施例中网络设备的功能,具体执行步骤可以参见前述方法实施例,此处不再赘述。
图10示出了上述实施例中所涉及的网络设备的一种可能的结构示意图,网络设备1500包括:处理器1502、网络接口1503、存储器1501以及总线1504。其中,
存储器1501,用于存储指令;在实现图7所示实施例的情况下,且图7实施例中所描述的各单元为通过软件实现的情况下,执行图7中的各单元的功能所需的软件或程序代码存储在存储器1501中。
处理器1502,用于执行存储器1501中的指令,执行上述应用于图7所示实施例中报文转发方法;处理器1502可以是中央处理器(central processing unit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
网络接口1503,用于与其他网络设备通信。网络接口1503可以为以太(ethernet)接口或异步传输模式(asynchronous transfer mode,ATM)接口等。
网络接口1503、处理器1502以及存储器1501通过总线1504相互连接;总线1504可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器1502用于执行存储器1501中的指令,以使得网络设备1500通过所述网络接口接收报文,所述报文包括源地址;根据所述源地址确定所述报文所属的目标区域;当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,转发所述报文。该处理器1502的详细处理过程请参考上述图5所示实施例中的过程S310,S320,S330的详细描述,这里不再赘述。
网络接口1503用于网络设备1500通过网络系统收发报文。具体的过程请参考上述图5所示实施例中S310,S320,S330的详细描述,这里不再赘述。
图11示出上述实施例中所涉及的网络设备的另一种可能的结构示意图。网络设备1600包括:主控板1601和接口板1602。主控板1601包括:处理器1603和存储器1604。接口板1602包括:处理器1605、存储器1606和接口卡1607。主控板1601和接口板1602耦合。
这些硬件可以实现图5所示实施例中网络设备的相应功能,例如,存储器1606用于存储接口板1602的程序代码,处理器1605用于调用存储器1606中的程序代码触发接口卡1607执行上述方法实施例中网络设备执行的各种信息接收和发送。存储器1604可以用于存储主控板1601的程序代码,处理器1603用于调用存储器1604中的程序代码执行上述方法实施例中网络设备除了信息收发之外的其他处理。
举例来说,处理器1605用于触发接口卡1607通过所述网络接口接收报文,所述报文包括源地址;当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,转发所述报文;处理器1603用于根据所述源地址确定所述报文所属的目标区域。存储器1604,用于存储主控板1601的程序代码和数据;存储器1606,用于存储接口板1602的程序代码和数据。
在一个示例中,主控板1601和接口板1602之间建立IPC通道,主控板1601和接口板1602之间利用该IPC通道进行通信。例如,主控板1601通过IPC通道从接口板1602接收BGP路由信息或报文。
网络设备1600可以为路由器或交换器或有转发功能的网络设备,网络设备1600能够实现图5所示实施例中网络设备的功能,具体执行步骤可以参见前述方法实施例,此处不再赘述。
本申请实施例还提供了一种非瞬态存储介质,用于储存前述实施例中所用的软件指令,其包括用于执行前述实施例所示的方法的程序,当其在计算机或网络设备上执行时,使得所示计算机或网络设备执行前述方法实施例中的方法。
本申请实施例还提供了一种包括计算机程序指令的计算机程序产品,当该计算机程序产品在网络节点上运行时,使得网络节点执行前述方法实施例中的方法。
本申请实施例中提到的第一网络设备中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”和“第三”等。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的网络节点实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(readonly memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络节点中。当然,处理器和存储介质也可以作为分立组件存在于网络节点中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (26)
1.一种学习路由的方法,其特征在于,所述方法应用在基于边界网关协议BGP的网络中的第一网络设备中,所述网络还包括第二网络设备,所述第一网络设备通过BGP与所述第二网络设备通信,所述方法包括:
所述第一网络设备获取来自所述第二网络设备的第一BGP路由信息,所述第一BGP路由信息包括验证信息;所述第一网络设备根据所述验证信息确定所述第一BGP路由信息所属的目标区域;
当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同时,所述第一网络设备学习所述第一BGP路由信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域不同时,所述第一网络设备丢弃所述第一BGP路由信息,或者,将所述第一BGP路由信息的优先级设置为第一优先级,所述第一优先级低于第二优先级,第二BGP路由信息的优先级为第二优先级,所述第二BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同。
3.根据权利要求1或2所述的方法,其特征在于,所述验证信息包括第一原始自治系统AS,所述第一网络设备根据所述验证信息确定所述第一BGP路由信息所属的目标区域,包括:
所述第一网络设备将所述第一原始AS所属的目标区域作为所述第一BGP路由信息所属的目标区域。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一网络设备获得区域信息,所述区域信息包括所述第二网络设备的标识信息与所述第二网络设备所属的目标区域的映射关系,以及所述第一原始AS与所述第一原始AS所属的目标区域的映射关系;
所述第一网络设备根据所述第二网络设备的标识信息和所述区域信息确定所述第二网络设备所属的目标区域;
所述第一网络设备根据所述第一原始AS和所述区域信息确定所述第一原始AS所属的目标区域。
5.根据权利要求3所述的方法,其特征在于,在所述第一网络设备将所述第一原始AS所属的目标区域作为所述第一BGP路由信息所属的目标区域之前,所述方法还包括:
所述第一网络设备确定所述第一原始AS与第二原始AS相同,所述第二原始AS是从路由起源授权ROA数据中获取到的与所述第一BGP路由信息对应的原始AS。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述目标区域包括区域、区域联盟或者区域和区域联盟的组合。
7.一种转发报文的方法,其特征在于,所述方法应用在基于边界网关协议BGP的网络中的第一网络设备中,所述第一网络设备包括网络接口,所述方法包括:
所述第一网络设备通过所述网络接口接收报文,所述报文包括源地址;
所述第一网络设备根据所述源地址确定所述报文所属的目标区域;
当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,所述第一网络设备转发所述报文。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述网络接口所属的目标区域与所述报文所属的目标区域不同时,所述第一网络设备丢弃所述报文,或者,所述第一网络设备记录所述报文。
9.根据权利要求7或8所述的方法,其特征在于,所述源地址对应于第一BGP路由信息,所述第一BGP路由信息还包括第一原始自治系统AS,所述第一网络设备根据所述源地址确定所述报文所属的目标区域,包括:
所述第一网络设备将所述第一原始AS所属的目标区域作为所述报文所属的目标区域。
10.根据权利要求9所述的方法,其特征在于,所述网络还包括第二网络设备,所述第一网络设备通过BGP与所述第二网络设备通信,所述第一网络设备通过所述网络接口连接所述第二网络设备,所述方法还包括:
所述第一网络设备获得区域信息,所述区域信息包括所述第二网络设备的标识信息与所述网络接口所属的目标区域的映射关系,以及所述第一原始AS与所述第一原始AS所属的目标区域的映射关系;
所述第一网络设备根据所述第二网络设备的标识信息和所述区域信息确定所述网络接口所属的目标区域;
所述第一网络设备根据所述第一原始AS和所述区域信息确定所述第一原始AS所属的目标区域。
11.根据权利要求9或10所述的方法,其特征在于,在所述第一网络设备将所述第一原始AS所属的目标区域作为所述报文所属的目标区域之前,所述方法还包括:
所述第一网络设备确定所述第一原始AS与第二原始AS相同,所述第二原始AS是从路由起源授权ROA数据中获取到的所述源地址所属的原始AS。
12.一种学习路由的装置,其特征在于,所述装置应用在基于边界网关协议BGP的网络中的第一网络设备中,所述网络还包括第二网络设备,所述第一网络设备通过BGP与所述第二网络设备通信,所述装置包括:
获取模块,用于获取来自所述第二网络设备的第一BGP路由信息,所述第一BGP路由信息包括验证信息;
处理模块,用于根据所述验证信息确定所述第一BGP路由信息所属的目标区域,当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同时,学习所述第一BGP路由信息。
13.根据权利要求12所述的装置,其特征在于,
所述处理模块,还用于当所述第一BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域不同时,丢弃所述第一BGP路由信息,或者,将所述第一BGP路由信息的优先级设置为第一优先级,所述第一优先级低于第二优先级,第二BGP路由信息的优先级为第二优先级,所述第二BGP路由信息所属的目标区域与所述第二网络设备所属的目标区域相同。
14.根据权利要求12或13所述的装置,其特征在于,所述验证信息包括第一原始自治系统AS,
所述处理模块,还用于将所述第一原始AS所属的目标区域作为所述第一BGP路由信息所属的目标区域。
15.根据权利要求14所述的装置,其特征在于,
所述获取模块,还用于获得区域信息,所述区域信息包括所述第二网络设备的标识信息与所述第二网络设备所属的目标区域的映射关系,以及所述第一原始AS与所述第一原始AS所属的目标区域的映射关系;
所述处理模块,还用于根据所述第二网络设备的标识信息和所述区域信息确定所述第二网络设备所属的目标区域;
所述处理模块,还用于根据所述第一原始AS和所述区域信息确定所述第一原始AS所属的目标区域。
16.根据权利要求14所述的装置,其特征在于,
所述处理模块,还用于确定所述第一原始AS与第二原始AS相同,所述第二原始AS是从路由起源授权ROA数据中获取到的与所述第一BGP路由信息对应的原始AS。
17.根据权利要求12-16任一项所述的装置,其特征在于,所述目标区域包括区域、区域联盟、或者区域和区域联盟的组合。
18.一种转发报文的装置,其特征在于,所述装置应用在基于边界网关协议BGP的网络中的第一网络设备中,所述第一网络设备包括网络接口,所述装置包括:
获取模块,用于通过所述网络接口接收报文,所述报文包括源地址;
处理模块,用于根据所述源地址确定所述报文所属的目标区域;
转发模块,用于当所述网络接口所属的目标区域与所述报文所属的目标区域相同时,转发所述报文。
19.根据权利要求18所述的装置,其特征在于,
所述转发模块,还用于当所述网络接口所属的目标区域与所述报文所属的目标区域不同时,丢弃所述报文,或者,记录所述报文。
20.根据权利要求18或19所述的装置,其特征在于,所述源地址对应于第一BGP路由信息,所述第一BGP路由信息还包括第一原始自治系统AS,
所述处理模块,还用于将所述第一原始AS所属的目标区域作为所述报文所属的目标区域。
21.根据权利要求20所述的装置,其特征在于,所述网络还包括第二网络设备,所述第一网络设备通过BGP与所述第二网络设备通信,所述第一网络设备通过所述网络接口连接所述第二网络设备;
所述获取模块,还用于获得区域信息,所述区域信息包括所述第二网络设备的标识信息与所述网络接口所属的目标区域的映射关系,以及所述第一原始AS与所述第一原始AS所属的目标区域的映射关系;
所述处理模块,还用于根据所述第二网络设备的标识信息和所述区域信息确定所述网络接口所属的目标区域,根据所述第一原始AS和所述区域信息确定所述第一原始AS所属的目标区域。
22.根据权利要求20或21所述的装置,其特征在于,
所述处理模块,还用于确定所述第一原始AS与第二原始AS相同,所述第二原始AS是从路由起源授权ROA数据中获取到的所述源地址所属的原始AS。
23.一种学习路由的设备,其特征在于,所述设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-6中任一所述的学习路由的方法。
24.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-6中任一所述的学习路由的方法。
25.一种转发报文的设备,其特征在于,所述设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求7-11中任一所述的转发报文的方法。
26.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求7-11中任一所述的转发报文的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20852148.4A EP4016941A4 (en) | 2019-08-15 | 2020-08-14 | METHOD OF LEARNING ROUTINGS, METHOD OF FORWARDING REPORTS, DEVICE AND STORAGE MEDIA |
PCT/CN2020/109315 WO2021027941A1 (zh) | 2019-08-15 | 2020-08-14 | 学习路由的方法、转发报文的方法、设备和存储介质 |
US17/671,695 US11799756B2 (en) | 2019-08-15 | 2022-02-15 | Route learning method, packet forwarding method and device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910754931 | 2019-08-15 | ||
CN2019107549313 | 2019-08-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398741A true CN112398741A (zh) | 2021-02-23 |
CN112398741B CN112398741B (zh) | 2023-09-05 |
Family
ID=74603703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910988765.3A Active CN112398741B (zh) | 2019-08-15 | 2019-10-17 | 学习路由的方法、转发报文的方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398741B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765803A (zh) * | 2021-08-05 | 2021-12-07 | 新华三大数据技术有限公司 | 一种路由发布方法及装置、网络设备 |
CN114244575A (zh) * | 2021-11-24 | 2022-03-25 | 中盈优创资讯科技有限公司 | 一种路由劫持自动封堵方法及装置 |
WO2022199566A1 (zh) * | 2021-03-25 | 2022-09-29 | 华为技术有限公司 | 路由验证、数据发送的方法、装置、设备及存储介质 |
WO2023070627A1 (zh) * | 2021-10-30 | 2023-05-04 | 华为技术有限公司 | 路由处理的方法及网络设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588343A (zh) * | 2008-05-20 | 2009-11-25 | 中国人民解放军信息工程大学 | 前缀与as映射关系的管理方法、报文处理方法和装置 |
US20100080131A1 (en) * | 2008-10-01 | 2010-04-01 | Cisco Technology, Inc., A Corporation Of California | Validation of Routes Advertised by Border Gateway Protocol |
US20110093612A1 (en) * | 2009-10-19 | 2011-04-21 | Ip Infusion Inc. | Device, method and computer readable medium for bgp route monitoring |
CN102158497A (zh) * | 2011-05-11 | 2011-08-17 | 中国人民解放军国防科学技术大学 | Ip地址过滤方法及装置 |
US20110271340A1 (en) * | 2010-04-29 | 2011-11-03 | Kddi Corporation | Method and apparatus for detecting spoofed network traffic |
CN105577669A (zh) * | 2015-12-25 | 2016-05-11 | 北京神州绿盟信息安全科技股份有限公司 | 一种识别虚假源攻击的方法及装置 |
-
2019
- 2019-10-17 CN CN201910988765.3A patent/CN112398741B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588343A (zh) * | 2008-05-20 | 2009-11-25 | 中国人民解放军信息工程大学 | 前缀与as映射关系的管理方法、报文处理方法和装置 |
US20100080131A1 (en) * | 2008-10-01 | 2010-04-01 | Cisco Technology, Inc., A Corporation Of California | Validation of Routes Advertised by Border Gateway Protocol |
US20110093612A1 (en) * | 2009-10-19 | 2011-04-21 | Ip Infusion Inc. | Device, method and computer readable medium for bgp route monitoring |
US20110271340A1 (en) * | 2010-04-29 | 2011-11-03 | Kddi Corporation | Method and apparatus for detecting spoofed network traffic |
CN102158497A (zh) * | 2011-05-11 | 2011-08-17 | 中国人民解放军国防科学技术大学 | Ip地址过滤方法及装置 |
CN105577669A (zh) * | 2015-12-25 | 2016-05-11 | 北京神州绿盟信息安全科技股份有限公司 | 一种识别虚假源攻击的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022199566A1 (zh) * | 2021-03-25 | 2022-09-29 | 华为技术有限公司 | 路由验证、数据发送的方法、装置、设备及存储介质 |
CN113765803A (zh) * | 2021-08-05 | 2021-12-07 | 新华三大数据技术有限公司 | 一种路由发布方法及装置、网络设备 |
CN113765803B (zh) * | 2021-08-05 | 2023-10-24 | 新华三大数据技术有限公司 | 一种路由发布方法及装置、网络设备 |
WO2023070627A1 (zh) * | 2021-10-30 | 2023-05-04 | 华为技术有限公司 | 路由处理的方法及网络设备 |
CN114244575A (zh) * | 2021-11-24 | 2022-03-25 | 中盈优创资讯科技有限公司 | 一种路由劫持自动封堵方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112398741B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398741B (zh) | 学习路由的方法、转发报文的方法、设备和存储介质 | |
CN113285882B (zh) | 报文处理的方法、装置及相关设备 | |
US8121134B2 (en) | Spoof checking within a label switching computer network | |
US9032504B2 (en) | System and methods for an alternative to network controller sideband interface (NC-SI) used in out of band management | |
CN114389993B (zh) | 一种路由处理的方法和网络设备 | |
US11799756B2 (en) | Route learning method, packet forwarding method and device, and storage medium | |
US20230396624A1 (en) | Extending border gateway protocol (bgp) flowspec origination authorization using path attributes | |
CN111385180B (zh) | 通信隧道构建方法、装置、设备及介质 | |
CN107690004A (zh) | 地址解析协议报文的处理方法及装置 | |
CN117501671A (zh) | 使用路由来源授权(ROA)进行边界网关协议(BGP)FlowSpec发起授权 | |
CN111953798A (zh) | 一种跨网络通信方法、装置、系统和代理服务器 | |
US20240022602A1 (en) | Method and Apparatus for Route Verification and Data Sending, Device, and Storage Medium | |
JP6683480B2 (ja) | 通信装置及び通信システム | |
WO2024193420A1 (zh) | 一种验证信息发送方法、验证表项获取方法、装置及设备 | |
CN115208600A (zh) | 路由验证、数据发送的方法、装置、设备及存储介质 | |
CN113872861B (zh) | 一种生成表项的方法、发送报文的方法及设备 | |
CN111917746B (zh) | 一种路由协议接入认证方法、设备及介质 | |
WO2024012100A1 (zh) | 访问控制方法、电子设备及存储介质 | |
CN116866055B (zh) | 数据泛洪攻击的防御方法、装置、设备及介质 | |
EP3157212A1 (en) | Packet processing method and device, and line card | |
CN117318947A (zh) | 报文校验方法、装置、相关设备及存储介质 | |
CN117914505A (zh) | 控制终端安全访问互联网和内网的方法及设备 | |
CN117040817A (zh) | 认证方法及装置 | |
CN118802247A (zh) | 一种验证信息发送方法、验证表项获取方法、装置及设备 | |
CN116266793A (zh) | 访问控制方法及其相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |