CN110650075A - 基于vxlan的组策略实现方法、网络设备和组策略实现系统 - Google Patents
基于vxlan的组策略实现方法、网络设备和组策略实现系统 Download PDFInfo
- Publication number
- CN110650075A CN110650075A CN201810668770.1A CN201810668770A CN110650075A CN 110650075 A CN110650075 A CN 110650075A CN 201810668770 A CN201810668770 A CN 201810668770A CN 110650075 A CN110650075 A CN 110650075A
- Authority
- CN
- China
- Prior art keywords
- message
- group
- lisp
- network
- terminal
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于VXLAN的组策略实现方法、网络设备和系统。该方法包括:第一网络设备存储至少一个组策略;第一网络设备获得终端设备的地址与第一组标识的对应关系,终端设备通过与第一网络设备连接的接入设备访问网络;第一网络设备接收来自于第二网络设备的第一报文,第一报文为VXLAN报文;解封装第一报文以获得第一报文的VXLAN头中的第二组标识、以及内层报文;第一网络设备获得内层报文的报文头中目的地址字段中的终端设备的地址;第一网络设备根据终端设备的地址,从所述对应关系中获得第一组标识;第一网络设备以所述第二组标识为源组标识、第一组标识为目的组标识,从至少一个组策略中提取第一组策略,并对内层报文执行第一组策略指示的操作。
Description
技术领域
本申请涉及计算机及通信技术领域,尤其涉及一种基于可扩展虚拟局域网(Virtual Extensible Local Area Network,VXLAN)的组策略实现方法、一种网络设备和一种基于VXLAN的组策略实现系统。
背景技术
在VXLAN中,实现封装或者解封装VXLAN报文功能的设备被称为VXLAN隧道端点(VXLAN tunnel endpoint,VTEP)。VTEP将二层报文封装在传输层协议(例如,用户数据报协议(User Datagram Protocol,UDP))报文中以实现VXLAN报文封装。VTEP可以是服务器,也可以是网络设备(例如,交换机或路由器)。
在园区网中,终端设备一般不支持VXLAN,因此由接入设备实现VTEP的功能。然而,园区网中的接入设备的数量多。如果所有接入设备都要支持VXLAN,则园区网的总体部署代价过高。
发明内容
本申请提供一种基于VXLAN的组策略实现方法,用以解决园区网中VTEP功能实现代价过高的问题。
第一方面,提供了一种基于VXLAN的组策略实现方法,包括:
第一网络设备存储至少一个组策略,所述至少一个组策略中的每个组策略包括源组标识和目的组标识,所述组策略用于指示对于从源组标识所标识的组到目的组标识所标识的组的报文的操作,所述操作包括允许访问或禁止访问;
所述第一网络设备获得对应关系,所述对应关系是所述终端设备的地址与第一组标识的对应关系,所述终端设备通过与所述第一网络设备连接的接入设备访问网络;
所述第一网络设备接收来自于第二网络设备的第一报文,所述第一报文为VXLAN报文,所述第一报文包括内层报文;
所述第一网络设备解封装所述第一报文以获得所述第一报文的VXLAN头中的第二组标识、以及所述内层报文;
所述第一网络设备获得所述内层报文的报文头中目的地址字段中的所述终端设备的地址;
所述第一网络设备根据所述终端设备的地址,从所述对应关系中获得所述第一组标识;
所述第一网络设备以所述第二组标识为源组标识、所述第一组标识为目的组标识,从所述至少一个组策略中提取第一组策略,并对所述内层报文执行所述第一组策略指示的操作。
本申请实施例在与接入设备连接的支持VXLAN协议的网络设备上实现VXLAN组策略。该网络设备获得组策略以及终端地址与组标识的对应关系,接收到对端网络设备发送的报文后,根据接收到的报文的VXLAN头中携带的组标识、内层报文头中的目的地址、以及组策略对接收到的报文进行访问控制。该方案利用现有园区网中的支持VXLAN协议的网络设备,无需对现有网络转发设备进行大规模替换,能够节约代价。
在一种可能的实现方式中,所述第一网络设备获得对应关系,包括:
所述第一网络设备接收来自于所述接入设备的第一LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识,所述第一网络设备从所述第一报文中获得所述对应关系。
在另一种可能的实现方式中,所述第一LISP报文还携带第一报文类型指示符,所述第一报文类型指示符用于指示所述第一LISP报文用于发送所述对应关系。通过第一报文类型指示符,网络设备能够识别出用于封装终端地址和组标识的LISP报文,从而从中获得终端地址和组标识的对应关系。
在该实现方式中,由接入设备作为认证点设备,在终端设备认证完成后,接入设备通过LISP报文将终端设备的地址和所述第一组标识通知网络设备,对现有网络认证流程改动较小,实现代价较低。
可选地,所述第一LISP报文包括Type字段和至少一个Record字段,所述报文类型指示符携带在Type字段中,所述终端设备标识携带在所述至少一个Record字段中的第一Record字段的EID子字段中,所述第一组标识携带在所述第一Record字段的Group PolicyID子字段中。
在另一种可能的实现方式中,所述第一LISP报文还携带第一操作指示符,所述第一操作指示符用于指示所述第一LISP报文的接收方保存所述对应关系。
可选地,所述第一LISP报文包括F字段,所述第一操作指示符携带在F字段中。
在另一种可能的实现方式中,所述方法还包括:所述第一网络设备接收来自于所述接入设备的第二LISP报文,所述第二LISP携带所述终端设备的地址和所述第一组标识和第二操作指示符,所述第二操作指示符用于指示所述第二LISP报文的接收方删除所述对应关系。
可选地,所述第二LISP报文包括F字段,所述第二操作指示符携带在F字段中。
在该实现方式中,通过在第一LISP报文和第二LISP报文中携带操作指示符,接入设备可以适时通知网络设备增加某些终端设备的对应关系、或者删除某些终端设备的对应关系。从而节约网络设备的存储空间。
在另一种可能的实现方式中,所述第一LISP报文还携带地址类型指示符,所述地址类型指示符用于指示所述终端设备标识是MAC地址或IP地址,所述地址类型指示符携带在所述第一Record字段的AFI子字段中。通过在第一LISP报文中携带地址类型指示符,可以提升网络设备从第一LISP报文中解析获得用户终端地址的效率,以及后续接收到对端网络设备发送的报文后,查找EID映射表时的效率。
在另一种可能的实现方式中,所述第一LISP报文还包括Record Count字段,所述LISP报文携带的Record字段的数量携带在所述Record Count字段中。在接入设备连接的终端设备数目较多时,通过同一个LISP报文中携带多条终端设备与组标识的对应关系,可以节约传输开销,提高接入设备与网络设备的通信效率。
在另一种可能的实现方式中,所述第一网络设备获得对应关系之前,所述方法还包括:
所述第一网络设备接收来自于所述接入设备的第三LISP报文,所述第三LISP报文封装第一认证报文;
所述第一网络设备获得对应关系,包括:
所述第一网络设备接收来自于认证服务器的第二认证报文,所述第二认证报文携带所述终端设备的地址以及所述第一组标识;
所述第一网络设备从所述第二认证报文中获得所述对应关系。
在该实现方式中由网络设备作为接入点设备,接入设备和网络设备之间通过LISP传输认证报文。由于网络设备可以直接从认证服务器发送的认证报文中获得终端地址与组标识对应关系,不依赖接入设备,因此提升了网络设备获得终端地址与组标识对应关系的可靠性。
在另一种可能的实现方式中,所述第三LISP报文还携带第二报文类型指示符,所述第二报文类型指示符指示所述第三LISP报文用于封装认证报文。通过第二报文类型指示符,网络设备和接入设备能够识别出用于封装认证报文的LISP报文,从而更佳地协同完成终端认证过程。
可选地,所述第二报文类型指示符携带在所述第二LISP报文的Type字段中。
在另一种可能的实现方式中,所述第二认证报文包括所述终端设备标识对应的授权信息,所述方法还包括:
所述第一网络设备向所述接入设备发送第四LISP报文,所述第四LISP报文封装所述授权信息。接入设备通过第四LISP报文得到授权信息,从而支持附加功能,例如VLAN功能。
可选地,在另一种可能的实现方式中,所述第四LISP报文携带第三报文类型指示符,所述第三报文类型指示符指示所述第四LISP报文用于发送终端设备的授权信息。通过第三报文类型指示符,接入设备能够识别出用于封装授权信息的LISP报文,从而从中获得授权信息,更新用户信息表。
可选地,所述第四LISP报文包括Type字段和至少一个Record字段,所述第三报文类型指示符携带在Type字段中,所述终端设备标识携带在所述至少一个Record字段中的第一Record字段的EID子字段中,所述VLAN标识携带在所述第一Record字段的VLAN子字段中。
可选地,所述第四LISP报文还携带地址类型指示符,所述地址类型指示符指示所述终端设备标识是MAC地址或IP地址,所述地址类型指示符携带在所述第一Record字段的AFI子字段中。通过在第四LISP报文中携带地址类型指示符,可以提升接入设备从第四LISP报文中解析获得用户终端地址的效率,以及后续接收到终端设备发送的报文后,实现基于授权信息的附加功能。
可选地,所述第四LISP报文还包括Record Count字段,所述Record Count字段用于指示所述第四LISP报文携带的Record字段的数量。在接入设备连接的终端设备数目较多时,通过同一个LISP报文中携带多条终端设备与组标识的对应关系,可以节约传输开销,提高接入设备与网络设备的通信效率。
在另一种可能的实现方式中,所述方法还包括:所述第一网络设备接收所述接入设备发送的来自于终端设备的报文,该报文的源地址字段中是所述终端设备的地址、且目的地址字段中是另一终端设备的地址;
所述第一网络设备根据源地址字段中所述终端设备的地址,从所述对应关系中获得所述第一组标识;
所述第一网络设备封装所述报文,在VXLAN头中添加所述第一组标识,从而获得第二报文;
所述第一网络设备向第二网络设备发送所述第二报文。
通过上述对应关系,网络设备支持VXLAN协议。
第二方面,提供了一种基于VXLAN的组策略实现方法,包括:
接入设备在终端设备认证完成后获得所述终端设备对应的第一组标识,所述终端设备通过所述接入设备访问网络;
所述接入设备向与所述接入设备连接的网络设备发送第一LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识。
接入设备作为认证点设备,在认证通过后,通过LISP向网络设备发送终端设备的地址和所述第一组标识,从而使得网络设备能够基于终端设备的地址和所述第一组标识,实现VXLAN组策略。
在一种可能的实现方式中,所述第一LISP报文还携带第一报文类型指示符,所述第一报文类型指示符用于指示所述第一LISP报文用于发送所述对应关系。通过第一报文类型指示符,网络设备能够识别出用于封装终端地址和组标识的LISP报文,从而从中获得终端地址和组标识的对应关系。
在另一种可能的实现方式中,所述第一LISP报文还携带第一操作指示符,所述第一操作指示符用于指示所述第一LISP报文的接收方保存所述对应关系。
在另一种可能的实现方式中,所述方法还包括:
所述接入设备向所述网络设备发送第二LISP报文,所述第二LISP携带所述终端设备的地址和所述第一组标识和第二操作指示符,所述第二操作指示符用于指示所述第二LISP报文的接收方删除保存的所述对应关系。
在该实现方式中,通过在第一LISP报文和第二LISP报文中携带操作指示符,接入设备可以适时通知网络设备增加某些终端设备的对应关系、或者删除某些终端设备的对应关系。从而节约网络设备的存储空间。
第三方面,提供了一种基于VXLAN的组策略实现方法,包括:
接入设备向与所述接入设备连接的网络设备发送第一LISP报文,所述第一LISP报文封装来自于终端设备的认证报文,所述终端设备通过所述接入设备访问网络;
所述接入设备接收来自于所述网络设备的第二LISP报文,所述第二LISP报文封装授权信息;
所述接入设备保存所述终端设备的地址以及对应的所述授权信息。
在该方案中,与接入设备连接的网络设备作为认证点设备,在终端认证通过后,接入设备通过LISP从网络设备获得终端设备的授权信息,以便于实现基于授权信息的附加功能。
在一种可能的实现方式中,所述第一LISP报文还携带第一报文类型指示符,所述第一报文类型指示符指示所述第一LISP报文用于封装认证报文。通过该报文类型指示符,网络设备和接入设备能够识别出用于封装认证报文的LISP报文,从而更佳地协同完成终端认证过程。
在另一种可能的实现方式中,所述第二LISP报文携带第二报文类型指示符,所述第二报文类型指示符指示所述第二LISP报文用于发送终端设备的授权信息。通过该报文类型指示符接入设备能够识别出用于封装授权信息的LISP报文,从而从中获得授权信息,更新用户表。
第四方面,提供了一种网络设备,包括存储器、网络接口和至少一个处理器,所述存储器、网络接口和至少一个处理器通过总线相互连接,
所述存储器用于存储程序代码和至少一个组策略,所述至少一个组策略中的每个组策略包括源组标识和目的组标识,所述组策略用于指示对于从源组标识所标识的组到目的组标识所标识的组的报文的操作,所述操作包括允许访问或禁止访问;
所述至少一个处理器用于读取所述存储器中存储的程序代码后,执行上述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见上面的详细描述,此处不再赘述。
第五方面,提供了一种接入设备,包括存储器、网络接口和至少一个处理器,所述存储器、网络接口和至少一个处理器通过总线相互连接,
所述存储器用于存储程序代码;
所述至少一个处理器用于读取所述存储器中存储的程序代码后,执行上述第二方面或第二方面的任意一种可能的实现方式中的方法,或者上述第三方面或第三方面的任意一种可能的实现方式中的方法,具体参见上面的详细描述,此处不再赘述。
第六方面,提供了一种基于VXLAN的组策略实现装置,执行第一方面或第一方面的任意一种可能的实现方式中的方法,或者执行第二方面或第二方面的任意一种可能的实现方式中的方法,或者执行第三方面或第三方面的任意一种可能的实现方式中的方法。具体地,该基于VXLAN的组策略实现装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元,或者包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元,或者包括用于执行第三方面或第三方面的任意一种可能的实现方式中的方法的单元。这些单元可以由程序模块实现,也可以由硬件或固件实现,具体参见实施例中的详细描述,此处不再赘述。
第七方面,本申请实施例提供了一种计算机可读存储介质,用于储存为上述网络设备所用的计算机软件指令,当其在计算机上运行时,使得计算机执行上述各第一方面或第一方面的任意一种可能的实现方式中所述的方法,或者用于储存为上述接入设备所用的计算机软件指令,当其在计算机上运行时,使得计算机执行上述各第二方面或第二方面的任意一种可能的实现方式中所述的方法,或者使得计算机执行上述各第三方面或第三方面的任意一种可能的实现方式中所述的方法。
第八方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第九方面,提供了一种基于VXLAN的组策略实现系统,该系统包括接入设备、以及与接入设备连接的网络设备,网络设备用于执行上述各第一方面或第一方面的任意一种可能的实现方式中所述的方法。
在一种可能的实现方式中,所述接入设备执行上述各第二方面或第二方面的任意一种可能的实现方式中所述的方法。
在一种可能的实现方式中,所述接入设备执行上述各第三方面或第三方面的任意一种可能的实现方式中所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于VXLAN的组策略实现方法的应用场景示意图;
图2为本申请实施例提供的基于VXLAN的组策略实现方法的流程图;
图3A为本申请实施例涉及的802.1X规定的认证过程的示意图;
图3B为本申请实施例提供的网络设备获得终端11的地址与第一组标识的对应关系的第一种方式的示意图;
图3C为本申请实施例提供的网络设备获得终端11的地址与第一组标识的对应关系的第二种方式的示意图;
图4为本申请实施例提供的VXLAN封装的示意图;
图5为本申请实施例提供的网络设备的结构示意图;
图6为本申请实施例提供的接入设备的结构示意图;
图7为本申请实施例提供的一种基于VXLAN的组策略实现方法的示意图;
图8为本申请实施例提供的LISP报文字段结构的示意图;
图9为本申请实施例提供的LISP报文第一种扩展方式的示意图;
图10为本申请实施例提供的VXLAN报文头的示意图;
图11为本申请实施例提供的一种基于VXLAN的组策略实现方法的示意图;
图12为本申请实施例提供的LISP报文第二种扩展方式的示意图;
图13为本申请实施例提供的LISP报文第三种扩展方式的示意图。
具体实施方式
为了支持VXLAN,VTEP需要具有传输层报文处理功能,例如对二层报文进行三层封装,并添加用户数据报协议(User Datagram Protocol,UDP)报文头等。现有园区网络中的大部分接入设备是仅具有二层报文转发能力的交换机。如果利用接入设备实现VTEP,需要将现有园区网中的所有接入设备都替换为三层交换机,这将大大增加网络部署代价。
如果利用接入设备之外的其他网络设备实现VTEP,则面临一些技术上的难题。例如假设终端设备的认证过程在接入设备上完成,则网络设备无法获知终端设备的组标识,因而无法实施组策略;假设将终端设备的认证过程转移到网络设备上完成,则某些现有认证报文(如802.1X报文)无法透传到网络设备上,从而导致认证失败。
针对上述问题,本申请实施例提供了一种VXLAN的组策略实现方案,在该方案中由具有三层报文转发功能的网络设备实现VTEP。网络设备获得组策略。通过改进接入设备和网络设备之间控制面协议,使得网络设备在终端设备认证完成后,能够得到终端设备与组标识的对应关系。网络设备依据该对应关系完成组策略的实施。例如依据该对应关系和组策略对VXLAN解封装后获得的报文进行策略控制等等。
下面将结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
附图1是本申请实施例提供的基于VXLAN的组策略实现方法的应用场景示意图。该方法应用于园区网,园区网中包括以终端11和终端21为例的终端设备、以接入设备12和接入设备22为例的接入设备、以网络设备13和网络设备23为例的网络设备。可选地,视网络规模和实际需求,园区网还包括核心设备30、网管设备40和认证服务器50。终端11通过接入设备12接入网络,网络设备13对来自于接入设备12的数据流进行汇聚后发送到核心设备30。核心设备30与网管设备40、认证服务器50通过互联网相连接。终端21通过接入设备22接入网络,网络设备23对来自于接入设备22的数据流进行汇聚后发送到核心设备30。网络设备13和网络设备23之间存在VXLAN隧道,如图1中粗虚线所示。
本申请实施例中的终端设备具备连接网络的能力,即传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)协议栈的处理能力,包括但不限于个人计算机、打印机、移动电话、服务器、笔记本电脑、互联网协议(InternetProtocol,IP)电话、摄像头、平板电脑、可穿戴设备等。
本申请实施例中的接入设备是交换机或无线接入点(Access Point,AP),在不特别说明的情况下,本申请实施例中的交换机是指不支持VXLAN协议的交换机。
本申请实施例中的网络设备是三层交换机或路由器,该网络设备支持VXLAN协议。
本申请实施例中的网管设备是用于对网络进行配置的系统,网络管理员可以通过远程终端协议(Telnet)、管理信息库(Management Information Base,MIB)、又一下一代(yet another next generation,YANG)能方式对网络进行管理。在网络中未配置专用的网管设备的情况下,网络管理员也可以直接登录终端设备、接入设备、网络设备和核心设备对这些设备的地址、端口、网络连接参数等进行配置。在本申请实施例中,网管设备还用于配置组策略。
本申请实施例通过组策略对终端设备进行权限控制。具体地,每个终端设备被网络设备划分到一个组中,组具有一个“组”标识。网管设备配置不同组之间的访问控制动作,例如允许访问或禁止访问等。可选地,组策略包括匹配条件和控制动作,匹配条件包括一个或多个组标识。例如一个匹配条件为组A到组B的组策略的控制动作为允许访问,另一个匹配条件为组B到组C的另一个组策略的控制动作为禁止访问。
认证服务器用于对请求接入网络的终端设备进行认证,根据认证结果为终端设备开放网络服务。在本申请实施例中,认证服务器根据终端设备的地址、注册信息等数据,对上线的终端设备认证通过后,为该终端设备分配一个VLAN标识(VLAN ID)以及一个组标识(Group Policy ID)。可选地,认证服务器是验证、授权和记账(Authentication、Authorization、Accounting,AAA)服务器。
在附图1所示的场景中,由网络设备实现VTEP,网络设备13和网络设备23之间存在VXLAN隧道,通过VXLAN隧道对终端11和终端12之间的报文进行传输。下面将结合附图1和附图2,对网络设备实现VTEP功能的原理进行说明。
附图2是本申请实施例提供的基于VXLAN的组策略实现方法的流程图,附图2主要从一个网络设备的角度,对网络设备实现VTEP的原理进行说明。可以理解,附图2中的第一网络设备可以是附图1中的网络设备13或者网络设备23。当第一网络设备为附图1中的网络设备13时,第二网络设备是附图1中的网络设备23。当第一网络设备为附图1中的网络设备23时,第二网络设备是附图1中的网络设备13。附图2所示的流程包括步骤200~步骤205。
步骤200,第一网络设备获得至少一个组策略。
以第一网络设备为附图1中的网络设备13为例,当网络管理员通过网管设备40配置了至少一个组策略后,网管设备通过网管协议,例如网络配置协议(NetworkConfiguration Protocol,NETCONF)、或者简单网络管理协议(Simple NetworkManagement Protocal,SNMP),将至少一个组策略发送给网络设备13和网络设备23。其中,至少一个组策略中的每个组策略中至少包括两个组标识,即至少包括源组标识和目的组标识。
组策略用于指示从源组标识所表示的组到目的组标识所表示的组的访问控制操作。可选地,组策略包括源组标识、目的组标识和控制操作指示符。控制操作指示符用于指示访问控制操作,所述访问控制操作包括允许访问、禁止访问。例如,当控制操作指示符指示允许访问时,VTEP允许源组标识所表示的组到目的组标识所表示的组的访问,如转发源组所表示的组向目的组标识所表示的组发送的报文。当控制操作指示符指示禁止访问时,VTEP禁止源组标识所表示的组到目的组标识所表示的组的访问,如丢弃源组所表示的组向目的组标识所表示的组发送的报文。
步骤201,第一网络设备获得对应关系并保存所述对应关系,对应关系是第一终端设备的地址与第一组标识的对应关系。第一终端设备通过所述第一网络设备连接的接入设备访问网络。
仍以附图1为例,终端11上线后,需要完成认证过程才能访问网络。如果认证通过,则认证服务器为终端11进行授权,及指示接入设备12将与终端11对应连接的端口的状态由“被阻塞”变更为“已授权”。认证通过后,认证服务器还可以配置终端11的其他授权信息,例如为终端11分配VLAN ID以及组标识,通过VLAN ID以及组标识对终端11的网络访问行为进行控制。
为了便于理解后面将介绍的第一网络设备通过与接入设备之间的报文交换过程,首先对认证过程进行简单介绍,后面将介绍的报文交互过程与认证过程相关联。对终端设备进行认证的目的限制未经授权的终端设备通过接入端口(access port)访问网络,例如局域网或广域网,获得网络提供的各种业务。现有多种标准对终端设备的认证流程进行了规定,这里以电气和电子工程师协会(Institute of Electrical and ElectronicsEngineers,IEEE)802.1X标准为例,现有认证过程涉及认证的请求者(Supplicant)、认证点(Authenticator)和认证服务器(Authentication Server)三种角色。在现有认证过程中认证的请求者是终端设备,认证点是接入设备,认证服务器是以AAA服务器为例的服务器。为了简明起见,本申请实施例仅以802.1X标准的接入过程为例,对接入设备和网络设备的信息交互过程进行简化描述。当终端设备和网络侧采用其他标准规定的认证流程时,基于认证流程接入设备和网络设备的信息交互过程类似,不再进行一一列举。
802.1X规定认证过程如图3A所示,接入设备在认证之前,终端设备连接到接入设备上的端口为阻塞状态,只允许802.1X的认证报文通过。认证通过以后,终端设备的其他数据可以通过接入设备的端口进行传输。认证过程主要包括步骤301~步骤310。
步骤301,终端设备发送一个基于局域网的扩展认证协议(ExtensibleAuthentication Protocol over LAN,EAPoL)开始(Start)报文发起认证过程。
步骤302,接入设备收到EAPoL Start报文后,向终端设备发送一个扩展认证协议请求(Extensible Authentication Protocol Request,EAP Request)报文,请求终端设备发送用户标识。
步骤303,终端设备生成一个扩展认证协议响应报文(EAP Response)报文,将用户标识封装在EAP-Response报文中发送给接入设备。
步骤304,接入设备将收到的EAP Response以及自身的一些属性信息,例如网络接入服务器(Net Access Server,NAS)IP地址、NAS端口号(port)等信息封装在远端用户接入验证服务(Remote Authentication Dial In User Service,RADIUS)接入请求(Access-Request)报文中发给认证服务器。
步骤305,认证服务器收到RADIUS Access-Request报文后,将用户标识提取出来在数据库中进行查找。如果找不到该用户标识,则直接丢弃该报文;如果该用户标识存在,认证服务器会提取出用户的密码等信息,用一个随机生成的加密字进行MD5加密,生成密文。同时,将该随机加密字封装在一个EAP挑战请求(EAP-Challenge Request)报文中,再将该EAP Challenge Request报文封装在RADIUS接入挑战(RADIUS Access-Challenge)报文的EAP-Message属性中发给接入设备。
步骤306,接入设备收到RADIUS Access-Challenge报文后,将其中封装的EAPChallenge Request报文发送给终端设备。
步骤307,终端设备用认证服务器发来的随机加密字对本地保存的用户标识密码等信息进行相同的MD5加密运算生成密文,将密文封装在一个EAP Challenge Response报文中发给接入设备。
步骤308,接入设备收到EAP Challenge Response报文后,将其封装在一个RADIUSAccess-Request报文的EAP-Message属性中发给认证服务器。
步骤309,认证服务器解封装,将终端设备发回的密文与认证服务器在步骤305中生成的密文进行对比。如果不一致,则认证失败,认证服务器将返回一条RADIUS Access-Reject信息,同时保持端口关闭状态;如果一致,则认证通过,认证服务器将一条EAP-Success消息封装在RADIUS Access-Accept报文的属性中发送给接入设备。RADIUSAccess-Accept报文同时还携带有其他授权信息,如VLAN、组标识等信息。
步骤310,接入设备在接到认证服务器发来的RADIUS Access-Accept之后,将端口状态更改为“已授权”,同时将RADIUS Access-Accept中的EAP-Success报文拆出来发送给终端设备。同时,接入设备保存终端地址、以及包括VLAN、组标识在内的授权信息的对应关系。
在本申请实施例中,假定认证服务器为终端11分配的组标识为第一组标识。网络设备在认证服务器将第一组标识授权给终端11后,获得终端11的地址与第一组标识的对应关系。可选地,终端11的地址是终端11的MAC地址或终端11的IP地址。网络设备13得到上述对应关系的方式包括但不限于以下方式1和方式2所列举的两种。
方式1:认证点设备是接入设备12,该认证过程如图3A所示。在认证通过之后,接入设备12通过与网络设备13之间的控制面协议,将上述对应关系封装后发送给网络设备13,如图3B所示。网络设备13对接收到的报文解封装后,得到终端11的地址与第一组标识的对应关系。
控制面协议可以是新定义的协议,也可以通过对现有协议做一些扩展实现。例如对定位器标识分离协议(Locator/ID Separation Protocol,LISP)进行扩展实现,关于LISP的说明请参考现有标准,例如请求注解(Request For Comments,RFC)6830。后面的实施例中将给出扩展方式的示例。
方式1由接入设备作为认证点设备,在终端设备认证完成后,接入设备通过LISP报文将终端设备的地址和所述第一组标识通知网络设备,对现有网络认证流程改动较小,实现代价较低。
方式2:认证点设备是网络设备13。接入设备转发认证的请求者设备和认证点设备之间的认证报文,将终端设备发送的认证报文发送给认证点设备,将认证点设备发送的认证报文发送给终端设备。如图3C所示,具体地,在接入设备12上设置网络设备13的IP地址。接入设备12和网络设备13基于控制面协议传输认证报文。控制面协议可以是新定义的协议,也可以通过对现有协议做一些扩展实现。例如对LISP进行扩展实现,后面的实施例中将给出扩展方式的示例。认证通道实际上是指一种特定的用于对报文进行封装的方式。
终端11上线后,终端11的认证过程被触发后,接入设备12用控制面协议封装终端11的认证报文(例如,EAPoL-Start报文),向网络设备13发送封装后的报文。网络设备13解封装认证通道发来的报文,得到认证报文后,执行对终端11的认证流程。在执行认证流程的过程中,一方面,网络设备13解封装接入设备12发来的报文,按照标准的规定对解封装后得到的报文(例如EAPoL-Start报文、EAP Response报文、EAP Response报文、EAP ChallengeResponse报文)进行处理。另一方面,网络设备13用控制面协议封装将要向终端11发送的报文(例如EAP Request),向接入设备12发送封装后的报文。网络设备13还接收认证服务器发来的报文(例如RADIUS Access-Challenge报文、RADIUS Access-Accept),按照认证流程对报文进行处理,将处理后得到的应向终端设备发送的报文封装后通过认证通道发送给接入设备12(例如EAP Challenge Request、EAP Success报文)。
接入设备12通过认证通道接收网络设备13发来的认证报文(例如,附图3C中的EAPRequest报文、EAP Challenge Request、EAP Success报文),解封装认证通道发来的报文,将解封装后的报文发送给终端11。
网络设备13接收到认证服务器发送的RADIUS Access-Accept报文后,不仅将RADIUS Access-Accept报文中封装的EAP Success报文通过认证通道发送给接入设备12,还从认证服务器发送的RADIUS Access-Accept报文中获取其他授权信息,如VLAN、组标识等信息,保存终端地址、以及包括VLAN、组标识在内的授权信息的对应关系。
可选地,参照图3C,网络设备13还通过控制面协议将上述授权信息封装后发送给接入设备。接入设备12解封装接收到报文,得到终端11的地址与授权信息。这里的控制面协议可以是新定义的协议,也可以通过对现有协议做一些扩展实现。例如,对LISP进行扩展实现。后面的实施例中将给出扩展方式的示例。
在本申请实施例中,当终端11的认证过程完成后,终端11就可以在授权的范围内与其他终端进行通信。例如终端11发起对另一终端的访问时,终端11生成一个报文,该报文的源地址是终端11的地址,例如终端11的MAC地址或者终端11的IP地址。接入设备12接收到终端11发送的报文后,根据源地址查找授权时分配的对应的VLAN标识,将VLAN标识添加在报文以太头的VLAN标签字段中。然后,接入设备12将以太头中已添加了VLAN ID的报文发送给网络设备13。
网络设备13对接收到的报文进行VXLAN封装。VXLAN封装过程请参考现有标准中的说明,例如RFC 7348。图4是网络设备13对内层报文(即图4中的原始报文)进行VXLAN封装的示意图,VXLAN封装在接收到的内层报文的基础上依次增加VXLAN头、外层UDP头、外层IP头。内层报文包括以太帧头和数据部分。例如,数据部分是IP报文。以太帧头中的源地址是终端11的MAC地址,目的地址是终端21的MAC地址。IP报文头中的源地址是终端11的IP地址,目的地址是终端21的IP地址。
在封装过程中,网络设备13根据该报文的源地址查询获得的上述对应关系,从而获得终端11的地址对应的第一组标识。网络设备13对报文进行封装得到VXLAN报文,在VXLAN头中的组标识中写入终端11的组标识。网络设备13通过VXLAN隧道,将封装后得到的的VXLAN报文发送给网络设备23。
同理,园区网中的其他网络设备也可以采用与上述附图2中的步骤200~步骤201类似的步骤,得到其他终端与组标识的对应关系,具体过程在这里不进行赘述。
在这里假设附图1中的网络设备23采用类似的步骤,得到终端21与第二组标识的对应关系。网络设备23在终端21发起对终端11的访问后,接收接入设备22发送的、来自于终端21的报文。网络设备23对接收到的报文进行上述VXLAN封装后,通过VXLAN隧道向网络设备13发送VXLAN封装后得到的VXLAN报文。
为了描述简单,将网络设备23对来自于终端21的报文进行VXLAN封装后生成的报文称为第一报文。第一报文中包含的内层报文中的源地址是终端21的MAC地址,目的地址是终端11的MAC地址。内层IP头中的源地址是终端21的IP地址,目的地址是终端11的IP地址。
第一报文的外层以太头中的源地址是网络设备23的MAC地址,目的地址是网络设备13的MAC地址。外层IP头中的源地址是网络设备23的IP地址,目的地址是网络设备13的IP地址。第一报文的VXLAN头中携带第二组标识。
方式2由网络设备执行终端设备的认证流程,接入设备和网络设备之间通过LISP传输认证报文。由于网络设备可以直接从认证服务器发送的认证报文中获得终端地址与组标识对应关系,不依赖接入设备,因此提升了网络设备获得终端地址与组标识对应关系的可靠性。
回到附图2所示的流程中,继续执行步骤202,第一网络设备接收来自于第二网络设备的第一报文,所述第一报文为VXLAN报文,所述第一报文包括内层报文。第一报文的VXLAN头中包含第二组标识。
步骤203,第一网络设备解封装所述第一报文以获得所述第一报文的VXLAN头中包含的第二组标识、以及内层报文。
步骤204,第一网络设备获得所述内层报文的报文头中目的地址字段中的所述第一终端设备的地址。
仍以附图1中的网络设备11为例,网络设备13对第一报文执行VXLAN解封装处理,VXLAN解封装处理与网络设备23上执行的上述VXLAN封装处理相对应。通过VXLAN解封装处理,网络设备13获得第一报文的VXLAN头和内层报文。进一步,网络设备13从第一报文的VXLAN头中得到第二组标识,从内层报文头中得到目的地址,即目的地址是终端11的MAC地址或者IP地址。
步骤205,第一网络设备根据第一终端设备的地址,从所述对应关系中获得所述第一组标识。
步骤206,第一网络设备以所述第二组标识为源组标识、所述第一组标识为目的组标识,从所述至少一个组策略中查找到第一组策略。第一组策略的源组标识为所述第二组标识、且目的组标识为所述第一组标识。
步骤207,第一网络设备对所述内层报文执行所述第一组策略指示的操作。
仍以附图1中的网络设备13为例,网络设备13从内层报文头中得到的终端11的地址后,根据步骤201中得到的对应关系,获得终端1的地址对应的第一组标识。然后,网络设备13以从VXLAN头中得到第二组标识为源组标识、以第一组标识为目的组标识,从步骤200得到的至少一个组策略中查找对应的组策略,假定查找到的组策略为第一组策略,第一组策略的源组标识为第二组标识、且目的组标识为第一组标识。网络设备13根据第一组策略的指示,对上述内层报文进行访问控制操作。可选地,如果第一组策略中的控制操作指示符指示允许访问,则网络设备13将内层报文发送给接入设备12,以便于接入设备12将内层报文发送给终端11。如果第一组策略中的控制操作指示符指示禁止访问,则网络设备13丢弃内层报文,不向接入设备12发送内层报文。
在本申请实施例提供的基于VXLAN的组策略实现方法中,在与接入设备连接的、且支持VXLAN协议的网络设备上实现VXLAN组策略。网络设备一方面获取组策略,另一方面,网络设备得到终端地址与组标识的对应关系。在此后的报文传输中,从接收报文的角度来说,网络设备接收到对端网络设备发送的报文后,根据接收到的报文的VXLAN头中携带的组标识、内层报文头中的目的地址、以及组策略对接收到的报文进行访问控制。从发送报文的角度来说,当终端设备发送报文时,在该对应关系查找作为报文源地址的终端设备的地址对应的组标识,网络设备在封装该报文时,在VXLAN头中携带查找到的组标识,向对端网络设备发送封装后的报文。与通过接入设备实现VTEP的方案相比,本申请实施例提供的方案可以沿用现有园区网络中的大量硬件设施,无需对网络转发设备进行大规模替换,能够节约代价。
附图5是附图1所示的场景中网络设备的结构示意图。图5所示的网络设备作为图2所示流程中的第一网络设备,以实现图2中第一网络设备的功能。图5中网络设备包括处理器51、转发芯片52、多个网络端口53和存储器54。转发芯片52与每个网络端口连接。
转发芯片52、存储器54可以与处理器51集成于同一个物理器件中,也可以是单独的物理器件。在转发芯片52、存储器54与处理器51集成于同一个物理器件的情况下,存储器54在CPU中,转发芯片52可以是多核CPU中的核。在转发芯片52、存储器54是独立于处理器51的单独的物理器件的情况下,转发芯片52、存储器54均与处理器51连接。转发芯片52还与存储器54连接。
在存储器54是单独的物理器件的情况下,存储器54包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)、三态内容可寻址存储器(ternary content addressable memory,TCAM)、快闪存储器、或光存储器等。
存储器54用于保存转发表、组策略表和端点标识(Endpoint ID,EID)映射表。可选地,转发表和EID映射表保存在RAM中,组策略表保存在TCAM中。
转发芯片52可以访问存储器54中的转发表、组策略表和EID映射表。
本申请实施例中不限定上述部件之间的具体连接介质,例如总线。
其中转发表中的表项保存有终端的MAC地址与端口号的映射关系,端口号用于指示网络设备上的网络端口。表1是图1中网络设备13的转发表中的一个表项的示例,其中“00e0-d26b-8121”是终端11的MAC地址,“E1/0/0”指示网络设备13上的一个网络端口。当然,在实际存储时,不同厂商的网络设备可以采用不同的数据结构来保存MAC地址与端口号的映射关系。
表1
编号 | MAC地址 | 端口号 |
1 | 00e0-d26b-8121 | E1/0/0 |
…… | …… |
EID映射表用于保存终端地址和组标识之间的对应关系。表2是图1中网络设备13的EID映射表中的一个表项的示例,其中终端地址既可以是MAC地址也可以是IP地址,“100.1.1.1”是终端11的MAC地址,“1”指示一个组。
表2
编号 | 终端地址(MAC地址/IP地址) | 组标识(Group Policy ID) |
1 | 00e0-d26b-8121/100.1.1.1 | 1 |
…… | …… |
处理器51,用于控制转发芯片52配置与其他网络设备之间的VXLAN隧道。还用于控制转发芯片52建立与接入设备的连接。
转发芯片52,用于接收其他网络设备(例如网管设备)发送的组策略,并保存组策略。
处理器51,用于指示网络端口53获得对应关系并在EID映射表中保存所述对应关系。对应关系是所述第一终端设备的地址与第一组标识的对应关系,所述第一终端设备通过与所述第一网络设备连接的接入设备访问网络。
具体地,如果图5所示的第一网络设备采用附图3B所示的方式1获得对应关系,则处理器51用于对接入设备通过控制面协议封装后的报文解封装,从解封装结果中获得上述对应关系,并在EID映射表中保存对应关系。可选地,网络端口53还用于接收来自于所述接入设备的第一LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识。处理器51用于从所述第一报文中获得所述对应关系。可选地,处理器51中包括LISP支持模块,用于根据预定LISP的扩展格式,对接入设备发送LISP报文进行解封装,从而得到对应关系。
如果图5所示的第一网络设备采用附图3C所示的方式2获得对应关系,则处理器51还用于建立与接入设备的认证通道。网络端口53用于接收来自于所述接入设备的第三LISP报文,所述第三LISP报文封装第一认证报文;接收来自于认证服务器的第二认证报文,所述第二认证报文携带所述终端设备的地址以及所述第一组标识。处理器51用于从第二认证报文中获得所述对应关系。例如,结合附图3C,第一认证报文是EAPoL-Start报文,第二认证报文是RADIUS Access-Accept报文。当网络端口53接收到认证服务器发送的RADIUS Access-Accept报文后,从RADIUS Access-Accept报文中获取其他授权信息,如VLAN、组标识等信息,在EID映射表中保存对应关系。
可选地,处理器51还用于通过LISP将上述授权信息封装后发送给接入设备。
可选地,处理器51中包括LISP支持模块以及认证模块。LISP支持模块用于根据LISP对接入设备通过认证通道发来的认证报文(例如EAPoL Start、EAP Response、EAPChallenge Response)进行解封装,以及通过LISP将向终端设备发送的认证报文(例如EAPRequest、EAP Challenge Request)封装后通过认证通道发送给接入设备,以及通过预定的LISP扩展格式,将授权信息封装后通过认证通道发送给接入设备。认证模块用于支持对认证报文的解析,以及根据认证流程执行相应处理,例如,参考附图3C,网络端口53得到解封装后的终端设备发送的EAPoL Start报文后,处理器51生成EAP Request报文,并通过LISP扩展格式,将EAP Request报文封装后,通过认证通道发送封装后的EAP Request报文,又例如,解封装后得到EAP Response报文后,向认证服务器发送RADIUS Access-Request报文。请参考附图3C及相关文字说明,在这里不展开一一赘述。
可选地,处理器51中的LISP支持功能模块和/或认证支持模块可以通过软件实现,也可以通过多核CPU中的一个核实现。
从接收报文的角度来说,转发芯片52,还用于接收来自于第二网络设备的第一报文,所述第一报文是VXLAN报文,所述第一报文包括内层报文。
处理器51,用于解封装第一报文以获得所述第一报文的VXLAN头中包含的第二组标识、以及内层报文,获得内层报文的报文头目的地址字段中包括的终端设备的地址;根据所述终端设备的地址,从EID映射表保存的对应关系中获得终端设备的地址对应的第一组标识;以所述第二组标识为源组标识、所述第一组标识为目的组标识,从所述至少一个组策略中查找到第一组策略,控制转发芯片52对所述内层报文执行所述第一组策略指示的操作。所述第一组策略的源组标识为所述第二组标识、且目的组标识为所述第一组标识。
从发送报文的角度来说,转发芯片52接收接入设备转发的第二报文,所述第二报文的源地址是所述第一终端设备标识、且目的地址是第三终端设备标识。
处理器51,用于根据所述第二报文的源地址,从EID映射表保存的对应关系中获得所述第一组标识;封装所述第二报文从而获得封装后的第二报文,封装后的第二报文的VXLAN头中包括获得的所述第一组标识;控制转发芯片52向第二网络设备发送封装后的第二报文。
附图5所述的网络设备用以应用于附图1所示的场景中,实现附图2所示的流程中网络设备的功能。附图5中各组件实现的其他附加功能、以及与其他网元设备(如接入设备、认证服务器)的交互过程,请参照附图2、附图7或附图11所示的方法实施例中对网络设备的描述,在这里不再赘述。
附图6是附图1所示的场景中接入设备的结构示意图。图6所示的接入设备作为图2中的与第一网络设备连接的接入设备,以实现图2中接入设备的功能。图6中接入设备包括处理器61、转发芯片62、多个网络端口63和存储器64。转发芯片62与每个网络端口连接。
转发芯片62、存储器64可以与处理器61集成于同一个物理器件中,也可以是单独的物理器件。在转发芯片62、存储器64与处理器61集成于同一个物理器件的情况下,存储器64在CPU中,转发芯片62可以是多核CPU中的一个核。在转发芯片62与处理器61是独立于处理器61的单独的物理器件的情况下,转发芯片62、存储器54均与处理器61连接。转发芯片52还与存储器54连接。
在存储器64是单独的物理器件的情况下,存储器54包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)、三态内容寻址存储器(ternary content addressable memory,TCAM)、快闪存储器、或光存储器等。
存储器64用于保存转发表、和用户信息表。
转发芯片62可以访问存储器64中的转发表、和用户信息表。
本申请实施例中不限定上述部件之间的具体连接介质,例如总线。
接入设备中的转发表与上述表1类似,在这里不再重复介绍。用户信息表中保存终端设备的地址(MAC地址或IP地址)和授权信息之间的对应关系,授权信息包括VLAN ID。表3是图1中接入设备12的用户信息表中的一个表项的示例,其中“00e0-d26b-8121”是终端11的MAC地址,“VLAN 10”是终端11的授权信息。
表3
编号 | MAC地址 | 授权信息 |
1 | 00e0-d26b-8121 | VLAN 10 |
…… | …… |
处理器61,用于控制转发芯片62建立与第一网络设备的连接。
处理器61,还用于在终端设备认证完成后,获得终端设备的授权信息,在表3中保存终端地址与授权信息的对应关系。
具体地,如果与附图6所示的接入设备连接的网络设备采用附图2中步骤201中的方式1所示的方法获得终端地址和组标识的对应关系,则接入设备的处理器61用于当终端设备认证完成后,控制网络接口63向与该接入设备连接的网络设备发送第一LISP报文,其中第一LISP报文携带所述终端设备的地址和所述第一组标识。例如参考附图3B,网络接口63接收到认证服务器发送的RADIUS Access-Accept报文后,从RADIUS Access-Accept报文中获取终端设备的其他授权信息,如VLAN、组标识等信息,生成终端设备地址和第一组标识的对应关系,控制网络接口63通过LISP向网络设备发送对应关系。可选地,处理器61中包括认证支持模块和LISP支持模块。认证支持模块用于根据认证流程,完成终端设备的认证过程,具体请参照附图3B及相关描述。LISP支持模块,用于根据LISP扩展格式,对对应关系进行封装,向网络设备发送封装后的对应关系。
具体地,如果与附图6所示的接入设备连接的网络设备采用附图2中步骤201中的方式2所示的方法获得对应关系,则接入设备中的处理器61用于控制网络端口63根据预先配置的网络设备的地址,建立与网络设备的认证通道。网络端口63,用于向网络设备发送第一LISP报文,所述第一LISP报文封装来自于终端设备的认证报文,所述终端设备通过所述接入设备访问网络;接收来自于所述网络设备的的第二LISP报文,所述第二LISP报文封装授权信息。处理器61还用于,从第二LISP报文中获取所述授权信息。可选地,处理器61中包括LISP支持模块和认证支持模块。LISP支持模块用于根据LISP的扩展格式,对来自于终端设备的认证报文进行封装,将封装后的认证报文(例如EAPoL Start、EAP-Response、EAPChallenge Response)通过认证通道发送给网络设备,以及对接收到的网络设备发送的LISP报文进行解封装,从中得到认证报文(例如EAP-Request,EAP Challenge Request)后,将认证报文发送给终端设备。LISP支持模块还用于在网络端口63接收到网络设备通过LISP的扩展格式封装的授权信息后,解封装以获得授权信息。认证支持模块用于在用户信息表中保存解封装后获得的授权信息。
可选地,处理器61中的LISP支持功能模块和认证支持模块可以通过软件实现,也可以通过多核CPU中的一个核实现。
附图6所述的接入设备用以应用于附图1所示的场景中,实现附图2所示的流程中接入设备的功能。附图6中各组件实现的其他附加功能、以及与其他网元设备(如网络设备、终端设备、或认证服务器)的交互过程,请参照附图2、附图7或附图11所示的方法实施例中对接入设备的描述,在这里不再赘述。
附图7是本申请实施例提供的一种基于VXLAN的组策略实现方法的示意图。在附图7所示的方法中,由接入设备完成终端设备的认证过程。接入设备在终端设备认证通过,并且获得认证服务器为终端设备设置的授权信息后,将终端设备标识和组标识通过扩展的LISP报文发送给网络设备,以便网络设备得到终端地址和组标识的对应关系。网络设备根据组策略和所述对应关系,进行访问控制。附图7的应用场景如附图1所示,认证过程如附图3B所示。
附图7所示的方法包括以下步骤71~步骤717。
步骤71,网络管理员在附图1的网管设备40上配置组策略,并将组策略下发到网络设备13和网络设备23上。在本实施例中,网管设备下发了3条组策略,分别为第一组策略、第二组策略和第三组策略。
第一组策略表示为“Group 2,Group 1,permit”,第一组策略指示组标识“Group2”所表示的组允许访问组标识“Group 1”所表示的组。
第二组策略表示为“Group 1,Group 2,permit”,第一组策略指示组标识“Group1”所表示的组允许访问组标识“Group 2”所表示的组
第三组策略表示为“Group 3,Group 1,deny”,第三组策略指示组标识“Group 3”所表示的组禁止访问组标识“Group 1”所表示的组。
步骤72,终端11在接入设备12上线,触发终端11的认证流程,终端11认证通过后,认证服务器50向接入设备12发送终端11的授权信息。授权信息包括终端11的VLAN标识“VLAN 10”,以及终端11的组标识“Group 1”。具体认证过程如附图3B所示,在这里不再重复。
步骤73,接入设备12向网络设备13发送第一LISP报文,第一LISP报文携带所述终端设备的地址和所述第一组标识。
在本实施例中终端的地址是终端的MAC地址或IP地址,终端11的MAC地址是00e0-d26b-8121,IP地址是100.1.1.1。
为了通过LISP报文携带上述对应关系,需要对LISP报文进行扩展。出于便于理解的考虑,图8先给出了LISP协议的字段结构,再结合图9对LISP协议的扩展方式进行介绍。关于图8中各字段的说明请参考现有标准文档,例如RFC 6830,在这里不进行赘述。
在本申请实施例中,对于接入设备向网络设备发送的第一LISP报文,图8中的“Source Routing Locator”为接入设备12的LISP所用地址,“Destination RoutingLocator”为网络设备13的LISP所用地址,“Source Port”中所写入的内容由LISP报文的发送方通过静态配置或动态生成,“Dest Port”为4342。同理,对于网络设备13向接入设备12发送的LISP报文,“Source Routing Locator”为网络设备13的LISP所用地址,“Destination Routing Locator”为接入设备12的LISP所用地址,“Des Port”的值为接入设备12向网络设备13发送的LISP报文中的“Source Port”的值,“Source Port”为4342。
本实施例中的第一LISP报文主要对图8中的LISP Message部分进行了扩展定义,具体如图9所示。
在本实施例中,LISP Message部分至少要携带终端11的MAC地址00e0-d26b-8121以及IP地址100.1.1.1中的至少一个,以及终端11的组标识“Group 1”。
可选地,当接入设备和网络设备之间通过LISP传送多种不同信息时,可以通过为每类信息分配一个对应的报文类型指示符,以便于接收方区分出LISP报文携带的信息。如图9所示,扩展的LISP报文的LISP Message部分中包括报文类型指示符,用于指示本LISP报文用于发送终端设备标识和组标识的对应关系。可选地,报文类型指示符用整数表示,保存在Type字段中。本实施例中,用整数“5”来指示本LISP报文用于发送终端设备标识和组标识的对应关系。实际上报文类型指示符的取值以及在LISP Message部分中的位置可以灵活设置,只要接入设备和网络设备都能根据预先的格式定义识别出报文类型指示符,从而确定该LISP报文的用途即可。通过第一报文类型指示符,网络设备能够识别出用于封装终端地址和组标识的LISP报文,从而从中获得终端地址和组标识的对应关系。
可选地,为了便于解析,可以通过LISP Message部分中的一个Record字段中记录一个终端的地址和组ID的对应关系。例如通过一个Record字段记录终端11的地址和组ID的对应关系。更具体地,将终端11的地址携带在该Record字段的EID子字段中,将组ID“Group1”携带在该Record字段的Group Policy ID子字段中。
可选地,由于终端11在上线之后可能因各种原因断开网络,如意外拔除网线,计费超额等,并且在较长时间内不再通过接入设备12接入网络。在此情况下,接入设备12无需再保存终端11的相关信息。为了节约接入设备12中用户信息表的存储空间,以及网络设备13的EID映射表的存储空间,接入设备12需要适时通知网络设备13增加某些终端设备的对应关系、或者删除某些终端设备的对应关系。针对此需求,在本申请实施例中还可以在LISPMessage部分中携带操作指示符,该操作指示符用于指示该扩展的LISP报文的接收方保存LISP Message部分中携带的对应关系,也可以通过操作指示符指示该扩展的LISP报文的接收方在本地存储器中删除LISP Message部分中携带的对应关系。
在本实施例中,在终端11通过认证之后,接入设备12向网络设备13发送的第一LISP报文中的LISP Message部分中携带第一操作指示符,通过第一操作指示符指示接收方保存LISP Message部分中携带的对应关系。在发送第一LISP报文之后,还可以发送第二LISP报文。第二LISP报文与第一LISP的格式类似,区别是第二LISP报文的LISP Message部分中携带第二操作指示符,通过第二操作指示符指示接收方删除本地保存的LISP Message部分中携带的对应关系。可选地,该操作指示符携带在图9所示的F字段中。例如,操作指示符是整数,0指示保存对应关系,1指示删除对应关系。
可选地,还可以通过扩展LISP报文通知网络设备终端设备标识的类型,以便于网络设备直接选用对应的协议栈进行解析,从而提升了网络设备从扩展LISP报文中解析获得用户终端地址的效率,以及后续接收到对端网络设备发送的报文后,查找EID映射表时的效率。终端设备标识的类型至少包括IPv4地址、IPv6地址和MAC地址。在第一LISP报文中可以用不同的地址类型指示符来代表对应的终端设备标识的类型。例如数来代表对应的终端设备标识的类型,比如用数字1代表IPv4地址、数字2代表IPv6地址、数字16389代表MAC地址。在本实施例中将地址类型指示符携带在Record字段的AFI子字段中,如图9所示。
可选地,在接入设备12连接的终端设备数目较多时,有可能与接入设备12连接的多个终端设备在短时间内同时上线通过认证,为了提高接入设备12与网络设备13的通信效率,可以在同一个LISP报文中携带多条终端设备与组标识的对应关系。在此情况下,可以在第一LISP报文的LISP Message部分增加一个Record Count字段,该字段的取值用于指示所述LISP报文携带的Record字段的数量,如图9所示。
步骤74,网络设备13接收第一LISP报文,从第一LISP报文中获得终端11的地址以及终端11的组标识的对应关系并保存该对应关系。
可选地,在本实施例中第一LISP报文是如图9所示的扩展LISP报文。网络设备13从第一LISP报文中获得终端11的地址(终端11的MAC地址00e0-d26b-8121)以及终端11的组标识“Group 1”。在表2所示的EID映射表中创建一条记录,在该记录中保存00e0-d26b-8121以及Group 1。
步骤75,终端21上线,网络设备23通过与上述步骤72~74类似的过程获得终端21的地址和终端21的组标识的对应关系保存该对应关系。这里不再重复详述。
在本实施例中终端21的地址是MAC地址,则网络设备23通过类似步骤保存终端21的MAC地址00e0-d26b-8122以及终端21的组标识“Group 2”。可替代的,终端设备的地址也可以是IP地址。
步骤76,终端21访问终端11,终端21生成的报文经过接入设备22发送至网络设备23。接入设备22根据终端21的授权信息,在终端21生成的报文的以太头中增加终端21的VLAN标识“VLAN 10”。
终端21生成的报文的源MAC地址是终端21的MAC地址00e0-d26b-8122,目的MAC地址是终端11的MAC地址00e0-d26b-8121,源IP地址是终端21的IP地址100.1.2.2,目的IP地址是终端11的IP地址100.1.1.1。
步骤77,网络设备23接收接入设备22发送的报文,对接收到的报文进行封装,在VXLAN头中写入终端21的组标识“Group 2”。
在本申请实施例中,网络设备23接收到接入设备22发送的报文后,从接入设备22发送的报文的源地址字段中获得终端21的地址。终端21的地址可以是终端21的MAC地址或者IP地址,在本申请实施例中以终端21的地址是终端21的MAC地址为例进行说明。网络设备23根据终端21的MAC地址“00e0-d26b-8122”在步骤75得到的对应关系中,查询得到终端21的组标识“Group 2”。网络设备23在对接入设备22发送的报文进行VXLAN封装的过程中,将终端21的组标识“Group 2”写入附图10所描述的VXLAN头的保留(Reserved)字段中。在本申请实施例中为了对不同报文进行区分,将网络设备23进行VXLAN封装后得到的报文称为第一报文。
步骤78,网络设备23向网络设备13发送第一报文。第一报文在网络中经三层转发。
步骤79,网络设备13解封装接收到的第一报文,从而获得所述第一报文的VXLAN头中包含的“Group 2”、以及第一报文中包括的内层报文。并进一步获得内层报文的报文头目的地址字段中包括的终端11的地址00e0-d26b-8121。
步骤710,网络设备13根据步骤79得到的终端11的地址00e0-d26b-8121,从步骤74保存的对应关系中查找得到对应的终端11组的标识“Group 1”。
可以理解,当EID映射表中终端设备的地址是IP地址时,网络设备13从内层报文头中获得终端11的IP地址,并根据终端11的IP地址查询EID映射表。
步骤711,网络设备13以VXLAN头中包含的“Group 2”为源组标识,步骤710查找到的终端11组的标识“Group 1”为目的组标识,从保存的组策略中查找到匹配的组策略为第一组策略“Group 2,Group 1,permit”,网络设备13根据第一组策略将步骤79得到的内层报文通过接入设备12发送给终端设备11。
当终端11访问其他终端时,也执行与步骤76~711相类似的过程,如步骤712~718所示。在本实施例中仅以终端11访问终端21为例进行说明,终端11访问其他终端设备的过程与终端11访问终端21的处理过程类似。
步骤712,终端11访问终端21,终端11生成的报文经过接入设备12发送至网络设备13。接入设备22根据终端11的授权信息,在终端11生成的报文的以太头中增加终端11的VLAN标识“VLAN 10”。
终端11生成的报文的源MAC地址是终端11的MAC地址00e0-d26b-8121,目的MAC地址是终端21的MAC地址00e0-d26b-8122,源IP地址是终端11的IP地址100.1.1.1,目的IP地址是终端21的IP地址100.1.2.2。
步骤713,网络设备13接收接入设备12发送的报文,对接收到的报文进行封装,在VXLAN头中写入终端11的组标识“Group 1”。
在本申请实施例中,网络设备13接收到接入设备12发送的报文后,从接入设备12发送的报文的源地址字段中获得终端11的地址。终端11的地址可以是终端11的MAC地址或者IP地址,在本申请实施例中以终端11的地址是终端11的MAC地址为例进行说明。网络设备13根据终端11的MAC地址“00e0-d26b-8121”在步骤74得到的对应关系中,查询得到终端11的组标识“Group 1”。网络设备13在对接入设备12发送的报文进行封装的过程中,将终端11的组标识“Group 1”写入附图10所描述的VXLAN头的保留(Reserved)字段中。在本申请实施例中将网络设备13进行封装后得到的报文称为第二报文。
步骤714,网络设备13向网络设备23发送第二报文。第二报文在网络中经三层转发。
步骤715,网络设备23解封装接收到的第二报文,从而获得所述第一报文的VXLAN头中包含的“Group 1”、以及第二报文中包括的内层报文。并进一步得到内层报文的的报文头目的地址字段中包括的终端21的地址00e0-d26b-8122。
步骤716,网络设备23根据步骤715得到的终端21的地址00e0-d26b-8122,从步骤75保存的对应关系中查找得到对应的终端21组的标识“Group 2”。
可以理解,当EID映射表中终端设备的地址是IP地址时,网络设备23从内层报文头中获得终端21的IP地址,并根据终端11的IP地址查询EID映射表。
步骤717,网络设备23以第二报文VXLAN头中包含的“Group 1”为源组标识,步骤716查找到的终端21组的标识“Group 2”为目的组标识,从保存的组策略中查找到匹配的组策略为第二组策略“Group 1,Group 2,permit”,网络设备23根据第二组策略将步骤715得到的内层报文通过接入设备22发送给终端设备21。
图11是本申请实施例提供的另一种基于VXLAN的组策略实现方法的示意图。在附图11所示的方法中,由网络设备完成终端设备的认证过程。接入设备和网络设备之间建立认证通道,用于传输认证报文。网络设备在认证通过,并且获得认证服务器为终端设备设置的授权信息后,网络设备保存终端地址和组标识的对应关系。网络设备根据组策略和所述对应关系,进行访问控制。附图11的应用场景如附图1所示,认证过程如附图3C所示。
附图11所示的方法包括以下步骤111~步骤1117。
步骤111,网络管理员在附图1的网管设备40上配置组策略,并将组策略下发到网络设备13和网络设备23上。在本实施例中,网管设备下发了3条组策略,分别为第一组策略、第二组策略和第三组策略。
第一组策略表示为“Group 2,Group 1,permit”,第一组策略指示组标识“Group2”所表示的组允许访问组标识“Group 1”所表示的组。
第二组策略表示为“Group 1,Group 2,permit”,第一组策略指示组标识“Group1”所表示的组允许访问组标识“Group 2”所表示的组
第三组策略表示为“Group 3,Group 1,deny”,第三组策略指示组标识“Group 3”所表示的组禁止访问组标识“Group 1”所表示的组。
步骤112,网络管理员在接入设备12上配置网络设备13的IP地址,用于接入设备12与网络设备13之间进行LISP通信,同理,在接入设备22上配置网络设备23的IP地址,用于接入设备22与网络设备23之间进行LISP通信。
步骤113,终端11在接入设备12上线,触发终端11的认证流程,接入设备12接收到终端11发送的认证报文。
可以理解,在不同认证流程中,终端11发送的用以触发认证流程的认证报文会有所差异。可选地,以标准802.1X为例,终端11发送的认证报文是EAPoL Start(如附图3C所示)。
步骤114,接入设备12对终端11发送的认证报文进行LISP封装。为了与附图7所示的流程中的各LISP报文相区分,这里将封装得到的LISP报文称为第三LISP报文,接入设备12向网络设备13发送第三LISP报文。
为了通过LISP对认证报文进行封装,需要对LISP报文进行扩展。LISP协议的字段结构如图8所示,关于图8中各字段的说明请参考现有标准文档,例如RFC 6830,在这里不进行赘述。本实施例第三LISP报文主要对图8中的LISP Message部分进行了扩展定义,具体如图12所示。
在本实施例中,将终端11发送的认证报文EAPoL Start封装在第三LISP报文LISPMessage部分中。如图12所示,第三LISP报文的LISP Message部分中包括报文类型指示符,报文类型指示符指示本LISP报文用于发送来自于终端设备的认证报文。可选地,报文类型指示符用整数表示,保存在Type字段中。本实施例中,用整数“6”来指示本LISP报文用于发送来自于终端设备的认证报文。实际上报文类型指示符的取值以及在LISP Message部分中的位置可以灵活设置,只要接入设备和网络设备都能根据预先的格式定义识别出报文类型指示符,从而确定该LISP报文的用途即可。通过该报文类型指示符,网络设备和接入设备能够识别出用于封装认证报文的LISP报文,从而更佳地协同完成终端认证过程。
可选地,如图12所示,接入设备12将终端11发送的认证报文封装在LISP Message部分中的“Original packet”字段中。
可选地,为了更好的兼容现有的认证流程,使得从终端设备的角度看,与现有认证流程无差别,可以通过LISP Message部分携带一个端口号。具体地,对于终端设备向网络侧发送的认证报文(例如EAPoL Start、以及后续发送的EAP Response、EAP ChallengeResponse),接入设备12在LISP Message部分携带接入设备12上的一个端口号,该端口号指示的端口是接入设备12接收到终端11发送的认证报文时的端口。可选地,该端口号携带在图12的“Port”字段中。
步骤115,网络设备13解封装接入设备12发来的第三LISP报文,从而得到第三LISP报文中封装的认证报文,即终端11发送的认证报文。
认证设备12和网络设备13都支持图12所示的LISP报文的扩展方式,网络设备13可以采用与上述封装过程对应的解封装过程,得到认证报文。具体地,网络设备13从图12所示格式的扩展LISP报文的LISP Message部分获得封装的认证报文。
步骤116,网络设备13根据解封装得到的认证报文,执行终端11的认证过程。
具体地,在认证过程中涉及到的多次报文交互中,网络设备13根据认证流程对解封装后的报文进行处理,并将向终端11发送的认证报文封装在扩展字段格式的LISP报文中,向接入设备12发送封装得到的LISP报文。
例如,参考附图3C,网络设备13对接入设备12发送的第三LISP报文解封装后得到终端11发送的EAPoL Start报文后,生成EAP Request报文,将EAP Request报文封装在LISP报文的LISP Message部分中,向接入设备12发送封装得到的LISP报文。
又如,参考附图3C,网络设备13对接入设备12发送的LISP报文解封装后得到EAPResponse报文后,向认证服务器发送RADIUS Access-Request报文。网络设备13接收到认证服务器回复的RADIUS Access-Challenge报文后,从中提取出EAP Challenge Request报文,将EAP Challenge Request报文封装在LISP报文的LISP Message部分中,向接入设备12发送封装后得到的LISP报文。
又例如,参考附图3C,网络设备13对接入设备12发送的扩展LISP报文解封装后得到EAP Challenge Response报文后,向认证服务器发送RADIUS Access-Request报文。网络设备13接收到认证服务器回复的RADIUS Access-Accept报文后,从中提取出EAP Success报文,将EAP Success报文封装在LISP报文的LISP Message部分中,向接入设备12发送封装后得到的LISP报文。
网络设备13在对认证报文(如EAP Request,EAP Challenge Request,EAPSuccess)进行LISP封装的过程中,将认证报文封装在另一LISP报文的LISP Message部分中。如图12所示,扩展的LISP报文的LISP Message部分中包括报文类型指示符,用于指示本LISP报文用于发送来自于网络设备的认证报文。可选地,报文类型指示符用整数表示,保存在Type字段中。指示本LISP报文用于发送来自于网络设备的认证报文的整数与指示本LISP报文用于发送来自于终端设备的认证报文的整数可以相同,也可以不同。本实施例中,用同一整数“6”来指示本LISP报文用于发送来自于网络设备的认证报文。换句话说,可以用同一报文类型指示符用来指示传输认证报文,无论该认证报文是来自于网络设备的,还是来自于终端设备的。
可选地,如图12所示,接入设备12将向终端11发送的认证报文封装在LISPMessage部分中的“Original packet”字段中。
可选地,为了更好的兼容现有的认证流程,使得从终端设备的角度看,与现有认证流程无差别,可以通过LISP Message部分携带一个端口号。具体地,对于网络设备向终端设备发送的认证报文(例如EAP Request,EAP Challenge Request,EAP Success),网络设备12在LISP Message部分携带接入设备12上的一个端口号,该端口号指示的端口是接入设备12向终端11发送解封装后得到的认证报文时的端口。可选地,该端口号携带在图12的“Port”字段中。
步骤117,对终端11认证通过后,网络设备13从认证服务器50获得终端11的授权信息,并保存终端11的地址以及终端11的组标识的对应关系。
具体地,参考附图3C,网络设备13从认证服务器50发送的RADIUS Access-Accept报文获取对终端11的授权信息,授权信息包括终端11的VLAN标识“VLAN 10”,以及终端11的组标识“Group 1”。在本实施例中终端地址是终端的MAC地址或IP地址,终端11的MAC地址是00e0-d26b-8121,IP地址是100.1.1.1。
网络设备13在表2所示的EID映射表中创建一条记录,在该记录中保存00e0-d26b-8121以及Group 1。
步骤118,网络设备13向接入设备12发送第四LISP报文,第四LISP报文携带终端11的授权信息。
为了通过第四LISP报文携带授权信息,需要对LISP报文进行扩展。本实施例对图8中的LISP Message部分进行了扩展定义,具体如图13所示。
在本实施例中,第四LISP报文的LISP Message部分至少要携带终端11的MAC地址00e0-d26b-8121以及IP地址100.1.1.1中的至少一个,以及终端11的授权信息,例如VLAN标识“VLAN 10”。
如图13所示,第四LISP报文的LISP Message部分中包括报文类型指示符,用于指示本LISP报文用于发送终端设备的授权信息。可选地,报文类型指示符用整数表示,保存在Type字段中。例如,用整数“7”来指示本LISP报文用于发送终端设备的授权信息。实际上报文类型指示符的取值以及在LISP Message部分中的位置可以灵活设置,只要接入设备和网络设备都能根据预先的格式定义识别出报文类型指示符,从而确定该LISP报文的用途即可。通过该报文类型指示符,接入设备能够识别出用于封装授权信息的LISP报文,从而从中获得授权信息,更新用户信息表。
可选地,为了便于解析,可以通过LISP Message部分中的一个Record字段中记录一个终端的地址和VLAN标识的对应关系。例如通过一个Record字段记录终端11的地址和终端11的VLAN标识的对应关系。更具体地,将终端11的地址携带在该Record字段的EID子字段中,将VLAN标识“VLAN 10”携带在该Record字段的VLAN子字段中。可选地,如果认证服务器50未对中的11授权,则将VLAN子字段的取值置0。
可选地,还可以通过第四LISP报文通知接入设备终端设备地址的类型,以便于接入设备直接选用对应的协议栈进行解析,从而提升了接入设备从扩展LISP报文中解析获得用户终端地址的效率,以及后续查找用户信息表时的效率。
终端设备地址的类型至少包括IPv4地址、IPv6地址和MAC地址。可以用不同的地址类型指示符来代表对应的终端设备标识的类型。例如数字来代表对应的终端设备地址的类型,比如用数字1代表IPv4地址、数字2代表IPv6、数字16389代表MAC地址。在本实施例中将地址类型指示符携带在Record字段的AFI子字段中,如图13所示。
可选地,还可以通过第四LISP报文通知接入设备终端设备的认证结果。通过认证指示符的不同取值指示终端设备的认证结果,例如用整数0表示认证成功,用整数1表示认证失败。在本实施例中认证结果指示符携带在Record字段的S子字段中,如图13所示。
可选地,在接入设备12连接的终端设备数目较多时,有可能与接入设备12连接的多个终端设备在短时间内同时上线通过认证,为了提高接入设备12与网络设备13的通信效率,可以在同一个第四LISP报文中携带多条终端设备与授权信息的对应关系。在此情况下,可以在第四LISP报文的LISP Message部分增加一个Record Count字段,该字段的取值用于指示所述LISP报文携带的Record字段的数量,如图13所示。
步骤119,接入设备12接收到第四LISP报文后,从第四LISP报文中获得终端11的授权信息,并保存终端11的授权信息。
可选地,接入设备12采用如图13所示的格式对第四LISP报文进行解析,从中得到终端11的授权信息,在如表3所示的用户信息表中保存终端11的地址“00e0-d26b-8121”以及以VLAN标识“VLAN 10”为例的授权信息。
步骤1110,终端21上线,网络设备23通过与上述步骤112~119类似的过程获得终端21的地质和终端21的组标识的对应关系保存该对应关系,接入设备22获得终端21的授权信息。这里不再重复详述。
步骤1111,终端21访问终端11,终端21生成的报文经过接入设备22发送至网络设备23。接入设备22根据终端21的授权信息,在终端21生成的报文的以太头中增加终端21的VLAN标识“VLAN 10”。
该步骤与附图7中的步骤76实现原理类似,在这里不再重复描述。
步骤1112,网络设备23接收接入设备22发送的报文,封装接收到的报文,在VXLAN头中写入终端21的组标识“Group 2”。在本申请实施例中为了对不同报文进行区分,将网络设备23进行VXLAN封装后得到的报文称为第一报文。
该步骤与附图7中的步骤77实现原理类似,在这里不再重复描述。
步骤1113,网络设备23向网络设备13发送第一报文。第一报文在网络中经三层转发。
步骤1114,网络设备13解封装接收到的第一报文,从而获得所述第一报文的VXLAN头中包含的“Group 2”、以及第一报文中包括的内层报文。并进一步从内层报文的报文头目的地址字段中包括的终端11的地址00e0-d26b-8121。
步骤1115,网络设备13根据步骤1114得到的终端11的地址00e0-d26b-8121,从步骤117保存的对应关系中查找得到对应的终端11组的标识“Group 1”。
步骤1116,网络设备13以VXLAN头中包含的“Group 2”为源组标识,步骤1115查找到的终端11组的标识“Group 1”为目的组标识,从保存的组策略中查找到匹配的组策略为第一组策略“Group 2,Group 1,permit”,网络设备13根据第一组策略将步骤1114得到的内层报文通过接入设备12发送给终端设备11。
当终端11访问其他终端时,也执行与步骤1111~1116相类似的过程,如步骤1117~1122所示。在本实施例中仅以终端11访问终端21为例进行说明,终端11访问其他终端设备的过程与终端11访问终端21的处理过程类似。
步骤1117,终端11访问终端21,终端11生成的报文经过接入设备12发送至网络设备13。接入设备22根据终端11的授权信息,在终端11生成的报文的以太头中增加终端11的VLAN标识“VLAN 10”。
终端11生成的报文的源MAC地址是终端11的MAC地址00e0-d26b-8121,目的MAC地址是终端21的MAC地址00e0-d26b-8122,源IP地址是终端11的IP地址100.1.1.1,目的IP地址是终端21的IP地址100.1.2.2。
步骤1118,网络设备13接收接入设备12发送的报文,封装接收到的报文,在VXLAN头中写入终端11的组标识“Group 1”。在本申请实施例中为了对不同报文进行区分,将网络设备13进行VXLAN封装后得到的报文称为第二报文。
该步骤与附图7中的步骤713实现原理类似,在这里不再重复描述。
步骤1119,网络设备13向网络设备23发送第二报文。第二报文在网络中经三层转发。
步骤1120,网络设备23解封装接收到的第二报文,从而获得所述第二报文的VXLAN头中包含的“Group 1”、以及第二报文中包括的内层报文。并进一步获得内层报文的报文头目的地址字段中包括的终端21的地址00e0-d26b-8122。
步骤1121,网络设备23根据步骤1120得到的终端21的地址00e0-d26b-8122,从步骤117保存的对应关系中查找得到对应的终端21组的标识“Group 2”。
步骤1122,网络设备23以第二报文VXLAN头中包含的“Group 1”为源组标识,步骤1121查找到的终端21组的标识“Group 2”为目的组标识,从保存的组策略中查找到匹配的组策略为第二组策略“Group 1,Group 2,permit”,网络设备23根据第二组策略将步骤1120得到的内层报文通过接入设备22发送给终端设备21。
本申请实施例还提供了一种基于VXLAN的组策略实现系统,该系统包括网络设备和接入设备。其中网络设备和接入设备连接,网络设备支持VXLAN功能。终端设备通过接入设备访问网络。该系统的结构如附图1所示。网络设备和接入设备的工作流程、以及结构请参考前面各实施例中的描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (22)
1.一种基于虚拟可扩展局域网VXLAN的组策略实现方法,其特征在于,包括:
第一网络设备存储至少一个组策略,所述至少一个组策略中的每个组策略包括源组标识和目的组标识,所述组策略用于指示对于从源组标识所标识的组到目的组标识所标识的组的报文的操作,所述操作包括允许访问或禁止访问;
所述第一网络设备获得对应关系,所述对应关系是终端设备的地址与第一组标识的对应关系,所述终端设备通过与所述第一网络设备连接的接入设备访问网络;
所述第一网络设备接收来自于第二网络设备的第一报文,所述第一报文为VXLAN报文,所述第一报文包括内层报文;
所述第一网络设备解封装所述第一报文以获得所述第一报文的VXLAN头中的第二组标识、以及所述内层报文;
所述第一网络设备获得所述内层报文的报文头中目的地址字段中的所述终端设备的地址;
所述第一网络设备根据所述终端设备的地址,从所述对应关系中获得所述第一组标识;
所述第一网络设备以所述第二组标识为源组标识、所述第一组标识为目的组标识,从所述至少一个组策略中提取第一组策略,并对所述内层报文执行所述第一组策略指示的操作。
2.根据权利要求1所述的方法,其特征在于,所述第一网络设备获得对应关系,包括:
所述第一网络设备接收来自于所述接入设备的第一定位器标识分离协议LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识,所述第一网络设备从所述第一报文中获得所述对应关系。
3.根据权利要求2所述的方法,其特征在于,所述第一LISP报文还携带第一报文类型指示符,所述第一报文类型指示符指示所述第一LISP报文包括所述终端设备的地址和所述第一组标识。
4.根据权利要求2或3所述的方法,其特征在于,所述第一LISP报文还携带第一操作指示符,所述第一操作指示符用于指示所述第一LISP报文的接收方保存所述对应关系。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一网络设备接收来自于所述接入设备的第二LISP报文,所述第二LISP携带所述终端设备的地址、所述第一组标识和第二操作指示符,所述第二操作指示符用于指示所述第二LISP报文的接收方删除保存的所述对应关系。
6.根据权利要求1所述的方法,其特征在于,所述第一网络设备获得对应关系之前,所述方法还包括:
所述第一网络设备接收来自于所述接入设备的第三LISP报文,所述第三LISP报文封装第一认证报文;
所述第一网络设备获得对应关系,包括:
所述第一网络设备接收来自于认证服务器的第二认证报文,所述第二认证报文携带所述终端设备的地址以及所述第一组标识;
所述第一网络设备从所述第二认证报文中获得所述对应关系。
7.根据权利要求6所述的方法,其特征在于,所述第三LISP报文还携带第二报文类型指示符,所述第二报文类型指示符指示所述第三LISP报文用于封装认证报文。
8.根据权利要求6或7所述的方法,其特征在于,所述第二认证报文包括所述终端设备标识对应的授权信息,所述方法还包括:
所述第一网络设备向所述接入设备发送第四LISP报文,所述第四LISP报文封装所述授权信息。
9.根据权利要求8所述的方法,其特征在于,所述第四LISP报文携带第三报文类型指示符,所述第三报文类型指示符指示所述第四LISP报文用于发送终端设备的授权信息。
10.一种基于虚拟可扩展局域网VXLAN的组策略实现方法,其特征在于,包括:
接入设备在终端设备认证通过后获得所述终端设备对应的第一组标识,所述终端设备通过所述接入设备访问网络;
所述接入设备向与所述接入设备连接的网络设备发送第一定位器标识分离协议LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识。
11.根据权利要求10所述的方法,其特征在于,所述第一LISP报文还携带第一报文类型指示符,所述第一报文类型指示符用于指示所述第一LISP报文包括所述终端设备的地址和所述第一组标识。
12.根据权利要求11所述的方法,其特征在于,所述第一LISP报文还携带第一操作指示符,所述第一操作指示符用于指示所述第一LISP报文的接收方保存所述对应关系。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述接入设备向所述网络设备发送第二LISP报文,所述第二LISP携带所述终端设备的地址和所述第一组标识和第二操作指示符,所述第二操作指示符用于指示所述第二LISP报文的接收方删除保存的所述对应关系。
14.一种基于虚拟可扩展局域网VXLAN的组策略实现方法,其特征在于,包括:
接入设备向与所述接入设备连接的网络设备发送第一LISP报文,所述第一LISP报文封装来自于终端设备的认证报文,所述终端设备通过所述接入设备访问网络;
所述接入设备接收来自于所述网络设备的第二LISP报文,所述第二LISP报文封装授权信息;
所述接入设备保存所述终端设备的地址以及对应的所述授权信息。
15.根据权利要求14所述的方法,其特征在于,所述第一LISP报文还携带第一报文类型指示符,所述第一报文类型指示符指示所述第一LISP报文用于封装认证报文。
16.根据权利要求14或15所述的方法,其特征在于,所述第二LISP报文携带第二报文类型指示符,所述第二报文类型指示符指示所述第二LISP报文用于发送终端设备的授权信息。
17.一种网络设备,其特征在于,包括存储器、网络接口和至少一个处理器,
所述存储器用于存储程序代码和至少一个组策略,所述至少一个组策略中的每个组策略包括源组标识和目的组标识,所述组策略用于指示对于从源组标识所标识的组到目的组标识所标识的组的报文的操作,所述操作包括允许访问或禁止访问;
所述至少一个处理器用于读取所述存储器中存储的程序代码后,执行以下操作:
获得对应关系,所述对应关系是终端设备的地址与第一组标识的对应关系,所述终端设备通过与所述第一网络设备连接的接入设备访问网络;
所述网络接口,用于接收来自于第二网络设备的第一报文,所述第一报文为VXLAN报文,所述第一报文包括内层报文;
所述程序代码被所述至少一个处理器读取之后,还用于使得所述至少一个处理器执行:
解封装所述第一报文以获得所述第一报文的VXLAN头中的第二组标识、以及所述内层报文;
获得所述内层报文的报文头中目的地址字段中的所述终端设备的地址;
根据所述终端设备的地址,从所述对应关系中获得所述第一组标识;
以所述第二组标识为源组标识、所述第一组标识为目的组标识,从所述至少一个组策略中提取第一组策略,并对所述内层报文执行所述第一组策略指示的操作。
18.根据权利要求17所述的网络设备,其特征在于,
所述网络接口,还用于接收来自于所述接入设备的第一定位器标识分离协议LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识,所述第一网络设备从所述第一报文中获得所述对应关系。
19.根据权利要求17所述的网络设备,其特征在于,
所述网络接口,还用于接收来自于所述接入设备的第三LISP报文,所述第三LISP报文封装第一认证报文;接收来自于认证服务器的第二认证报文,所述第二认证报文携带所述终端设备的地址以及所述第一组标识;
所述程序代码被所述至少一个处理器读取之后,还用于使得所述至少一个处理器执行:
从所述第二认证报文中获得所述对应关系。
20.根据权利要求19所述的网络设备,其特征在于,所述第二认证报文包括所述第终端设备标识对应的授权信息,所述方法还包括:
所述第一网络设备向所述接入设备发送第四LISP报文,所述第四LISP报文封装所述授权信息。
21.一种接入设备,其特征在于,包括存储器、网络接口和至少一个处理器,
所述存储器用于存储程序代码;
所述至少一个处理器用于读取所述存储器中存储的程序代码后,执行以下操作:
在终端设备认证完成后获得所述终端设备对应的第一组标识,所述终端设备通过所述接入设备访问网络;
所述网络接口,还用于向与所述接入设备连接的网络设备发送第一定位器标识分离协议LISP报文,所述第一LISP报文携带所述终端设备的地址和所述第一组标识。
22.一种接入设备,其特征在于,包括存储器、网络接口和至少一个处理器,
所述网络接口用于向网络设备发送第一LISP报文,所述第一LISP报文封装来自于终端设备的认证报文,所述终端设备通过所述接入设备访问网络;接收来自于所述网络设备的的第二LISP报文,所述第二LISP报文封装授权信息;
所述存储器用于存储程序代码;
所述至少一个处理器用于读取所述存储器中存储的程序代码后,执行以下操作:
从所述第二LISP报文中获取所述授权信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810668770.1A CN110650075B (zh) | 2018-06-26 | 2018-06-26 | 基于vxlan的组策略实现方法、网络设备和组策略实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810668770.1A CN110650075B (zh) | 2018-06-26 | 2018-06-26 | 基于vxlan的组策略实现方法、网络设备和组策略实现系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110650075A true CN110650075A (zh) | 2020-01-03 |
CN110650075B CN110650075B (zh) | 2022-02-18 |
Family
ID=69008612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810668770.1A Active CN110650075B (zh) | 2018-06-26 | 2018-06-26 | 基于vxlan的组策略实现方法、网络设备和组策略实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110650075B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333711A (zh) * | 2020-10-30 | 2021-02-05 | 新华三大数据技术有限公司 | 无线网络提供方法、装置及存储介质 |
CN112804130A (zh) * | 2020-12-31 | 2021-05-14 | 盛科网络(苏州)有限公司 | 报文处理方法及装置、系统、存储介质以及电子设备 |
US11411948B2 (en) * | 2019-04-04 | 2022-08-09 | Cisco Technology, Inc. | Systems and methods for applying attestation tokens to LISP messages |
EP4016970A3 (en) * | 2020-12-16 | 2022-10-12 | Huawei Technologies Co., Ltd. | Terminal identification based on terminal information in the header of an ip data packet. |
EP4109830A4 (en) * | 2020-03-31 | 2023-08-16 | Huawei Technologies Co., Ltd. | PACKET PROCESSING METHOD, DEVICE, SYSTEM, AND STORAGE MEDIA |
WO2024051321A1 (zh) * | 2022-09-06 | 2024-03-14 | 华为技术有限公司 | 网络隔离方法、系统及相关设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118149A (zh) * | 2013-03-04 | 2013-05-22 | 华为技术有限公司 | 同一租户内服务器间的通信控制方法及网络设备 |
US20150195137A1 (en) * | 2014-01-06 | 2015-07-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
CN104901835A (zh) * | 2015-05-22 | 2015-09-09 | 杭州华三通信技术有限公司 | 位置和标识分离协议网络中的映射服务器配置方法和装置 |
CN105592000A (zh) * | 2014-10-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 位置和标识分离协议注册方法及装置 |
CN105939357A (zh) * | 2016-06-13 | 2016-09-14 | 杭州迪普科技有限公司 | 获取用户ip地址与用户组信息对应关系的方法及装置 |
CN106161248A (zh) * | 2015-04-27 | 2016-11-23 | 杭州华三通信技术有限公司 | 一种vxlan网络中报文转发方法及装置 |
CN106230668A (zh) * | 2016-07-14 | 2016-12-14 | 杭州华三通信技术有限公司 | 接入控制方法及装置 |
CN107332812A (zh) * | 2016-04-29 | 2017-11-07 | 新华三技术有限公司 | 网络访问控制的实现方法及装置 |
CN107404470A (zh) * | 2016-05-20 | 2017-11-28 | 新华三技术有限公司 | 接入控制方法及装置 |
-
2018
- 2018-06-26 CN CN201810668770.1A patent/CN110650075B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118149A (zh) * | 2013-03-04 | 2013-05-22 | 华为技术有限公司 | 同一租户内服务器间的通信控制方法及网络设备 |
US20150195137A1 (en) * | 2014-01-06 | 2015-07-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
CN105592000A (zh) * | 2014-10-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 位置和标识分离协议注册方法及装置 |
CN106161248A (zh) * | 2015-04-27 | 2016-11-23 | 杭州华三通信技术有限公司 | 一种vxlan网络中报文转发方法及装置 |
CN104901835A (zh) * | 2015-05-22 | 2015-09-09 | 杭州华三通信技术有限公司 | 位置和标识分离协议网络中的映射服务器配置方法和装置 |
CN107332812A (zh) * | 2016-04-29 | 2017-11-07 | 新华三技术有限公司 | 网络访问控制的实现方法及装置 |
CN107404470A (zh) * | 2016-05-20 | 2017-11-28 | 新华三技术有限公司 | 接入控制方法及装置 |
CN105939357A (zh) * | 2016-06-13 | 2016-09-14 | 杭州迪普科技有限公司 | 获取用户ip地址与用户组信息对应关系的方法及装置 |
CN106230668A (zh) * | 2016-07-14 | 2016-12-14 | 杭州华三通信技术有限公司 | 接入控制方法及装置 |
Non-Patent Citations (3)
Title |
---|
" "3_14_Architecture_of_systems"", 《3GPP TSG_SA\WG3_SECURITY》 * |
" "SG13-LS139Att1_PLEN-208"", 《3GPP TSG_RAN\TSG_RAN》 * |
卢琰琳: ""基于SDN弹性网络架构及应用探索"", 《邮电设计技术》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11411948B2 (en) * | 2019-04-04 | 2022-08-09 | Cisco Technology, Inc. | Systems and methods for applying attestation tokens to LISP messages |
EP4109830A4 (en) * | 2020-03-31 | 2023-08-16 | Huawei Technologies Co., Ltd. | PACKET PROCESSING METHOD, DEVICE, SYSTEM, AND STORAGE MEDIA |
CN112333711A (zh) * | 2020-10-30 | 2021-02-05 | 新华三大数据技术有限公司 | 无线网络提供方法、装置及存储介质 |
CN112333711B (zh) * | 2020-10-30 | 2022-04-01 | 新华三大数据技术有限公司 | 无线网络提供方法、装置及存储介质 |
EP4016970A3 (en) * | 2020-12-16 | 2022-10-12 | Huawei Technologies Co., Ltd. | Terminal identification based on terminal information in the header of an ip data packet. |
US11991582B2 (en) | 2020-12-16 | 2024-05-21 | Huawei Technologies Co., Ltd. | Terminal identification method and apparatus |
CN112804130A (zh) * | 2020-12-31 | 2021-05-14 | 盛科网络(苏州)有限公司 | 报文处理方法及装置、系统、存储介质以及电子设备 |
WO2024051321A1 (zh) * | 2022-09-06 | 2024-03-14 | 华为技术有限公司 | 网络隔离方法、系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110650075B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563603B2 (en) | VXLAN implementation method, network device, and communications system | |
CN110650075B (zh) | 基于vxlan的组策略实现方法、网络设备和组策略实现系统 | |
EP3410648B1 (en) | Method, device and system for access control | |
US9445272B2 (en) | Authentication in heterogeneous IP networks | |
JP4377409B2 (ja) | モバイルIP(モバイルIP:MobileIP)バージョン6サービスをサポートするための方法、システム及び装置 | |
US9143481B2 (en) | Systems and methods for application-specific access to virtual private networks | |
US8914520B2 (en) | System and method for providing enterprise integration in a network environment | |
US9319276B2 (en) | Client modeling in a forwarding plane | |
KR20160122992A (ko) | 정책 기반으로 네트워크 간에 연결성을 제공하기 위한 네트워크 통합 관리 방법 및 장치 | |
CN107404470A (zh) | 接入控制方法及装置 | |
CN113645174B (zh) | Vxlan接入认证方法以及vtep设备 | |
CN110611893B (zh) | 为漫游无线用户设备扩展订户服务 | |
US11316820B2 (en) | Registration of data packet traffic for a wireless device | |
US20200120025A1 (en) | Methods and Apparatus for Verification of Non-Steered Traffic Flows Having Unspecified Paths Based on Traversed Network Node or Service Function Identities | |
WO2022237693A1 (zh) | Nswo业务的认证方法、设备和存储介质 | |
JP5947763B2 (ja) | 通信システム、通信方法、および、通信プログラム | |
US20230396557A1 (en) | Universal gateway for policy-aware traffic forwarding for multiple types of network traffic | |
US20200296584A1 (en) | Multiple authenticated identities for a single wireless association | |
Jonsson | Security and cooperation considerations for Skekraft. net's wireless network |
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 |