WO2015110054A1 - Generating virtual network device - Google Patents

Generating virtual network device Download PDF

Info

Publication number
WO2015110054A1
WO2015110054A1 PCT/CN2015/071394 CN2015071394W WO2015110054A1 WO 2015110054 A1 WO2015110054 A1 WO 2015110054A1 CN 2015071394 W CN2015071394 W CN 2015071394W WO 2015110054 A1 WO2015110054 A1 WO 2015110054A1
Authority
WO
WIPO (PCT)
Prior art keywords
hardware resource
plane
hardware
computing
access
Prior art date
Application number
PCT/CN2015/071394
Other languages
French (fr)
Inventor
Lizhong Wang
Pengliang KONG
Zhigang Fu
Jinglin Li
Original Assignee
Hangzhou H3C Technologies Co., Ltd.
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 Hangzhou H3C Technologies Co., Ltd. filed Critical Hangzhou H3C Technologies Co., Ltd.
Publication of WO2015110054A1 publication Critical patent/WO2015110054A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/287Remote access server, e.g. BRAS

Definitions

  • routers may act as interconnection devices at the network layer.
  • the routers may establish flexible connections with various sub-networks.
  • the routers may connect with the various sub-networks by using different data grouping methods and different medium access methods, and receive information from source stations or from another router.
  • FIG. 1 is a flowchart illustrating a method for generating a virtual network device according to an example of the present disclosure
  • FIG. 2 is a flowchart illustrating a method for generating a routing device according to an example of the present disclosure
  • FIG. 3 is a schematic diagram illustrating a process of generating a routing device according to an example of the present disclosure
  • FIG. 4 is a schematic diagram illustrating a structure of a routing device according to an example of the present disclosure
  • FIG. 5A is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure
  • FIG. 5B is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure
  • FIG. 6 is a schematic diagram illustrating a hardware structure of an apparatus for generating a virtual network device according to an example of the present disclosure.
  • a better exchanging chip or a better forwarding chip may be used to improve capability and performance of a single routing device.
  • the capability and performance of the routing device is limited by capability and performance of a chip.
  • the capability and the performance of the single routing device may be improved through custom development.
  • input costs of developing a custom FPGA/ASIC are huge, and development progress is slow.
  • capability of processing a service on any layer of layers 4-7 may not be as good as desired.
  • the available hardware resources are connected with each other through an exchanging plane. Based on a requirement, a hardware resource is allocated to each function plane of a virtual network device, and corresponding function software is loaded to the function plane.
  • performance of the generated virtual network device is not limited by capability and performance of a chip.
  • FIG. 1 is a flowchart illustrating a method for generating a virtual network device according to an example of the present disclosure. The method includes procedures as follows.
  • hardware resource information of hardware resources is collected, wherein a plurality of the hardware resources are connected with each other through an exchanging plane to generate a hardware resource pool.
  • registration software is loaded to a plurality of the hardware resources.
  • a registration packet carrying the hardware resource information is transmitted through the registration software to report the hardware resource information.
  • the hardware resources include computing hardware resources and I/O hardware resources.
  • a computing hardware resource may be a universal server or a dedicated Central Processing Unit (CPU) .
  • the hardware resource information of each computer hardware resource comprises an identifier, a Media Access Control (MAC) address, and computing performance of the computer hardware resource.
  • An I/O hardware resource may be a line card or a pizza box having a dedicated I/O interface.
  • the hardware resource information of each I/O hardware resource comprises an identifier, a MAC address, bandwidth access capacity of the I/O hardware resource.
  • the hardware resources in the hardware resource pool are connected with each other through a standard layer two (L2) Ethernet link.
  • L2 layer two
  • a control plane is allocated with a hardware resource from the hardware resource pool
  • a service plane is allocated with a hardware resource from the hardware resource pool
  • an access plane is allocated with a hardware resource from the hardware resource pool.
  • a control plane is allocated with a hardware resource from the hardware resource pool
  • a service plane is allocated with a hardware resource from the hardware resource pool
  • an access plane is allocated with a hardware resource from the hardware resource pool.
  • the requirement may include a computing performance requirement for the control plane of the virtual network device.
  • the control plane is allocated with the hardware resource from the hardware resource pool, according to a computing performance requirement of the control plane and computing performance of each computing hardware resource in the hardware resource pool, a computing hardware resource is selected for the control plane from the hardware resource pool, and is allocated for the control plane.
  • the requirement may include a computing performance requirement for the service plane of the virtual network device.
  • the service plane is allocated with the hardware resource from the hardware resource pool, according to a computing performance requirement of the service plane and computing performance of each computing hardware resource in the hardware resource pool, a computer hardware resource is selected for the control plane from the hardware resource pool, and is allocated for the service plane.
  • the requirement may include the number of I/O interfaces of the access plane of the virtual network device and a bandwidth access performance requirement of each I/O interface.
  • the access plane is allocated with the hardware resource from the hardware resource pool, according to the number of the I/O interfaces of the access plane and the bandwidth access performance requirement of each I/O interface, a I/O hardware resource is selected for the access plane from the hardware resource pool, and is allocated for the access plane.
  • control plane software is loaded to the hardware resource of the control plane
  • service plane software is loaded to the hardware resource of the service plane
  • access plane software is loaded to the hardware resource of the access plane to generate the virtual network device.
  • the control plane software is loaded to the hardware resource of the control plane so that the hardware resource of the control plane can implement functions of the control plane.
  • the service plane software is loaded to the hardware resource of the service plane so that the hardware resource of the service plane can implement functions of the service plane.
  • the access plane software is loaded to the hardware resource of the access plane so that the hardware resource of the access plane can implement functions of the access plane.
  • Various virtual network devices may be generated according to the example of the present disclosure, e. g. , a router system, a BRAS server, a firewall service etc.
  • a routing device is taken as an example as follows to illustrate a process of generating a virtual network device.
  • a management plane may control a process of generating the router device.
  • the management plane may be a computing device or a virtual computing device of generating and managing a virtual device.
  • the management plane may be a hardware function module of generating and managing a virtual device in a computing device or a virtual computing device.
  • Computing hardware resources of the management plane may be included in a computing resource pool, or may not be included in the computing resource pool.
  • computing hardware resources are pre-dedicated for the management platform.
  • Corresponding software is loaded to the dedicated computing hardware resources of the management platform so that the dedicated computing hardware resources can perform functions of the management platform.
  • FIG. 2 is a flowchart illustrating a method for generating a routing device according to an example of the present disclosure. The method includes procedures as follows.
  • a management platform loads registration software to a plurality of hardware resources.
  • the management platform uses a script pushing method to load registration software to a plurality of hardware the resources.
  • a server of loading software is started, and is instructed to push a script to a plurality of the hardware resources to load the registration software.
  • the management platform can also use another method for loading the registration software.
  • the management platform notifies storage location information of the registration software to a plurality of the hardware resources. According to the storage location information, the hardware resources directly obtain the registration software from a corresponding storage location.
  • initial configuration information is configured for each hardware resource so that when the hardware resource is started, the hardware resource can perform an automatic registration function, which is not limited in the example of the present disclosure.
  • a hardware resource pool 301 includes I/O hardware resources represented by squares (e.g., line cards) and computing hardware resources represented by circles (e.g., universal servers) .
  • Hardware resources that may be allocated for the routing device are connected with each other via an exchanging plane.
  • the exchanging plane includes exchanging resources.
  • a plurality of the exchanging resources may be connected with each other through a stacking technology or another technology to implement an exchanging network.
  • a plurality of the exchanging resources are connected through a two-layer Ethernet standard link to provide a packet transmission channel among a control plane, a service plane and an access plane.
  • the exchanging resources may be universal exchanging devices, e.g., Ethernet exchanges.
  • the hardware resource information includes an ID, a MAC address and computing performance of the universal server.
  • the hardware resource information includes an ID, a MAC address and bandwidth access capability of the line card.
  • a new hardware resource may be added.
  • the management platform may load the registration software to the newly-added hardware resource so that when the newly-added hardware resource is started, a registration packet is transmitted to the management platform to perform registration.
  • the newly-added hardware resource is added into the hardware resource pool and is managed by the management platform.
  • the management platform receives the registration packet transmitted from the hardware resource, obtains the hardware resource information carried in the registration packet, and stores the hardware resource information.
  • the management platform selects a computing hardware resource from the hardware resource pool, and allocates the computing hardware resource for the control plane; according to a computing performance requirement for the service plane of the routing device, the management platform selects a computing hardware resource from the hardware resource pool, and allocates the computing hardware resource for the service plane; according to the number of I/O interfaces and a bandwidth access capability requirement for the access plane of the routing device, the management platform selects a I/O hardware resource from the hardware resource pool, and allocates the I/O hardware resource for the access plane.
  • the computing hardware resources in a computing resource pool have same computing performance of 100 million times/s
  • the computing performance requirement for the control plane of the routing device is 200 million times/s
  • a computing performance requirement for the service plane of the routing device is 800 million times/s.
  • the management platform allocates two computing hardware resources for the control plane, and allocates eight computing hardware resources for the service plane.
  • the hardware resource pool includes I/O hardware resources having a bandwidth access capability of 50M and I/O hardware resources having a bandwidth access capability of 100M; the access plane of the routing device uses four I/O interfaces, and the bandwidth access capabilities of the four I/O interfaces are respectively 30M, 50M, 80M and 100M.
  • the management platform may allocate for the access plane two I/O hardware resources having the bandwidth access capability 50M and two I/O hardware resources having the bandwidth access capability 100M.
  • the management platform loads control plane software to the computing hardware resource of the control plane, loads service plane software to the computing hardware resource of the service plane, and loads access plane software to the I/O hardware resource of the access plane.
  • the control plane software may include software related with a protocol, e.g., software related with a routing protocol.
  • the service plane software may include software of processing a flow, e.g., software of processing a packet of a flow or software of forwarding a packet of a flow.
  • the access plane software may include software of transmitting a packet to the control plane or the service plane, e.g., flow classification software, or load balance software.
  • a method for pushing a script may be used to load the control plane software, the service plane software and the access plane software to corresponding hardware resources. Furthermore, information, such as routing device information and the initial configuration information may be loaded.
  • control plane is taken as a main control unit for managing and controlling a plurality of hardware resources of the routing device.
  • the management platform After allocating the hardware resources for each plane, the management platform establishes a relationship among the hardware resource of the control plane, the hardware resource of the service plane and the hardware resource of the access plane, and loads the relationship to the hardware resource of the control plane.
  • the control plane obtains information of the computing hardware resource of the service plane and the information of the I/O hardware resource of the access plane.
  • the management platform When loading the service plane software to the hardware resource of the service plane and loading the access plane software to the hardware resource of the access plane, the management platform further loads control plane information (e.g., information of a hardware resource as the main control unit in the control plane) . According to the loaded control plane information, the hardware resource of the service plane and the hardware resource of the access plane register to the control plane. Thus, the control plane obtains information of the computing hardware resource of the service plane and the information of the I/O hardware resource of the access plane.
  • control plane information e.g., information of a hardware resource as the main control unit in the control plane
  • the control plane loads a forwarding list to the computing hardware resource of the service plane.
  • the control plane loads a default flow classification strategy to the I/O hardware resource of the service plane.
  • the virtual network device can perform functions of the routing device.
  • a hardware resource may be added into the routing device, or may be deleted from the routing device.
  • the management plane selects a new computing hardware resource from the computing resource pool, and allocates the new computing hardware resource to the service plane.
  • the newly-added computing hardware resource may process a part of the computing load.
  • the computing load may be concentrated to a part of computing hardware resources of the service plane, and other part of the computing hardware resources may be re-added into the computing resource pool.
  • a hardware resource is selected from the hardware resource pool, and is added to the service plane.
  • the computing load is processed in a part of hardware resources of the service plane, and the other part of the hardware resource of the service plane is released to be re-added into the hardware resource pool.
  • the management plane may load software of reporting a working status to each hardware resource in the computing resource pool. Each hardware resource periodically reports working status information. Thus, the management plane can obtain the working status of the hardware resource. When a hardware resource is in a breakdown status, the management platform can allocate a hardware working in a normal status to the virtual network device.
  • the management plane may allocate a hardware resource to each plane, which is not limited by a chip capacity or chip performance.
  • hardware resources may be deleted from the virtual network device, or a new hardware resource may be added into virtual network device.
  • performance of the virtual network device can be smoothly expanded, a large number of high-capacity ports can be used in the virtual network device, and the virtual network device can be implemented regardless of service processing depth.
  • FIG. 4 is a schematic diagram illustrating a structure of a routing device according to an example of the present disclosure.
  • the routing device includes a control plane, a service plane and an access plane.
  • the control plane calculates a route, and loads a list.
  • the service plane processes a packet of a flow, and forwards the packet according to the loaded list.
  • the access plane receives the packet of the flow from an I/O interface, transmits the received packet to the service plane through an exchanging plane to be processed.
  • a process of forwarding a packet includes procedures as follows.
  • an access plane 404 When receiving a packet of a flow from an I/O interface of the access plane, an access plane 404 transmits the packet to a designated hardware resource in a service plane 402 via an exchanging plane 403 according to a flow classification strategy.
  • the designated hardware resource determines that the packet is a first packet of the flow, the packet is transmitted to the control plane 401 to perform an operation, such as a flow classification strategy adjustment operation, a loading operation.
  • a I/O output interface of the packet is determined according to a forwarding list loaded by the control plane 401, the packet is transmitted to the access plane 404 via the exchanging plane 403, and is transmitted from the I/O output interface of the access plane 404.
  • the designated hardware resource in the service plane is a computing hardware resource allocated for the service plane according to the method above, which is not described repeatedly herein.
  • the I/O interface and the I/O output interface in the access plane are I/O hardware resources allocated for the access plane according to the method above, which is not described repeatedly herein.
  • An apparatus for generating a virtual network device is provided according to an example of the present disclosure.
  • the apparatus perform the functions that a management platform collects hardware resources, allocates a hardware resource to a control plane, a hardware resource to a service plane and a hardware resource to an access, and loads corresponding software to each plane so as to generating the virtual network device.
  • FIG. 5A is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure.
  • the apparatus includes a resource collecting module 501, a resource allocation module 502 and a software management module 503.
  • the modules may be implemented by hardware.
  • the hardware may include hardware logic circuitry such as an application specific integrated chip (ASIC) or field programmable gate array (FPGA) or a general purpose processor such as a central processing unit (CPU) for executing instructions.
  • ASIC application specific integrated chip
  • FPGA field programmable gate array
  • CPU central processing unit
  • the resource collecting module 501 is to collect hardware resource information reported from hardware resources, generate a hardware resource pool according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane
  • the resource allocation module 502 is to according to the hardware resource information, allocate a hardware resource for a control plane, a hardware resource for a service plane, a hardware resource for an access plane from the hardware resource pool.
  • the software management module 503 is to load control plane software to the hardware resource of the control plane, load service plane software to the hardware resource of the service plane, load access plane software to the hardware resource of the access plane to generate the virtual network device.
  • the software management module 503 is further to load registration software to the hardware resources before collecting the hardware resource information reported by the hardware resources;
  • the resource collecting module 501 is to receive a registration packet transmitted through the registration software when each of the hardware resources is started, obtain the hardware resource information carried in the registration packet, and store the hardware resource information.
  • the hardware resource pool includes computing hardware resources and I/O hardware resources.
  • the hardware resource information of each of the computing hardware resources includes an identifier, a Media Access Control (MAC) address, and computing performance of the computing hardware resource.
  • MAC Media Access Control
  • the hardware resource information of each of the I/O hardware resources includes an identifier, a MAC address, and bandwidth access capability of the I/O hardware resource.
  • the resource allocation module 502 is to according to a computing performance requirement of the control plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the control plane from the hardware resource pool, and allocating the computing hardware resource for the control plane; according to a computing performance requirement of the service plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the service plane from the hardware resource pool, and allocating the computing hardware resource for the service plane; according to the number of I/O interfaces and a bandwidth access capability requirement of each of the I/O interfaces, selecting a I/O hardware resource for the access plane from the hardware resource pool, and allocating the I/O hardware resource for the access plane.
  • the computing hardware resources include universal servers or CPUs
  • the I/O hardware resources comprise line cards with a designed I/O interface or pizza boxes.
  • the hardware resources in the hardware resource pool are connected with each other through a standard L2 Ethernet link.
  • the resource allocation module 502 is further to when a value of computing load of the virtual network device is more than a first threshold, select a hardware resource from the hardware resource pool, add the hardware resource to the service plane; when the value of the computing load of the virtual network device is less than a second threshold, process the computing load in a part of the hardware resource of the service plane, release the other part of the hardware resource of the service plane to be re-added into the hardware resource pool.
  • FIG. 5B is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure.
  • the apparatus includes a resource collecting module 701, a resource allocation module 702, a software management module 703 and a packet processing module 704.
  • the resource collecting module 701, the resource allocation module 702 and the software management module 703 respectively have same functions with a resource collecting module 501, a resource allocation module 502 and a software management module 503 in FIG. 5A, which are not described repeatedly herein.
  • the modules may be implemented by hardware.
  • the hardware may include hardware logic circuitry such as an application specific integrated chip (ASIC) or field programmable gate array (FPGA) or a general purpose processor such as a central processing unit (CPU) for executing instructions.
  • ASIC application specific integrated chip
  • FPGA field programmable gate array
  • CPU central processing unit
  • the packet processing module is to when the access plane receives a packet of a flow from a I/O interface of the access plane, transmitting the packet to a designated hardware resource in the service plane via the exchanging plane according to a flow classification strategy; when the designated hardware resource determines that the packet is a first packet of the flow, transmitting the packet to the control plane; when the designated hardware resource determines that the packet is not the first packet of the flow, determining a I/O output interface of the packet according to a forwarding list loaded by the control plane, transmitting the packet to the access plane via the exchanging plane, and transmitting the packet from the I/O output interface of the access plane.
  • FIG. 6 is a schematic diagram illustrating a hardware structure of an apparatus for generating a virtual network device according to an example of the present disclosure.
  • the apparatus 600 includes a non-transitory machine readable storage medium 601, a processor 602, and another non-transitory machine readable storage medium, e.g., a memory 603.
  • the processor 602 may execute machine readable instructions stored in the memory 603.
  • the apparatus may include another hardware 604.
  • the non-transitory machine readable storage medium 601 is to store data including hardware resource information, software version information, e.g., registration software, control plane software, service plane software and access plane software.
  • software version information e.g., registration software, control plane software, service plane software and access plane software.
  • the memory 603 is to store instructions. When a resource collecting instruction 6031, a resource allocation instruction 6032 and a software management instruction 6033 are executed, functions of a resource collecting module, a resource allocation module and a software management module as illustrated in FIG. 5A or FIG. 5B are performed, which is not described repeatedly herein.
  • the processing 602 is to communicate with the memory 603 to transmit and receive information, which includes collecting hardware resource information, loading software to hardware resources, reading the instructions stored in the memory 603 and executing the instructions.
  • the processing 602 is further to communicate with the non-transitory machine readable storage medium 601 to read or write the data stored in the non-transitory machine readable storage medium 601 that includes the hardware resource information, the software version information, e. g. , the registration software, the control plane software, the service plane software and the access plane software.
  • the resource collecting instruction 6031 is to collect hardware resource information reported from hardware resources, generate a hardware resource pool according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane.
  • the resource allocation instruction 6032 is to according to the hardware resource information, allocate a hardware resource for a control plane, a hardware resource for a service plane, a hardware resource for an access plane from the hardware resource pool.
  • the software management instruction 6033 is to load control plane software to the hardware resource of the control plane, load service plane software to the hardware resource of the service plane, load access plane software to the hardware resource of the access plane to generate the virtual network device.
  • the software management instruction 6033 is further to receive registration software information read from the non-transitory machine readable storage medium 601, and load registration software to the hardware resources.
  • the above examples can be implemented by hardware, software or firmware or a combination thereof.
  • the various methods, processes and functional modules described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc. ) .
  • the processes, methods and functional modules may all be performed by a single processor or split between several processers; reference in this disclosure or the claims to a ‘processor’ should thus be interpreted to mean ‘one or more processors’ .
  • the processes, methods and functional modules can be implemented as machine readable instructions executable by one or more processors, hardware logic circuitry of the one or more processors or a combination thereof. Further the teachings herein may be implemented in the form of a software product.
  • the computer software product is stored in a storage medium and comprises a plurality of instructions for making a computer device (which can be a personal computer, a server or a network device such as a router, switch, access point etc. ) implement the method recited in the examples of the present disclosure.
  • a computer device which can be a personal computer, a server or a network device such as a router, switch, access point etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Hardware resource information reported from hardware resources is collected. A hardware resource pool is generated according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane. According to the hardware resource information, a hardware resource is allocated for a control plane, a hardware resource is allocated for a service plane, a hardware resource is allocated for an access plane from the hardware resource pool. Control plane software is loaded to the hardware resource of the control plane Service plane software is loaded to the hardware resource of the service plane. Access plane software is loaded to the hardware resource of the access plane to generate the virtual network device.

Description

GENERATING VIRTUAL NETWORK DEVICE BACKGROUND
There are various types of network device that may be located in a network, e.g., routers, broadband remote access servers (BRAS) , firewalls etc. In the network, the routers may act as interconnection devices at the network layer. In an environment in which multiple networks are connected with each other, the routers may establish flexible connections with various sub-networks. In particular, the routers may connect with the various sub-networks by using different data grouping methods and different medium access methods, and receive information from source stations or from another router.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flowchart illustrating a method for generating a virtual network device according to an example of the present disclosure;
FIG. 2 is a flowchart illustrating a method for generating a routing device according to an example of the present disclosure;
FIG. 3 is a schematic diagram illustrating a process of generating a routing device according to an example of the present disclosure;
FIG. 4 is a schematic diagram illustrating a structure of a routing device according to an example of the present disclosure;
FIG. 5A is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure;
FIG. 5B is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure;
FIG. 6 is a schematic diagram illustrating a hardware structure of an apparatus for generating a virtual network device according to an example of the present disclosure.
DETAILED DESCRIPTION
At present, internet network traffics are rapidly growing, and new applications keep mounting. Thus, network devices with high capacity and expansibility are in demand.
For a routing device, a better exchanging chip or a better forwarding chip may be used to improve capability and performance of a single routing device. Thus, the capability and performance of the routing device is limited by capability and performance of a chip. Alternatively, the capability and the performance of the single routing device may be improved through custom development. However, input costs of developing a custom FPGA/ASIC are huge, and development progress is slow. Furthermore, for a service engine based on a custom ASIC/FPGA/NP, capability of processing a service on any layer of layers 4-7 may not be as good as desired.
In disclosure an example of the present disclosure, the available hardware resources are connected with each other through an exchanging plane. Based on a requirement, a hardware resource is allocated to each function plane of a virtual network device, and corresponding function software is loaded to the function plane. Thus, performance of the generated virtual network device is not limited by capability and performance of a chip.
FIG. 1 is a flowchart illustrating a method for generating a virtual network device according to an example of the present disclosure. The method includes procedures as follows.
At block 101, hardware resource information of hardware resources is collected, wherein a plurality of the hardware resources are connected with each other through an exchanging plane to generate a hardware resource pool.
In an example, before the hardware resource information is collected, registration software is loaded to a plurality of the hardware resources. When each hardware resource is started, a registration packet carrying the hardware resource information is transmitted through the registration software to report the hardware resource information.
In another example, the hardware resources include computing hardware resources and I/O hardware resources. A computing hardware resource may be a universal  server or a dedicated Central Processing Unit (CPU) . The hardware resource information of each computer hardware resource comprises an identifier, a Media Access Control (MAC) address, and computing performance of the computer hardware resource. An I/O hardware resource may be a line card or a pizza box having a dedicated I/O interface. The hardware resource information of each I/O hardware resource comprises an identifier, a MAC address, bandwidth access capacity of the I/O hardware resource.
In another example, the hardware resources in the hardware resource pool are connected with each other through a standard layer two (L2) Ethernet link. Thus, information interaction among the hardware resources cannot be limited by internal private protocols of hardware resource manufacturers.
At block 102, according to the hardware resource information, a control plane is allocated with a hardware resource from the hardware resource pool, a service plane is allocated with a hardware resource from the hardware resource pool, and an access plane is allocated with a hardware resource from the hardware resource pool.
In an example, according to a requirement and the hardware resource information, a control plane is allocated with a hardware resource from the hardware resource pool, a service plane is allocated with a hardware resource from the hardware resource pool, and an access plane is allocated with a hardware resource from the hardware resource pool.
In an example, the requirement may include a computing performance requirement for the control plane of the virtual network device. When the control plane is allocated with the hardware resource from the hardware resource pool, according to a computing performance requirement of the control plane and computing performance of each computing hardware resource in the hardware resource pool, a computing hardware resource is selected for the control plane from the hardware resource pool, and is allocated for the control plane.
In an example, the requirement may include a computing performance requirement for the service plane of the virtual network device. When the service plane is allocated with the hardware resource from the hardware resource pool, according to a computing performance requirement of the service plane and computing performance of each  computing hardware resource in the hardware resource pool, a computer hardware resource is selected for the control plane from the hardware resource pool, and is allocated for the service plane.
In another example, the requirement may include the number of I/O interfaces of the access plane of the virtual network device and a bandwidth access performance requirement of each I/O interface. When the access plane is allocated with the hardware resource from the hardware resource pool, according to the number of the I/O interfaces of the access plane and the bandwidth access performance requirement of each I/O interface, a I/O hardware resource is selected for the access plane from the hardware resource pool, and is allocated for the access plane.
At block 103, control plane software is loaded to the hardware resource of the control plane, service plane software is loaded to the hardware resource of the service plane, and access plane software is loaded to the hardware resource of the access plane to generate the virtual network device. Thus, packets can be transmitted or received among the control plane, the service plane and the access plane via the exchanging plane to generate the virtual network device.
The control plane software is loaded to the hardware resource of the control plane so that the hardware resource of the control plane can implement functions of the control plane. The service plane software is loaded to the hardware resource of the service plane so that the hardware resource of the service plane can implement functions of the service plane. The access plane software is loaded to the hardware resource of the access plane so that the hardware resource of the access plane can implement functions of the access plane.
Various virtual network devices may be generated according to the example of the present disclosure, e. g. , a router system, a BRAS server, a firewall service etc. A routing device is taken as an example as follows to illustrate a process of generating a virtual network device.
A management plane may control a process of generating the router device. In an example, the management plane may be a computing device or a virtual computing device of generating and managing a virtual device. In another example, the management plane may be  a hardware function module of generating and managing a virtual device in a computing device or a virtual computing device.
Computing hardware resources of the management plane may be included in a computing resource pool, or may not be included in the computing resource pool. For example, computing hardware resources are pre-dedicated for the management platform. Corresponding software is loaded to the dedicated computing hardware resources of the management platform so that the dedicated computing hardware resources can perform functions of the management platform.
FIG. 2 is a flowchart illustrating a method for generating a routing device according to an example of the present disclosure. The method includes procedures as follows.
At block 201, a management platform loads registration software to a plurality of hardware resources.
For example, the management platform uses a script pushing method to load registration software to a plurality of hardware the resources. For example, in the management platform, a server of loading software is started, and is instructed to push a script to a plurality of the hardware resources to load the registration software. The management platform can also use another method for loading the registration software. For another example, the management platform notifies storage location information of the registration software to a plurality of the hardware resources. According to the storage location information, the hardware resources directly obtain the registration software from a corresponding storage location. For another example, through a manual configuration, initial configuration information is configured for each hardware resource so that when the hardware resource is started, the hardware resource can perform an automatic registration function, which is not limited in the example of the present disclosure.
An examples of hardware resources that may be allocated for the routing device are illustrated in FIG. 3. A hardware resource pool 301 includes I/O hardware resources represented by squares (e.g., line cards) and computing hardware resources represented by circles (e.g., universal servers) .
Hardware resources that may be allocated for the routing device are connected with each other via an exchanging plane. In an example, the exchanging plane includes exchanging resources. A plurality of the exchanging resources may be connected with each other through a stacking technology or another technology to implement an exchanging network. In the exchanging network, a plurality of the exchanging resources are connected through a two-layer Ethernet standard link to provide a packet transmission channel among a control plane, a service plane and an access plane. The exchanging resources may be universal exchanging devices, e.g., Ethernet exchanges.
At block 202, when each hardware resource is started, a registration packet carrying hardware resource information of the hardware resource is broadcasted through the loaded registration software.
In the registration packet transmitted from a universal server, the hardware resource information includes an ID, a MAC address and computing performance of the universal server. In the registration packet transmitted from a line card, the hardware resource information includes an ID, a MAC address and bandwidth access capability of the line card.
In a practical application, according to a requirement, a new hardware resource may be added. The management platform may load the registration software to the newly-added hardware resource so that when the newly-added hardware resource is started, a registration packet is transmitted to the management platform to perform registration. Thus, the newly-added hardware resource is added into the hardware resource pool and is managed by the management platform.
At block 203, the management platform receives the registration packet transmitted from the hardware resource, obtains the hardware resource information carried in the registration packet, and stores the hardware resource information.
At block 204, according to a computing performance requirement for the control plane of the routing device, the management platform selects a computing hardware resource from the hardware resource pool, and allocates the computing hardware resource for the control plane; according to a computing performance requirement for the service plane of the routing device, the management platform selects a computing hardware resource from the  hardware resource pool, and allocates the computing hardware resource for the service plane; according to the number of I/O interfaces and a bandwidth access capability requirement for the access plane of the routing device, the management platform selects a I/O hardware resource from the hardware resource pool, and allocates the I/O hardware resource for the access plane.
In one example, the computing hardware resources in a computing resource pool have same computing performance of 100 million times/s, the computing performance requirement for the control plane of the routing device is 200 million times/s, a computing performance requirement for the service plane of the routing device is 800 million times/s. In this case the management platform allocates two computing hardware resources for the control plane, and allocates eight computing hardware resources for the service plane.
In one example, the hardware resource pool includes I/O hardware resources having a bandwidth access capability of 50M and I/O hardware resources having a bandwidth access capability of 100M; the access plane of the routing device uses four I/O interfaces, and the bandwidth access capabilities of the four I/O interfaces are respectively 30M, 50M, 80M and 100M. The management platform may allocate for the access plane two I/O hardware resources having the bandwidth access capability 50M and two I/O hardware resources having the bandwidth access capability 100M.
At block 205, the management platform loads control plane software to the computing hardware resource of the control plane, loads service plane software to the computing hardware resource of the service plane, and loads access plane software to the I/O hardware resource of the access plane.
The control plane software may include software related with a protocol, e.g., software related with a routing protocol.
The service plane software may include software of processing a flow, e.g., software of processing a packet of a flow or software of forwarding a packet of a flow.
The access plane software may include software of transmitting a packet to the control plane or the service plane, e.g., flow classification software, or load balance software.
In an example, a method for pushing a script may be used to load the control plane software, the service plane software and the access plane software to corresponding hardware resources. Furthermore, information, such as routing device information and the initial configuration information may be loaded.
In the routing device, the control plane is taken as a main control unit for managing and controlling a plurality of hardware resources of the routing device. There are two ways for the control plane to obtain information of a plurality of the hardware resources of the routing device.
(1) After allocating the hardware resources for each plane, the management platform establishes a relationship among the hardware resource of the control plane, the hardware resource of the service plane and the hardware resource of the access plane, and loads the relationship to the hardware resource of the control plane. Thus, the control plane obtains information of the computing hardware resource of the service plane and the information of the I/O hardware resource of the access plane.
(2) When loading the service plane software to the hardware resource of the service plane and loading the access plane software to the hardware resource of the access plane, the management platform further loads control plane information (e.g., information of a hardware resource as the main control unit in the control plane) . According to the loaded control plane information, the hardware resource of the service plane and the hardware resource of the access plane register to the control plane. Thus, the control plane obtains information of the computing hardware resource of the service plane and the information of the I/O hardware resource of the access plane.
According the obtained information of the computing hardware resource of the service plane, the control plane loads a forwarding list to the computing hardware resource of the service plane. According the obtained information of the I/O hardware resource of the service plane, the control plane loads a default flow classification strategy to the I/O hardware resource of the service plane.
So far, a process of generating the virtual network device 302 finishes. The virtual network device can perform functions of the routing device.
According to a condition of using the generated routing device, a hardware resource may be added into the routing device, or may be deleted from the routing device. For example, when computing load of the routing device is heavy, the management plane selects a new computing hardware resource from the computing resource pool, and allocates the new computing hardware resource to the service plane. The newly-added computing hardware resource may process a part of the computing load. When the routing device is in an idle condition, the computing load may be concentrated to a part of computing hardware resources of the service plane, and other part of the computing hardware resources may be re-added into the computing resource pool.
For example, when a value of computing load of the virtual network device is more than a first threshold, a hardware resource is selected from the hardware resource pool, and is added to the service plane. When the value of the computing load of the virtual network device is less than a second threshold, the computing load is processed in a part of hardware resources of the service plane, and the other part of the hardware resource of the service plane is released to be re-added into the hardware resource pool.
In addition, the management plane may load software of reporting a working status to each hardware resource in the computing resource pool. Each hardware resource periodically reports working status information. Thus, the management plane can obtain the working status of the hardware resource. When a hardware resource is in a breakdown status, the management platform can allocate a hardware working in a normal status to the virtual network device.
In the example, according to a requirement, the management plane may allocate a hardware resource to each plane, which is not limited by a chip capacity or chip performance. Furthermore, after the virtual network device is generated, according to a practical running condition, hardware resources may be deleted from the virtual network device, or a new hardware resource may be added into virtual network device. Thus, performance of the virtual network device can be smoothly expanded, a large number of high-capacity ports can be used in the virtual network device, and the virtual network device can be implemented regardless of service processing depth.
FIG. 4 is a schematic diagram illustrating a structure of a routing device according to an example of the present disclosure. As shown in FIG. 4, the routing device includes a control plane, a service plane and an access plane. The control plane calculates a route, and loads a list. The service plane processes a packet of a flow, and forwards the packet according to the loaded list. The access plane receives the packet of the flow from an I/O interface, transmits the received packet to the service plane through an exchanging plane to be processed.
In FIG. 4, a process of forwarding a packet includes procedures as follows.
When receiving a packet of a flow from an I/O interface of the access plane, an access plane 404 transmits the packet to a designated hardware resource in a service plane 402 via an exchanging plane 403 according to a flow classification strategy. When the designated hardware resource determines that the packet is a first packet of the flow, the packet is transmitted to the control plane 401 to perform an operation, such as a flow classification strategy adjustment operation, a loading operation. When the designated hardware resource determines that the packet is not the first packet of the flow, a I/O output interface of the packet is determined according to a forwarding list loaded by the control plane 401, the packet is transmitted to the access plane 404 via the exchanging plane 403, and is transmitted from the I/O output interface of the access plane 404. The designated hardware resource in the service plane is a computing hardware resource allocated for the service plane according to the method above, which is not described repeatedly herein. The I/O interface and the I/O output interface in the access plane are I/O hardware resources allocated for the access plane according to the method above, which is not described repeatedly herein.
An apparatus for generating a virtual network device is provided according to an example of the present disclosure. The apparatus perform the functions that a management platform collects hardware resources, allocates a hardware resource to a control plane, a hardware resource to a service plane and a hardware resource to an access, and loads corresponding software to each plane so as to generating the virtual network device.
FIG. 5A is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure. The apparatus includes a resource collecting module 501, a resource allocation module 502 and a  software management module 503. The modules may be implemented by hardware. The hardware may include hardware logic circuitry such as an application specific integrated chip (ASIC) or field programmable gate array (FPGA) or a general purpose processor such as a central processing unit (CPU) for executing instructions.
The resource collecting module 501 is to collect hardware resource information reported from hardware resources, generate a hardware resource pool according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane
The resource allocation module 502 is to according to the hardware resource information, allocate a hardware resource for a control plane, a hardware resource for a service plane, a hardware resource for an access plane from the hardware resource pool.
The software management module 503 is to load control plane software to the hardware resource of the control plane, load service plane software to the hardware resource of the service plane, load access plane software to the hardware resource of the access plane to generate the virtual network device.
In the apparatus shown in FIG. 5A, the software management module 503 is further to load registration software to the hardware resources before collecting the hardware resource information reported by the hardware resources;
The resource collecting module 501 is to receive a registration packet transmitted through the registration software when each of the hardware resources is started, obtain the hardware resource information carried in the registration packet, and store the hardware resource information.
In the apparatus shown in FIG. 5A, the hardware resource pool includes computing hardware resources and I/O hardware resources.
The hardware resource information of each of the computing hardware resources includes an identifier, a Media Access Control (MAC) address, and computing performance of the computing hardware resource.
The hardware resource information of each of the I/O hardware resources includes an identifier, a MAC address, and bandwidth access capability of the I/O hardware resource.
In the apparatus shown in FIG. 5A, the resource allocation module 502 is to according to a computing performance requirement of the control plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the control plane from the hardware resource pool, and allocating the computing hardware resource for the control plane; according to a computing performance requirement of the service plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the service plane from the hardware resource pool, and allocating the computing hardware resource for the service plane; according to the number of I/O interfaces and a bandwidth access capability requirement of each of the I/O interfaces, selecting a I/O hardware resource for the access plane from the hardware resource pool, and allocating the I/O hardware resource for the access plane.
In the apparatus shown in FIG. 5A, the computing hardware resources include universal servers or CPUs, the I/O hardware resources comprise line cards with a designed I/O interface or pizza boxes.
In the apparatus shown in FIG. 5A, the hardware resources in the hardware resource pool are connected with each other through a standard L2 Ethernet link.
In the apparatus shown in FIG. 5A, the resource allocation module 502 is further to when a value of computing load of the virtual network device is more than a first threshold, select a hardware resource from the hardware resource pool, add the hardware resource to the service plane; when the value of the computing load of the virtual network device is less than a second threshold, process the computing load in a part of the hardware resource of the service plane, release the other part of the hardware resource of the service plane to be re-added into the hardware resource pool.
FIG. 5B is a schematic diagram illustrating a structure of an apparatus for generating a virtual network device according to an example of the present disclosure. The apparatus includes a resource collecting module 701, a resource allocation module 702, a  software management module 703 and a packet processing module 704. The resource collecting module 701, the resource allocation module 702 and the software management module 703 respectively have same functions with a resource collecting module 501, a resource allocation module 502 and a software management module 503 in FIG. 5A, which are not described repeatedly herein. The modules may be implemented by hardware. The hardware may include hardware logic circuitry such as an application specific integrated chip (ASIC) or field programmable gate array (FPGA) or a general purpose processor such as a central processing unit (CPU) for executing instructions.
In the apparatus shown in FIG. 5B, the packet processing module is to when the access plane receives a packet of a flow from a I/O interface of the access plane, transmitting the packet to a designated hardware resource in the service plane via the exchanging plane according to a flow classification strategy; when the designated hardware resource determines that the packet is a first packet of the flow, transmitting the packet to the control plane; when the designated hardware resource determines that the packet is not the first packet of the flow, determining a I/O output interface of the packet according to a forwarding list loaded by the control plane, transmitting the packet to the access plane via the exchanging plane, and transmitting the packet from the I/O output interface of the access plane.
FIG. 6 is a schematic diagram illustrating a hardware structure of an apparatus for generating a virtual network device according to an example of the present disclosure. The apparatus 600 includes a non-transitory machine readable storage medium 601, a processor 602, and another non-transitory machine readable storage medium, e.g., a memory 603. The processor 602 may execute machine readable instructions stored in the memory 603. The apparatus may include another hardware 604.
The non-transitory machine readable storage medium 601 is to store data including hardware resource information, software version information, e.g., registration software, control plane software, service plane software and access plane software.
The memory 603 is to store instructions. When a resource collecting instruction 6031, a resource allocation instruction 6032 and a software management instruction 6033 are executed, functions of a resource collecting module, a resource allocation module and a  software management module as illustrated in FIG. 5A or FIG. 5B are performed, which is not described repeatedly herein.
The processing 602 is to communicate with the memory 603 to transmit and receive information, which includes collecting hardware resource information, loading software to hardware resources, reading the instructions stored in the memory 603 and executing the instructions. The processing 602 is further to communicate with the non-transitory machine readable storage medium 601 to read or write the data stored in the non-transitory machine readable storage medium 601 that includes the hardware resource information, the software version information, e. g. , the registration software, the control plane software, the service plane software and the access plane software.
The resource collecting instruction 6031 is to collect hardware resource information reported from hardware resources, generate a hardware resource pool according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane. The resource allocation instruction 6032 is to according to the hardware resource information, allocate a hardware resource for a control plane, a hardware resource for a service plane, a hardware resource for an access plane from the hardware resource pool. The software management instruction 6033 is to load control plane software to the hardware resource of the control plane, load service plane software to the hardware resource of the service plane, load access plane software to the hardware resource of the access plane to generate the virtual network device. The software management instruction 6033 is further to receive registration software information read from the non-transitory machine readable storage medium 601, and load registration software to the hardware resources.
The above examples can be implemented by hardware, software or firmware or a combination thereof. For example the various methods, processes and functional modules described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc. ) . The processes, methods and functional modules may all be performed by a single processor or split between several processers; reference in this disclosure or the claims to a ‘processor’ should thus be interpreted to mean ‘one or more processors’ . The processes, methods and functional modules can be implemented as machine readable instructions executable by one  or more processors, hardware logic circuitry of the one or more processors or a combination thereof. Further the teachings herein may be implemented in the form of a software product. The computer software product is stored in a storage medium and comprises a plurality of instructions for making a computer device (which can be a personal computer, a server or a network device such as a router, switch, access point etc. ) implement the method recited in the examples of the present disclosure.
The foregoing is only preferred examples of the present disclosure and is not used to limit the protection scope of the present disclosure. Any modification, equivalent substitution and improvement without departing from the spirit and principle of the present disclosure are within the protection scope of the present disclosure.

Claims (15)

  1. A method for generating a virtual network device, comprising:
    collecting hardware resource information reported from hardware resources, generating a hardware resource pool according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane;
    according to the hardware resource information, allocating a hardware resource for a control plane, a hardware resource for a service plane, a hardware resource for an access plane from the hardware resource pool; and
    loading control plane software to the hardware resource of the control plane, loading service plane software to the hardware resource of the service plane, loading access plane software to the hardware resource of the access plane to generate the virtual network device.
  2. The method of claim 1, further comprising:
    loading registration software to the hardware resources before collecting the hardware resource information reported by the hardware resources;
    the process of collecting the hardware resource information reported by the hardware resources comprises:
    receiving a registration packet transmitted through the registration software when each of the hardware resources is started, obtaining the hardware resource information carried in the registration packet, and storing the hardware resource information.
  3. The method of claim 1, wherein the hardware resource pool comprises computing ardware resources and I/O hardware resources;
    the hardware resource information of each of the computing hardware resources comprises an identifier, a Media Access Control (MAC) address, and computing performance of the computing hardware resource; and 
    the hardware resource information of each of the I/O hardware resources comprises an identifier, a MAC address, and bandwidth access capability of the I/O hardware resource.
  4. The method of claim 3, wherein allocating the hardware resource for the control plane from the hardware resource pool comprises:
    according to a computing performance requirement of the control plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the control plane from the hardware resource pool, and allocating the computing hardware resource for the control plane;
    the process of allocating the hardware resource for the service plane from the hardware resource pool comprises:
    according to a computing performance requirement of the service plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the service plane from the hardware resource pool, and allocating the computing hardware resource for the service plane;
    the process of allocating the hardware resource for the access plane from the hardware resource pool comprises:
    according to the number of I/O interfaces and a bandwidth access capability requirement of each of the I/O interfaces, selecting a I/O hardware resource for the access plane from the hardware resource pool, and allocating the I/O hardware resource for the access plane.
  5. The method of claim 3, wherein the computing hardware resources comprise universal servers or CPUs, the I/O hardware resources comprise line cards with a designed I/O interface or pizza boxes.
  6. The method of claim 1, wherein the hardware resources in the hardware resource pool are connected with each other through a standard layer two Ethernet link.
  7. The method of claim 1, after the virtual network device is generated, further comprising:
    when a value of computing load of the virtual network device is more than a first threshold, selecting a hardware resource from the hardware resource pool, adding the hardware resource to the service plane;
    when the value of the computing load of the virtual network device is less than a second threshold, processing the computing load in a part of the hardware resource of the service plane, releasing the other part of the hardware resource of the service plane to be re-added into the hardware resource pool.
  8. The method of claim 1, after the virtual network device is generated, further comprising:
    when the access plane receives a packet of a flow from a I/O interface of the access plane, transmitting the packet to a designated hardware resource in the service plane via the exchanging plane according to a flow classification strategy;
    when the designated hardware resource determines that the packet is a first packet of the flow, transmitting the packet to the control plane;
    when the designated hardware resource determines that the packet is not the first packet of the flow, determining a I/O output interface of the packet according to a forwarding list loaded by the control plane, transmitting the packet to the access plane via the exchanging plane, and transmitting the packet from the I/O output interface of the access plane.
  9. An apparatus for generating a virtual network device, comprising:
    a processor for executing instructions stored in a non-transitory machine readable storage medium, the instructions comprise:
    a resource collecting instruction, to collect hardware resource information reported from hardware resources, generate a hardware resource pool according to the hardware resource information, wherein the hardware resources are connected with each other through an exchanging plane;
    a resource allocation instruction, to according to the hardware resource information, allocate a hardware resource for a control plane, a hardware resource for a service plane, a hardware resource for an access plane from the hardware resource pool; and
    a software management instruction, to load control plane software to the hardware resource of the control plane, load service plane software to the hardware resource of the service plane, load access plane software to the hardware resource of the access plane to generate the virtual network device.
  10. The apparatus of claim 9, wherein
    the software management instruction is further to load registration software to the hardware resources before collecting the hardware resource information reported by the hardware resources;
    the resource collecting instruction is to receive a registration packet transmitted through the registration software when each of the hardware resources is started, obtain the hardware resource information carried in the registration packet, and store the hardware resource information.
  11. The apparatus of claim 9, wherein the hardware resource pool comprises computing hardware resources and I/O hardware resources;
    the hardware resource information of each of the computing hardware resources comprises an identifier, a Media Access Control (MAC) address, and computing performance of the computing hardware resource; and
    the hardware resource information of each of the I/O hardware resources comprises an identifier, a MAC address, and bandwidth access capability of the I/O hardware resource.
  12. The apparatus of claim 11, wherein
    the resource allocation instruction is to according to a computing performance requirement of the control plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the control plane from the hardware resource pool, and allocating the computing hardware resource for the control plane; according to a computing performance requirement of the service plane and computing performance of each of the computing hardware resources in the hardware resource pool, selecting a computing hardware resource for the service plane from the hardware resource pool, and allocating the computing hardware resource for the service plane; according to the number of I/O interfaces and a bandwidth access capability requirement of each of the I/O interfaces, selecting a I/O hardware resource for the access plane from the hardware resource pool, and allocating the I/O hardware resource for the access plane.
  13. The apparatus of claim 11, wherein the computing hardware resources comprise universal servers or CPUs, the I/O hardware resources comprise line cards with a designed I/O interface or pizza boxes.
  14. The apparatus of claim 9, wherein the hardware resources in the hardware resource pool are connected with each other through a standard layer two Ethernet link.
  15. The apparatus of claim 9, wherein the resource allocation instruction is further to when a value of computing load of the virtual network device is more than a first threshold, select a hardware resource from the hardware resource pool, add the hardware resource to the service plane; when the value of the computing load of the virtual network device is less than a second threshold, process the computing load in a part of the hardware resource of the service plane, release the other part of the hardware resource of the service plane to be re-added into the hardware resource pool.
PCT/CN2015/071394 2014-01-24 2015-01-23 Generating virtual network device WO2015110054A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410033552.2 2014-01-24
CN201410033552.2A CN104811361B (en) 2014-01-24 2014-01-24 A kind of method and apparatus for generating the virtualization network equipment

Publications (1)

Publication Number Publication Date
WO2015110054A1 true WO2015110054A1 (en) 2015-07-30

Family

ID=53680835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/071394 WO2015110054A1 (en) 2014-01-24 2015-01-23 Generating virtual network device

Country Status (2)

Country Link
CN (1) CN104811361B (en)
WO (1) WO2015110054A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861972B (en) * 2018-12-21 2022-09-09 陕西商洛发电有限公司 Safety architecture system of industrial information control integrated platform

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147814A1 (en) * 2001-04-05 2002-10-10 Gur Kimchi Multimedia devices over IP
CN101446928A (en) * 2007-11-28 2009-06-03 株式会社日立制作所 Virtual machine monitor and multiprocessor sysyem
CN102752147A (en) * 2012-07-17 2012-10-24 华为技术有限公司 Method and device for creating network equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104542A (en) * 2011-01-14 2011-06-22 中国人民解放军信息工程大学 Method for realizing service group router under forwarding and controlling separated network architecture
CN102843286B (en) * 2011-06-24 2017-04-12 中兴通讯股份有限公司 Implementation method, and system of virtual routers
CN103067287B (en) * 2013-01-18 2015-08-05 浙江工商大学 Forwarding and realizing under control separation architecture the method for virtual programmable router

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147814A1 (en) * 2001-04-05 2002-10-10 Gur Kimchi Multimedia devices over IP
CN101446928A (en) * 2007-11-28 2009-06-03 株式会社日立制作所 Virtual machine monitor and multiprocessor sysyem
CN102752147A (en) * 2012-07-17 2012-10-24 华为技术有限公司 Method and device for creating network equipment

Also Published As

Publication number Publication date
CN104811361A (en) 2015-07-29
CN104811361B (en) 2018-06-15

Similar Documents

Publication Publication Date Title
US10148492B2 (en) Data center bridging network configuration and management
JP6490205B2 (en) Method, apparatus and system for flow entry configuration
JP6538986B2 (en) Virtual machine packet control
US10447600B2 (en) Load balancing method, device and system for service function chain
US20170289002A1 (en) Technologies for deploying dynamic underlay networks in cloud computing infrastructures
US20160301603A1 (en) Integrated routing method based on software-defined network and system thereof
US9917766B2 (en) Loop-free hybrid network
US9584369B2 (en) Methods of representing software defined networking-based multiple layer network topology views
US9602406B2 (en) Data transfer control device and data transfer control method
US10757076B2 (en) Enhanced network processing of virtual node data packets
US9590898B2 (en) Method and system to optimize packet exchange between the control and data plane in a software defined network
US9960998B2 (en) Forwarding packet in stacking system
JP2017518710A (en) Service flow processing method, apparatus, and device
US10050875B2 (en) Network service processing method and apparatus
KR20160042441A (en) Application-aware network management
US10050906B2 (en) Virtual node having separate control and data planes
JP2017126238A (en) System management device, information processing system, system management method, and program
US10257080B1 (en) Hardware resource allocation for equal-cost multi-path groups
US20150280961A1 (en) Network extension system, control apparatus, and network extension method
RU2687215C1 (en) Method and device for transmitting information on openflow switch functions
JP2018515053A (en) Packet forwarding
WO2015110054A1 (en) Generating virtual network device
US10177935B2 (en) Data transfer system, data transfer server, data transfer method, and program recording medium
US20150278360A1 (en) Computing apparatus for data distribution service and method of operating the same
KR20170090206A (en) Method for transmitting and receiving protocol packet using packet processor based LINUX in distributed packet transport network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15740313

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15740313

Country of ref document: EP

Kind code of ref document: A1