CN102231708A - Virtual routing device and routing method thereof - Google Patents

Virtual routing device and routing method thereof Download PDF

Info

Publication number
CN102231708A
CN102231708A CN2011101853120A CN201110185312A CN102231708A CN 102231708 A CN102231708 A CN 102231708A CN 2011101853120 A CN2011101853120 A CN 2011101853120A CN 201110185312 A CN201110185312 A CN 201110185312A CN 102231708 A CN102231708 A CN 102231708A
Authority
CN
China
Prior art keywords
virtual
routing
virtual machine
programmable hardware
data packet
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
Application number
CN2011101853120A
Other languages
Chinese (zh)
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 University filed Critical Tsinghua University
Priority to CN2011101853120A priority Critical patent/CN102231708A/en
Publication of CN102231708A publication Critical patent/CN102231708A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a virtual routing device and a routing method thereof and relates to the technical field of an internet. The device disclosed by the invention comprises programmable hardware and a host, wherein the programmable hardware is used for achieving the data packet transmission function of a data plane; the host achieves the functions of a control plane and a management plane and comprises a host control unit and a virtual machine unit; the host control unit is used for initializing the programmable hardware and the virtual machine unit and periodically updating the items in the programmable hardware; and the virtual machine unit is used for achieving the functions of processing route protocols and processing data packets, generating and updating a route table and an ARP (Address Resolution Protocol) table in real time and providing the route table and the ARP table for the host control unit. In the invention, multiple parallel virtual networks can be simultaneously supported to operate different applications; the established different virtual networks can be completely isolated and are not mutually interfered; the forwarding rate is high and can reach the linear speed; and the device provided by the invention also has the characteristics of programmable depth, flexibility in configuration and good expansibility.

Description

