CN104967575B - Virtual software defines the network switch - Google Patents

Virtual software defines the network switch Download PDF

Info

Publication number
CN104967575B
CN104967575B CN201510297237.5A CN201510297237A CN104967575B CN 104967575 B CN104967575 B CN 104967575B CN 201510297237 A CN201510297237 A CN 201510297237A CN 104967575 B CN104967575 B CN 104967575B
Authority
CN
China
Prior art keywords
virtual
matching
inquiry string
matching inquiry
addressing memory
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.)
Active
Application number
CN201510297237.5A
Other languages
Chinese (zh)
Other versions
CN104967575A (en
Inventor
李丹
余逸荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201510297237.5A priority Critical patent/CN104967575B/en
Publication of CN104967575A publication Critical patent/CN104967575A/en
Application granted granted Critical
Publication of CN104967575B publication Critical patent/CN104967575B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

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

Abstract

The present invention proposes that a kind of virtual software defines the network switch, including:Preprocessing module lifts header fields and virtual switch number from data message;Multistep treatment pipelining-stage, every grade of processing pipelining-stage includes matching inquiry string extractor and wildcard rule list;Matching inquiry string extractor selects multiple fields from header fields, and multiple fields are spliced into matching inquiry string;Wildcard rule list includes three-state content addressing memory and static random addressing memory, three-state content addressing memory is stored with multirow matching rule, wildcard rule list match query rule from three-state content addressing memory according to matching inquiry string, and selected accordingly from static random addressing memory and execute corresponding instruction.The interchanger of the present invention can flexibly define the processing logic of virtual switch according to itself application demand in physical switches, and then the configuration of physical switches storage resource can be adjusted flexibly, and improve storage resource utilization ratio.

Description

Virtual software defines the network switch
Technical field
The present invention relates to software defined network technical field, more particularly to a kind of virtual software defines the network switch.
Background technology
Software defined network is the important research direction of Next Generation Internet, and software defined network area research works now An important branch be network virtualization, by by Embeded Software define network be virtualized into multiple virtual networks and It distributes to different virtual network users to use, to improve the utilization rate of Internet resources.
The method that the realization method of software defined network virtual switch has two classes common at present, one is pure software simulations Realization method, it is flexibly fixed that this mode can carry out the virtual switch in virtual network according to virtual network user demand Justice, but due to being by the way of software simulation, virtual switch processing capacity is very limited.Another kind of common method is It is defined in traditional software and obtains different logic fragments, each logic on network physical interchanger by address space division Fragment is used as a virtual switch.On the one hand this method limits address space workable for each virtual network, On the other hand the Message processing flow of each virtual switch all relies on physical switches, and virtual network user cannot be to it Flexibly defined.
Invention content
The present invention is directed to solve at least to a certain extent it is above-mentioned in the related technology the technical issues of one of.
For this purpose, it is an object of the invention to propose that a kind of virtual software defines the network switch, which can basis Itself application demand flexibly defines the processing logic of virtual switch in physical switches, and then physics friendship can be adjusted flexibly Storage resource of changing planes configures, and improves storage resource utilization ratio.
To achieve the goals above, the embodiment of the present invention proposes a kind of virtual software and defines the network switch, including: Preprocessing module, for lifting header fields and virtual switch number from data message;Multistep treatment pipelining-stage, every grade of place It includes matching inquiry string extractor and wildcard rule list to manage pipelining-stage, wherein described in the multistep treatment pipelining-stage is handled successively Data message;The matching inquiry string extractor from the header fields for selecting multiple fields, and by the multiple word Section is spliced into matching inquiry string;The wildcard rule list includes that three-state content addressing memory and static random address memory, The three-state content addressing memory is stored with multirow matching rule, and the wildcard rule list is used for according to the matching inquiry string The match query rule from the three-state content addressing memory, and addressed from the static random according to the matching rule of inquiry Memory selects and executes corresponding instruction, wherein the matching rule often gone stores the number of the virtual switch belonging to it.
In addition, virtual software according to the above embodiment of the present invention define the network switch can also have it is following additional Technical characteristic:
In some instances, the preprocessing module includes:Header fields extraction module, for from the data message Extract the header fields;Virtual switch identification module, for extracting virtual switch number.
In some instances, the matching inquiry string extractor includes:Multiple input register, the multiple input deposit Device stores the multiple field correspondingly;Multiple output registers, the multiple output register include virtual switch Numbered register and multiple Field registers, the multiple Field registers pass through multiple selector and the multiple input respectively Register is connected, to be spliced into the matching inquiry string to the field inputted from the multiple input register;Output module, The output module is connected with the multiple output register, to export the matching inquiry string.
In some instances, the multiple input register is 16 bit input registers.
Virtual software according to the ... of the embodiment of the present invention defines the network switch, has the following advantages that:
1. virtual network user can flexibly define virtual switch according to itself application demand in physical switches Handle logic;
2. virtual network user is without being concerned about that physical switches processing logic realizes details;
3. the configuration of physical switches storage resource can be adjusted flexibly by handling logic requirement according to virtual switch, raising is deposited Store up the level of resources utilization.
The additional aspect and advantage of the present invention will be set forth in part in the description, and will partly become from the following description Obviously, or practice through the invention is recognized.
Description of the drawings
The above-mentioned and/or additional aspect and advantage of the present invention will become in the description from combination following accompanying drawings to embodiment Obviously and it is readily appreciated that, wherein:
Fig. 1 is the structure diagram that virtual software according to an embodiment of the invention defines the network switch;
Fig. 2 is the structural frames for the preprocessing module that virtual software according to an embodiment of the invention defines the network switch Figure;
Fig. 3 is the matching inquiry string extractor that virtual software according to an embodiment of the invention defines the network switch Structure diagram;
Fig. 4 is the processing flow schematic diagram that virtual software according to an embodiment of the invention defines the network switch;With And
Fig. 5 is matching inquiry string extractor structural schematic diagram accord to a specific embodiment of that present invention.
Specific implementation mode
The embodiment of the present invention is described below in detail, examples of the embodiments are shown in the accompanying drawings, wherein from beginning to end Same or similar label indicates same or similar element or element with the same or similar functions.Below with reference to attached The embodiment of figure description is exemplary, and is only used for explaining the present invention, and is not considered as limiting the invention.
Virtual software according to the ... of the embodiment of the present invention, which is described, below in conjunction with attached drawing defines the network switch.
Fig. 1 is the structure diagram that virtual software according to an embodiment of the invention defines the network switch.Such as Fig. 1 institutes Show, which defines the network switch 1000 and include:Preprocessing module 100 and multistep treatment pipelining-stage 200.
Wherein, preprocessing module 100 is used to extract header fields and virtual switch number from data message.More have Body, in some instances, as shown in Fig. 2, preprocessing module 100 includes:Header fields extraction module 110 and virtual switch Identification module 120.Wherein, header fields extraction module 110 from data message for extracting header fields.Virtual switch is known Other module 120 is for extracting virtual switch number.
Every grade of processing pipelining-stage 200 includes matching inquiry string extractor 210 and wildcard rule list 220, wherein multistep treatment Pipelining-stage 200 handles data message successively.
Specifically, matching inquiry string extractor 210 is from header fields for selecting multiple fields, and by multiple fields It is spliced into matching inquiry string.Further, as shown in figure 3, matching inquiry string extractor 210 includes:Multiple input register 211, multiple output registers 212 and output module 213.Specifically, multiple input register 211 store correspondingly it is more A field.Multiple output registers 212 include virtual switch numbered register and multiple Field registers, multiple field deposits Device is connected by multiple selector with multiple input register 211 respectively, the word that will be inputted from multiple input register 211 Section is spliced into matching inquiry string.Output module 213 is connected with multiple output registers 212, to export matching inquiry string.Wherein, In this example, for example, multiple input register 211 is 16 bit input registers.
Wildcard rule list 220 includes that three-state content addressing memory and static random address memory, three-state content addressing Memory is stored with multirow matching rule, and wildcard rule list according to matching inquiry string from three-state content addressing memory for looking into Matching rule is ask, and is selected from static random addressing memory according to the matching rule of inquiry and executes corresponding instruction, wherein The matching rule often gone stores the number of the virtual switch belonging to it.
For the ease of more fully understanding that the virtual software of the embodiment of the present invention defines the network switch, below in conjunction with Fig. 4 and Fig. 5 with specific embodiment come to the interchanger carry out specifically, be specifically described.
As a specific example, as shown in figure 4, virtual software defines the Message processing assembly line of the network switch by multistage Pipelining-stage composition is managed, and every grade of processing pipelining-stage is made of matching inquiry string extractor and wildcard rule list two parts.Matching is looked into String extractor is ask to be responsible for selecting several fields in part from all fields of data message and being spliced into matching inquiry string.Wildcard Rule list is then using matching inquiry string as input, and by query string, all list items compare one by one in rule list, and execution With the processing action corresponding to result.Message is transmitted to next stage pipelining-stage after every grade of processing pipeline processes are complete, until most Message is sent out assembly line by rear stage stream treatment grade.
Specifically, as shown in figure 4, data message enters processing assembly line, first pass around header fields extraction with it is virtual The interchanger identifying processing stage.At this stage, interchanger once extracts institute's field in need from header.Virtual switch Machine number extraction may be used increases the new newer field unrelated with virtual network agreement in messages, or the existing field of multiplexing In such as VLAN fields realize.Then the whole header fields and virtual switch of extraction are numbered to the inquiry for being sent into pipelining-stage String extractor.
Further, wildcard rule list addresses memory by three-state content addressing memory (TCAM) and static random (SRAM) it realizes.Three-state content addressing memory including several row and columns, such as 800 rows, is often gone by rule list structure organization 40 bit widths.A matching rule is stored in three-state content addressing memory per a line, each can be with one in three kinds of states Kind, be 0 respectively, 1, *, wherein " * " represents wildcard, i.e., can all match 0 can also match 1.Three-state content addressing memory Input content is 01 Bit String isometric with line width.Three-state content addressing memory is by input string with rule in every a line by preferential Grade is compared one by one, is addressed in memory and is taken out from static random as address according to the line number of matching rule if matching It action command set and executes.Since multiple virtual switches need to share wildcard rule list resource, in order to which different void are isolated The rule of quasi- interchanger needs to retain several bits in the designated position of each line discipline to store belonging to current rule virtually The number of interchanger.Correspondingly, input matching inquiry string corresponding position should be set as current message to be inquired it is virtual The number of interchanger.
It should be noted that the contents in table of different virtual switches is compact to the first alignment of row in wildcard rule list, remove Virtual switch number is outer, remaining field is not required to be aligned.By compact arrangement, three-state content addressing memory can be compressed Line width, by adjusting rule list to minimize waste of storage space.
As shown in figure 5, illustrating the structural representation of matching inquiry string extractor.Specifically, first to incoming message word Duan Jinhang is pre-processed.All fields extracted from message field (MFLD) are different in size, need first to be segmented all fields thus, It is divided by 16 bits, 16 bit completions is pressed less than 16 bits, it is hereby achieved that whole length are the segment of 16 bits, quantity For N.
Wherein, query string extractor includes N number of 16 bit input register and N number of 16 bit output register, N number of segment It is temporarily stored in N number of 16 bit input register.Each input register is connected to N number of input by a multiple selector Register, each output register can obtain field segment from any one input register.
Different virtual switches is different in the inquiry string format that pipelining-stages at different levels are checked, matching field message bit pattern It is stored in matching string field table, query string extractor takes out corresponding field bitmap according to virtual switch number from table. Field bit legend should take content if any N number of unit, each corresponding output register of unit storage from which input register.
For example, a virtual switch needs extraction the 2nd and the 3rd field segment composition query string, then its field bitmap Content is 0x02 0x03 0xff..., i.e., the number of first and second unit memory input register 2 and 3, remaining N-2 A unit storage 0xff is represented beyond all input field segment number ranges without assignment operation.
And then it by each output register dynamic assignment from the input field segment specified by virtual switch, realizes Different virtual switches extract different query strings.And when exporting spliced matching inquiry string from output register, virtual Interchanger number is added in matching inquiry string, is used for the rule of other virtual switches in shielding rules table.
Finally output matching inquiry string carries out interception or polishing according to the width of current pipelining-stage rule list, ensures input String length and rule list equivalent width are inquired, matching inquiry string, which is then sent into rule list, carries out inquiry and respective handling.It tables look-up And newer field and virtual switch number are sent to next stage by after treatment, current pipelining-stage matching inquiry string extractor Processing.
To sum up, the virtual software of the embodiment of the present invention defines the main thought of the network switch and is summarized as follows:Due to tradition Specific field in message is voluntarily matched per level-one on the Message processing assembly line of software defined network physical switches and is tabled look-up, and And corresponding operating is executed according to structure of tabling look-up.In addition, the type of every coagulation matching field is manufacture in conventional switch Setting or user configure in advance, and in the interchanger time of running, these configurations cannot change, therefore physical switches are to all reports Text is performed both by identical processing.Based on this, the embodiment of the present invention by identifying the affiliated virtual switch of current message in advance, every grade Assembly line matching field type is adjusted according to current corresponding virtual switch into Mobile state, to different virtual switches pair The process flow of message is different.Also, multiple void can be accommodated simultaneously by being defined in an Embeded Software on the network switch Quasi- interchanger, and the Message processing logic of each virtual switch is flexibly defined by virtual network user.
To sum up, virtual software according to the ... of the embodiment of the present invention defines the network switch, has the following advantages that:
1. virtual network user can flexibly define virtual switch according to itself application demand in physical switches Handle logic;
2. virtual network user is without being concerned about that physical switches processing logic realizes details;
3. the configuration of physical switches storage resource can be adjusted flexibly by handling logic requirement according to virtual switch, raising is deposited Store up the level of resources utilization.
In the description of the present invention, it is to be understood that, term "center", " longitudinal direction ", " transverse direction ", " length ", " width ", " thickness ", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom" "inner", "outside", " up time The orientation or positional relationship of the instructions such as needle ", " counterclockwise ", " axial direction ", " radial direction ", " circumferential direction " be orientation based on ... shown in the drawings or Position relationship is merely for convenience of description of the present invention and simplification of the description, and does not indicate or imply the indicated device or element must There must be specific orientation, with specific azimuth configuration and operation, therefore be not considered as limiting the invention.
In addition, term " first ", " second " are used for description purposes only, it is not understood to indicate or imply relative importance Or implicitly indicate the quantity of indicated technical characteristic.Define " first " as a result, the feature of " second " can be expressed or Implicitly include at least one this feature.In the description of the present invention, the meaning of " plurality " is at least two, such as two, three It is a etc., unless otherwise specifically defined.
In the present invention unless specifically defined or limited otherwise, term " installation ", " connected ", " connection ", " fixation " etc. Term shall be understood in a broad sense, for example, it may be being fixedly connected, may be a detachable connection, or integral;Can be that machinery connects It connects, can also be electrical connection;It can be directly connected, can also can be indirectly connected through an intermediary in two elements The interaction relationship of the connection in portion or two elements, unless otherwise restricted clearly.For those of ordinary skill in the art For, the specific meanings of the above terms in the present invention can be understood according to specific conditions.
In the present invention unless specifically defined or limited otherwise, fisrt feature can be with "above" or "below" second feature It is that the first and second features are in direct contact or the first and second features pass through intermediary mediate contact.Moreover, fisrt feature exists Second feature " on ", " top " and " above " but fisrt feature be directly above or diagonally above the second feature, or be merely representative of Fisrt feature level height is higher than second feature.Fisrt feature second feature " under ", " lower section " and " below " can be One feature is directly under or diagonally below the second feature, or is merely representative of fisrt feature level height and is less than second feature.
In the description of this specification, reference term " one embodiment ", " some embodiments ", " example ", " specifically show The description of example " or " some examples " etc. means specific features, structure, material or spy described in conjunction with this embodiment or example Point is included at least one embodiment or example of the invention.In the present specification, schematic expression of the above terms are not It must be directed to identical embodiment or example.Moreover, particular features, structures, materials, or characteristics described can be in office It can be combined in any suitable manner in one or more embodiments or example.In addition, without conflicting with each other, the skill of this field Art personnel can tie the feature of different embodiments or examples described in this specification and different embodiments or examples It closes and combines.
Although the embodiments of the present invention has been shown and described above, it is to be understood that above-described embodiment is example Property, it is not considered as limiting the invention, those skilled in the art within the scope of the invention can be to above-mentioned Embodiment is changed, changes, replacing and modification.

Claims (3)

1. a kind of virtual software defines the network switch, which is characterized in that including:
Preprocessing module, for extracting header fields and virtual switch number from data message;
Multistep treatment pipelining-stage, every grade of processing pipelining-stage includes matching inquiry string extractor and wildcard rule list, wherein described more Grade processing pipelining-stage handles the data message successively;
The matching inquiry string extractor splices the multiple field for selecting multiple fields from the header fields For matching inquiry string, the matching inquiry string extractor includes:
Multiple input register, the multiple input register store the multiple field correspondingly;
Multiple output registers, the multiple output register include virtual switch numbered register and the deposit of multiple fields Device, the multiple Field registers are connected by multiple selector with the multiple input register respectively, will be come from described The field of multiple input register input is spliced into the matching inquiry string;
Output module, the output module are connected with the multiple output register, to export the matching inquiry string;
The wildcard rule list includes three-state content addressing memory and static random addressing memory, the three-state content addressing Memory is stored with multirow matching rule, and the wildcard rule list according to the matching inquiry string from the ternary content for seeking Match query rule in the memory of location, and select and execute from static random addressing memory according to the matching rule of inquiry Corresponding instruction, wherein the matching rule often gone stores the number of the virtual switch belonging to it.
2. virtual software according to claim 1 defines the network switch, which is characterized in that the preprocessing module packet It includes:
Header fields extraction module, for extracting the header fields from the data message;
Virtual switch identification module, for extracting virtual switch number.
3. virtual software according to claim 1 defines the network switch, which is characterized in that the multiple input register For 16 bit input registers.
CN201510297237.5A 2015-06-03 2015-06-03 Virtual software defines the network switch Active CN104967575B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510297237.5A CN104967575B (en) 2015-06-03 2015-06-03 Virtual software defines the network switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510297237.5A CN104967575B (en) 2015-06-03 2015-06-03 Virtual software defines the network switch

Publications (2)

Publication Number Publication Date
CN104967575A CN104967575A (en) 2015-10-07
CN104967575B true CN104967575B (en) 2018-10-02

Family

ID=54221522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510297237.5A Active CN104967575B (en) 2015-06-03 2015-06-03 Virtual software defines the network switch

Country Status (1)

Country Link
CN (1) CN104967575B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110036610B (en) * 2016-12-07 2020-10-16 华为技术有限公司 Method and switch for route management in software defined network
CN109474641B (en) * 2019-01-03 2020-05-12 清华大学 Reconfigurable switch forwarding engine resolver capable of destroying hardware trojans
US11658837B2 (en) * 2020-07-10 2023-05-23 Realtek Semiconductor Corp. Multicast packet replication method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427428A (en) * 2011-12-07 2012-04-25 西安电子科技大学 Stream identifying method and device based on multi-domain longest match
CN103248573A (en) * 2013-04-08 2013-08-14 北京天地互连信息技术有限公司 Centralization management switch for OpenFlow and data processing method of centralization management switch
CN103684905A (en) * 2013-11-27 2014-03-26 北京邮电大学 Flow rule conflict detection and processing method for network virtualization platform

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840696B2 (en) * 2003-07-25 2010-11-23 Broadcom Corporation Apparatus and method for classifier identification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427428A (en) * 2011-12-07 2012-04-25 西安电子科技大学 Stream identifying method and device based on multi-domain longest match
CN103248573A (en) * 2013-04-08 2013-08-14 北京天地互连信息技术有限公司 Centralization management switch for OpenFlow and data processing method of centralization management switch
CN103684905A (en) * 2013-11-27 2014-03-26 北京邮电大学 Flow rule conflict detection and processing method for network virtualization platform

Also Published As

Publication number Publication date
CN104967575A (en) 2015-10-07

Similar Documents

Publication Publication Date Title
TWI363532B (en) Method and system for packet classificiation with reduced memory space and enhanced access speed
US11336590B2 (en) Visualization of path between logical network endpoints
KR100441317B1 (en) Method and apparatus for classifying data packets
CN104967575B (en) Virtual software defines the network switch
US10496680B2 (en) High-performance bloom filter array
CN103942308B (en) The detection method and device of extensive myspace
CN108293021A (en) Dynamic data access at Border Gateway
CN108875064B (en) OpenFlow multidimensional data matching search method based on FPGA
CN106416152B (en) A kind of lookup device searches configuration method and lookup method
CN104881466B (en) The processing of data fragmentation and the delet method of garbage files and device
CN106790170A (en) A kind of packet filtering method and device
CN105677904B (en) Small documents storage method and device based on distributed file system
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
CN104679790B (en) The method of distributed rule automotive engine system, building method and executing rule processing
CN104009921A (en) Data message forwarding method based on any field matching
CN111708921B (en) Number selection method, device, equipment and storage medium
CN104008130B (en) A kind of network message categorizing system and method based on mixing computing hardware
Yang et al. PiDFA: A practical multi-stride regular expression matching engine based on FPGA
Bao et al. Speeding up the search algorithm for the best differential and best linear trails
US8874837B2 (en) Embedded memory and dedicated processor structure within an integrated circuit
CN112087389B (en) Message matching table look-up method, system, storage medium and terminal
Wang et al. Reorganized and compact DFA for efficient regular expression matching
Chatterjee et al. Reversible Watson–Crick automata
CN104376054B (en) A kind of processing method and processing device of persisted instances object
WO2016133153A2 (en) Information management device, and file management method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant