Movatterモバイル変換


[0]ホーム

URL:


CN103491006A - Method for forwarding data of virtual network router in centralized mode - Google Patents

Method for forwarding data of virtual network router in centralized mode
Download PDF

Info

Publication number
CN103491006A
CN103491006ACN201310418512.5ACN201310418512ACN103491006ACN 103491006 ACN103491006 ACN 103491006ACN 201310418512 ACN201310418512 ACN 201310418512ACN 103491006 ACN103491006 ACN 103491006A
Authority
CN
China
Prior art keywords
forwarding
data
virtual
virtual router
unified
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
Application number
CN201310418512.5A
Other languages
Chinese (zh)
Other versions
CN103491006B (en
Inventor
徐明伟
张媛媛
李清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua UniversityfiledCriticalTsinghua University
Priority to CN201310418512.5ApriorityCriticalpatent/CN103491006B/en
Publication of CN103491006ApublicationCriticalpatent/CN103491006A/en
Application grantedgrantedCritical
Publication of CN103491006BpublicationCriticalpatent/CN103491006B/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Abstract

Translated fromChinese

一种虚拟网络路由器的数据统一转发方法,将虚拟路由器实例的控制平面与数据平面分离,控制平面运行在各虚拟路由器实例内部,负责路由计算;数据平面则转移至虚拟路由器内核中,各虚拟路由器实例的数据平面在虚拟路由器设备底层构成一个数据统一转发引擎,由该统一转发引擎负责将各虚拟路由器实例的转发表组织并压缩为一个共享转发表,并以此为依据负责本虚拟路由器节点上所有实例的数据转发,本发明可有效降低虚拟路由器的数据转发开销,使虚拟路由器达到线速转发的性能,同时提高虚拟路由器能够支持的虚拟路由器实例数量,提高虚拟网络数据转发性能。

Figure 201310418512

A unified data forwarding method for a virtual network router, which separates the control plane of a virtual router instance from the data plane, the control plane runs inside each virtual router instance, and is responsible for routing calculation; the data plane is transferred to the virtual router kernel, and each virtual router The data plane of the instance constitutes a unified forwarding engine for data at the bottom layer of the virtual router device. The unified forwarding engine is responsible for organizing and compressing the forwarding tables of each virtual router instance into a shared forwarding table, and based on this, it is responsible for the data on the virtual router node. For the data forwarding of all instances, the present invention can effectively reduce the data forwarding overhead of the virtual router, enable the virtual router to achieve wire-speed forwarding performance, increase the number of virtual router instances that the virtual router can support, and improve the data forwarding performance of the virtual network.

Figure 201310418512

Description

Translated fromChinese
虚拟网络路由器的数据统一转发方法Unified Data Forwarding Method for Virtual Network Router

技术领域technical field

本发明属于互联网技术领域,尤其适用于数据中心、云平台等支持网络虚拟化的下一代新型互联网络,具体涉及一种虚拟网络路由器的数据统一转发方法。The invention belongs to the technical field of the Internet, and is especially applicable to data centers, cloud platforms and other next-generation new Internet networks supporting network virtualization, and in particular relates to a unified data forwarding method of a virtual network router.

背景技术Background technique

近年来,互联网领域出现了许多有关骨干网络设备的新技术突破,其中最重要的一项便是虚拟网络技术。虚拟网络是利用虚拟化技术对物理网络资源进行抽象和划分后,在公共的网络硬件基础设施之上构建的多个独立运行的逻辑网络。虚拟路由器作为虚拟网络的核心设备,建立在传统硬件路由设备之上,利用软件技术来复用硬件路由设备的各种资源,实现对物理路由器的功能仿真,达到在一台路由器设备上部署多个虚拟路由器实例的效果。虚拟路由器实例间可以通过隧道技术建立多条逻辑上的虚拟链路,构成虚拟网络拓扑环境(图1)。虚拟网络技术提供了更灵活、更可控的网络构建方式,为新型互联网服务与应用的发展提供了很好的实现平台。In recent years, there have been many new technological breakthroughs related to backbone network equipment in the Internet field, the most important of which is virtual network technology. A virtual network is a plurality of independently operating logical networks built on a public network hardware infrastructure after abstracting and dividing physical network resources using virtualization technology. As the core device of the virtual network, the virtual router is built on the traditional hardware routing device, uses software technology to reuse various resources of the hardware routing device, realizes the function simulation of the physical router, and achieves the deployment of multiple routers on one router device. The effect of the virtual router instance. Multiple logical virtual links can be established between virtual router instances through tunnel technology to form a virtual network topology environment (Figure 1). Virtual network technology provides a more flexible and controllable network construction method, and provides a good implementation platform for the development of new Internet services and applications.

虚拟网络分组的一跳转发,即分组从一个虚拟路由器实例出发,经过一条由物理链路及多个中间物理路由器组成的虚拟链路,到达另一个虚拟路由器实例的过程。在传统的虚拟网络数据转发技术中,各虚拟路由器实例分别维护各自的控制平面和数据平面,负责为其所属的虚拟网络同时提供路由与转发服务。控制平面负责运行虚拟网络路由协议,生成转发表,数据平面以转发表为依据完成虚拟网络的分组转发。在这种转发方式中,数据分组要进入虚拟路由器实例完成路由查找,需要经过物理网卡到虚拟网卡的多次映射,转发时延较长,且各实例的数据平面会竞争CPU、cache、高速数据通路等物理资源,大大降低了路由查找效率。One-hop forwarding of virtual network packets, that is, the process in which a packet starts from one virtual router instance, passes through a virtual link composed of a physical link and multiple intermediate physical routers, and reaches another virtual router instance. In the traditional virtual network data forwarding technology, each virtual router instance maintains its own control plane and data plane, and is responsible for providing routing and forwarding services for the virtual network to which it belongs. The control plane is responsible for running the virtual network routing protocol and generating the forwarding table, and the data plane completes the packet forwarding of the virtual network based on the forwarding table. In this forwarding mode, data packets need to go through multiple mappings from physical NICs to virtual NICs to enter the virtual router instance to complete the route lookup. The forwarding delay is long, and the data planes of each instance will compete for CPU, cache, and high-speed data. Paths and other physical resources greatly reduce the routing lookup efficiency.

发明内容Contents of the invention

为了克服上述现有技术的缺点,本发明的目的在于提供一种虚拟网络路由器的数据统一转发方法,对虚拟路由器实例的数据转发流程进行了优化设计,将虚拟路由器实例的控制平面和数据平面进行分离,在设备底层为到达各虚拟路由器实例的分组提供统一的转发服务,本发明可以有效地降低虚拟路由器的数据转发开销,使虚拟路由器达到线速转发的性能,同时提高虚拟路由器能够支持的虚拟路由器实例数量,是提高虚拟网络数据转发性能的重要技术。In order to overcome the shortcomings of the above-mentioned prior art, the purpose of the present invention is to provide a unified data forwarding method for a virtual network router, optimize the design of the data forwarding process of the virtual router instance, and implement the control plane and data plane of the virtual router instance Separation, providing a unified forwarding service for packets arriving at each virtual router instance at the bottom layer of the device. The present invention can effectively reduce the data forwarding overhead of the virtual router, enable the virtual router to achieve wire-speed forwarding performance, and improve the virtual router that can support virtual The number of router instances is an important technology to improve the data forwarding performance of the virtual network.

为了实现上述目的,本发明采用的技术方案是:In order to achieve the above object, the technical scheme adopted in the present invention is:

一种虚拟网络路由器的数据统一转发方法,将虚拟路由器实例的控制平面与数据平面分离,控制平面运行在各虚拟路由器实例内部,负责路由计算;数据平面则转移至虚拟路由器内核中,各虚拟路由器实例的数据平面在虚拟路由器设备底层构成一个数据统一转发引擎,由该统一转发引擎负责将各虚拟路由器实例的转发表组织并压缩为一个共享转发表,并以此为依据负责本虚拟路由器节点上所有实例的数据转发。A unified data forwarding method for a virtual network router, which separates the control plane of a virtual router instance from the data plane, the control plane runs inside each virtual router instance, and is responsible for routing calculation; the data plane is transferred to the virtual router kernel, and each virtual router The data plane of the instance constitutes a unified forwarding engine for data at the bottom layer of the virtual router device. The unified forwarding engine is responsible for organizing and compressing the forwarding tables of each virtual router instance into a shared forwarding table, and based on this, it is responsible for the data on the virtual router node. Data forwarding for all instances.

各虚拟路由器实例的控制平面运行路由协议,动态生成转发表项,并将转发表发送至所述数据统一转发引擎。The control plane of each virtual router instance runs a routing protocol, dynamically generates a forwarding table item, and sends the forwarding table to the unified data forwarding engine.

所述数据统一转发引擎可视为原各虚拟路由器实例中数据平面的集合,具备普通数据平面的所有功能,如分组分类、路由查找、IP头校验、分组封装解封装等,它负责为虚拟路由器上所有的虚拟路由器实例提供统一的数据转发服务,其转发依据为引擎中路由查找模块的共享转发表。各虚拟路由器实例的控制平面分别运行各自的路由协议并生成转发表,这些转发表信息通过虚拟路由器实例与统一转发引擎间的通信被定期发送给统一转发引擎,在引擎中被组织为共享转发表,这样就可以将原来多个数据平面的转发表信息整合到一个统一转发引擎中。The data unified forwarding engine can be regarded as a collection of data planes in the original virtual router instances, and has all the functions of the common data plane, such as packet classification, route lookup, IP header verification, packet encapsulation and decapsulation, etc. All virtual router instances on the router provide a unified data forwarding service based on the shared forwarding table of the routing lookup module in the engine. The control planes of each virtual router instance run their respective routing protocols and generate forwarding tables. These forwarding table information are regularly sent to the unified forwarding engine through the communication between the virtual router instance and the unified forwarding engine, and are organized as shared forwarding tables in the engine. , so that the original forwarding table information of multiple data planes can be integrated into a unified forwarding engine.

通过构建trie树对各虚拟路由器实例的转发表前缀进行统一索引,可以将多个虚拟路由器实例的转发表组织成一个共享转发表。共享转发表结构由trie树、共享索引表和各虚拟路由器实例的转发表三部分组成。其中trie树用于组织各虚拟路由器实例转发表的地址前缀。包含有效前缀信息的trie树结点将指向一个共享索引表,该共享索引表将各虚拟路由器实例的编号作为关键字,来索引该前缀结点在对应的虚拟路由器实例转发表中的位置。By building a trie tree to uniformly index the forwarding table prefixes of each virtual router instance, the forwarding tables of multiple virtual router instances can be organized into a shared forwarding table. The shared forwarding table structure consists of trie tree, shared index table and forwarding table of each virtual router instance. The trie tree is used to organize the address prefixes of the forwarding tables of each virtual router instance. The trie tree node containing valid prefix information will point to a shared index table, and the shared index table uses the number of each virtual router instance as a key to index the position of the prefix node in the forwarding table of the corresponding virtual router instance.

当各虚拟路由器实例均采用IP网络时,trie树用于组织各虚拟路由器实例转发表的IP地址前缀,它采用级压缩的方式,每个节点包含2n个分支,其中1≤n≤32,能够表示IP地址中的n比特位;trie树每个包含有效前缀信息(即前缀出现在任意一个虚拟路由器实例的转发表中)的结点都指向一个共享索引表,共享索引表将各虚拟路由器实例的编号作为关键字,来索引该trie树结点所代表的前缀在对应的虚拟路由器实例转发表中的位置,各虚拟路由器实例的转发表对普通的路由器转发表进行了扩展,在表项中增加了下一跳虚拟链路的起点与终点信息。When each virtual router instance uses an IP network, the trie tree is used to organize the IP address prefixes of the forwarding tables of each virtual router instance. It adopts a level compression method, and each node contains 2n branches, where 1≤n≤32, It can represent n bits in the IP address; each node in the trie tree that contains valid prefix information (that is, the prefix appears in the forwarding table of any virtual router instance) points to a shared index table, and the shared index table links each virtual router The number of the instance is used as a key to index the position of the prefix represented by the trie tree node in the forwarding table of the corresponding virtual router instance. The forwarding table of each virtual router instance extends the common router forwarding table. Added the start and end information of the next-hop virtual link in .

当有虚拟网络上的数据分组到达虚拟路由器设备时,进行如下操作:When a data packet on the virtual network arrives at the virtual router device, perform the following operations:

a)从物理网卡上获取数据报文并解封装,取得内部的虚拟网络数据分组;a) Obtain data packets from the physical network card and decapsulate them to obtain internal virtual network data packets;

b)以虚拟网络数据分组对应的虚拟路由器实例编号及目的地址字段为依据,在所述数据统一转发引擎的路由查找模块内进行路由查找;b) based on the virtual router instance number and the destination address field corresponding to the virtual network data packet, perform routing search in the routing search module of the data unified forwarding engine;

c)查找结束后,数据分组分三类处理:如果数据分组的目的地址为各虚拟路由器实例,将其经虚拟交换机递交给相应的虚拟路由器实例;如果数据分组的目的地址为设备的主机地址,则将数据分组上交给传输层处理;对于需要转发的虚拟网络数据分组,则根据路由查找结果对数据分组进行IP封装后,将其经物理网卡发送至下一跳虚拟路由器实例。c) After the search finishes, the data packets are divided into three types of processing: if the destination address of the data packets is each virtual router instance, it is submitted to the corresponding virtual router instance through the virtual switch; if the destination address of the data packets is the host address of the device, Then hand over the data packet to the transport layer for processing; for the virtual network data packet that needs to be forwarded, perform IP encapsulation on the data packet according to the route lookup result, and send it to the next-hop virtual router instance through the physical network card.

所述路由查找模块是数据统一转发引擎的核心,主要包含三类功能:1)建立共享转发表,作为各虚拟网络数据分组进行路由查找的依据;2)与引擎内其它模块交互,获取各虚拟路由器实例转发表以及虚拟网络数据分组等信息;3)对共享转发表进行操作,如添加一条转发表项、删除一条转发表项、对共享转发表进行路由查找等。The routing lookup module is the core of the data unified forwarding engine, and mainly includes three types of functions: 1) Establishing a shared forwarding table as the basis for routing lookup of each virtual network data group; 2) Interacting with other modules in the engine to obtain each virtual Information such as router instance forwarding table and virtual network data grouping; 3) Operate the shared forwarding table, such as adding a forwarding table entry, deleting a forwarding table entry, performing route lookup on the shared forwarding table, etc.

与现有技术相比,本发明虚拟网络路由器的统一转发避免了虚拟网络分组从虚拟路由器物理接口定向到虚拟接口以进入虚拟路由器实例,在实例中完成路由查找后再从虚拟接口定向到物理接口以进入物理网络的过程,降低了转发开销。基于共享转发表的统一路由查找节省了转发表存储空间,提高了路由查找效率。此外,统一转发技术减轻了虚拟路由器实例维护数据平面的负担,使其能将资源集中用于控制平面协议的运行与维护,同时也在一定程度上避免了各虚拟路由器实例过大的任务计算量对数据转发造成的干扰,对于提高虚拟网络数据转发的高效性和稳定性具有重要意义。Compared with the prior art, the unified forwarding of the virtual network router in the present invention prevents the virtual network packets from being directed from the physical interface of the virtual router to the virtual interface to enter the virtual router instance, and then directed from the virtual interface to the physical interface after routing lookup is completed in the instance In the process of entering the physical network, the forwarding overhead is reduced. The unified routing lookup based on the shared forwarding table saves the storage space of the forwarding table and improves the efficiency of routing lookup. In addition, the unified forwarding technology reduces the burden of maintaining the data plane of the virtual router instance, so that it can concentrate resources on the operation and maintenance of the control plane protocol, and also avoids the excessive task calculation of each virtual router instance to a certain extent. The interference caused by data forwarding is of great significance for improving the efficiency and stability of virtual network data forwarding.

附图说明Description of drawings

图1为统一转发技术适用的典型虚拟网络环境。Figure 1 shows a typical virtual network environment where the unified forwarding technology is applicable.

图2为支持统一转发引擎的虚拟路由器结构,虚线箭头所指为虚拟网络数据传输路线,实线箭头所指为转发表信息传输路线。Figure 2 shows the virtual router structure supporting the unified forwarding engine. The dotted arrow points to the virtual network data transmission route, and the solid line arrow points to the forwarding table information transmission route.

图3为共享转发表结构。Figure 3 shows the structure of the shared forwarding table.

图4为采用统一转发技术的虚拟网络示例。Figure 4 is an example of a virtual network using the unified forwarding technology.

图5为图4中的虚拟网络分组发送流程。FIG. 5 is a flow of sending virtual network packets in FIG. 4 .

图6为图4中的VR1共享转发表。FIG. 6 is the VR1 shared forwarding table in FIG. 4 .

图7为图4中的VR2共享转发表。FIG. 7 is the VR2 shared forwarding table in FIG. 4 .

图8为图4中的VR3共享转发表。FIG. 8 is the VR3 shared forwarding table in FIG. 4 .

具体实施方式Detailed ways

下面结合附图和实施例详细说明本发明的实施方式。The implementation of the present invention will be described in detail below in conjunction with the drawings and examples.

本发明一种虚拟网络路由器的数据统一转发方法,主要是将虚拟路由器实例的控制平面与数据平面分离,控制平面运行在各虚拟路由器实例内部,负责路由计算;数据平面则转移至虚拟路由器内核中,各虚拟路由器实例的数据平面在虚拟路由器设备底层构成一个数据统一转发引擎,统一转发引擎负责将各虚拟路由器实例的转发表组织并压缩为一个共享转发表,并以此为依据负责本虚拟路由器节点上所有实例的数据转发。支持统一转发引擎的虚拟路由器结构如图2所示。A unified data forwarding method of a virtual network router in the present invention mainly separates the control plane of the virtual router instance from the data plane, the control plane runs inside each virtual router instance and is responsible for routing calculation; the data plane is transferred to the virtual router kernel , the data plane of each virtual router instance constitutes a data unified forwarding engine at the bottom layer of the virtual router device. The unified forwarding engine is responsible for organizing and compressing the forwarding tables of each virtual router instance into a shared forwarding table, and based on this Data forwarding for all instances on the node. The structure of the virtual router supporting the unified forwarding engine is shown in Figure 2.

具体来说,本技术的实施步骤如下:Specifically, the implementation steps of this technology are as follows:

(1)各虚拟路由器实例的控制平面运行路由协议,动态生成转发表项,并通过一定的通信机制将转发表发送至数据统一转发引擎;(1) The control plane of each virtual router instance runs the routing protocol, dynamically generates forwarding table items, and sends the forwarding table to the data unified forwarding engine through a certain communication mechanism;

(2)数据统一转发引擎负责将各实例的转发表组织成一个共享转发表;(2) The data unified forwarding engine is responsible for organizing the forwarding tables of each instance into a shared forwarding table;

(3)当有虚拟网络上的数据分组到达虚拟路由器设备时,进行如下操作:(3) When a data packet on the virtual network arrives at the virtual router device, perform the following operations:

a)从物理网卡上获取数据报文并解封装,取得内部的虚拟网络数据分组;a) Obtain data packets from the physical network card and decapsulate them to obtain internal virtual network data packets;

b)以虚拟网络分组对应的虚拟路由器实例编号及分组的目的地址字段为依据,在统一转发引擎的路由查找模块内进行路由查找;b) Based on the virtual router instance number corresponding to the virtual network group and the destination address field of the group, perform route search in the route search module of the unified forwarding engine;

c)查找结束后,分组分三类处理:如果分组的目的地址为各虚拟路由器实例,将其经虚拟交换机递交给相应的虚拟路由器实例;如果分组的目的地址为设备的主机地址,则将分组上交给传输层处理;对于需要转发的虚拟网络分组,则根据路由查找结果对分组进行IP封装后,将其经物理网卡发送至下一跳虚拟路由器实例。c) After the search is completed, the packets are processed in three categories: if the destination address of the packet is each virtual router instance, it will be delivered to the corresponding virtual router instance through the virtual switch; if the destination address of the packet is the host address of the device, the packet will be It is handed over to the transport layer for processing; for the virtual network packets that need to be forwarded, IP encapsulation is performed on the packets according to the route lookup results, and then sent to the next-hop virtual router instance through the physical network card.

本发明中,共享转发表的组织技术说明如下:In the present invention, the technical description of the organization of the shared forwarding table is as follows:

构建共享转发表的关键是各虚拟路由器实例的转发表。这些转发表由各虚拟路由器实例中运行的路由协议动态生成,转发表的大小、结构取决于其所属虚拟网络的规模及所采用的路由协议。当各虚拟网络采用相同的网络层协议时,可以将这些转发表组织成一个共享转发表,实现对各转发表的统一索引。共享转发表结构由三部分组成,分别是trie树,共享索引表和各虚拟路由器实例的转发表,如图3所示。以IP网络为例,Trie树用于组织各虚拟路由器实例转发表的IP地址前缀,它采用级压缩的方式,每个节点包含2n个分支(1≤n≤32),可以表示IP地址中的n比特位。Trie树结点上的每个分支都指向一个共享索引表。共享索引表将各虚拟路由器实例的编号作为关键字,来索引该trie树前缀分支在对应的虚拟路由器实例转发表中的位置。各虚拟路由器实例的转发表对普通的路由器转发表进行了扩展,在表项中增加了下一跳虚拟链路的起点与终点信息。The key to building a shared forwarding table is the forwarding table of each virtual router instance. These forwarding tables are dynamically generated by the routing protocols running in each virtual router instance. The size and structure of the forwarding tables depend on the scale of the virtual network to which they belong and the routing protocols used. When each virtual network adopts the same network layer protocol, these forwarding tables can be organized into a shared forwarding table to realize a unified index for each forwarding table. The shared forwarding table structure is composed of three parts, which are the trie tree, the shared index table and the forwarding table of each virtual router instance, as shown in Figure 3. Taking the IP network as an example, the Trie tree is used to organize the IP address prefixes of the forwarding tables of each virtual router instance. It adopts the method of level compression, and each node contains 2n branches (1≤n≤32), which can represent the of n bits. Each branch on the Trie tree node points to a shared index table. The shared index table uses the number of each virtual router instance as a key to index the position of the trie tree prefix branch in the forwarding table of the corresponding virtual router instance. The forwarding table of each virtual router instance extends the common router forwarding table, adding the start point and end point information of the next-hop virtual link in the table entry.

下面以如图4所示的采用统一转发技术的小型虚拟网络环境对本发明进行详细说明。该环境中,三台虚拟路由器设备VR1、VR2和VR3分别通过三台物理路由器设备R1、R2和R3接入物理网络。每台虚拟路由器设备上均支持两个虚拟路由器实例(图4中VRI1、VRI2),VR1上的VRI1、VR2上的VRI2以及VR3上的VRI1间通过隧道封装技术建立虚拟链路,形成虚拟网络VNet1;VR1上的VRI2、VR2上的VRI1以及VR3上的VRI2间通过隧道封装技术建立虚拟链路,形成虚拟网络VNet2。PC1和PC2为VNet1上的用户终端,分别通过VR1上的VRI1、VR3上的VRI1接入虚拟网络VNet1进行通信。以PC1向PC2发送数据分组为例,从虚拟网络的视角看,分组从PC1发出后,依次被转发至VR1上的VRI1、VR2上的VRI2、VR3上的VRI1,最终到达PC2。PC2的响应分组则沿相同路径反方向到达PC1。由于VR1、VR2和VR3均部署了数据统一转发引擎,所以能代替VRI1、VRI2和VRI3为两台PC间的通信提供数据转发服务。The present invention will be described in detail below with a small-scale virtual network environment using unified forwarding technology as shown in FIG. 4 . In this environment, three virtual router devices VR1, VR2 and VR3 are respectively connected to the physical network through three physical router devices R1, R2 and R3. Each virtual router device supports two virtual router instances (VRI1 and VRI2 in Figure 4). Virtual links are established between VRI1 on VR1, VRI2 on VR2, and VRI1 on VR3 through tunnel encapsulation technology to form a virtual network VNet1 ; A virtual link is established between VRI2 on VR1, VRI1 on VR2, and VRI2 on VR3 through tunnel encapsulation technology to form a virtual network VNet2. PC1 and PC2 are user terminals on VNet1, and access the virtual network VNet1 through VRI1 on VR1 and VRI1 on VR3 respectively for communication. Take PC1 sending data packets to PC2 as an example. From the perspective of the virtual network, after the packets are sent from PC1, they are forwarded to VRI1 on VR1, VRI2 on VR2, and VRI1 on VR3 in turn, and finally reach PC2. The response packet of PC2 arrives at PC1 in the opposite direction along the same path. Since VR1, VR2, and VR3 are deployed with a unified data forwarding engine, they can replace VRI1, VRI2, and VRI3 to provide data forwarding services for communication between two PCs.