Virtual routing device and routing method thereof
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a virtual routing apparatus and a routing method thereof.
Background
The internet has enjoyed significant success during the past decades of production and development. Based on the internet, more and more users, more and more applications, and more services are emerging. However, and because of the popularity of the internet, it is increasingly showing inconsistencies in the original design, inherent disadvantages and emerging drawbacks. Therefore, a plurality of scholars join in the future internet research to generate a series of research results. However, most of the research results are based on the modification of the original internet architecture, and the inherent stubborn problems are not effectively solved. Other research efforts have involved a thorough innovation in the internet, but unfortunately none have been an effective large-scale platform to verify its correctness.
Therefore, future research on the internet urgently needs an experimental platform capable of supporting parallel network innovation. The innovative experiment platform can carry out various innovative researches and experiments on the internet in parallel without influencing the current network, and does not influence each other. The network virtualization technology allows a plurality of virtual networks to be operated simultaneously and parallelly on the same underlying network resource, and is considered to be an important and effective technology for building a future innovative network experimental platform. The network virtualization simulates a plurality of virtual networks on the same underlying physical network through a node virtualization technology and a link virtualization technology, thereby providing different services and running different protocols and applications. For example, different virtual networks may run distinct applications: VoIP, video on demand, multicast, file sharing, etc.
As a core device of network virtualization: the research on the virtual router is particularly important. In the past research efforts, there were two solutions for virtual routers: the first solution is a software-based virtual router, which is characterized by flexible configuration and strong programmability, but the software virtual router has a bottleneck that is difficult to overcome: the forwarding rate is low because its forwarding function is implemented by software. The second solution is a hardware-based virtual router, which is characterized by high forwarding rate, even wire speed, but its flexibility and configurability are hard to be compared with a software virtual router. In addition, the current research results on the hardware virtual router have certain defects in isolation, and the planes cannot be completely isolated.
The functional architecture of the router mainly comprises a control plane, a data plane and a management plane, so that the design of the virtual router needs to comprehensively consider the characteristics and performance requirements among the planes. Meanwhile, the advantages and the disadvantages of the software virtual router and the hardware virtual router are considered, and the high-performance virtual router is finally realized.
Disclosure of Invention
Technical problem to be solved
The technical problem to be solved by the invention is as follows: a virtual routing device and a routing method thereof are provided, which can simultaneously support a plurality of parallel virtual networks to run different applications; the established different virtual networks can be completely isolated and do not influence each other; the forwarding speed is high, and the linear speed can be achieved; the invention also has the characteristics of programmable depth, flexible configuration and good expansibility.
(II) technical scheme
In order to solve the above problems, the present invention provides a virtual routing device, which includes programmable hardware and a host; wherein,
the programmable hardware is used for completing a data packet forwarding function of a data plane;
the host is used for completing functions of a control plane and a management plane and comprises a host control unit and a plurality of virtual machine units;
the host control unit is used for managing and controlling the data plane and the virtual machine unit and periodically updating a routing table and an ARP table in the data plane;
the virtual machine unit is used for realizing the functions of routing protocol processing and data packet processing, generating a routing table and an ARP table in real time and providing the routing table and the ARP table to the host control unit.
The data plane comprises a data packet forwarding control module in the programmable hardware, and a routing table, an ARP table and a port table which are stored in a register, and the data plane corresponds to the virtual machine units one by one.
The control plane comprises a management configuration module in the host control unit, a routing protocol module and a data packet processing module in the virtual machine unit.
The virtual machine unit comprises N virtual network cards which are respectively bridged to N CPU queues of the programmable hardware. N is a natural number.
Wherein the programmable hardware is an FPGA.
A method for performing virtual routing by using the virtual routing device, comprising the following steps:
s1: the host control unit carries out initialization configuration on the programmable hardware through a PCI interface and generates a virtual machine unit corresponding to a data plane in the programmable hardware;
s2: the virtual machine unit processes the received data packet, and generates and updates a routing table and an ARP table in real time;
s3: the host control unit periodically updates a routing table and an ARP table generated in the virtual machine unit into a data plane through a timer;
s4: the programmable hardware forwards the received data packet.
Wherein, the step S4 further includes determining the format of the data packet;
for the data packet in the VLAN format, firstly, the data packet is filtered through the VLAN tag, then the data packet matched with the VLAN tag is sent to a data plane corresponding to the tag, and the data packet not matched with the VLAN tag is discarded;
filtering according to the destination MAC address after the data packet enters the data plane; and for the data packet matched with the MAC address, searching a next hop IP address and a corresponding port from the routing table and the ARP table according to the destination IP address, if so, forwarding, otherwise, sending the data packet to a corresponding virtual machine unit through a CPU queue for processing.
(III) advantageous effects
The invention combines programmable hardware and host virtualization technology, and adopts VLAN isolation technology on data plane, thus being capable of supporting multiple parallel virtual networks on the same bottom layer physical network and having good isolation characteristic. The data packet forwarding is carried out through the programmable hardware (FPGA), so that the forwarding speed is high, and the linear speed forwarding can be achieved. The invention has deep programmability because of adopting the host virtualization technology and the programmable hardware in the control plane, the host virtualization technology generates mutually isolated virtual machines, each virtual machine can select different routing protocols according to different application scenes, and meanwhile, the data packet processing flow in the programmable hardware (FPGA) is highly programmable. The host control unit of the invention can adjust the configuration strategy, the table item updating strategy, the virtual node resource allocation strategy and the like according to the needs.
Drawings
FIG. 1 is a block diagram of a virtual router according to an embodiment of the present invention;
fig. 2 is a flowchart of the virtual routing method according to the embodiment of the present invention;
fig. 3 is a flow chart of data forwarding of the programmable hardware according to the embodiment of the present invention.
Detailed Description
The following detailed description of embodiments of the present invention is provided in connection with the accompanying drawings and examples. The following examples are intended to illustrate the invention but are not intended to limit the scope of the invention.
As shown in fig. 1, the virtual routing apparatus according to the present invention includes programmable hardware, such as an FPGA and a host; wherein,
the programmable hardware, such as an FPGA, is used to complete a packet forwarding function of a data plane; the data plane comprises the programmable hardware, such as a data packet forwarding control module in the FPGA, and a routing table, an ARP table and a port table which are stored in a register, and the data plane corresponds to the virtual machine units one by one; the data plane includes: a general data plane and a VLAN data plane;
the host is used for completing functions of a control plane and a management plane and comprises a host control unit and a plurality of virtual machine units; the control plane comprises a management configuration module in the host control unit, a routing protocol module and a data packet processing module in the virtual machine unit;
the host control unit is used for managing and controlling the data plane and the virtual machine unit and periodically updating a routing table and an ARP table in the data plane;
the virtual machine unit is used for realizing the functions of routing protocol processing and data packet processing, generating a routing table and an ARP table in real time and providing the routing table and the ARP table to the host control unit; the virtual machine unit comprises N virtual network cards, and the N virtual network cards are respectively bridged to N CPU queues of the programmable hardware through a network bridge. The bridge is established by a management configuration module. Wherein N is a natural number.
As shown in fig. 2, the method for performing virtual routing by using the virtual routing apparatus according to the present invention includes the following steps:
s1: the host control unit performs initialization configuration on programmable hardware such as FPGA through a PCI interface and generates a virtual machine unit corresponding to a data plane in the programmable hardware;
s2: the virtual machine unit processes the received data packet, and generates and updates a routing table and an ARP table in real time;
s3: the host control unit periodically updates a routing table and an ARP table generated in the virtual machine unit into a data plane through a timer;
s4: programmable hardware, such as an FPGA, forwards received packets.
In this step, the data forwarding flow of the programmable hardware is as shown in fig. 3, and the format of the data packet is first determined;
for the data packet in the VLAN format, firstly, the data packet is filtered through the VLAN tag, then the data packet matched with the VLAN tag is sent to a data plane corresponding to the tag, and the data packet not matched with the VLAN tag is discarded;
filtering according to the destination MAC address after the data packet enters the data plane; and for the data packet matched with the MAC address, searching a next hop IP address and a corresponding port from the routing table and the ARP table according to the destination IP address, if so, forwarding, otherwise, sending the data packet to a corresponding virtual machine unit through a CPU queue for processing.
The above embodiments are only for illustrating the invention and are not to be construed as limiting the invention, and those skilled in the art can make various changes and modifications without departing from the spirit and scope of the invention, therefore, all equivalent technical solutions also belong to the scope of the invention, and the scope of the invention is defined by the claims.

Claims (7)

1. A virtual routing apparatus comprising programmable hardware and a host; wherein,
the programmable hardware is used for completing a data packet forwarding function of a data plane;
the host is used for completing functions of a control plane and a management plane and comprises a host control unit and a plurality of virtual machine units;
the host control unit is used for managing and controlling the data plane and the virtual machine unit and periodically updating a routing table and an ARP table in the data plane;
the virtual machine unit is used for realizing the functions of routing protocol processing and data packet processing, generating a routing table and an ARP table in real time and providing the routing table and the ARP table to the host control unit.
2. The virtual routing apparatus of claim 1, wherein the data plane comprises a packet forwarding control module in the programmable hardware, and a routing table, an ARP table, and a port table stored in a register, and the data plane corresponds to the virtual machine units one to one.
3. The virtual routing apparatus of claim 1, wherein the control plane comprises a management configuration module in the host control unit and a routing protocol module and a packet processing module in the virtual machine unit.
4. The virtual routing device of claim 1, wherein the virtual machine unit comprises N virtual network cards that respectively bridge to N CPU queues of the programmable hardware.
5. The virtual routing apparatus of claim 1, wherein the programmable hardware is an FPGA.
6. A method for virtual routing using the virtual routing apparatus of any of claims 1-5, comprising the steps of:
s1: the host control unit carries out initialization configuration on the programmable hardware through a PCI interface and generates a virtual machine unit corresponding to a data plane in the programmable hardware;
s2: the virtual machine unit processes the received data packet, and generates and updates a routing table and an ARP table in real time;
s3: the host control unit periodically updates a routing table and an ARP table generated in the virtual machine unit into a data plane through a timer;
s4: the programmable hardware forwards the received data packet.
7. The virtual routing method according to claim 6, wherein the step S4 further includes determining a format of the packet;
for the data packet in the VLAN format, firstly, the data packet is filtered through the VLAN tag, then the data packet matched with the VLAN tag is sent to a data plane corresponding to the tag, and the data packet not matched with the VLAN tag is discarded;
filtering according to the destination MAC address after the data packet enters the data plane; and for the data packet matched with the MAC address, searching a next hop IP address and a corresponding port from the routing table and the ARP table according to the destination IP address, if so, forwarding, otherwise, sending the data packet to a corresponding virtual machine unit through a CPU queue for processing.
CN2011101853120A 2011-07-04 2011-07-04 Virtual routing device and routing method thereof Pending CN102231708A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101853120A CN102231708A (en) 2011-07-04 2011-07-04 Virtual routing device and routing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101853120A CN102231708A (en) 2011-07-04 2011-07-04 Virtual routing device and routing method thereof

Publications (1)

Publication Number Publication Date
CN102231708A true CN102231708A (en) 2011-11-02

Family

ID=44844246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101853120A Pending CN102231708A (en) 2011-07-04 2011-07-04 Virtual routing device and routing method thereof

Country Status (1)

Country Link
CN (1) CN102231708A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001883A (en) * 2012-12-17 2013-03-27 重庆邮电大学 Internal communication method of programmable virtual router based on Net field programmable gate array (FPGA)
CN103024028A (en) * 2012-12-07 2013-04-03 武汉邮电科学研究院 Virtual machine IP (Internet Protocol) address detection system and method in cloud computing
CN103259735A (en) * 2013-05-15 2013-08-21 重庆邮电大学 Communication method of programmable virtualized router based on NetFPGA
CN103309725A (en) * 2013-05-20 2013-09-18 深圳市京华科讯科技有限公司 Network virtualized processing method
CN103685041A (en) * 2012-09-04 2014-03-26 清华大学 Programmable router and routing method based on bit granularity
WO2015196761A1 (en) * 2014-06-27 2015-12-30 中兴通讯股份有限公司 Method and device for testing forwarding performance of cpu
CN105323161A (en) * 2015-12-09 2016-02-10 武汉烽火网络有限责任公司 Method and system for implementing virtualization router based on Windows platform
CN105407045A (en) * 2015-10-19 2016-03-16 国家电网公司 Router virtualization method based on safety isolation
CN106575427A (en) * 2014-08-12 2017-04-19 艾高特有限责任公司 A zero-knowledge environment based social networking engine
CN108632070A (en) * 2017-03-23 2018-10-09 华为技术有限公司 The configuration method and server of virtual network device
CN109861898A (en) * 2019-01-28 2019-06-07 伟乐视讯科技股份有限公司 A kind of method and its equipment for realizing data isolation based on FPGA
CN110798412A (en) * 2019-10-18 2020-02-14 北京浪潮数据技术有限公司 Multicast service processing method, device, cloud platform, equipment and readable storage medium
CN111092770A (en) * 2019-12-23 2020-05-01 联想(北京)有限公司 Virtual network management method and electronic equipment
CN112988330A (en) * 2021-03-24 2021-06-18 江苏天翼安全技术有限公司 Method and system for establishing virtual machine by designating ip address
US11399079B2 (en) 2018-02-14 2022-07-26 Eingot Llc Zero-knowledge environment based networking engine

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050063395A1 (en) * 2003-09-18 2005-03-24 Cisco Technology, Inc. Virtual network device
CN1728702A (en) * 2004-07-29 2006-02-01 国家数字交换系统工程技术研究中心 Method for separating control plane of router from hardware of data plane
CN1866845A (en) * 2006-05-08 2006-11-22 国家数字交换系统工程技术研究中心 Virtual identifying method for multicast forwarding table output port
CN101330390A (en) * 2008-03-12 2008-12-24 武汉理工大学 Slow route and rapid route based on multicore network processor as well as interface design method thereof
CN101594358A (en) * 2009-06-29 2009-12-02 北京航空航天大学 Three layer switching methods, device, system and host

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050063395A1 (en) * 2003-09-18 2005-03-24 Cisco Technology, Inc. Virtual network device
CN1728702A (en) * 2004-07-29 2006-02-01 国家数字交换系统工程技术研究中心 Method for separating control plane of router from hardware of data plane
CN1866845A (en) * 2006-05-08 2006-11-22 国家数字交换系统工程技术研究中心 Virtual identifying method for multicast forwarding table output port
CN101330390A (en) * 2008-03-12 2008-12-24 武汉理工大学 Slow route and rapid route based on multicore network processor as well as interface design method thereof
CN101594358A (en) * 2009-06-29 2009-12-02 北京航空航天大学 Three layer switching methods, device, system and host

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685041A (en) * 2012-09-04 2014-03-26 清华大学 Programmable router and routing method based on bit granularity
CN103685041B (en) * 2012-09-04 2017-04-19 清华大学 Programmable router and routing method based on bit granularity
CN103024028A (en) * 2012-12-07 2013-04-03 武汉邮电科学研究院 Virtual machine IP (Internet Protocol) address detection system and method in cloud computing
CN103024028B (en) * 2012-12-07 2015-05-13 武汉邮电科学研究院 Virtual machine IP (Internet Protocol) address detection system and method in cloud computing
CN103001883B (en) * 2012-12-17 2015-07-15 重庆邮电大学 Internal communication method of programmable virtual router based on Net field programmable gate array (FPGA)
CN103001883A (en) * 2012-12-17 2013-03-27 重庆邮电大学 Internal communication method of programmable virtual router based on Net field programmable gate array (FPGA)
CN103259735B (en) * 2013-05-15 2016-05-11 重庆邮电大学 A kind of communication means of the programmable virtual router based on NetFPGA
CN103259735A (en) * 2013-05-15 2013-08-21 重庆邮电大学 Communication method of programmable virtualized router based on NetFPGA
CN103309725A (en) * 2013-05-20 2013-09-18 深圳市京华科讯科技有限公司 Network virtualized processing method
WO2015196761A1 (en) * 2014-06-27 2015-12-30 中兴通讯股份有限公司 Method and device for testing forwarding performance of cpu
CN106575427A (en) * 2014-08-12 2017-04-19 艾高特有限责任公司 A zero-knowledge environment based social networking engine
US11128466B2 (en) 2014-08-12 2021-09-21 Eingot Llc Zero-knowledge environment based social networking engine
US12058266B2 (en) 2014-08-12 2024-08-06 Eingot Llc Zero-knowledge environment based social networking engine
US11637703B2 (en) 2014-08-12 2023-04-25 Eingot Llc Zero-knowledge environment based social networking engine
CN106575427B (en) * 2014-08-12 2020-12-08 艾高特有限责任公司 Social network engine based on zero-knowledge environment
US10693647B2 (en) 2014-08-12 2020-06-23 Eingot Llc Zero-knowledge environment based social networking engine
CN105407045A (en) * 2015-10-19 2016-03-16 国家电网公司 Router virtualization method based on safety isolation
CN105323161B (en) * 2015-12-09 2018-10-09 武汉烽火网络有限责任公司 The method and system of realization virtualization router based on windows platform
CN105323161A (en) * 2015-12-09 2016-02-10 武汉烽火网络有限责任公司 Method and system for implementing virtualization router based on Windows platform
CN108632070B (en) * 2017-03-23 2020-04-28 华为技术有限公司 Configuration method of virtual network equipment and server
CN108632070A (en) * 2017-03-23 2018-10-09 华为技术有限公司 The configuration method and server of virtual network device
US11399079B2 (en) 2018-02-14 2022-07-26 Eingot Llc Zero-knowledge environment based networking engine
CN109861898A (en) * 2019-01-28 2019-06-07 伟乐视讯科技股份有限公司 A kind of method and its equipment for realizing data isolation based on FPGA
CN110798412A (en) * 2019-10-18 2020-02-14 北京浪潮数据技术有限公司 Multicast service processing method, device, cloud platform, equipment and readable storage medium
CN111092770A (en) * 2019-12-23 2020-05-01 联想(北京)有限公司 Virtual network management method and electronic equipment
CN111092770B (en) * 2019-12-23 2021-09-14 联想(北京)有限公司 Virtual network management method and electronic equipment
CN112988330A (en) * 2021-03-24 2021-06-18 江苏天翼安全技术有限公司 Method and system for establishing virtual machine by designating ip address

