[go: up one dir, main page]

WO2018161827A1 - Procédé et dispositif d'auto-apprentissage d'adresse, et commutateur - Google Patents

Procédé et dispositif d'auto-apprentissage d'adresse, et commutateur Download PDF

Info

Publication number
WO2018161827A1
WO2018161827A1 PCT/CN2018/077526 CN2018077526W WO2018161827A1 WO 2018161827 A1 WO2018161827 A1 WO 2018161827A1 CN 2018077526 W CN2018077526 W CN 2018077526W WO 2018161827 A1 WO2018161827 A1 WO 2018161827A1
Authority
WO
WIPO (PCT)
Prior art keywords
source address
address
state
packet
learning
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.)
Ceased
Application number
PCT/CN2018/077526
Other languages
English (en)
Chinese (zh)
Inventor
肖敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of WO2018161827A1 publication Critical patent/WO2018161827A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Definitions

  • the present disclosure relates to the field of communications, and in particular, to a method, an apparatus, and a switch for address self-learning.
  • OpenFlow OpenFlow
  • the message processing flow defined by the OpenFlow protocol specification is a stateless process, and all state information is stored in the OpenFlow controller. Therefore, the response speed of the OpenFlow switch is not fast enough, and it also puts a lot of pressure on the control channel between the OpenFlow controller and the OpenFlow controller and the OpenFlow switch.
  • the OpenState technology solution can support the MAC address self-learning function by extending the OpenFlow protocol specification
  • the OpenFlow network cannot support the self-learning function of the outer address to be encapsulated required by the cascading network because it does not support the acquisition and use of the two-layer address.
  • a method, device and switch for address self-learning are provided in the embodiments of the present disclosure.
  • a method for address self-learning including: acquiring first action indication information that matches a received first message from a first flow table; and indicating information according to the first action Copying, to the first state variable, a first source address corresponding to the first message; updating a state table for address self-learning according to the first state variable, where the state table stores a mapping relationship between the second source address corresponding to the first packet and the first source address; updating the preset table according to the updated state table, where the preset table is used to store the address The result of self-learning.
  • an apparatus for address self-learning including: a first obtaining module, configured to acquire, from a first flow table, first action indication information that matches a received first message; a copying module, configured to: copy, according to the first action indication information, a first source address corresponding to the first packet into a first state variable; and a first update module, configured to update according to the first state variable a state table for address self-learning, wherein the state table stores a mapping relationship between a second source address corresponding to the first packet and the first source address; and a second update module, Updating the preset table according to the updated status table, wherein the preset table is used to store the result of the address self-learning.
  • a switch including: a processor and a memory, wherein the processor is configured to acquire, from a first flow table, a first action that matches a received first message. Instructing information; copying, according to the first action indication information, a first source address corresponding to the first message to a first state variable; updating a state table for address self-learning according to the first state variable,
  • the state table stores a mapping relationship between the second source address corresponding to the first packet and the first source address, and updates the preset table according to the updated state table, where
  • the preset table is configured to store a result of the self-learning of the address, and the memory is configured to store the first flow table, the state table, and the preset table.
  • a storage medium is also provided.
  • the storage medium is configured to store program code for performing the following steps: acquiring, from the first flow table, first action indication information that matches the received first message; and according to the first action indication information, The first source address corresponding to a message is copied into the first state variable; and the state table for address self-learning is updated according to the first state variable, wherein the state table stores the first message a mapping relationship between the corresponding second source address and the first source address; updating the preset table according to the updated state table, wherein the preset table is used to store the result of the address self-learning.
  • FIG. 1 is a schematic diagram of an OpenFlow network component architecture
  • FIG. 3 is a schematic diagram of a network structure of a laminated network
  • FIG. 4 is a structural diagram of a switch of an embodiment of the present disclosure.
  • FIG. 5 is a flowchart of a method of address self-learning, in accordance with one embodiment of the present disclosure
  • FIG. 6 is a flow chart showing a method of address self-learning according to an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram of implementing a MAC address self-learning function according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of implementing a self-learning function of an outer address to be encapsulated according to an embodiment of the present disclosure
  • FIG. 9 is a structural block diagram of an apparatus for address self-learning according to an embodiment of the present disclosure.
  • FIG. 10 is a structural block diagram of a first update module in an apparatus for address self-learning according to an embodiment of the present disclosure
  • FIG. 11 is another structural block diagram of a first update module in an apparatus for address self-learning according to an embodiment of the present disclosure
  • FIG. 12 is a structural block diagram of an apparatus for address self-learning according to an embodiment of the present disclosure.
  • FIG. 13 is a structural block diagram of an apparatus for address self-learning according to an embodiment of the present disclosure.
  • FIG. 14 is a structural block diagram of a switch according to an embodiment of the present disclosure.
  • FIG. 15 is a structural block diagram of a switch according to an embodiment of the present disclosure.
  • 16 is a structural block diagram of a switch in accordance with one embodiment of the present disclosure.
  • FIG. 1 is a schematic diagram of an OpenFlow network component architecture.
  • the control plane of the OpenFlow network is implemented by the OpenFlow controller.
  • the forwarding plane of the OpenFlow network is implemented by the OpenFlow switch.
  • the OpenFlow protocol is run between the OpenFlow controller and the OpenFlow switch.
  • the OpenFlow controller uses the OpenFlow protocol to the OpenFlow switch.
  • a flow table containing a plurality of entries (Entry) and a plurality of types of group tables (Group Table) are delivered.
  • Flow table parameters include Match Fields and Instructions (Instructions) containing Actions.
  • Group table parameters include group type (Group Type) and action set (Action Buckets). In this way, the purpose of controlling data forwarding can be achieved, and the separation of data forwarding and routing control is realized.
  • the OpenFlow controller sends a flow table matching the packet to the OpenFlow switch. In this way, the subsequent packets of the same type can be matched to the newly sent flow table, and the OpenFlow switch autonomously completes the forwarding of the message according to the flow table and the group table.
  • FIG. 2 is a schematic diagram of an OpenState technical solution.
  • the OpenState solution introduces a new state table, which is sent by the OpenFlow controller to the OpenFlow switch.
  • the state table contains two parameters: the match key (Match Key) and the state value (State).
  • the matching key value represents the key value that the Key Extractor combines based on some fields extracted from the message.
  • the status value is appended to the message matching the status table and enters the flow table along with the message.
  • the flow table adds a state value (State) to the flow table matching field defined by the OpenFlow protocol specification as a new matching field.
  • the flow table adds a Set-State action to the successfully matched message, which can set a new state value (Next_State).
  • the new status value is used in conjunction with the key value extracted by the other key extractor from the message to update the status table. In this way, automatic update of the state information stored by the OpenFlow switch is implemented.
  • An address self-learning function is a Media Access Control (MAC) address self-learning function, which is used in a network based on MAC address forwarding.
  • the network device learns the correspondence between the source MAC address of the received packet and the ingress port, generates a new MAC address forwarding table, or updates the existing MAC address forwarding table.
  • Another function of address self-learning is to encapsulate the outer address self-learning function for use in an overlay network.
  • the edge network device learns the mapping relationship between the outer source address and the inner source address of the received packet to generate a new outer address encapsulation table or update the existing outer address encapsulation table.
  • the cascading network includes two different types of network devices: an edge node and an intermediate node.
  • the user equipment accesses the cascading network by connecting the edge node, and the edge node accesses the multiplexed network packet through all the user-side ports. Add an outer package.
  • the remote edge node After receiving the packet with the outer layer encapsulation, the remote edge node performs self-learning on the mapping between the outer source address and the inner source address of the packet, and maps the address between the packets. The relationship is saved as the basis for the edge node to add outer packaging to the subsequent packets entering the cascading network from the edge node. This is also the aforementioned self-learning function of the outer address to be encapsulated.
  • switch 40 may include one or more (only one shown) processor 42 (processor 42 may include, but is not limited to, a microprocessor MCU, a programmable logic device FPGA, and any other suitable processing device).
  • processor 42 may include, but is not limited to, a microprocessor MCU, a programmable logic device FPGA, and any other suitable processing device.
  • FIG. 4 is merely exemplary and does not limit the structure of the electronic device.
  • switch 40 may also include more or fewer components than shown in FIG. 4, or have a different configuration than that shown in FIG.
  • the memory 44 can be used to store software programs and modules of application software, such as program instructions and modules corresponding to the method of address self-learning in the embodiments of the present disclosure.
  • the processor 42 performs various functional applications and data processing by executing software programs and modules stored in the memory 44, i.e., implementing the methods described.
  • Memory 44 may include high speed random access memory and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 44 may also include memory remotely located relative to processor 42 that may be connected to switch 40 over a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Transmission device 46 is for receiving or transmitting data via a network.
  • the network may include a wireless network provided by a communication provider of switch 40.
  • transmission device 46 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
  • NIC Network Interface Controller
  • the transmission device 46 can be a Radio Frequency (RF) module for communicating wirelessly with the Internet.
  • RF Radio Frequency
  • FIG. 5 is a flowchart of a method of address self-learning in accordance with an embodiment of the present disclosure. As shown in FIG. 5, the process includes the following steps:
  • Step S502 Acquire, from the first flow table, first action indication information that matches the received first packet.
  • Step S504 copying, according to the first action indication information, the first source address corresponding to the first packet into the first state variable;
  • Step S506 updating a state table for address self-learning according to the first state variable, wherein the state table stores a mapping relationship between the second source address corresponding to the first packet and the first source address;
  • Step S508 updating the preset table according to the updated status table, wherein the preset table is used to store the result of the address self-learning.
  • the first source address information is obtained by using the first flow table, and the mapping relationship between the first source address and the second source address is obtained through the state table for address self-learning, and then updated by the state table.
  • the execution body of the steps may include, but is not limited to, a switch and a computer terminal or the like.
  • the first source address may be an ingress port of the first packet or an outer source address of the packet; the second source address may be a media access control of the first packet (Media Access Control, Referred to as the MAC address, it can also be the inner source address of the first packet.
  • Media Access Control Referred to as the MAC address, it can also be the inner source address of the first packet.
  • the status table can be updated in a variety of ways.
  • the second source address of the first packet may be extracted from the first packet, and the state table may be updated according to the second source address and the first state variable.
  • the second source address of the packet may be extracted from the first packet by using the key extractor.
  • the update of the status table may be performed by searching for a second source address in the status table, wherein the second source is not found.
  • a state entry corresponding to the second source address is created in the state table, wherein the created state entry is used to record the second source address and the first source address carried in the first state variable a mapping relationship; if the second source address is found, determining whether the third source address that is stored in the state table and matches the second source address is the same as the first source address carried in the first state variable, where The third source address that matches the second source address in the state table is different from the first source address carried in the first state variable, and replaces the third source address in the state table with the first source address; When the third source address matching the second source address in the table is the same as the first source address carried in the first state variable, the state table may not be processed.
  • the preset table may be updated in various ways in step S508. For example, a matching field corresponding to the second source address in the updated state table may be generated in the preset table; and the first source address in the updated state table is embedded in the preset table corresponding to the matching field.
  • the second action indication information wherein the second action indication information is used to indicate that the predetermined operation is performed according to the first source address.
  • the second packet may also be received, where the destination address of the second packet is the same as the second source address corresponding to the first packet; Obtaining second action indication information from the preset table according to the matching field corresponding to the destination address; performing a predetermined operation on the second packet according to the first source address according to the indication of the second action indication information. If the destination address of the second packet is the same as the second source address, the matching field corresponding to the destination address and the matching field corresponding to the second source address are the same, and the matching field corresponding to the destination address is from the preset table.
  • the acquired action indication information is the foregoing second action indication information.
  • the second message may be encapsulated according to the first source address.
  • an outer encapsulation may be added to the second packet and the first source address is used as the destination address of the message.
  • the second message may also be output according to the first source address, for example, outputted from the first source address, that is, the second message is output from the first source address.
  • the first flow table, status table, and preset table may be received by an OpenFlow controller.
  • the first flow table, the status table, and the preset table delivered by the OpenFlow controller may be received before the step S502, the first flow table, the status table, and the preset table delivered by the OpenFlow controller may be received.
  • the updated pre-process may also be reported to the OpenFlow controller.
  • Set the table. The operations of issuing and reporting can be set as needed.
  • the sending operation of the first flow table, the status table, and the preset table may be performed based on a request message sent by the local device (for example, an OpenFlow switch), or may be performed according to a preset sending period, or may be The OpenFlow controller actively performs the current state of the switch (network conditions, processing efficiency, etc.).
  • the reporting operation of the preset table may be performed immediately after the update, or may be performed periodically, or may be performed after the preset conditions (time conditions, network conditions, resource occupancy conditions of the device, etc.) are met.
  • the preset table may be a second flow table or a group table.
  • the type of preset table can be selected as needed.
  • a method of address self-learning is provided.
  • the address self-learning method provided in the exemplary embodiment may implement address self-learning in the following manner: the controller sends a flow table, an address self-learning state table, and a storage address to obtain the packet state information from the network device.
  • the flow table of the learning result; the packet that the network device receives is first processed into a flow table that acquires the state information of the packet, and the flow table copies the state information of the packet to a new state (Next_State), and then uses the new state and the report.
  • the source address updates the address self-learning state table; the flow table of the storage address self-learning result is updated by using the matching key value and the state value of each entry in the address self-learning state table.
  • a method of address self-learning includes the following steps:
  • step A the controller sends a flow table, a self-learning state table, and a flow table of the self-learning result of the storage address to the network device.
  • the flow table for obtaining the packet status information (acting the same as the foregoing first flow table) is used for the status information related to the packet (for example, the inbound port of the packet, the outer source address of the packet, and the first source address) Copy to a new state (acting the same as the foregoing state information variable), where the matching field of the flow table is "message requiring address self-learning", and the corresponding action is "copy message status information to new state (Next_State)" ( The function is the same as the foregoing first action indication information); the address self-learning state table (acting the same as the foregoing state table for address self-learning) is used to record the source address information of the message (acting the same as the foregoing second source address) and obtain the message state.
  • the packet status information obtained by the flow table of the information wherein the matching key value of the status table is the source address of the packet, and the status value is the status information of the packet; the address self-learning status table uses the matching key value and the status value to store the address
  • the flow table of the self-learning result is updated, wherein the matching field of the flow table storing the self-learning result of the address (acting with the preset table) is “a matching field containing a matching key value”, and the corresponding action is “ Operation parameter value "(with the effect of a second operation instruction information).
  • Step B The packet received by the network device is first processed into a flow table that obtains the status information of the packet, and the flow table copies the status information of the packet to a new state, and then uses the new state and the source address of the packet to address the address.
  • the learning status table is updated.
  • the matching field "requires address self-learning packet” is used for matching. For example, if a wildcard is used as the matching field, it means that all packets entering the network device are subject to address self-learning. For a message that matches the success, the action "Copy message status information to new status" is executed to copy the status information of the message to the new status.
  • the key extractor extracts the source address of the message from the message, and then updates the address self-learning status table with the source address and the new status of the message. In this way, the address self-learning state table records the source address information and the packet state information of the packet obtained by the address self-learning.
  • step C the flow table of the storage address self-learning result is updated by using the matching key value and the state value of each entry in the address self-learning state table.
  • the matching key value and the status value of each entry in the address self-learning state table respectively record the source address information and the packet state information of the packet obtained by the address self-learning.
  • the flow table of the storage address self-learning result is updated by using the matching key value and the state value. That is, the matching key value in the address self-learning state table is used to update the matching key value in the flow table of the storage address self-learning result, and the state value of the address self-learning state table is used to update the storage address self-learning result in the flow table. Status value.
  • the matching key value of an entry in the address self-learning state table does not exist in the flow table of the storage address self-learning result, a new flow table entry is added to the flow table of the storage address self-learning result; if the address self-learning state If the matching key value of an entry of the table exists in the flow table of the storage address self-learning result, the existing flow table entry in the flow table of the storage address self-learning result is updated. When the flow table of the storage address self-learning result is updated, the network device needs to report the flow table of the updated storage address self-learning result to the controller.
  • FIG. 7 is a schematic diagram showing a MAC address self-learning function, according to an exemplary embodiment of the present disclosure. As shown in Figure 7, in this example, the steps performed by the OpenFlow controller and the OpenFlow switch are as follows:
  • Step 1 The OpenFlow controller sends a flow table, a self-learning state table, and a flow table of the self-learning result of the storage address to the OpenFlow switch.
  • the matching field of the flow table that obtains the information of the inbound port information is the wildcard.
  • the corresponding action is Copy ⁇ incoming port of the packet> to the new state.
  • the matching key of the address self-learning state table is the source of the packet. "MAC address”, the status value is "incoming port of the packet”; the matching field of the flow table of the storage address self-learning result is " ⁇ destination MAC address of the packet>”, and the corresponding action is "from the outbound port of the packet" >Output".
  • Step 2 The packet received by the OpenFlow switch is first processed into a flow table for obtaining the inbound port information of the packet, where the flow table copies the inbound port information of the packet to a new state, and then uses the new state and the packet.
  • the source MAC address updates the address self-learning status table.
  • the matching field "wildcard" is used for matching. That is to say, all packets entering the OpenFlow switch will match successfully.
  • For the packets that match successfully perform the action "Copy ⁇ incoming port of the packet> to the new state" to copy the inbound port information of the packet to the new state.
  • the inbound port of the packet is the status information about the packet obtained by the flow table.
  • the key extractor extracts the source MAC address of the packet from the packet, and then updates the address self-learning state table with the source MAC address and the ingress port of the packet. In this way, the address self-learning state table records the source MAC address of the packet obtained by the address self-learning and the ingress port of the packet.
  • Step 3 Update the flow table of the storage address self-learning result by using the matching key value and the state value of each entry in the address self-learning state table.
  • the matching key value and the status value of each entry in the address self-learning state table record the source MAC address of the packet obtained by the address self-learning and the ingress port of the packet.
  • the flow table of the storage address self-learning result is updated by using the matching key value and the state value.
  • the source MAC address of the packet in the address self-learning state table is used to update the matching field ⁇ destination MAC address of the packet> in the flow table of the self-learning result of the storage address (acting the same as the foregoing matching field), and self-learning by address
  • the ingress port of the packet of the state table is used to update the action parameter ⁇ outbound port> of the packet in the flow table of the self-learning result of the storage address to achieve the purpose of forwarding the packet from the ⁇ outgoing port of the packet>. If the source MAC address of the packet in the address self-learning state table does not exist in the matching field of the flow table of the storage address self-learning result, add a new flow table entry in the flow table of the storage address self-learning result.
  • the OpenFlow switch needs to report the flow table of the updated storage address self-learning result to the OpenFlow controller.
  • FIG. 8 is a schematic diagram showing an outer address address self-learning function to be encapsulated, according to an exemplary embodiment of the present disclosure.
  • the OpenFlow controller performs the following steps with an OpenFlow switch that is an edge node of the cascading network:
  • Step 1 The OpenFlow controller sends a flow table, an address self-learning state table, and a flow table for storing the self-learning result of the outer address source information of the packet to the OpenFlow switch.
  • the matching field of the flow table that obtains the outer source address information of the packet is "the inbound port of the packet is the network side port", and the corresponding action is "copy ⁇ outer source address of the packet> to the new state"; address self-learning
  • the matching key of the status table is the inner source address of the packet, and the status value is the outer source address of the packet.
  • the matching field of the flow table that stores the self-learning result is that the inbound port of the packet is the user.
  • the corresponding action is to add an outer encapsulation to the packet. Use ⁇ outer destination address of the packet> as the outer destination address of the packet.”
  • Step 2 The packet received by the OpenFlow switch is first processed into a flow table for obtaining the outer source address information of the packet, where the flow table copies the outer source address information of the packet to a new state, and then uses the new state. And the inner source address of the message is updated to the address self-learning state table.
  • the matching field is used to match the incoming port of the packet to the network-side port. That is, the packets received by the OpenFlow switch from the network-side port match successfully. For a successful packet, perform the action "Copy ⁇ Outer Source Address of the Packet> to the New State" to copy the outer source address information of the packet to the new state.
  • the outer source address of the packet is obtained by the flow table.
  • the message related state information, and the key value extractor extracts the inner source address of the message from the message, and then updates the address self-learning state table with the inner source address and the outer source address of the message, and the address
  • the self-learning state table records the inner source address of the packet obtained by the address self-learning and the outer source address of the packet.
  • Step 3 Update the flow table of the storage address self-learning result by using the matching key value and the state value of each entry in the address self-learning state table.
  • the matching key value and the status value of each entry in the address self-learning state table record the inner source address of the packet obtained by the address self-learning and the outer source address of the packet.
  • the flow table of the storage address self-learning result is updated by using the matching key value and the state value. That is, the inner source address of the message in the address self-learning state table is used to update the ⁇ destination address of the message in the flow table of the self-learning result of the storage address, and the outer source of the message in the self-learning state table of the address is used.
  • the address is to update the action parameter ⁇ outer destination address of the packet> in the flow table of the storage address self-learning result.
  • a new flow table is added to the flow table of the storage address self-learning result. Entries, and use the inner source address of the message in the address self-learning state table and the outer source address of the message to update the newly added flow table entry; if the address self-learns the status table of an entry of the message If the inner source address is in the matching field of the flow table in which the address self-learning result is stored, the outer source address of the packet in the address self-learning state table is directly used to update the flow table in the self-learning result of the storage address. There are flow table entries.
  • the OpenFlow switch needs to report the flow table of the updated storage address self-learning result to the OpenFlow controller.
  • a group table can also be used to store address self-learning results. You can use the group table to store the mapping between the destination address of a packet and the outer destination address of multiple encapsulated packets. Therefore, the correspondence between the source address of the packet obtained by the address self-learning and the status of multiple packets can be supported, which may be required in the self-learning function of the outer address of the layer to be encapsulated.
  • the two source addresses of the packet are respectively obtained by using the flow table and the state table, so that the OpenFlow network can simultaneously support the MAC address self-learning function required for the MAC-based forwarding network. And the self-learning function of the outer address to be encapsulated required by the cascading network.
  • the method according to the embodiment can be implemented by means of software plus a necessary general hardware platform, or can be implemented by hardware. But in many cases the former is a better implementation.
  • the portion of the technical solution of the present disclosure that contributes to the prior art can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium (such as a ROM/RAM, a magnetic disk, an optical disk), and includes a plurality of instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the present disclosure.
  • a terminal device which may be a mobile phone, a computer, a server, or a network device, etc.
  • an apparatus for address self-learning for implementing the embodiment and the exemplary embodiment.
  • module refers to a combination of software and/or hardware that can implement a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, it is also conceivable to implement the hardware or a combination of software and hardware.
  • FIG. 9 is a structural block diagram of an apparatus for address self-learning according to an embodiment of the present disclosure. As shown in Figure 9, the device includes:
  • the first obtaining module 92 is configured to obtain, from the first flow table, first action indication information that matches the received first packet, and the copying module 94 is connected to the first acquiring module 92, according to the first action.
  • the indication information is copied into the first state variable corresponding to the first message;
  • the first update module 96 is connected to the copy module 94, and is configured to update the address self-learning according to the first state variable.
  • a state table wherein the state table stores a mapping relationship between the second source address corresponding to the first packet and the first source address; and the second update module 98 is connected to the first update module 96.
  • the preset table is updated according to the updated status table, wherein the preset table is used to store the result of the address self-learning.
  • the first update module 96 is further configured to: extract a second source address of the first packet from the first packet; and update the state table according to the second source address and the first state variable.
  • FIG. 10 is a structural block diagram of a first update module 96 in an apparatus for address self-learning according to an embodiment of the present disclosure.
  • the first update module 96 includes: a searching unit 102 for searching for a second source address in the state table; a creating unit 104, connected to the searching unit 102, for not finding the second In the case of a source address, a state entry corresponding to the second source address is created in the state table, wherein the created state entry is used to record the second source address and the first source address carried in the first state variable Mapping relationship.
  • FIG. 11 is a structural block diagram of a first update module 96 in an apparatus for address self-learning according to an embodiment of the present disclosure.
  • the first update module 96 further includes: a determining unit 112, connected to the searching unit 102, for searching for the second source address in the state table, and in the case of finding the second source address Determining whether the third source address that is stored in the state table that matches the second source address is the same as the first source address that is carried in the first state variable; the replacing unit 114 is connected to the determining unit 112, for The third source address in the state table that matches the second source address is different from the first source address carried in the first state variable, and the third source address in the state table is replaced with the first source address.
  • the second update module 98 is further configured to generate, in the preset table, a matching field corresponding to the second source address in the updated state table; the first source in the updated state table The address is embedded in the second action indication information corresponding to the matching field in the preset table, where the second action indication information is used to indicate that the predetermined operation is performed according to the first source address.
  • FIG. 12 is a structural block diagram of an apparatus for address self-learning according to an embodiment of the present disclosure.
  • the device includes, in addition to all the modules shown in FIG. 9, a first receiving module 122, configured to receive a second packet after updating the preset table according to the updated state table, where The second address of the second packet is the same as the second source address corresponding to the first packet.
  • the second obtaining module 124 is connected to the first receiving module 122, and is configured to use the matching field corresponding to the destination address.
  • the second action indication information is obtained in the table.
  • the execution module 126 is connected to the second acquisition module 124, and is configured to perform a predetermined operation on the second message according to the first source address according to the indication of the second action indication information.
  • the executing module 126 is further configured to encapsulate the second packet according to the first source address; or output the second packet according to the first source address.
  • FIG. 13 is a structural block diagram of an apparatus for address self-learning according to an embodiment of the present disclosure.
  • the device includes, in addition to all the modules shown in FIG. 9, a second receiving module 132, configured to acquire, from the first flow table, a first action that matches the received first packet.
  • the reporting module 134 is connected to the second receiving module 132, and is configured to update the preset table according to the updated status table. , report the updated preset table to the open flow controller.
  • the preset table may be one of a second flow table and a group table.
  • each of the modules may be implemented by software or hardware.
  • the modules may all be located in the same processor, or the respective modules may be located in different processors in any combination.
  • FIG. 14 is a structural block diagram of a switch according to an embodiment of the present disclosure.
  • the switch includes: a processor 142 and a memory 144, wherein the processor 142 is configured to obtain, from the first flow table, first action indication information that matches the received first packet; The action indication information is copied to the first state variable corresponding to the first message; the state table for address self-learning is updated according to the first state variable, wherein the first message is stored in the state table.
  • the 142 is connected to store the first flow table, the status table, and the preset table.
  • the processor 142 is further configured to: extract a second source address of the first packet from the first packet; and update the state table according to the second source address and the first state variable.
  • the processor 142 is further configured to: search for a second source address in the state table; and if the second source address is not found, create a state entry corresponding to the second source address in the state table, The created status entry is used to record a mapping relationship between the second source address and the first source address carried in the first state variable.
  • the processor 142 is further configured to: after searching for the second source address in the state table, determine, in the case that the second source address is found, the first location in the state table that matches the second source address. Whether the third source address is the same as the first source address carried in the first state variable; and the third source address matching the second source address in the state table is different from the first source address carried in the first state variable, Replace the third source address in the status table with the first source address.
  • the processor 142 is further configured to generate, in the preset table, a matching field corresponding to the second source address in the updated state table; embedding the first source address in the updated state table And the second action indication information corresponding to the matching field in the preset table, where the second action indication information is used to indicate that the predetermined operation is performed according to the first source address.
  • the switch further includes: a first transmission device 152, configured to receive a second packet after updating the preset table according to the updated state table, where The destination address of the second packet is the same as the second source address corresponding to the first packet, and
  • the processor 142 is connected to the first transmission device 152, and is further configured to: obtain, according to the matching field corresponding to the destination address, the second action indication information from the preset table; according to the indication of the second action indication information, according to the first source address Perform a predetermined operation on the second message.
  • the processor 142 is further configured to encapsulate the second packet according to the first source address; or output the second packet according to the first source address.
  • the switch further includes: a second transmission device 162, configured to acquire, from the first flow table, a first action indication that matches the received first message.
  • a second transmission device 162 configured to acquire, from the first flow table, a first action indication that matches the received first message.
  • the flow table, the status table, and the preset table sent by the OpenFlow controller are received. After the preset table is updated according to the updated status table, the updated preset table is reported to the OpenFlow controller.
  • the preset table may be one of a second flow table and a group table.
  • a storage medium is also provided.
  • the storage medium may be arranged to store program code for performing the following steps:
  • the first action indication information that matches the received first packet is obtained from the first flow table.
  • the first source address corresponding to the first packet is copied to the first state variable according to the first action indication information.
  • updating a state table for address self-learning according to the first state variable wherein the state table stores a mapping relationship between the second source address corresponding to the first packet and the first source address; and
  • S4 And updating the preset table according to the updated status table, wherein the preset table is used to store the result of the address self-learning.
  • the storage medium is further configured to store program code for performing the steps of: S31, extracting a second source address of the first message from the first message; and S32, according to the second source address And the first state variable update status table.
  • the storage medium is also arranged to store program code for performing the following steps:
  • the storage medium is further configured to store program code for performing the following steps: S323, after looking up the second source address in the status table, in the case of finding the second source address, determining the status table
  • the third address stored in the second source address is the same as the first source address carried in the first state variable; and S324, the third address matching the second source address in the state table, and the first
  • the third address in the state table is replaced with the first source address.
  • the storage medium is further configured to store program code for performing the following steps: S41, generating a matching field corresponding to the second source address in the updated status table in the preset table; and S42,
  • the first source address in the updated state table is embedded in the second action indication information corresponding to the matching field in the preset table, where the second action indication information is used to indicate that the predetermined operation is performed according to the first source address.
  • the storage medium is further configured to store program code for performing the following steps: S43, after updating the preset table according to the updated status table, receiving the second message, wherein the second message The destination address is the same as the second source address corresponding to the first packet; S44, the second action indication information is obtained from the preset table according to the matching field corresponding to the destination address; and the first step S45 is performed according to the indication of the second action indication information. And performing a predetermined operation on the second packet according to the first source address.
  • the storage medium is further configured to store program code for performing the steps of: S451, encapsulating the second message according to the first source address; or S452, outputting the second message according to the first source address.
  • the storage medium is also arranged to store program code for performing the following steps:
  • the storage medium may include, but is not limited to, a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or a magnetic disk. And other media that can store program code.
  • the processor performs the method steps in the described embodiments in accordance with stored program code in a storage medium.
  • the embodiment of the present disclosure can solve the problem that the conventional OpenFlow network cannot support the self-learning function of the outer address to be encapsulated required for the cascading network because it does not support the acquisition and use of the two-layer address, and achieve the effect of effectively performing address self-learning.
  • the first source address information is obtained by using the first flow table
  • the mapping relationship between the first source address and the second source address is obtained by using the state table for address self-learning, and is performed through the state table. Update the preset table of the storage address self-learning results. Therefore, learning the two source addresses of the inner layer and the outer layer through the state table for address self-learning can support the acquisition and use of the two-layer address.
  • modules or steps in the embodiments of the present disclosure may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed across multiple computing devices.
  • they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from this
  • the steps shown or described are performed sequentially, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated into a single integrated circuit module.
  • Embodiments of the present disclosure are not limited to any particular combination of hardware and software.

Landscapes

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

Abstract

L'invention concerne un procédé et un dispositif d'auto-apprentissage d'adresse, et un commutateur. Le procédé consiste à : acquérir, à partir d'une première table de flux, des premières informations d'indication d'action correspondant à un premier paquet reçu; copier une première adresse source correspondant au premier paquet à une première variable d'état d'après les premières informations d'indication d'action; mettre à jour, d'après la première variable d'état, une table d'état utilisée pour un auto-apprentissage d'adresse, une relation de mappage entre une seconde adresse source et la première adresse source, et correspondant au premier paquet, étant stockée dans la table d'état; et mettre à jour une table prédéfinie d'après la table d'état mise à jour, la table prédéfinie étant utilisée pour stocker des résultats d'auto-apprentissage d'adresse. Fig. 5
PCT/CN2018/077526 2017-03-07 2018-02-28 Procédé et dispositif d'auto-apprentissage d'adresse, et commutateur Ceased WO2018161827A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710132350.7 2017-03-07
CN201710132350.7A CN108574637B (zh) 2017-03-07 2017-03-07 一种地址自学习的方法、装置及交换机

Publications (1)

Publication Number Publication Date
WO2018161827A1 true WO2018161827A1 (fr) 2018-09-13

Family

ID=63448984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/077526 Ceased WO2018161827A1 (fr) 2017-03-07 2018-02-28 Procédé et dispositif d'auto-apprentissage d'adresse, et commutateur

Country Status (2)

Country Link
CN (1) CN108574637B (fr)
WO (1) WO2018161827A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450798A (zh) * 2018-12-13 2019-03-08 郑州云海信息技术有限公司 路由表信息的管理方法和计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343108B (zh) * 2020-02-24 2021-10-22 苏州盛科通信股份有限公司 一种Mac表项学习转发的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123570A (zh) * 2006-08-09 2008-02-13 华为技术有限公司 多个运营商以太网之间的数据转发方法和系统
CN104468855A (zh) * 2013-09-25 2015-03-25 阿里巴巴集团控股有限公司 地址解析协议arp报文的处理方法和装置
WO2016003490A1 (fr) * 2014-06-30 2016-01-07 Nicira, Inc. Codage d'informations de plan de commande dans un champ de port source de protocole de transport, et ses applications en virtualisation de réseau
CN106209634A (zh) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 地址映射关系的学习方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2361545B1 (es) * 2009-02-24 2012-05-08 Universidad De Alcala De Henares Procedimiento de encaminamiento de tramas de datos y puente de red.
CN102801612B (zh) * 2012-07-06 2015-04-22 武汉虹信通信技术有限责任公司 一种更新交换芯片上主机路由信息的改进方法及系统
CN103841019B (zh) * 2012-11-27 2018-06-08 中兴通讯股份有限公司 多归接入最短路径桥接网络的方法和装置
US10063473B2 (en) * 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123570A (zh) * 2006-08-09 2008-02-13 华为技术有限公司 多个运营商以太网之间的数据转发方法和系统
CN104468855A (zh) * 2013-09-25 2015-03-25 阿里巴巴集团控股有限公司 地址解析协议arp报文的处理方法和装置
WO2016003490A1 (fr) * 2014-06-30 2016-01-07 Nicira, Inc. Codage d'informations de plan de commande dans un champ de port source de protocole de transport, et ses applications en virtualisation de réseau
CN106209634A (zh) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 地址映射关系的学习方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450798A (zh) * 2018-12-13 2019-03-08 郑州云海信息技术有限公司 路由表信息的管理方法和计算机可读存储介质

Also Published As

Publication number Publication date
CN108574637B (zh) 2022-09-27
CN108574637A (zh) 2018-09-25

Similar Documents

Publication Publication Date Title
CN102938794B (zh) 地址解析协议arp消息转发方法、交换机和控制器
CN108075956B (zh) 一种数据处理方法和装置
US10158561B2 (en) Data plane learning of bi-directional service chains
US10476796B2 (en) Packet processing method, and device and system
KR101997370B1 (ko) 사물 인터넷(iot)에서의 디바이스 로케이션 등록을 위한 서버
US9281955B2 (en) Interoperability of data plane based overlays and control plane based overlays in a network environment
US10263808B2 (en) Deployment of virtual extensible local area network
EP3070895B1 (fr) Procédé et système d'encapsulation d'identifiant de flux
CN106031104B (zh) 数据报文的转发方法、装置及设备
CN106412142B (zh) 一种资源设备地址获取方法及装置
CN108964940B (zh) 消息发送方法及装置、存储介质
CN106330718B (zh) 组播报文转发方法及装置
CN109379241B (zh) 一种路径信息确定方法及装置
US20160330167A1 (en) Arp Implementation Method, Switch Device, and Control Device
WO2016004556A1 (fr) Procédé, appareil et dispositif de traitement de flux de services
EP3313031A1 (fr) Procédé et appareil de réalisation d'arp basée sur un réseau défini par logiciel (sdn)
CN107547346B (zh) 一种报文传输方法和装置
US9553764B2 (en) Migration of guest bridge
CN105657078B (zh) 一种数据传输方法、装置及多层网络管理器
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
CN105207909A (zh) 一种发送信息的方法和网络装置
WO2018161827A1 (fr) Procédé et dispositif d'auto-apprentissage d'adresse, et commutateur
CN112468600B (zh) 一种基于网络矩阵的应用消息通知方法、系统及存储介质
WO2016173196A1 (fr) Procédé et appareil d'apprentissage de relation de mappage d'adresses
CN115334036B (zh) 智能控制源地址转换的方法和装置、电子设备和存储介质

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: 18763930

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: 18763930

Country of ref document: EP

Kind code of ref document: A1