图4中PC1向PC2发送分组的具体流程如图5所示。首先,PC1向VR1发送一个虚拟网络分组(图5分组①),VR1从物理网卡上接收到分组后,根据分组目的地址7.0.0.2和虚拟路由器实例编号1查找VR1共享转发表,如图6所示,先自上而下遍历trie树,找到与7.0.0.2匹配的有索引的最长前缀为7.0.0.0/24,由此查找对应的共享索引表,得知此前缀在VRI1转发表中的位置,从而获得下一跳所经虚拟链路的起点地址2.0.0.2和终点地址4.0.0.2。之后,VR1对此虚拟网络分组进行封装,将封装头的源地址设为虚拟链路的起始地址,目的地址设为虚链路的终点地址,并更新TTL值和校验和。接着,内核更新缓存分组的MAC地址信息,将封装后分组(图5分组②)直接从物理网卡上发送出去。封装后分组经物理路由器R1与R2转发到达VR2,VR2将分组解封装,从封装头的目的地址得到虚拟路由器实例的编号为2,然后根据内部虚拟网络分组的目的地址7.0.0.2和虚拟路由器实例编号2以同样的方式查找VR2共享转发表,如图7所示,得到下一跳所经虚拟链路信息并重新封装虚拟网络分组,封装头的源地址和目的地址分别设为4.0.0.2和6.0.0.2(图5分组③)。封装分组从VR2发出后经R2、R3到达VR3,VR3将分组解封装后,根据内部虚拟网络分组的目的地址7.0.0.2和从封装头目的地址得到的虚拟路由器实例编号1查找VR3共享转发表,如图8所示,发现PC2与自己处于同一网段,因此直接将虚拟网络分组发送至PC2(图5分组④)。这样就完成了虚拟网络分组从PC1至PC2的传输。The specific process of sending packets from PC1 to PC2 in FIG. 4 is shown in FIG. 5 . First, PC1 sends a virtual network packet to VR1 (group ① in Figure 5). After VR1 receives the packet from the physical network card, it searches for the shared forwarding table of VR1 according to the packet destination address 7.0.0.2 and virtualrouter instance number 1, as shown in Figure 6 As shown, first traverse the trie tree from top to bottom, and find that the longest prefix with an index matching 7.0.0.2 is 7.0.0.0/24, and then search the corresponding shared index table, and know that this prefix is in the forwarding table of VRI1 location, so as to obtain the start address 2.0.0.2 and end address 4.0.0.2 of the virtual link passed by the next hop. Afterwards, VR1 encapsulates the virtual network packet, sets the source address of the encapsulation header as the start address of the virtual link, sets the destination address as the end address of the virtual link, and updates the TTL value and checksum. Then, the kernel updates the MAC address information of the cached packet, and sends the encapsulated packet (group ② in Figure 5) directly from the physical network card. After encapsulation, the packet is forwarded by physical routers R1 and R2 to VR2. VR2 decapsulates the packet and obtains the virtualrouter instance number 2 from the destination address of the encapsulation header. Then, according to the destination address 7.0.0.2 of the internal virtual network group and the virtualrouter instance Number 2 searches the shared forwarding table of VR2 in the same way, as shown in Figure 7, obtains the virtual link information of the next hop and re-encapsulates the virtual network packet, and sets the source address and destination address of the encapsulation header to 4.0.0.2 and 4.0.0.2 respectively. 6.0.0.2 (group ③ in Figure 5). The encapsulated packet is sent from VR2 and arrives at VR3 via R2 and R3. After VR3 decapsulates the packet, it searches the shared forwarding table of VR3 according to the destination address 7.0.0.2 of the internal virtual network packet and the virtualrouter instance number 1 obtained from the destination address of the encapsulated header. As shown in Figure 8, it finds that PC2 is in the same network segment as itself, so it directly sends the virtual network packet to PC2 (group ④ in Figure 5). In this way, the transmission of the virtual network packet from PC1 to PC2 is completed.

Claims (7)