Similar Documents

Publication Publication Date Title
CN102231708A (en) Virtual routing device and routing method thereof
US10999145B2 (en) Dynamic service device integration
EP3222012B1 (en) Method and system for virtualizing flow tables in a software-defined networking (sdn) system
US10341185B2 (en) Dynamic service insertion
EP2640013B1 (en) Method And Apparatus Providing Network Redundancy And High Availability To Remote Network Nodes
US9143444B2 (en) Virtual link aggregation extension (VLAG+) enabled in a TRILL-based fabric network
US8634415B2 (en) Method and system for routing network traffic for a blade server
US8531991B2 (en) Multi-chassis emulated switch
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
EP2997702B1 (en) Compressing singly linked lists sharing common nodes for multi-destination group expansion
CN107204867A (en) A kind of information transferring method, device and system
US20140098823A1 (en) Ensuring Any-To-Any Reachability with Opportunistic Layer 3 Forwarding in Massive Scale Data Center Environments
EP2959647A1 (en) Method and system for flow table lookup parallelization in a software defined networking (sdn) system
US11133947B2 (en) Multicast routing
CN104125128A (en) Method for supporting VLAN (virtual local area network) by aid of Linux soft bridge
WO2014044093A1 (en) Disjoint multi-paths with service guarantee extension
US9553764B2 (en) Migration of guest bridge
EP3018866A1 (en) Signaling aliasing capability in data centers
CN103986660B (en) The device of loading micro code and the method for loading micro code
WO2013107056A1 (en) Message forwarding method and device
US9729391B2 (en) Method and apparatus for path indication
CN106506378B (en) The update method and device of mac address table
WO2013140507A1 (en) Network integration device, network integration method, and network integration system
IX 13th USENIX Symposium on Networked Systems Design and Implementation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111102