CN112953858A - 虚拟网络中报文的传输方法、电子设备及存储介质 - Google Patents
虚拟网络中报文的传输方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112953858A CN112953858A CN202110245549.7A CN202110245549A CN112953858A CN 112953858 A CN112953858 A CN 112953858A CN 202110245549 A CN202110245549 A CN 202110245549A CN 112953858 A CN112953858 A CN 112953858A
- Authority
- CN
- China
- Prior art keywords
- tenant
- network
- sharing process
- sharing
- message information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 245
- 230000005540 biological transmission Effects 0.000 title claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 200
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 57
- 230000006870 function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 239000003818 cinder Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Abstract
本发明实施例涉及计算机技术领域,公开了一种虚拟网络中报文的传输方法、电子设备及存储介质。本发明应用于网络功能虚拟化网络中的网络节点,所述网络节点与至少2个租户端通信连接,所述方法包括:所述网络节点中的虚拟交换机接收至少2个所述租户端发送的报文信息;所述网络节点中的共享进程接收所述虚拟交换机转发的各所述报文信息,所述共享进程与所述虚拟交换机被置于同一个命名空间内;所述共享进程根据至少2个所述租户端的报文信息,为各所述租户端分配对应的共享进程配置文件,以处理各所述租户端的报文信息。采用本实施例的方法,使得在网络功能虚拟化网络中,可以减少系统的资源消耗,降低对网络的运维难度。
Description
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种虚拟网络中报文的传输方法、电子设备及存储介质。
背景技术
网络功能虚拟化(Network Functions Virtualization,NFV)能够通过x86等通用性硬件以及虚拟化技术,虚拟化若干虚拟机,取代网络中私有专用的网元设备,从而能够降低网络昂贵的设备成本。OpenStack是一个开源的云计算管理平台项目,由Nova(计算)、Netrun(网络)、Keystone(认证)、Cinder(块存储)、Glance(镜像)、Swift(对象存储)等主要的组件组合起来完成具体工作;其实质是一个于部署、协作和管理虚拟网络而定制的平台。在NFV网络中,为每个租户端分配私有网络(Virtual Private Cloud,VPC),各租户端的私有网络相互隔离;租户端部署有虚拟机,虚拟机的IP一般是预先规划好的或者由动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器分配。虚拟机联网时,通过域名解析服务器(Domain Name System,DNS)可以加快联网速度。如,在网络节点上的DNSmasq工具可以同时提供DNS/DHCP服务,若DNSmasq工具作为域名解析服务器时,可以通过缓存DNS请求来提高对访问过的网址的连接速度;若DNSmasq工具作为DHCP服务器时,Dnsmasq工具可以为局域网虚拟机提供内网IP地址和路由。
在NFV网络中每个租户端有各自的命名空间,通过命名空间实现各私有网络的相互隔离,然而,NFV网络为每个租户端提供DNS/DHCP服务时,需要为每个租户端各自的命名空间内启动一个Dnsmasq进程,即每个租户端对应有一个Dnsmasq进程;这导致资源消耗大,随着租户端的增加,资源消耗也随之增加,同时也增加了运维难度。
发明内容
本发明实施方式的目的在于提供一种虚拟网络中报文的传输方法、电子设备及存储介质,使得在网络功能虚拟化网络中,可以减少系统的资源消耗,降低对网络的运维难度。
为解决上述技术问题,本发明的实施方式提供了一种虚拟网络中报文的传输方法,应用于网络功能虚拟化网络中的网络节点,所述网络节点与至少2个租户端通信连接,所述方法包括:所述网络节点中的虚拟交换机接收至少2个所述租户端发送的报文信息;所述网络节点中的共享进程接收所述虚拟交换机转发的各所述报文信息,所述共享进程与所述虚拟交换机被置于同一个命名空间内;所述共享进程根据至少2个所述租户端的报文信息,为各所述租户端分配对应的共享进程配置文件,以处理各所述租户端的报文信息。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的虚拟网络中报文的传输方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的虚拟网络中报文的传输方法。
本实施例中,只需在虚拟交换机所在空间启动一个共享进程,并由该共享进程为每个租户端分配不同的共享进程配置文件以对各报文信息处理进行处理,由于无需在每个租户端对应的命名空间内启动用于各自处理报文信息的进程,减少了运行进程的数目,进而减少了资源消耗;在运维过程中,由于共享进程中包括不同的共享进程配置文件,可以无需在各租户端对应的命名空间中更改信息,便于对共享进程进行维护,进一步减少资源消耗,降低了运维难度。
另外,在所述网络节点中的共享进程接收从所述虚拟交换机的通信口转发的各报文信息之前,所述方法还包括:所述共享进程获取与所述虚拟交换机连接的通信口作为共享接口;所述共享进程配置所述共享接口,以接收包括位于参考模型第二层的数据。通过配置共享接口以用于接收参考模型第二层的数据,使得该共享进程可以获取各报文信息中属于二层网络的信息,从而可以读取报文信息中更多数据,便于后续对报文信息的识别。
另外,共享进程配置所述共享接口,以接收包括位于参考模型第二层的数据,包括:共享进程创建原始套接字并设置所述原始套接字的监听地址为所述共享接口的地址,其中,所述虚拟交换机中的通信口被置为端口汇聚模式。虚拟交换机被置为端口汇聚模式,使得可以通过一个端口传输不同租户端的报文信息;共享进程通过原始套接字可以监听所有的报文信息。
另外,所述共享进程根据至少2个所述租户端的报文信息,为各所述租户端分配对应的共享进程配置文件,以处理各所述租户端的报文信息,包括:所述共享进程获取所述虚拟局域网标签与所述共享进程配置文件之间的对应关系,其中,所述虚拟局域网标签与所述租户端一一对应;根据所述对应关系和所述报文信息中的虚拟局域网标签,确定所述租户端对应的共享进程配置文件;根据所述共享进程配置文件,处理所述报文信息。由于虚拟局域网标签与租户端一一对应,通过虚拟局域网标签可以区分不同租户端的报文信息;在获取了虚拟局域网标签和共享进程配置文件的对应关系后,即可确定该租户端对应的共享进程配置文件;通过该方式使得同一个共享进程可以处理属于不同租户端的报文信息。
另外,共享进程获取所述虚拟局域网标签与所述共享进程配置文件之间的对应关系,包括:在所述共享进程被创建之后,所述共享进程读取全局目录信息,所述全局目录信息包括获取各个共享进程文件的路径信息;根据所述全局信息,获取各所述共享进程配置文件的配置信息,所述共享进程配置文件配置信息包括:所述共享进程配置文件的名称、所述虚拟局域网标签以及用于指示数据传输的通信信息;根据所述共享进程配置文件的名称和所述虚拟局域网标签,确定所述共享进程配置文件与所述虚拟局域网标签之间的对应关系。全局目录信息包括各共享进程配置文件的路径信息,而该共享进程配置文件的配置信息中包括共享进程配置文件的名称和虚拟局域网标签;从而确定出对应关系,该获取方式简单,灵活,速度快。
另外,根据所述共享进程配置文件,处理所述报文信息之后,所述方法还包括:将处理结果封装为2层网络数据的格式或3层网络数据的格式;将封装后的所述处理结果从所述共享接口发送至所述虚拟交换机,由所述虚拟交换机转发所述处理结果。将处理结果封装为2层以上的网络数据,使得可以通过虚拟交换机反馈至租户端或传输至网关设备。
另外,共享进程与位于同一个所述命名空间的命令生成模块通信连接,所述方法还包括:若监听到所述命令生成模块发送指定命令,则所述共享进程执行所述指定命令,并将执行结果反馈至所述命令生成模块,由所述命令生成模块输出所述执行结果;所述指定命令包括以下任意一种:ping命令、ARP命令、查看命令或重载命令。增加了命令生成模块,提高共享进程的处理效率。
另外,根据所述共享进程配置文件,处理所述报文信息,包括:若检测到所述报文信息的反馈对象为所述租户端或网关设备,则将处理结果添加虚拟局域网标签,并从共享接口反馈回租户端;若所述报文信息为指定类型报文,则根据所述指定类型报文对应的处理协议处理所述报文信息,将处理结果发送至所述命令生成模块,所述指定类型报文包括:互联网控制报文协议报文。通过添加虚拟局域网标签,使得可以准确传输至对应的租户端。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施例中提供的传统网络节点的拓扑示意图;
图2是根据本发明第一实施例中提供一种虚拟网络中报文的传输方法的流程图;
图3是根据本发明第二实施例中提供一种虚拟网络中报文的传输方法的流程图;
图4是根据本发明第二实施例中提供一种虚拟网络中报文的传输方法中网络节点的拓扑图;
图5是根据本发明第三实施例中提供一种虚拟网络中报文的传输方法的流程图;
图6是根据本发明第三实施例中提供一种虚拟网络中报文的传输方法中网络节点的拓扑图;
图7是根据本发明第四实施例中提供一种电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
OpenStack Neutron网络为一种NFV网络,该网络中各个部件都是基于内核态,多租户的私有网络隔离依赖于Linux的网络隔离底层技术,即一个租户端对应一个Linux的命名空间;DNSmasq进程可以提供DNS/DHCP服务。图1是网络节点与租户端之间的拓扑图,网络节点中启动默认的命名空间,在默认的命名空间中部署有虚拟交换机(OpenVSwitch,OVS),并在租户端各自的网络命名空间内部署DNSmasq进程,租户端对应的命名空间以NS表示,图1中的虚线框表示由多个虚拟机组成的租户网络。当租户端中的虚拟机VM发送包含DNS/DHCP请求的报文信息时,OVS接收不同租户端的报文信息,并从该OVS中的不同通信口转发至不同的命名空间;由各自命名空间内的DNSmasq进程为每个租户端中的虚拟机提供DNS服务或DHCP服务。然而随着租户端的数量的增加,需要启动的DNSmasq进程的数目也增加,增加了系统的资源消耗,同时,若对DNSmasq进程的配置信息进行修改,需要对每个命名空间的DNSmasq进程进行修改,管理困难。
其中,图1中示出了租户端1~租户端n的租户网络;每个租户网络中可以包括多个虚拟机;网络节点包括n个命名空间NS,分别对应租户网络1~租户网络n,即每个租户端有各自对应的命名空间。
本发明的第一实施方式涉及一种虚拟网络中报文的传输方法。应用于网络功能虚拟化网络中的网络节点,网络节点与租户端通信连接,其流程如图2所示:
步骤101:网络节点中的虚拟交换机接收至少2个租户端发送的报文信息。
步骤102:网络节点中的共享进程接收从虚拟交换机的通信口转发的各报文信息,共享进程与虚拟交换机被置于同一个命名空间内。
步骤103:共享进程根据至少2个租户端的报文信息,为各租户端分配对应的共享进程配置文件,以处理各租户端的报文信息。
本实施例中,只需在虚拟交换机所在空间启动一个共享进程,并由该共享进程为每个租户端分配不同的共享进程配置文件以对各报文信息处理进行处理,由于无需在每个租户端对应的命名空间内启动用于各自处理报文信息的进程,减少了运行进程的数目,进而减少了资源消耗;在运维过程中,由于共享进程中包括不同的共享进程配置文件,可以无需在各租户端对应的命名空间中更改信息,便于对共享进程进行维护,进一步减少资源消耗,降低了运维难度。
本发明的第二实施方式涉及一种虚拟网络中报文的传输方法。第二实施方式是对第一实施方式的详细介绍,其流程如图3所示。
步骤201:网络节点中的虚拟交换机接收至少2个租户端发送的报文信息。
应用于NFV网络中的网络节点,NFV网络如,OpenStack Neutron网络。每个网络节点分别与至少两个租户端通信连接。本示例中,租户端是指使用系统或计算资源的用户网络设备,租户端包括至少一个虚拟机,虚拟机布设在网络设备上,本示例中虚拟机所在网络设备可以通过电缆线连接网络节点,如以太电缆,实现租户端与网络节点之间的连接。在OpenStack Neutron网络中每个租户端有各自对应的网络命名空间。图4为当前网络节点中各部件的拓扑结构;在图4的网络节点中默认的命名空间内设置有OVS,该虚拟交换机与启动后的共享进程通信连接;该共享进程包括多个共享进程配置文件。例如,如图4所示,虚拟交换机通过通信端口bond0与租户端连接;该虚拟交换机通过通信端口Dnsmasq与启动后的共享进程通信连接,虚拟交换机通过通信端口bond0接收各个租户端发送的报文信息,租户端可以是两个以上,其中,图4中共享进程为Dnsmasq进程。
步骤202:网络节点中的共享进程接收从虚拟交换机的通信口转发的各报文信息,共享进程与虚拟交换机被置于同一个命名空间内。
一个例子中,可以在执行步骤201之前,该虚拟交换机创建一个内部类型的通信口,即internal口,并将该internal口置为端口汇聚(trunk)模式。可以在OVS创建了internal口后创建共享进程,该共享进程部署于该默认的命名空间内。该虚拟交换机中被置为trunk模式的internal口与该共享进程的通信口连接,以使该虚拟交换机可以将接收的各报文信息转发至该共享进程中。
值得一提的是,将虚拟交换机的internal口置为trunk模式,使得不同虚拟局域网(Virtual Local Area Network,VLAN)的数据均可以通过,即不同租户端发送的报文信息均可以通过该trunk口传输至该共享进程中。
在一个例子中,共享进程获取与虚拟交换机连接的通信口作为共享接口;共享进程配置共享接口以接收包括位于参考模型第二层的数据。
具体地,共享进程创建原始套接字并设置原始套接字的监听地址为共享接口的地址,其中,虚拟交换机中的通信口被置为端口汇聚模式。例如,该Dnsmasq进程可以在初始化DHCP模块时,根据共享接口的信息,创建原始套接字(raw socket);设置该原始套接字的监听地址为共享接口的地址,该共享接口的信息包括该共享接口的端口名称。
每个租户端的虚拟机发送报文信息,该网络节点中的该虚拟交换机接收至少两个租户端的报文信息。该虚拟交换机将报文信息转发至该共享进程,该共享进程通过该rawsocket可以监听到的所有的报文信息,即包括各个租户端的报文信息。
值得一提的是,通过配置共享接口以用于接收参考模型第二层的数据,使得该共享进程可以获取各报文信息中属于二层网络的信息,从而可以读取报文信息中更多数据,便于后续对报文信息的识别。
步骤203:共享进程获取虚拟局域网标签与共享进程配置文件的对应关系,虚拟局域网标签与租户端一一对应。
在一个例子中,在共享进程被创建之后,共享进程读取全局目录信息,全局目录信息包括获取各个共享进程文件的路径信息;根据全局信息,获取各共享进程配置文件的配置信息,共享进程配置文件配置信息包括:共享进程配置文件的名称、虚拟局域网标签以及用于指示数据传输的通信信息;根据共享进程配置文件的名称和虚拟局域网标签,确定共享进程配置文件与租户端之间的对应关系。
具体地,全局目录信息包括各个共享进程文件的路径信息,该全局目录信息可以预先存储在该网络节点中,在创建该共享进程后,该共享进程可以读取该全局目录信息。该全局目录信息中还可以包括该虚拟交换机中用于转发报文信息的端口号;该共享进程创建后,读取该全局目录信息,通过虚拟交换机中用于转发报文信息的端口号,以使该共享进程的共享接口与交换机通信。例如,nsconf-dir=/var/lib/neutron/dhcp;表示全局目录信息为“/var/lib/neutron/dhcp”;interface=ovs-dnsmasq表示的是待监听的端口号的名称为ovs-dnsmasq。
该全局目录信息中包括各个共享进程文件的路径信息;共享进程根据该全局目录信息,即可获取各个共享进程配置文件中的配置信息,该配置信息包括:共享进程配置文件的名称、虚拟局域网标签以及租户端的通信信息,该租户端的通信信息用于指示数据传输的通信信息,例如,通信信息可以是租户虚拟端口的mac地址信息、租户的虚拟端口的IP地址信息、以及租户的虚拟端口网关信息等;下面为一个具体的共享进程配置文件的配置信息的示例:“$nsconf-dir/dnsmasq.conf”表示读取到的该共享进程文件的路径信息,配置信息如下:
ns-name=ns1
vlan-id=1
mac=2e:ec:77:01:00:02
ip=10.0.0.254/24
gw=10.0.0.1
ip6=1234::1234
gw6=1234::1
需要说明的是,ns-name=ns1表示共享进程配置文件的名称为ns1;vlan-id表示虚拟局域网标签,mac表示租户虚拟端口的mac地址信息;gw表示租户的虚拟端口的网关;gw6表示租户的虚拟端口的ipv6网关;ip6表示租户的虚拟端口的ipv6。
若接收到租户端的报文信息,那么该配置信息中的mac地址作为虚拟的目标mac地址,当处理了报文信息后,向租户端反馈处理结果,那么可以将该配置信息中的mac地址作为源mac地址,其它通信信息同理,此处不再赘述。
该共享进程配置文件中包含了vlan-id以及共享进程配置文件的名称;即可获知vlan-id和共享进程配置文件之间的对应的关系。
值得一提的是,全局目录信息包括各共享进程配置文件的路径信息,从而可以读取各共享进程配置文件的配置信息,而配置信息中包括共享进程配置文件的名称和虚拟局域网标签;由于该虚拟局域网标签和共享进程配置文件的名称存在于同一个配置信息中,即可确定出该同一个配置信息中的虚拟局域网标签与该共享进程配置文件之间相对应,通过读取配置信息的方式,获取该共享进程配置文件与虚拟局域网标签之间的对应关系的方式简单,灵活,速度快。
步骤204:根据共享进程配置文件的名称和虚拟局域网标签,确定共享进程配置文件与租户端之间的对应关系。
具体地,由于虚拟局域网标签与租户端一一对应,即一个虚拟局域网标签vlan-id有唯一对应的租户端,共享进程解析接收到的报文信息,获取该报文信息中的vlan-id;根据该vlan-id以及vlan-id与共享进程配置文件的名称,即可确定该租户端对应的共享进程配置文件。
值得一提的是,该共享进程配置文件的名称可以与租户端对应的网络命名空间的名称一致,通过分配的共享进程配置文件,可以确定出租户端的名称,便于后续查询。
步骤205:根据共享进程配置文件,处理报文信息。
具体地,vlan-id属于网络2层数据中的信息,通过vlan-id可以快速识别出不同租户端的报文信息,也保证了不同租户端的报文信息的互不干扰。若确定了共享进程配置文件之后,共享进程读取被分配的共享进程配置文件的配置信息,根据该配置信息,可以对报文信息进行处理。例如,若报文信息为DNS报文,在分配了共享进程配置文件,共享进程读取该共享进程配置文件,按照DNS报文的处理协议,对该报文信息进行处理。
在一个例子中,在根据共享进程配置文件,处理报文信息之后,将处理结果封装为2层以上的网络数据的格式;将封装后的处理结果从共享接口发送至虚拟交换机,由虚拟交换机转发该处理结果。
由于接收的为2层网络数据,在转发时也需要按照2层网络数据的格式发送,在处理完报文信息之后,将处理结果封装为2层以上的网络数据的格式,并将封装后的处理结构进行转发。若需要上传至网关,在封装成2层网络数据之后,还可以继续封装为3层网络数据,再进行转发。
例如,Dnsmasq解析二层头信息,如果是arp报文则按照arp协议的所有逻辑处理该报文信息,处理操作可以包括arp应答,arp表的建立,刷新,超时等。若Dnsmasq接收到的是icmp报文,则按照icmp协议的所有逻辑对该报文信息进行处理,处理操作包括邻居表建立、icmp应答信息、icmp请求需要应答等。若Dnsmasq接收到的是dns报文,则按照DNS的逻辑处理进行处理。在处理之后,将处理结果进行封装并转发。若Dnsmasq接收到的是icmpv6的报文,则与上述处理类似,需要按照imcpv6协议进行处理,建立邻居表,处理ipv6的dhcp、dns协议报文等。
值得一提的是,将处理结果封装为2层以上的网络数据,使得可以通过虚拟交换机反馈至租户端或传输至网关设备。
需要说明的是,步骤203至步骤205是对第一实施方式中步骤103的详细介绍。
本实施例的虚拟网络中报文的传输方法,共享进程通过创建的原始套接字可以监听到共享进程接收的所有报文信息,报文信息中包括虚拟局域网标签,由于虚拟局域网标签与租户端一一对应,从而通过虚拟局域网标签可以区分不同租户端的报文信息;在获取了虚拟局域网标签和共享进程配置文件的对应关系后,即可确定该租户端对应的共享进程配置文件;通过该方式使得同一个共享进程可以通过不同的共享配置文件处理属于不同租户端的报文信息。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种虚拟网络中报文的传输方法。本实施方式是对上述实施方式的进一步改进,主要改进之处在于:该共享进程还与命令生成模块连接,该共享进程执行该命令生成模块产生的指定命令,其流程如图5所示。
本示例中,可以在该共享进程所在的命名空间内设置命令生成模块,共享进程设置与命令生成模块通信的地址,且该命令生成模块设置与该共享进程通信的地址,进而实现该共享进程和命令生成模块之间的通信,例如,该共享进程设置通信的地址为“/var/run/dhcp_adm”,该命令生成模块设置通信地址为“/var/run/dhcp_client_%d”。本示例中,命令生成模块可以是dhcpadm工具,该dhcpadm工具可以提供ping命令、ARP命令、查看命令或重载命令。本示例中的网络节点的结构图如图6所示。
步骤301:若检测到报文信息的反馈对象为租户端或网关设备,则将处理结果添加虚拟局域网标签,并从共享接口反馈回租户端或网关设备。
具体地,若Dnsmasq对于需要回应给租户或者转发到上游网关的报文,都在报文中打上相应vlan信息,并从internal口发送出去,交由OVS转发,从而确保了该回应的报文可以发送至对应的租户端或上游网关。
步骤302:若报文信息为指定类型报文,则根据指定类型报文对应的处理协议处理该报文信息,将处理结果发送至命令生成模块,指定类型报文包括:互联网控制报文协议报文或互联网控制信息协议版本六报文。
具体地,若Dnsmasq接收到的是icmp报文,则可以按照对应的处理协议处理该报文信息,获得icmp应答信息,将该icmp应答信息传递给dhcpadm工具。
步骤303:若监听到命令生成模块发送指定命令,则共享进程执行指定命令,并将执行结果反馈至命令生成模块,由命令生成模块输出执行结果;指定命令包括以下任意一种:ping命令、ARP命令、查看命令或重载命令。
在DNSmasq进程中设置与命令生成模块连接的端口,并创建套接字,用于监听命令生成模块发送的指定命令。如果有指定命令,则解析dhcpadm的命令,如查看ns信息,ping包发送,arp包发送,ping6发送,查看arp表、邻居表,reload处理等,不同的命令执行不同的处理;实际的协议处理逻辑以及信息获取交由dnsmasq进程执行,并将处理结果反馈给dhcpadm工具,输出到用户交互界面。
指定命令如下:
需要说明的是,本示例中的步骤301至步骤303,并无先后顺序,在满足其执行条件时执行对应的操作。
本实例中,共享进程与位于同一个命名空间的命令生成模块通信连接,该命名空间中的共享进程可以执行命令生成模块发送的指定命令,同时该共享进程还可以将对报文信息处理的结果传输至命令生成模块,提高共享进程的处理效率。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种电子设备,该电子设备的结构框图如图7所示,包括:至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被所述至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的虚拟网络中报文的传输方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的虚拟网络中报文的传输方法。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种虚拟网络中报文的传输方法,其特征在于,应用于网络功能虚拟化网络中的网络节点,所述网络节点与至少2个租户端通信连接,所述方法包括:
所述网络节点中的虚拟交换机接收至少2个所述租户端发送的报文信息;
所述网络节点中的共享进程接收所述虚拟交换机转发的各所述报文信息,所述共享进程与所述虚拟交换机被置于同一个命名空间内;
所述共享进程根据至少2个所述租户端的报文信息,为各所述租户端分配对应的共享进程配置文件,以处理各所述租户端的报文信息。
2.根据权利要求1所述的虚拟网络中报文的传输方法,其特征在于,在所述网络节点中的共享进程接收从所述虚拟交换机的通信口转发的各报文信息之前,所述方法还包括:
所述共享进程获取与所述虚拟交换机连接的通信口作为共享接口;
所述共享进程配置所述共享接口,以接收包括位于参考模型第二层的数据。
3.根据权利要求2所述的虚拟网络中报文的传输方法,其特征在于,所述共享进程配置所述共享接口,以接收包括位于参考模型第二层的数据,包括:
所述共享进程创建原始套接字并设置所述原始套接字的监听地址为所述共享接口的地址,其中,所述虚拟交换机中的通信口被置为端口汇聚模式。
4.根据权利要求1至3中任一项所述的虚拟网络中报文的传输方法,其特征在于,所述共享进程根据至少2个所述租户端的报文信息,为各所述租户端分配对应的共享进程配置文件,以处理各所述租户端的报文信息,包括:
所述共享进程获取所述虚拟局域网标签与所述共享进程配置文件之间的对应关系,其中,所述虚拟局域网标签与所述租户端一一对应;
根据所述对应关系和所述报文信息中的虚拟局域网标签,确定所述租户端对应的共享进程配置文件;
根据所述共享进程配置文件,处理所述报文信息。
5.根据权利要求4所述的虚拟网络中报文的传输方法,其特征在于,所述共享进程获取所述虚拟局域网标签与所述共享进程配置文件之间的对应关系,包括:
在所述共享进程被创建之后,所述共享进程读取全局目录信息,所述全局目录信息包括获取各个共享进程文件的路径信息;
根据所述全局信息,获取各所述共享进程配置文件的配置信息,所述共享进程配置文件配置信息包括:所述共享进程配置文件的名称、所述虚拟局域网标签以及用于指示数据传输的通信信息;
根据所述共享进程配置文件的名称和所述虚拟局域网标签,确定所述共享进程配置文件与所述虚拟局域网标签之间的对应关系。
6.根据权利要求4所述的虚拟网络中报文的传输方法,其特征在于,所述根据所述共享进程配置文件,处理所述报文信息之后,所述方法还包括:
将处理结果封装为2层以上的网络数据的格式;
将封装后的所述处理结果从所述共享接口发送至所述虚拟交换机,由所述虚拟交换机转发所述处理结果。
7.根据权利要求1所述的虚拟网络中报文的传输方法,其特征在于,所述共享进程与位于所述命名空间的命令生成模块通信连接,所述方法还包括:
若监听到所述命令生成模块发送指定命令,则所述共享进程执行所述指定命令,并将执行结果反馈至所述命令生成模块,由所述命令生成模块输出所述执行结果;
所述指定命令包括以下任意一种:ping命令、ARP命令、查看命令或重载命令。
8.根据权利要求7所述的虚拟网络中报文的传输方法,其特征在于,所述根据所述共享进程配置文件,处理所述报文信息,包括:
若检测到所述报文信息的反馈对象为所述租户端或网关设备,则将处理结果添加虚拟局域网标签,并从共享接口反馈回租户端或网关设备;
若所述报文信息为指定类型报文,则根据所述指定类型报文对应的处理协议处理所述报文信息,将处理结果发送至所述命令生成模块,所述指定类型报文包括:互联网控制报文协议报文。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一所述的虚拟网络中报文的传输方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的虚拟网络中报文的传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245549.7A CN112953858A (zh) | 2021-03-05 | 2021-03-05 | 虚拟网络中报文的传输方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245549.7A CN112953858A (zh) | 2021-03-05 | 2021-03-05 | 虚拟网络中报文的传输方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112953858A true CN112953858A (zh) | 2021-06-11 |
Family
ID=76247920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110245549.7A Pending CN112953858A (zh) | 2021-03-05 | 2021-03-05 | 虚拟网络中报文的传输方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112953858A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640554A (zh) * | 2022-02-15 | 2022-06-17 | 阿里云计算有限公司 | 多租户通信隔离方法和混合组网方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075962A (zh) * | 2007-06-26 | 2007-11-21 | 中兴通讯股份有限公司 | 在二层网络交换设备中实现dhcp中继的装置及其方法 |
WO2015085788A1 (zh) * | 2013-12-10 | 2015-06-18 | 华为技术有限公司 | 一种动态主机配置协议报文处理方法及装置 |
CN106101301A (zh) * | 2016-08-05 | 2016-11-09 | 汉柏科技有限公司 | 分布式虚拟dhcp服务提供系统和方法 |
CN106685860A (zh) * | 2015-11-06 | 2017-05-17 | 阿里巴巴集团控股有限公司 | 网络虚拟化方法及设备 |
CN106878480A (zh) * | 2016-12-29 | 2017-06-20 | 新华三技术有限公司 | 一种dhcp服务进程共享方法及装置 |
CN107018058A (zh) * | 2017-03-30 | 2017-08-04 | 国家计算机网络与信息安全管理中心 | 一种云环境下共用vlan和vxlan通信的方法及系统 |
CN108933844A (zh) * | 2017-05-27 | 2018-12-04 | 华为技术有限公司 | 提供dhcp服务的方法及设备 |
CN109542590A (zh) * | 2018-11-28 | 2019-03-29 | 上海酷栈科技有限公司 | Docker集群多租户下虚拟Socket通信的方法 |
-
2021
- 2021-03-05 CN CN202110245549.7A patent/CN112953858A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075962A (zh) * | 2007-06-26 | 2007-11-21 | 中兴通讯股份有限公司 | 在二层网络交换设备中实现dhcp中继的装置及其方法 |
WO2015085788A1 (zh) * | 2013-12-10 | 2015-06-18 | 华为技术有限公司 | 一种动态主机配置协议报文处理方法及装置 |
CN106685860A (zh) * | 2015-11-06 | 2017-05-17 | 阿里巴巴集团控股有限公司 | 网络虚拟化方法及设备 |
CN106101301A (zh) * | 2016-08-05 | 2016-11-09 | 汉柏科技有限公司 | 分布式虚拟dhcp服务提供系统和方法 |
CN106878480A (zh) * | 2016-12-29 | 2017-06-20 | 新华三技术有限公司 | 一种dhcp服务进程共享方法及装置 |
CN107018058A (zh) * | 2017-03-30 | 2017-08-04 | 国家计算机网络与信息安全管理中心 | 一种云环境下共用vlan和vxlan通信的方法及系统 |
CN108933844A (zh) * | 2017-05-27 | 2018-12-04 | 华为技术有限公司 | 提供dhcp服务的方法及设备 |
CN109542590A (zh) * | 2018-11-28 | 2019-03-29 | 上海酷栈科技有限公司 | Docker集群多租户下虚拟Socket通信的方法 |
Non-Patent Citations (1)
Title |
---|
吴怡晨: ""面向网络空间的攻防靶场设计"", 《通信技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640554A (zh) * | 2022-02-15 | 2022-06-17 | 阿里云计算有限公司 | 多租户通信隔离方法和混合组网方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103200069B (zh) | 一种报文处理的方法和设备 | |
CN107070691B (zh) | Docker容器的跨主机通信方法和系统 | |
EP2897347B1 (en) | Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing | |
CN107872542B (zh) | 一种数据传输的方法及网络设备 | |
US10193707B2 (en) | Packet transmission method and apparatus | |
US20170237655A1 (en) | Forwarding Data Packets In Software Defined Networks | |
CN107426077B (zh) | 用于实现物理网络和虚拟网络互通的方法和设备 | |
CN107317752B (zh) | 一种转发数据报文的方法及装置 | |
CN103841028A (zh) | 一种报文转发方法及设备 | |
CN114024880B (zh) | 基于代理ip与流表的网络靶场探针采集方法与系统 | |
US10574570B2 (en) | Communication processing method and apparatus | |
US8868708B2 (en) | Methods and devices for communicating diagnosis data in a real time communication network | |
US20060123204A1 (en) | Method and system for shared input/output adapter in logically partitioned data processing system | |
CN103944826A (zh) | Spbm网络中的表项聚合方法及设备 | |
CN107968749B (zh) | 实现QinQ路由终结的方法、交换芯片及交换机 | |
CN104717081A (zh) | 一种网关功能的实现方法及装置 | |
CN108270878A (zh) | 在vxlan中发送arp报文的方法、vtep设备 | |
JP2010531602A5 (zh) | ||
US20120198091A1 (en) | Network system, control apparatus and network apparatus | |
WO2022203935A1 (en) | Leveraging multicast listener discovery for discovering hosts | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN112953858A (zh) | 虚拟网络中报文的传输方法、电子设备及存储介质 | |
WO2018045949A1 (zh) | 一种报文传输的方法、设备及网络系统 | |
AU2021277366A1 (en) | Port status configuration method, apparatus,and system, and storage medium |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210611 |
|
RJ01 | Rejection of invention patent application after publication |