Translated fromChinese
1.一种虚拟网络路由器的数据统一转发方法,其特征在于,将虚拟路由器实例的控制平面与数据平面分离,控制平面运行在各虚拟路由器实例内部,负责路由计算;数据平面则转移至虚拟路由器内核中,各虚拟路由器实例的数据平面在虚拟路由器设备底层构成一个数据统一转发引擎,由该统一转发引擎负责将各虚拟路由器实例的转发表组织并压缩为一个共享转发表,并以此为依据负责本虚拟路由器节点上所有实例的数据转发。1. A unified data forwarding method for a virtual network router, characterized in that the control plane of the virtual router instance is separated from the data plane, and the control plane runs inside each virtual router instance and is responsible for routing calculation; the data plane is then transferred to the virtual router In the kernel, the data plane of each virtual router instance constitutes a unified data forwarding engine at the bottom layer of the virtual router device. The unified forwarding engine is responsible for organizing and compressing the forwarding tables of each virtual router instance into a shared forwarding table, and based on this Responsible for data forwarding of all instances on this virtual router node.2.根据权利要求1所述的虚拟网络路由器的数据统一转发方法,其特征在于,各虚拟路由器实例的控制平面运行路由协议,动态生成转发表项,并将转发表发送至所述数据统一转发引擎。2. The data unified forwarding method of a virtual network router according to claim 1, wherein the control plane of each virtual router instance runs a routing protocol, dynamically generates a forwarding table item, and sends the forwarding table to the unified data forwarding method. engine.3.根据权利要求1所述的虚拟网络路由器的数据统一转发方法,其特征在于,所述数据统一转发引擎可视为原各虚拟路由器实例中数据平面的集合,具备普通数据平面的所有功能,它负责为虚拟路由器上所有的虚拟路由器实例提供统一的数据转发服务,其转发依据为引擎中路由查找模块的共享转发表;各虚拟路由器实例的控制平面分别运行各自的路由协议并生成转发表,各转发表信息通过虚拟路由器实例与数据统一转发引擎间的通信被定期发送给数据统一转发引擎,在引擎中被组织为共享转发表,从而将原来多个数据平面的转发表信息整合到一个数据统一转发引擎中。3. the data unified forwarding method of virtual network router according to claim 1, it is characterized in that, described data unified forwarding engine can be regarded as the collection of data plane in former each virtual router instance, possesses all functions of common data plane, It is responsible for providing a unified data forwarding service for all virtual router instances on the virtual router. The forwarding basis is the shared forwarding table of the routing lookup module in the engine; the control plane of each virtual router instance runs its own routing protocol and generates a forwarding table. Each forwarding table information is sent to the data unified forwarding engine regularly through the communication between the virtual router instance and the data unified forwarding engine, and is organized as a shared forwarding table in the engine, so that the original forwarding table information of multiple data planes is integrated into one data In the Unified Forwarding Engine.4.根据权利要求1所述的虚拟网络路由器的数据统一转发方法,其特征在于,通过构建trie树对各虚拟路由器实例的转发表前缀进行统一索引,从而将多个虚拟路由器实例的转发表组织成一个共享转发表,共享转发表结构由trie树、共享索引表和各虚拟路由器实例的转发表三部分组成,其中trie树用于组织各虚拟路由器实例转发表的地址前缀,包含有效前缀信息的trie树结点将指向一个共享索引表,该共享索引表将各虚拟路由器实例的编号作为关键字,来索引该前缀结点在对应的虚拟路由器实例转发表中的位置。4. the data unified forwarding method of virtual network router according to claim 1, it is characterized in that, carry out unified index to the forwarding table prefix of each virtual router instance by constructing trie tree, thereby the forwarding table organization of a plurality of virtual router instances A shared forwarding table is formed. The structure of the shared forwarding table consists of three parts: a trie tree, a shared index table, and the forwarding table of each virtual router instance. The trie tree is used to organize the address prefixes of the forwarding tables of each virtual router instance, and contains valid prefix information. The trie tree node will point to a shared index table, and the shared index table uses the number of each virtual router instance as a key to index the position of the prefix node in the forwarding table of the corresponding virtual router instance.5.根据权利要求4所述的虚拟网络路由器的数据统一转发方法,其特征在于,当各虚拟路由器实例均采用IP网络时,trie树用于组织各虚拟路由器实例转发表的IP地址前缀,它采用级压缩的方式,每个节点包含2n个分支,其中1≤n≤32,能够表示IP地址中的n比特位;trie树每个包含有效前缀信息的结点都指向一个共享索引表,共享索引表将各虚拟路由器实例的编号作为关键字,来索引该trie树结点所代表的前缀在对应的虚拟路由器实例转发表中的位置,各虚拟路由器实例的转发表对普通的路由器转发表进行了扩展,在表项中增加了下一跳虚拟链路的起点与终点信息。5. the data unified forwarding method of virtual network router according to claim 4, it is characterized in that, when each virtual router instance all adopts IP network, trie tree is used for organizing the IP address prefix of each virtual router instance forwarding table, it In the way of level compression, each node contains 2n branches, where 1≤n≤32, which can represent n bits in the IP address; each node of the trie tree containing valid prefix information points to a shared index table, The shared index table uses the number of each virtual router instance as a key to index the position of the prefix represented by the trie tree node in the forwarding table of the corresponding virtual router instance. The forwarding table of each virtual router instance is opposite to the normal router forwarding table An extension is made, and the start point and end point information of the next-hop virtual link is added in the entry.6.根据权利要求1所述的虚拟网络路由器的数据统一转发方法,其特征在于,当有虚拟网络上的数据分组到达虚拟路由器设备时,进行如下操作:6. the data unified forwarding method of virtual network router according to claim 1, is characterized in that, when the data packet on virtual network arrives virtual router device, carries out following operations:a)从物理网卡上获取数据报文并解封装,取得内部的虚拟网络数据分组;a) Obtain data packets from the physical network card and decapsulate them to obtain internal virtual network data packets;b)以虚拟网络数据分组对应的虚拟路由器实例编号及目的地址字段为依据,在所述数据统一转发引擎的路由查找模块内进行路由查找;b) based on the virtual router instance number and the destination address field corresponding to the virtual network data packet, perform routing search in the routing search module of the data unified forwarding engine;c)查找结束后,数据分组分三类处理:如果数据分组的目的地址为各虚拟路由器实例,将其经虚拟交换机递交给相应的虚拟路由器实例;如果数据分组的目的地址为设备的主机地址,则将数据分组上交给传输层处理;对于需要转发的虚拟网络数据分组,则根据路由查找结果对数据分组进行IP封装后,将其经物理网卡发送至下一跳虚拟路由器实例。c) After the search finishes, the data packets are divided into three types of processing: if the destination address of the data packets is each virtual router instance, it is submitted to the corresponding virtual router instance through the virtual switch; if the destination address of the data packets is the host address of the device, Then hand over the data packet to the transport layer for processing; for the virtual network data packet that needs to be forwarded, perform IP encapsulation on the data packet according to the route lookup result, and send it to the next-hop virtual router instance through the physical network card.7.根据权利要求6所述的虚拟网络路由器的数据统一转发方法,其特征在于,所述路由查找模块是数据统一转发引擎的核心,用于建立共享转发表,作为各虚拟网络数据分组进行路由查找的依据,与引擎内其它模块交互,获取各虚拟路由器实例信息,并对共享转发表进行操作。7. the data unified forwarding method of virtual network router according to claim 6, it is characterized in that, described routing search module is the core of data unified forwarding engine, is used for setting up shared forwarding table, carries out routing as each virtual network data packet The basis of the search is to interact with other modules in the engine to obtain the information of each virtual router instance and operate the shared forwarding table.
CN201310418512.5A2013-09-132013-09-13The data of virtual network router unify retransmission methodExpired - Fee RelatedCN103491006B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201310418512.5ACN103491006B (en)2013-09-132013-09-13The data of virtual network router unify retransmission method

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201310418512.5ACN103491006B (en)2013-09-132013-09-13The data of virtual network router unify retransmission method

Publications (2)

Publication NumberPublication Date
CN103491006Atrue CN103491006A (en)2014-01-01
CN103491006B CN103491006B (en)2016-08-17

Family

ID=49830976

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201310418512.5AExpired - Fee RelatedCN103491006B (en)2013-09-132013-09-13The data of virtual network router unify retransmission method

Country Status (1)

CountryLink
CN (1)CN103491006B (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN103825826A (en)*2014-02-282014-05-28杭州华三通信技术有限公司Method and device for implementing dynamic routing
CN105119820A (en)*2015-07-232015-12-02中国人民解放军信息工程大学Routing protocol multi-instance parallel execution system and parallel execution method thereof
CN105379214A (en)*2014-03-242016-03-02华为技术有限公司Method for determining storage location for tables, forwarding device, and controller
CN105392155A (en)*2015-10-192016-03-09中国人民解放军国防信息学院Virtual/real Internet gateway suitable for mobile network system simulation and simulation realizing method thereof
WO2016062085A1 (en)*2014-10-212016-04-28中兴通讯股份有限公司Virtual network realization method, nve and nva device and system
CN106576075A (en)*2014-03-272017-04-19Nicira股份有限公司 Ingress ECMP in Virtual Distributed Routing Environment
CN107171953A (en)*2017-05-222017-09-15浙江工商大学A kind of virtual router implementation method
WO2017215102A1 (en)*2016-06-152017-12-21Huawei Technologies Co., Ltd.Method of forwarding data packets, method of creating merged fib key entry and method of creating a search key
WO2018024256A1 (en)*2016-08-052018-02-08Huawei Technologies Co., Ltd.Slice/service-based routing in virtual networks
WO2019196914A1 (en)*2018-04-132019-10-17华为技术有限公司Method for discovering forwarding path, and related device thereof
US10511458B2 (en)2014-09-302019-12-17Nicira, Inc.Virtual distributed bridging
US10511459B2 (en)2017-11-142019-12-17Nicira, Inc.Selection of managed forwarding element for bridge spanning multiple datacenters
US10528373B2 (en)2013-10-132020-01-07Nicira, Inc.Configuration of logical router
US10693783B2 (en)2015-06-302020-06-23Nicira, Inc.Intermediate logical interfaces in a virtual distributed router environment
US11190443B2 (en)2014-03-272021-11-30Nicira, Inc.Address resolution using multiple designated instances of a logical router
US11252037B2 (en)2014-09-302022-02-15Nicira, Inc.Using physical location to modify behavior of a distributed virtual network element

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN109450795B (en)*2018-11-092020-08-11浙江大学 A service router and service network system for service network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JING FU.ETC: "Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers", 《ACM》*
罗腊咏等: "可编程虚拟路由器关键技术与原型系统", 《计算机学报》*

Cited By (45)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10528373B2 (en)2013-10-132020-01-07Nicira, Inc.Configuration of logical router
US11029982B2 (en)2013-10-132021-06-08Nicira, Inc.Configuration of logical router
US12073240B2 (en)2013-10-132024-08-27Nicira, Inc.Configuration of logical router
CN103825826B (en)*2014-02-282017-12-08新华三技术有限公司The implementation method and device of a kind of dynamic routing
CN103825826A (en)*2014-02-282014-05-28杭州华三通信技术有限公司Method and device for implementing dynamic routing
CN105379214A (en)*2014-03-242016-03-02华为技术有限公司Method for determining storage location for tables, forwarding device, and controller
CN105379214B (en)*2014-03-242019-04-19华为技术有限公司 Method, forwarding device and controller for determining storage location of table
US10158503B2 (en)2014-03-242018-12-18Huawei Technologies Co., LtdMethod for determining storage location of table, forwarding device, and controller
US11736394B2 (en)2014-03-272023-08-22Nicira, Inc.Address resolution using multiple designated instances of a logical router
US11190443B2 (en)2014-03-272021-11-30Nicira, Inc.Address resolution using multiple designated instances of a logical router
US12218834B2 (en)2014-03-272025-02-04Nicira, Inc.Address resolution using multiple designated instances of a logical router
CN106576075A (en)*2014-03-272017-04-19Nicira股份有限公司 Ingress ECMP in Virtual Distributed Routing Environment
US11252037B2 (en)2014-09-302022-02-15Nicira, Inc.Using physical location to modify behavior of a distributed virtual network element
US11483175B2 (en)2014-09-302022-10-25Nicira, Inc.Virtual distributed bridging
US10511458B2 (en)2014-09-302019-12-17Nicira, Inc.Virtual distributed bridging
WO2016062085A1 (en)*2014-10-212016-04-28中兴通讯股份有限公司Virtual network realization method, nve and nva device and system
CN105591865A (en)*2014-10-212016-05-18中兴通讯股份有限公司Method, NVE device, NVA device, and system for virtual network realization
US11799775B2 (en)2015-06-302023-10-24Nicira, Inc.Intermediate logical interfaces in a virtual distributed router environment
US12192103B2 (en)2015-06-302025-01-07Nicira, Inc.Intermediate logical interfaces in a virtual distributed router environment
US11050666B2 (en)2015-06-302021-06-29Nicira, Inc.Intermediate logical interfaces in a virtual distributed router environment
US10693783B2 (en)2015-06-302020-06-23Nicira, Inc.Intermediate logical interfaces in a virtual distributed router environment
CN105119820A (en)*2015-07-232015-12-02中国人民解放军信息工程大学Routing protocol multi-instance parallel execution system and parallel execution method thereof
CN105119820B (en)*2015-07-232018-01-02中国人民解放军信息工程大学The more example parallel execution systems of Routing Protocol and its method is performed parallel
CN105392155B (en)*2015-10-192018-11-20中国人民解放军国防信息学院The method of actual situation Interworking GateWay and its realization emulation suitable for the emulation of mobile network system
CN105392155A (en)*2015-10-192016-03-09中国人民解放军国防信息学院Virtual/real Internet gateway suitable for mobile network system simulation and simulation realizing method thereof
WO2017215102A1 (en)*2016-06-152017-12-21Huawei Technologies Co., Ltd.Method of forwarding data packets, method of creating merged fib key entry and method of creating a search key
US10193804B2 (en)2016-06-152019-01-29Huawei Technologies Co., Ltd.Method of forwarding data packets, method of creating merged FIB key entry and method of creating a search key
US10567276B2 (en)2016-08-052020-02-18Huawei Technologies Co., Ltd.Virtual network pre-configuration in support of service-based traffic forwarding
US11882027B2 (en)2016-08-052024-01-23Huawei Technologies Co., Ltd.End point to edge node interaction in wireless communication networks
CN109565472B (en)*2016-08-052021-04-20华为技术有限公司 Slice/service-based routing method and device in virtual network
US11005750B2 (en)2016-08-052021-05-11Huawei Technologies Co., Ltd.End point to edge node interaction in wireless communication networks
US11165689B2 (en)2016-08-052021-11-02Huawei Technologies Co., LtdService-based traffic forwarding in virtual networks
US10630576B2 (en)2016-08-052020-04-21Huawei Technologies Co., Ltd.Virtual network routing to dynamic end point locations in support of service-based traffic forwarding
US10608928B2 (en)2016-08-052020-03-31Huawei Technologies Co., Ltd.Service-based traffic forwarding in virtual networks
US10841208B2 (en)2016-08-052020-11-17Huawei Technologies Co., Ltd.Slice/service-based routing in virtual networks
WO2018024256A1 (en)*2016-08-052018-02-08Huawei Technologies Co., Ltd.Slice/service-based routing in virtual networks
CN109565472A (en)*2016-08-052019-04-02华为技术有限公司 Slice/Service Based Routing in Virtual Networks
CN107171953A (en)*2017-05-222017-09-15浙江工商大学A kind of virtual router implementation method
CN107171953B (en)*2017-05-222020-04-28浙江工商大学 A kind of virtual router implementation method
US11336486B2 (en)2017-11-142022-05-17Nicira, Inc.Selection of managed forwarding element for bridge spanning multiple datacenters
US10511459B2 (en)2017-11-142019-12-17Nicira, Inc.Selection of managed forwarding element for bridge spanning multiple datacenters
WO2019196914A1 (en)*2018-04-132019-10-17华为技术有限公司Method for discovering forwarding path, and related device thereof
CN110380966A (en)*2018-04-132019-10-25华为技术有限公司A kind of method and its relevant device finding forward-path
US11522792B2 (en)2018-04-132022-12-06Huawei Technologies Co., Ltd.Method for discovering forwarding path and related device thereof
CN110380966B (en)*2018-04-132020-11-06华为技术有限公司Method for discovering forwarding path and related equipment thereof

Also Published As

Publication numberPublication date
CN103491006B (en)2016-08-17

Similar Documents

PublicationPublication DateTitle
CN103491006B (en)The data of virtual network router unify retransmission method
US8085778B1 (en)Voltage regulator
TWI661698B (en) Method and device for forwarding Ethernet packet
CN104717098B (en)A kind of data processing method and device
CN100372347C (en)4 over 6 tunnel packing and depacking method for extending boundary gateway protocol
CN104488235B (en) Message forwarding method and network equipment
CN104104614A (en)Software defined network controller system in named data networking and method thereof
JP5993817B2 (en) Routing system and method in carrier network
CN104394083B (en)Method, the method and its device and system of message forwarding of forwarding-table item processing
JP2018518925A (en) Packet forwarding
CN105681198A (en)Business chain processing method, device and system
CN105745882A (en)Realization method for flat networks routing based on network
CN106453091B (en)The equivalent route management method and device of router Forwarding plane
CN107094116B (en) A direct network routing method and system including cross-dimensional links
CN106209637A (en)From message forwarding method and the equipment of virtual expansible LAN to VLAN
CN102724131A (en)Method and device for achieving internet protocol (IP) message equal-cost multi-path routing balancing
CN106209554B (en) Message forwarding method and device across virtual scalable local area network
JP5050978B2 (en) Transmission information transfer apparatus and method
CN103095579B (en)TRILL network interconnected method, Apparatus and system
CN1564542A (en)Tunnel set-up method for carrying out internet of IPV4 network on IPV6 network
CN110752989A (en)Method and device for forwarding east-west traffic
CN105207904B (en)Processing method, device and the router of message
CN106572014A (en)Virtual network system
CN102752199B (en)Method and system for constructing data forwarding plane of virtual router
CN102970224A (en)Method compatible with ATM (asynchronous transfer mode) system and based on IP (Internet protocol) switched network for realizing MPLS (multi-protocol label switching) message forwarding

Legal Events

DateCodeTitleDescription
C06Publication
PB01Publication
C10Entry into substantive examination
SE01Entry into force of request for substantive examination
C14Grant of patent or utility model
GR01Patent grant
CF01Termination of patent right due to non-payment of annual fee

Granted publication date:20160817

CF01Termination of patent right due to non-payment of annual fee

[8]ページ先頭

©2009-2025 Movatter.jp