WO2018205982A1 - 软件定义网络中广播、组播实现方法、装置及存储介质 - Google Patents

软件定义网络中广播、组播实现方法、装置及存储介质 Download PDF

Info

Publication number
WO2018205982A1
WO2018205982A1 PCT/CN2018/086436 CN2018086436W WO2018205982A1 WO 2018205982 A1 WO2018205982 A1 WO 2018205982A1 CN 2018086436 W CN2018086436 W CN 2018086436W WO 2018205982 A1 WO2018205982 A1 WO 2018205982A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
broadcast
packet
forwarding
layer
Prior art date
Application number
PCT/CN2018/086436
Other languages
English (en)
French (fr)
Inventor
许欣
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2018205982A1 publication Critical patent/WO2018205982A1/zh

Links

Images

Classifications

    • 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/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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/46Interconnection of networks
    • 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/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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

Definitions

  • This document relates to communication technologies, for example, to a broadcast, multicast implementation method, apparatus, and storage medium in a software-defined network.
  • Overlay network is a virtualized technology mode superimposed on the network architecture. It can implement the application bearer on the network without extensive modification of the basic network.
  • the IP-based basic network technology is mainly used. Can be separated from other network services.
  • the representative of the Overlay network is a Virtual Extensible Local Area Network (VXLAN), which is based on the Media Access Control in User Datagram Protocol (MAC-in-UDP). UDP transmission, high maturity, has a more obvious advantage.
  • VXLAN is a technology for encapsulating Layer 2 packets with Layer 3 protocols. It can extend the Layer 2 network in Layer 3. Each coverage area is called a VXLAN network segment (VXLAN segment) and is identified by a VXLAN Network Identifier (VNI) located in the VXLAN packet header.
  • VXLAN segment VXLAN network segment
  • VNI VXLAN Network Identifier
  • Overlay network is often combined with Software Defined Networking (SDN) technology.
  • SDN Software Defined Networking
  • the core idea is to separate the control and forwarding planes of the network and increase the flexibility and scalability of network management.
  • the control functions in the original network devices such as switches and routers are extracted and implemented by independent control software to form a control layer in the SDN.
  • the control functions in the original switches and routers are stripped from the infrastructure layer, and the control plane implements the forwarding management uniformly.
  • OpenFlow is a protocol that runs between the controller and the forwarding device in the SDN network.
  • the controller uses the OpenFlow protocol to write forwarding entries such as flow tables and group tables to the switch to complete control of the entire network.
  • SDN-managed Overlay networks also have broadcast and multicast service requirements.
  • One common method is to use the multicast function of the underlying network to implement broadcast and multicast transmission of the Overlay network.
  • the multicast function is not deployed on a large scale, so this method is greatly limited.
  • This paper provides a broadcast, multicast implementation method, device and storage medium in a software-defined network, which can implement broadcast multicast services in a software-defined network.
  • An embodiment of the present invention provides a broadcast implementation method in a software-defined network, including:
  • the virtual scalable LAN tunnel terminal receives broadcast packet forwarding control information sent by the software defined network controller
  • the virtual scalable LAN tunnel terminal receives the broadcast packet, and broadcasts the broadcast packet according to the broadcast packet forwarding control information.
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table is configured to: when the broadcast packet matches the Layer 2 broadcast address and the packet inflow port carried in the flow table, execute the group table corresponding to the flow table;
  • the group table is used to indicate that the broadcast message is copied and forwarded to a designated port.
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first group table is executed.
  • the second flow table is configured to indicate that when the ingress port of the packet is a tunnel port and matches the layer 2 broadcast address, the second group table is executed;
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that forwarding the broadcast message to the virtual scalable LAN tunnel terminal belongs to the second layer All the ports of the broadcast domain, the second group of tables is used to indicate that the broadcast message is copied and forwarded to all access ports belonging to the Layer 2 broadcast domain in the virtual scalable LAN tunnel terminal.
  • An embodiment of the present disclosure provides a broadcast implementation method in a software-defined network, including:
  • the software-defined network controller sends the broadcast packet forwarding control information to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements broadcast forwarding control of the broadcast message.
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table is configured to: when the broadcast packet matches the Layer 2 broadcast address and the packet inflow port carried in the flow table, execute the group table corresponding to the flow table;
  • the group table is used to indicate that the broadcast message is copied and forwarded to a designated port.
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first group table is executed.
  • the second flow table is configured to: when the ingress port of the packet is a tunnel port and match the layer 2 broadcast address, execute the second group table;
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that forwarding the broadcast message to the virtual scalable LAN tunnel terminal belongs to a layer 2 broadcast All the ports of the domain, the second group of tables is used to indicate that the broadcast message is copied and forwarded to all access ports belonging to the Layer 2 broadcast domain in the virtual scalable LAN tunnel terminal.
  • An embodiment of the present invention provides a multicast implementation method in a software-defined network, including:
  • the virtual scalable LAN tunnel terminal receives the multicast packet forwarding control information sent by the software defined network controller;
  • the virtual scalable LAN tunnel terminal receives the multicast packet, and performs multicast forwarding on the multicast packet according to the multicast packet forwarding control information.
  • the method further includes: receiving, by the software-defined network controller, a request for sending an Internet Group Management Protocol message sent by the software-defined network controller; and When receiving the Internet Group Management Protocol message, the virtual scalable LAN tunnel terminal sends the Internet Group Management Protocol message to the software defined network controller.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information
  • the multicast packet forwarding control information includes a media access control forwarding table and a Layer 2 multicast group table. among them,
  • the media access control forwarding table is configured to indicate that the multicast packet matches the Layer 2 broadcast domain carried in the media access control forwarding table, and when the Layer 2 multicast address and the packet are in the port, The Layer 2 multicast group table corresponding to the media access control forwarding table;
  • the Layer 2 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • the method further includes:
  • the software-defined network controller Receiving, by the software-defined network controller, an uplink sending rule that is sent by the software-defined network controller to send the protocol-independent multicast protocol packet; and the virtual scalable local area network tunnel terminal receives the protocol-independent When the protocol packet is multicast, the protocol-independent multicast protocol packet is sent to the software-defined network controller.
  • the multicast packet forwarding control information is Layer 3 multicast packet control information
  • the multicast packet forwarding control information includes:
  • the media access control termination table is configured to: when the multicast packet matches the multicast media access control address, terminate the Layer 2 forwarding, perform Layer 3 forwarding, and perform multicast corresponding to the media access control termination table.
  • Internet protocol forwarding table
  • the multicast internet protocol forwarding table is configured to perform the conversion with the multicast internet protocol when the multicast packet matches the three-layer multicast address and the packet inflow port carried in the multicast internet protocol forwarding table. Publish the corresponding three-layer multicast group table;
  • the Layer 3 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • An embodiment of the present invention provides a multicast implementation method in a software-defined network, including:
  • the software-defined network controller sends the multicast packet forwarding control information to the virtual scalable LAN tunnel terminal, so that the virtual scalable LAN tunnel terminal implements multicast forwarding of the multicast packet.
  • the method further includes: the software-defined network controller delivering a request for sending an Internet Group Management Protocol message to the virtual scalable LAN tunnel terminal; and, according to the The Internet Group Management Protocol message reported by the virtual scalable LAN tunnel terminal updates the multicast group list information.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information
  • the multicast packet forwarding control information includes a media access control forwarding table and a Layer 2 multicast group table. among them,
  • the media access control forwarding table is configured to indicate that the multicast packet matches the Layer 2 broadcast domain carried in the media access control forwarding table, and when the Layer 2 multicast address and the packet are in the port, The Layer 2 multicast group table corresponding to the media access control forwarding table;
  • the Layer 2 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • the method further includes: the software-defined network controller sends a virtual extended LAN tunnel terminal that is required to send the protocol-independent multicast protocol packet to the external router; Running a protocol-independent multicast protocol between the software-defined network controller and the external router; and the software-defined network controller sends a request for sending an Internet group management protocol packet to connect to the virtual machine and the physical
  • the virtual scalable LAN tunnel terminal of the machine updates the multicast group list information according to the Internet Group Management Protocol message reported by the virtual scalable LAN tunnel terminal.
  • the multicast packet forwarding control information is Layer 3 multicast packet control information
  • the multicast packet forwarding control information includes:
  • the media access control termination table is configured to: when the multicast packet matches the multicast media access control address, terminate the Layer 2 forwarding, perform Layer 3 forwarding, and perform multicast corresponding to the media access control termination table.
  • Internet protocol forwarding table
  • the multicast internet protocol forwarding table is configured to perform the conversion with the multicast internet protocol when the multicast packet matches the three-layer multicast address and the packet inflow port carried in the multicast internet protocol forwarding table. Publish the corresponding three-layer multicast group table;
  • the Layer 3 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • An embodiment of the present disclosure provides a broadcast implementation apparatus in a software-defined network, including:
  • control information receiving unit configured to receive broadcast packet forwarding control information sent by a software defined network controller
  • the forwarding unit is configured to receive a broadcast packet, and broadcast the broadcast packet according to the broadcast packet forwarding control information.
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table is configured to: when the broadcast packet matches the Layer 2 broadcast address and the packet inflow port carried in the flow table, execute the group table corresponding to the flow table;
  • the group table is used to indicate that the broadcast message is copied and forwarded to a designated port.
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first group table is executed.
  • the second flow table is configured to indicate that when the ingress port of the packet is a tunnel port and matches the layer 2 broadcast address, the second group table is executed;
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that forwarding the broadcast message to the virtual scalable LAN tunnel terminal belongs to a layer 2 broadcast All the ports of the domain, the second group of tables is used to indicate that the broadcast message is copied and forwarded to all access ports belonging to the Layer 2 broadcast domain in the virtual scalable LAN tunnel terminal.
  • An embodiment of the present disclosure provides a broadcast implementation apparatus in a software-defined network, including:
  • control information generating unit configured to generate broadcast packet forwarding control information
  • the sending unit is configured to send the broadcast packet forwarding control information to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements broadcast forwarding control of the broadcast message.
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table is configured to: when the broadcast packet matches the Layer 2 broadcast address and the packet inflow port carried in the flow table, execute the group table corresponding to the flow table;
  • the group table is used to indicate that the broadcast message is copied and forwarded to a designated port.
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first group table is executed.
  • the second flow table is configured to indicate that when the ingress port of the packet is a tunnel port and matches the layer 2 broadcast address, the second group table is executed;
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that forwarding the broadcast message to the virtual scalable LAN tunnel terminal belongs to a layer 2 broadcast All the ports of the domain, the second group of tables is used to indicate that the broadcast message is copied and forwarded to all access ports belonging to the Layer 2 broadcast domain in the virtual scalable LAN tunnel terminal.
  • An embodiment of the present invention provides a multicast implementation apparatus in a software-defined network, including:
  • control information receiving unit configured to receive multicast packet forwarding control information sent by a software-defined network controller
  • the forwarding unit is configured to receive the multicast packet, and perform multicast forwarding on the multicast packet according to the multicast packet forwarding control information.
  • control information receiving unit is further configured to: receive a sending rule that is sent by the software-defined network controller and that is required to send an Internet Group Management Protocol message;
  • the multicast implementation device in the software-defined network further includes a reporting unit configured to send the Internet Group Management Protocol message to the software-defined network controller when receiving the Internet Group Management Protocol message.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information
  • the multicast packet forwarding control information includes a media access control forwarding table and a Layer 2 multicast group table. among them:
  • the media access control forwarding table is configured to indicate that the multicast packet matches the Layer 2 broadcast domain carried in the media access control forwarding table, and when the Layer 2 multicast address and the packet are in the port, The Layer 2 multicast group table corresponding to the media access control forwarding table;
  • the Layer 2 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • control information receiving unit is further configured to receive a sending rule that is sent by the software-defined network controller and that is required to send a protocol-independent multicast protocol packet;
  • the multicast implementation device in the software-defined network further includes a reporting unit configured to send the protocol-independent multicast protocol packet to the software-defined network controller when receiving the protocol-independent multicast protocol packet.
  • the multicast packet forwarding control information is Layer 3 multicast packet control information
  • the multicast packet forwarding control information includes:
  • the media access control termination table is configured to: when the multicast packet matches the multicast media access control address, terminate the Layer 2 forwarding, perform Layer 3 forwarding, and perform multicast corresponding to the media access control termination table.
  • Internet protocol forwarding table
  • the multicast internet protocol forwarding table is configured to perform the conversion with the multicast internet protocol when the multicast packet matches the three-layer multicast address and the packet inflow port carried in the multicast internet protocol forwarding table. Publish the corresponding three-layer multicast group table;
  • the Layer 3 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • An embodiment of the present invention provides a multicast implementation apparatus in a software-defined network, including:
  • control information generating unit configured to generate multicast packet forwarding control information
  • the sending unit is configured to send the multicast packet forwarding control information to the virtual scalable LAN tunnel terminal, so that the virtual scalable LAN tunnel terminal implements multicast forwarding of the multicast packet.
  • control information generating unit is further configured to send an uplink sending rule for sending an Internet Group Management Protocol message to the virtual scalable local area network tunnel terminal; according to the virtual scalable local area network tunnel terminal
  • the reported Internet Group Management Protocol message updates the multicast group list information.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information
  • the multicast packet forwarding control information includes a media access control forwarding table and a Layer 2 multicast group table. among them,
  • the media access control forwarding table is configured to indicate that the multicast packet matches the Layer 2 broadcast domain carried in the media access control forwarding table, and when the Layer 2 multicast address and the packet are in the port, a Layer 2 multicast group table corresponding to the media access control forwarding table;
  • the Layer 2 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • control information generating unit is further configured to send a request for sending a protocol-independent multicast protocol packet to a virtual scalable LAN tunnel terminal connected to an external router; and the external router Running a protocol-independent multicast protocol between the two; and issuing a request for sending the Internet Group Management Protocol message to the virtual scalable LAN tunnel terminal connecting the virtual machine and the physical machine, according to the virtual scalable LAN tunnel terminal
  • the reported Internet Group Management Protocol message updates the multicast group list information.
  • the multicast packet forwarding control information is Layer 3 multicast packet control information
  • the multicast packet forwarding control information includes:
  • the media access control termination table is configured to: when the multicast packet matches the multicast media access control address, terminate the Layer 2 forwarding, perform Layer 3 forwarding, and perform multicast corresponding to the media access control termination table.
  • Internet protocol forwarding table
  • the multicast internet protocol forwarding table is configured to perform the conversion with the multicast internet protocol when the multicast packet matches the three-layer multicast address and the packet inflow port carried in the multicast internet protocol forwarding table. Publish the corresponding three-layer multicast group table;
  • the Layer 3 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • An embodiment of the present invention provides a broadcast implementation apparatus in a software-defined network, including a memory and a processor, where the memory stores a broadcast control program, and when executed by the processor, the broadcast control program performs the following operations:
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first flow table is executed;
  • the second group table is executed when the inbound port of the packet is a tunnel port and matches the Layer 2 broadcast address.
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that forwarding the broadcast message to the virtual scalable LAN tunnel terminal belongs to a layer 2 broadcast All the ports of the domain, the second group of tables is used to indicate that the broadcast message is copied and forwarded to all access ports belonging to the Layer 2 broadcast domain in the virtual scalable LAN tunnel terminal.
  • An embodiment of the present disclosure provides a broadcast implementation apparatus in a software-defined network, including a memory and a processor, where the memory stores a broadcast control program, and when executed by the processor, the broadcast control program performs the following operations:
  • the broadcast packet forwarding control information is sent to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements broadcast forwarding control of the broadcast message.
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first flow table is executed; Used to indicate that when the ingress port of the packet is a tunnel port and matches the Layer 2 broadcast address, the second group table is executed.
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that forwarding the broadcast message to the virtual scalable LAN tunnel terminal belongs to a layer 2 broadcast All the ports of the domain, the second group of tables is used to indicate that the broadcast message is copied and forwarded to all access ports belonging to the Layer 2 broadcast domain in the virtual scalable LAN tunnel terminal.
  • An embodiment of the present invention provides a multicast implementation apparatus in a software-defined network, including a memory and a processor, where the memory stores a broadcast control program, and when executed by the processor, the broadcast control program performs the following operations:
  • the broadcast control program when executed by the processor, further performs the following operations:
  • the broadcast control program when executed by the processor, further performs the following operations:
  • the software defines a network controller.
  • An embodiment of the present disclosure provides a multicast implementation apparatus in a software-defined network, including a memory and a processor, where the memory stores a multicast control program, and when executed by the processor, the multicast control program performs the following operations: :
  • the multicast control program when executed by the processor, further performs the following operations:
  • the multicast control program when executed by the processor, further performs the following operations:
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • the broadcast packet forwarding control information is sent to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements broadcast forwarding control of the broadcast message.
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • the SDN controller maintains the entire network topology by using software-defined network technology, and runs Internet Group Management Protocol (IGMP) and Protocol Independent Multicast (PIM).
  • IGMP Internet Group Management Protocol
  • PIM Protocol Independent Multicast
  • a multicast-related protocol such as a protocol, implements forwarding control for Layer 2 broadcast, Layer 2 multicast, and Layer 3 multicast in the Overlay network, so that broadcast multicast can also be implemented when the broadcast multicast function is not deployed on the underlying network.
  • FIG. 1 is a schematic diagram of a controller management Overlay network in Embodiment 1 of the present invention.
  • FIG. 2 is a flowchart of a method for implementing broadcast in an SDN network according to Embodiment 2 of the present disclosure
  • FIG. 3 is a flowchart of a method for implementing Layer 2 multicast in a three-SDN network according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of a controller management Overlay network in Embodiment 4 of the present invention.
  • FIG. 5 is a flowchart of a method for implementing Layer 3 multicast in a four-SDN network according to an embodiment of the present invention
  • FIG. 6 is a block diagram of a broadcast implementation apparatus in a software-defined network according to an embodiment of the present invention.
  • FIG. 7 is a block diagram of a broadcast implementation apparatus in a software-defined network according to an embodiment of the present invention.
  • FIG. 8 is a block diagram of a multicast implementation apparatus in a software-defined network according to an embodiment of the present invention.
  • FIG. 9 is a block diagram of a multicast implementation apparatus in a software-defined network according to an embodiment of the present invention.
  • the SDN controller establishes an OpenFlow connection with the VXLAN Tunneling End Point (VTEP) in the Overlay network, collects network link information, runs host learning and Address Resolution Protocol (ARP) learning, and maintains the overall physical and network of the network. Virtual topology.
  • VXLAN Tunneling End Point VXLAN Tunneling End Point
  • ARP Address Resolution Protocol
  • An embodiment of the present disclosure provides a broadcast implementation method in a software-defined network, including:
  • the virtual scalable LAN tunnel terminal VTEP receiving software defines the broadcast packet forwarding control information sent by the network SDN controller
  • the VTEP receives the broadcast packet, and broadcasts the broadcast packet according to the broadcast packet forwarding control information.
  • the broadcast packet forwarding control information includes a flow table and a group table, where:
  • the flow table is configured to: when the broadcast packet matches the Layer 2 broadcast address and the packet inflow port carried in the flow table, execute the group table corresponding to the flow table;
  • the group table is used to indicate that the broadcast message is copied and forwarded to a designated port.
  • an implementation of the flow table and the group table is as follows:
  • the flow table includes a first flow table and a second flow table, where the first flow table is used to indicate that the ingress port of the packet is an access port and matches the Layer 2 broadcast address, and the first flow table is executed;
  • the second group table is executed when the inbound port of the packet is a tunnel port and matches the Layer 2 broadcast address.
  • the group table includes the first group table and the second group table, where the first group table is used to indicate that the broadcast message is copied and forwarded to all ports belonging to the layer B broadcast domain in the VTEP.
  • the second group of tables is used to indicate that the broadcast packet is copied and forwarded to all access ports of the VTEP that belong to the Layer 2 broadcast domain.
  • the VTEP receives the broadcast packet, and performs broadcast forwarding on the broadcast packet according to the broadcast packet forwarding control information, including:
  • the VTEP receives the broadcast packet, and when the broadcast packet matches the first flow table, the first group table is executed, and the broadcast packet is copied and forwarded to all the VTEPs belonging to the second layer broadcast domain. port;
  • the second group table is executed, and the broadcast packet is copied and forwarded to all access ports of the VTEP that belong to the Layer 2 broadcast domain.
  • An embodiment of the present disclosure provides a broadcast implementation method in a software-defined network, including:
  • the software-defined network SDN controller sends the broadcast packet forwarding control information to the virtual scalable local area network tunnel terminal VTEP, so that the VTEP implements broadcast forwarding control of the broadcast message.
  • An embodiment of the present invention provides a multicast implementation method in a software-defined network, including:
  • the virtual scalable LAN tunnel terminal VTEP receiving software defines the multicast packet forwarding control information sent by the network SDN controller
  • the VTEP receives the multicast packet, and performs multicast forwarding on the multicast packet according to the multicast packet forwarding control information.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information.
  • the multicast implementation method in the software-defined network further includes: receiving, by the VTEP, a sending rule that is sent by the SDN controller to send an Internet group management protocol packet; and receiving, by the VTEP, an Internet group management protocol At the time of the message, an Internet Group Management Protocol message is sent to the SDN controller.
  • the multicast packet forwarding control information includes a media access control forwarding table and a layer 2 multicast group table;
  • the media access control forwarding table is configured to indicate that the multicast packet matches the Layer 2 broadcast domain carried in the media access control forwarding table, and when the Layer 2 multicast address and the packet are in the port, The Layer 2 multicast group table corresponding to the media access control forwarding table;
  • the Layer 2 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • the multicast packet forwarding control information is Layer 3 multicast packet control information.
  • the multicast implementation method in the software-defined network further includes:
  • the VTEP receives a request for sending a protocol-independent multicast protocol packet sent by the software-defined network controller; and when the VTEP receives the protocol-independent multicast protocol packet, sending the protocol-independent multicast Protocol message to the software defined network controller.
  • the multicast packet forwarding control information includes:
  • the media access control termination table is configured to: when the multicast packet matches the multicast media access control address, terminate the Layer 2 forwarding, perform Layer 3 forwarding, and perform multicast corresponding to the media access control termination table.
  • Internet protocol forwarding table
  • the multicast internet protocol forwarding table is configured to perform the conversion with the multicast internet protocol when the multicast packet matches the three-layer multicast address and the packet inflow port carried in the multicast internet protocol forwarding table. Publish the corresponding three-layer multicast group table;
  • the Layer 3 multicast group table is used to indicate that the multicast packet is copied and forwarded to a designated port.
  • An embodiment of the present invention provides a multicast implementation method in a software-defined network, including:
  • the software-defined network SDN controller sends the multicast packet forwarding control information to the virtual scalable local area network tunnel terminal VTEP, so that the VTEP implements multicast forwarding of the multicast packet.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information
  • the method further includes: the software-defined network controller sends a request to send an Internet group management protocol packet. And sending the rule to the VTEP; and updating the multicast group list information according to the Internet Group Management Protocol message reported by the VTEP.
  • the multicast packet forwarding control information is Layer 3 multicast packet control information.
  • the method further includes: the software-defined network controller sends a request for sending a protocol-independent multicast protocol message to a VTEP connected to an external router; the software defines a network controller and the external router Running the protocol-independent multicast protocol; and the software-defined network controller sends the VTEP requesting the delivery of the Internet Group Management Protocol message to the VTEP connecting the virtual machine and the physical machine, according to being disconnected from the external router
  • the Internet Group Management Protocol message reported by the VTEP updates the multicast group list information.
  • the software defines the network technology
  • the controller maintains the entire network topology, runs IGMP, PIM and other multicast-related protocols, and implements forwarding control for Layer 2 broadcast, Layer 2 multicast, and Layer 3 multicast in the Overlay network.
  • the following embodiments are methods for performing broadcast and multicast forwarding control through an SDN controller based on an OpenFlow environment. It should be noted that the solution in the embodiments herein may also be applied to other software-defined networks.
  • FIG. 1 shows the system architecture of the SDN controller controlling multiple independent VTEPs through the OpenFlow protocol.
  • the system includes: an SDN controller, a VTEP, and a host connected to the VTEP, wherein the host includes at least one of a virtual machine (VM) and a physical host.
  • VM virtual machine
  • the VTEPs can be physical switches such as DPID 1 and DPID 2 or virtual switches (vSwitches) running in the server, such as DPID 3.
  • An NFS controller establishes an OpenFlow connection with each VTEP; the physical host and the virtual machine access the VXLAN network through the VTEP.
  • host 1 Host 1
  • host 2 Host 2
  • host 1 Host 1
  • VM1 to VM3 in host 3
  • VM 4 to VM 6 in host 4 (Host 4)
  • virtual host DPID 2 VM7 to VM9 attached to DPID 3.
  • the SDN controller can maintain the overlay topology by manually configuring or actively detecting the VXLAN tunnel.
  • the SDN controller sends a rule to the VTEP, and sends the packet to the SDN controller for the packet of the specified protocol and the missed packet.
  • the packet that is not matched is the signature information of the packet. If the group table or the flow table does not match, the action cannot be performed according to the corresponding group table or flow table.
  • the SDN controller performs media access control (MAC) and address resolution protocol (ARP) learning, and sends the flow table and group table to guide the VTEP to perform Layer 2 or Layer 3 forwarding, including broadcast and multicast. .
  • MAC media access control
  • ARP address resolution protocol
  • the SDN controller controls the VTEP, and sends forwarding entries such as a flow table and a group table to implement forwarding control of Layer 2 broadcast packets.
  • This embodiment is based on the network topology shown in FIG. As shown in FIG. 2, the method for controlling Layer 2 L2 broadcast forwarding provided in Embodiment 2 includes Step 201, Step 202, Step 203 and Step 204.
  • step 201 the SDN controller configures a Vxlan network identifier (vni) to which the host belongs.
  • the host includes at least one of a physical host and a VM.
  • the vni of the virtual machine or the physical host may be specified in various forms such as a VLAN, a port, a VLAN, and a MAC.
  • step 202 the SDN controller maintains a list of member ports in the vni.
  • the virtual Layer 2 network vni 100 includes the following five members:
  • Port 11 under DPID 1 (Host 1 is attached);
  • Port 21 (Port 21) + VLAN 100 under DPID 2 (mounting VM 1 in Host 3);
  • Port 31 (Port 31) under DPID 3 (mounting VM 7);
  • Port 32 (Port 32) under DPID 3 (mounting VM 8).
  • the SDN controller maintains the group table according to the VTEP interconnection relationship and the port vni attribution in the overlap topology, and delivers the group table to each VTEP.
  • the SDN controller sends a flow table (also called a MAC forwarding table), matches the L2 broadcast address, and specifies the broadcast packet to use the group table for VTEP head end copy forwarding.
  • a flow table also called a MAC forwarding table
  • the broadcast traffic received by the VTEP from the tunnel port cannot be sent to other tunnels. You can use the following two methods.
  • VTEP has the ability to distinguish between the tunnel port (the port connected to another VTEP) and the access port (the port connected to the host), it can achieve horizontal splitting.
  • the SDN controller delivers two group tables for each Layer 2 forwarding domain.
  • One group table includes all tunnel ports and access ports, and the other group table only Including the access port; the delivered MAC forwarding table matches the L2 broadcast address and also matches the packet entry type, and selects different group table forwarding.
  • the flow table and group table sent by the SDN controller to each VTEP are as follows:
  • the flow table is configured to match the L2 broadcast address and the inbound port of the packet, and the action is to use the group table, that is, when the packet matches the Layer 2 broadcast address and the packet inflow port carried in the flow table, the group corresponding to the flow table is executed. table;
  • Group table Contains multiple buckets, indicating that the packets are copied and output to multiple ports.
  • the flow table and group table sent to DPID 1 are as follows:
  • the flow table is as follows:
  • the meaning of the entry Flow entry 1 is: when the packet matches Flow entry 1, the group entry1 is executed; the entry of the entry Flow entry 2 is: when the packet matches Flow entry 2, Group entry2 is executed.
  • the group table is as follows:
  • the first set of tables is: Group entry 1 (group type: all): bucket 1 (output port 11), bucket 2 (output port 13), bucket 3 (output port 14);
  • the second set of tables is: Group entry 2 (group type: all): bucket 1 (output port 11).
  • the meaning of the entry Group entry 1 is: copy the packet to port 11, port 13, and port 14.
  • the meaning of the entry Group entry 2 is: copy the message to port 11.
  • Group type is a group table type, where all means all buckets in the execution group. The meanings of the subsequent entries in this paper are deduced by analogy and will not be described again.
  • the flow table and group table sent to DPID 2 are as follows:
  • Group entry 1 (group type: all): bucket 1 (push vlan, set vlan-id 100, output port 21), bucket 2 (push vlan, set vlan-id 100, output port 22), bucket 3 (output port 23 ), bucket 4 (output port 24).
  • Group entry 2 (group type: all): bucket 1 (push vlan, set vlan-id 100, output port 21), bucket 2 (push vlan, set vlan-id 200, output port 22).
  • the flow table and group table sent to DPID 3 are as follows:
  • Group entry 1 (group type: all): bucket 1 (output port 31), bucket 2 (output port 32), bucket 3 (output port 34), bucket 4 (output port 35).
  • Group entry 2 (group type: all): bucket 1 (output port 31), bucket 2 (output port 32).
  • the VTEP receives the L2 broadcast packet, matches the flow table, and copies and forwards the broadcast packet in the specified L2 broadcast domain according to the group table referenced by the flow table.
  • the VM 7 under the DPID 3 issues a broadcast message.
  • the DPID 3 receives the packet from the access port port 31, matches the Flow entry 1 entry in the flow table, performs the action in the group entry 1, and sends the packet to the port 32 (VM 8), port 34 (DPID 1), and Port 35 (DPID 2).
  • the DPID 1 receives the packet from the tunnel port port 13 and matches the Flow entry 2 entry in the flow table. The action in the group entry 2 is executed, and the packet is sent to the port 11 (VM 1).
  • the DPID 2 receives the packet from the tunnel port port 24, matches the Flow entry 2 entry in the flow table, performs the action in the group entry 2, and sends the packet to the VLAN 100 to the port 21 (VM 1) and the VLAN 200 to the VLAN 200. Port 22 (VM4).
  • the SDN controller runs the Internet Group Management Protocol Snooping (IGMP Snooping), and the SDN controller controls the VTEP, and delivers forwarding entries such as a flow table and a group table to implement the Layer 2 group. Forwarding control of broadcast messages.
  • the flow table includes a MAC forwarding table.
  • FIG. 3 is a flowchart of a method for controlling L2 multicast forwarding according to Embodiment 3 of the present invention. As shown in FIG. 3, the method for controlling L2 multicast forwarding provided in Embodiment 3 includes Step 301, Step 302, Step 303, and Step 304.
  • step 301 the SDN controller sends a flow table to the VTEP, requesting to send an IGMP message.
  • step 302 after receiving the IGMP message from the access port, the VTEP matches the IGMP message to the ISDN message and sends the IGMP message to the SDN controller.
  • the SDN controller records the ports that join and leave the multicast group according to the IGMP messages and maintains the multicast group list information.
  • a VM or a physical host When a VM or a physical host joins or quits a multicast group, it sends IGMP messages to the VTEP.
  • step 303 the SDN controller maintains the L2 multicast group table according to the overlap topology, the vni, and the multicast group attribution, and delivers the L2 multicast group table to the VTEP.
  • the SDN controller sends the following entry:
  • the MAC forwarding table indicates that the packet matches the Layer 2 broadcast domain.
  • the corresponding L2 multicast group table is executed.
  • the L2 multicast group table contains multiple buckets, indicating that the packets are copied and output to multiple designated ports.
  • step 304 the VTEP receives the L2 multicast packet, matches the MAC forwarding table, and performs the replication and forwarding of the packet in the specified L2 multicast domain according to the L2 multicast group table referenced by the MAC forwarding table. 204 is similar.
  • an Internet Group Management Protocol (IGMP) is run between the SDN controller and the host, and a Protocol Independent Multicast (PIM) protocol is used to control the VTEP.
  • PIM Protocol Independent Multicast
  • the flow table includes a MAC termination table and a multicast protocol (Internet Protocol, IP) forwarding table, in the forwarding table, such as a flow table and a group table.
  • IP Internet Protocol
  • This embodiment is based on the network topology shown in FIG. 4, and includes three VTEPs including DPID1, DPID2, and DPID3, wherein DPID 1 is a VXLAN gateway, and is connected to router 40 in the conventional network, DPID 2 and DPID. 3 is a normal VTEP.
  • the method for controlling the VTEP to perform L3 multicast forwarding by the SDN controller includes step 401, step 402, step 403, and step 404.
  • the SDN controller sends a flow table to the DPID 2 and the DPID 3, and requests the IGMP message to be sent.
  • the SDN controller sends an IGMP message through the packet-out message (a message provided in OpenFlow) to respond to the host's IGMP message.
  • the SDN controller runs the IGMP protocol with the host connected to the VTEP.
  • the SDN controller also maintains a list of IP multicast groups joined by hosts in the SDN domain.
  • step 402 the SDN controller sends a flow table to the gateway device DPID 1 that is interconnected with the external router, and requests the PIM message to be sent.
  • the SDN controller sends PIM packets through the packet-out. In this way, the SDN controller and the external router run the PIM protocol to advertise the multicast group that the host in the SDN domain joins.
  • step 403 the SDN controller maintains the L3 multicast group table according to the overlay topology, vni, and multicast group attribution.
  • the SDN controller sends the following entries to the VXLAN gateway and the common VTEP:
  • the MAC termination table specifies the multicast MAC address, terminates the Layer 2 forwarding, and performs Layer 3 forwarding. When the packet matches the multicast MAC address, it terminates the Layer 2 forwarding, performs Layer 3 forwarding, and executes the corresponding multicast IP forwarding table.
  • the multicast IP forwarding table matches the multicast packets and uses the L3 multicast group table for replication and forwarding.
  • the indication is that the packet matches the L3 multicast address and the inbound port of the multicast IP forwarding table. L3 multicast group table.
  • the L3 multicast group table including multiple buckets that need to be copied and sent with multicast packets, indicates that the packets are copied and forwarded to the specified port.
  • the normal VTEP (DPID 2 and DPID 3) and the VXLAN gateway (DPID 1) receive the L3 multicast packet, match the MAC termination table and the multicast IP forwarding table, and refer to the L3 group referenced by the multicast IP forwarding table.
  • the multicast group replicates and forwards multicast packets in the specified L3 multicast domain.
  • An embodiment of the present invention provides a broadcast implementation apparatus in a software-defined network. As shown in FIG. 6, the control information receiving unit 601 and the forwarding unit 602 are included.
  • the control information receiving unit 601 is configured to receive broadcast packet forwarding control information sent by the software defined network controller.
  • the forwarding unit 602 is configured to receive a broadcast packet, and broadcast the broadcast packet according to the broadcast packet forwarding control information.
  • An embodiment of the present disclosure provides a broadcast implementation apparatus in a software-defined network. As shown in FIG. 7, the control information generating unit 701 and the sending unit 702 are included.
  • the control information generating unit 701 is configured to generate broadcast or multicast packet forwarding control information.
  • the sending unit 702 is configured to send the broadcast or multicast packet forwarding control information to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements broadcast or multicast forwarding control of the message.
  • An embodiment of the present invention provides a multicast implementation apparatus in a software-defined network. As shown in FIG. 8, the control information receiving unit 801 and the forwarding unit 802 are included.
  • the control information receiving unit 801 is configured to receive the multicast packet forwarding control information sent by the software-defined network controller.
  • the forwarding unit 802 is configured to receive the multicast packet, and perform multicast forwarding on the multicast packet according to the multicast packet forwarding control information.
  • control information receiving unit 801 is further configured to receive a sending rule that is sent by the software-defined network controller and that is required to send an Internet Group Management Protocol message;
  • the multicast implementation device in the software-defined network further includes a reporting unit 803, configured to send the Internet Group Management Protocol message to the software-defined network controller when receiving an Internet Group Management Protocol message.
  • control information receiving unit 801 is further configured to receive a sending rule that is sent by the software-defined network controller and that is required to send a protocol-independent multicast protocol message.
  • the reporting unit 803 is further configured to: when receiving the protocol-independent multicast protocol packet, send the protocol-independent multicast protocol packet to the software-defined network controller.
  • the multicast packet forwarding control information is Layer 2 multicast packet control information or Layer 3 multicast packet control information.
  • An embodiment of the present invention provides a multicast implementation apparatus in a software-defined network. As shown in FIG. 9, the control information generating unit 901 and the sending unit 902 are included.
  • the control information generating unit 901 is configured to generate multicast packet forwarding control information.
  • the sending unit 902 is configured to send the multicast packet forwarding control information to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements multicast forwarding of the multicast message.
  • control information generating unit 901 is further configured to send a sending rule for sending an Internet Group Management Protocol message to the virtual scalable local area network tunnel terminal; according to the virtual scalable local area network tunnel terminal
  • the reported Internet Group Management Protocol message updates the multicast group list information.
  • control information generating unit 901 is further configured to send a request for sending a protocol-independent multicast protocol message to a virtual scalable LAN tunnel terminal connected to an external router; and the external router Running a protocol-independent multicast protocol between the two parties; and issuing a delivery rule for sending the Internet Group Management Protocol message to the virtual scalable LAN tunnel terminal connecting the virtual machine and the physical machine, according to the disconnection from the external router
  • the Internet Group Management Protocol message reported by the virtual scalable LAN tunnel terminal updates the multicast group list information.
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • the broadcast packet forwarding control information is sent to the virtual scalable local area network tunnel terminal, so that the virtual scalable local area network tunnel terminal implements broadcast forwarding control of the broadcast message.
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • An embodiment of the present disclosure provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following steps:
  • the computer readable storage medium includes, 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 an optical disk.
  • ROM read-only memory
  • RAM random access memory
  • mobile hard disk a magnetic disk
  • magnetic disk a magnetic disk
  • optical disk a magnetic disk that stores digital versatile disc
  • An embodiment of the present invention further provides a broadcast implementation system in a software-defined network, including the above-described software-defined network controller and at least one of the above-described virtual scalable local area network tunnel terminals.
  • the above embodiment uses OpenFlow as an example to describe the control of the forwarding device by the controller.
  • Other standard protocols or custom protocols may also be used.
  • the above units if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention or all or part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in the various embodiments herein.
  • the foregoing storage medium includes: a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk, and the like, which can store program codes. .
  • the controller performs broadcast and multicast forwarding control, so that broadcast multicast can also be implemented when the broadcast multicast function is not deployed on the underlying network.

Landscapes

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

Abstract

一种软件定义网络中广播实现方法和装置、组播实现方法和装置,以及计算机可读存储介质。该方法包括:虚拟可扩展局域网隧道终端接收软件定义网络控制器发送的广播报文转发控制信息;所述虚拟可扩展局域网隧道终端接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。

Description

软件定义网络中广播、组播实现方法、装置及存储介质 技术领域
本文涉及通信技术,例如涉及一种软件定义网络中广播、组播实现方法、装置及存储介质。
背景技术
叠加(Overlay)网络是一种网络架构上叠加的虚拟化技术模式,可以在对基础网络不进行大规模修改的情况下,实现应用在网络上的承载,基于IP的基础网络技术为主,并能与其它网络业务分离。Overlay网络的代表是虚拟可扩展局域网(Virtual Extensible Local Area Network,VXLAN),采用在用户数据报协议中封装媒体接入控制(Media Access Control in User Datagram Protocol,MAC-in-UDP),相关通用的UDP传输,成熟度极高,具有更明显的优势。VXLAN是一种将二层报文用三层协议进行封装的技术,可以对二层网络在三层范围进行扩展。每个覆盖域被称为VXLAN网段(VXLAN segment),由位于VXLAN数据包头中的虚拟可扩展局域网网络标识(VXLAN Network Identifier,简称vni)进行标识。
Overlay网络经常与软件定义网络(Software Defined Networking,SDN)技术结合,是一种新型网络创新架构,核心思想是将网络的控制和转发平面分离,增加网络管理的灵活性和可扩展性。将原有的交换机和路由器等网络设备中的控制功能抽取出来,采用独立的控制软件来实现,形成SDN中的控制层。原有的交换机和路由器中的控制功能都从基础设施层剥离,由控制面统一实施转发管理。OpenFlow是SDN网络中运行在控制器与转发设备间的一种协议,控制器通过OpenFlow协议,向交换机写入流表和组表等转发表项,完成对整个网络的控制。
类似于传统网络,SDN管理的Overlay网络中也有广播和组播的业务需求。常用的一种方式是利用底层网络的组播功能实现Overlay网络的广播和组播发送。然而实际上在传统网络中,尤其是广域网络中,组播功能并无大规模部署,因此这种方式会受到很大限制。
发明内容
本文提供一种软件定义网络中广播、组播实现方法、装置及存储介质,可以实现软件定义网络中的广播组播业务。
本文一实施例提供了一种软件定义网络中广播实现方法,包括:
虚拟可扩展局域网隧道终端接收软件定义网络控制器发送的广播报文转发控制信息;
所述虚拟可扩展局域网隧道终端接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
在本文一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
所述组表用于指示将所述广播报文复制转发到指定端口。
在本文一实施例中,所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中广播实现方法,包括:
软件定义网络控制器发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
在本文一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
所述组表用于指示将所述广播报文复制转发到指定端口。
在本文一实施例中,所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示:报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中组播实现方法,包括:
虚拟可扩展局域网隧道终端接收软件定义网络控制器发送的组播报文转发控制信息;
所述虚拟可扩展局域网隧道终端接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
在本文一实施例中,所述方法还包括:所述虚拟可扩展局域网隧道终端接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;以及,所述虚拟可扩展局域网隧道终端接收到所述互联网组管理协议报文时,发送所述互联网组管理协议报文至所述软件定义网络控制器。
在本文一实施例中,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的所述二层组播组表;
所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
在本文一实施例中,所述方法还包括:
所述虚拟可扩展局域网隧道终端接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则;以及,所述虚拟可扩展局域网隧道终端接收到所述协议无关组播协议报文时,发送所述协议无关组播协议报文至所述软件定义网络控制器。
在本文一实施例中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
本文一实施例提供一种软件定义网络中组播实现方法,包括:
软件定义网络控制器发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
在本文一实施例中,所述方法还包括:所述软件定义网络控制器下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;以及,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
在本文一实施例中,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的所述二层组播组表;
所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
在本文一实施例中,所述方法还包括:所述软件定义网络控制器下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;所述软件定义网络控制器与所述外部路由器之间运行协议无关组播协议;以及,所述软件定义网络控制器下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信 息。
在本文一实施例中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
本文一实施例提供一种软件定义网络中广播实现装置,包括:
控制信息接收单元,设置为接收软件定义网络控制器发送的广播报文转发控制信息;
转发单元,设置为接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
在本文一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
所述组表用于指示将所述广播报文复制转发到指定端口。
在本文一实施例中,所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中广播实现装置,包括:
控制信息生成单元,设置为生成广播报文转发控制信息;
发送单元,设置为发送所述广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
在本文一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表用于指示所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
所述组表用于指示将所述广播报文复制转发到指定端口。
在本文一实施例中,所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中组播实现装置,包括:
控制信息接收单元,设置为接收软件定义网络控制器发送的组播报文转发控制信息;
转发单元,设置为接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
在本文一实施例中,所述控制信息接收单元还设置为,接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;
所述软件定义网络中组播实现装置还包括上报单元,设置为接收到所述互联网组管理协议报文时,发送所述互联网组管理协议报文至所述软件定义网络控制器。
在本文一实施例中,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表,其中:
所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转 发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的所述二层组播组表;
所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
在本文一实施例中,所述控制信息接收单元还设置为接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则;
所述软件定义网络中组播实现装置还包括上报单元,设置为接收到所述协议无关组播协议报文时,发送所述协议无关组播协议报文至所述软件定义网络控制器。
在本文一实施例中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
本文一实施例提供一种软件定义网络中组播实现装置,包括:
控制信息生成单元,设置为生成组播报文转发控制信息;
发送单元,设置为发送所述组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
在本文一实施例中,所述控制信息生成单元还设置为下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
在本文一实施例中,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的二层组播组表;
所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
在本文一实施例中,所述控制信息生成单元还设置为下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;与所述外部路由器之间运行协议无关组播协议;以及,下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据所述虚拟可扩展局域网隧道终端上报的互联网组管理协议报文更新组播组列表信息。
在本文一实施例中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
本发明一实施例提供一种软件定义网络中广播实现装置,包括存储器和处理器,所述存储器存储有广播控制程序,所述广播控制程序在被所述处理器执行时,执行以下操作:
接收软件定义网络控制器发送的广播报文转发控制信息;
以及,接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
在本文一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文 入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中广播实现装置,包括存储器和处理器,所述存储器存储有广播控制程序,所述广播控制程序在被所述处理器执行时,执行以下操作:
发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
在本文一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示:报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中组播实现装置,包括存储器和处理器,所述存储器存储有广播控制程序,所述广播控制程序在被所述处理器执行时,执行以下操作:
接收软件定义网络控制器发送的组播报文转发控制信息;
以及,接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
在本文一实施例中,所述广播控制程序在被所述处理器执行时,还执行以下操作:
接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;以及,接收到所述互联网组管理协议报文时,发送所述互联网组管理 协议报文至所述软件定义网络控制器。
在本文一实施例中,所述广播控制程序在被所述处理器执行时,还执行以下操作:
接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则,以及,接收到所述协议无关组播协议报文时,发送所述协议无关组播协议报文至所述软件定义网络控制器。
本文一实施例提供一种软件定义网络中组播实现装置,包括存储器和处理器,所述存储器存储有组播控制程序,所述组播控制程序在被所述处理器执行时,执行以下操作:
发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
在本文一实施例中,所述组播控制程序在被所述处理器执行时,还执行以下操作:
下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;以及,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
在本文一实施例中,所述组播控制程序在被所述处理器执行时,还执行以下操作:
下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;所述软件定义网络控制器与所述外部路由器之间运行协议无关组播协议;以及,下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
接收软件定义网络控制器发送的广播报文转发控制信息;
以及,接收广播报文,并根据所述广播报文转发控制信息对所述广播报文 进行广播转发。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
接收软件定义网络控制器发送的组播报文转发控制信息;
以及,接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
与相关技术相比,本文实施例中,利用软件定义网络技术,SDN控制器维护整网拓扑,运行互联网组管理协议(Internet Group Management Protocol,IGMP)、协议无关组播(Protocol Independent Multicast,PIM)协议等组播相关协议,对Overlay网络中的二层广播、二层组播和三层组播实现转发控制,从而在底层网络未部署广播组播功能时,也能实现广播组播。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
附图用来提供对本文技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本文的技术方案,并不构成对本文技术方案的 限制。
图1是本文实施例一的控制器管理Overlay网络的示意图;
图2是本文实施例二SDN网络中广播实现方法流程图;
图3是本文实施例三SDN网络中二层组播实现方法流程图;
图4是本文实施例四的控制器管理Overlay网络的示意图;
图5是本文实施例四SDN网络中三层组播实现方法流程图;
图6为本文一实施例软件定义网络中广播实现装置框图;
图7为本文一实施例软件定义网络中广播实现装置框图;
图8为本文一实施例软件定义网络中组播实现装置框图;
图9为本文一实施例软件定义网络中组播实现装置框图。
具体实施方式
下文中将结合附图对本文的实施例进行详细说明。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
SDN控制器与Overlay网络中的VXLAN隧道终端(VXLAN Tunneling End Point,VTEP)建立OpenFlow连接,收集网络链路信息,运行主机学习和地址解析协议(Address Resolution Protocol,ARP)学习,维护网络整体物理和虚拟拓扑情况。
本文一实施例提供一种软件定义网络中广播实现方法,包括:
虚拟可扩展局域网隧道终端VTEP接收软件定义网络SDN控制器发送的广播报文转发控制信息;
所述VTEP接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
在一实施例中,所述广播报文转发控制信息包括流表和组表,其中:
所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
所述组表用于指示将所述广播报文复制转发到指定端口。
在本文一实施例中,流表和组表的一种实现如下:
所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述VTEP中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述VTEP中属于二层广播域的所有接入端口。
在一实施例中,所述VTEP接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发包括:
所述VTEP接收广播报文,当所述广播报文匹配所述第一流表时,执行所述第一组表,将所述广播报文复制转发到所述VTEP中属于二层广播域的所有端口;
当所述广播报文匹配所述第二流表时,执行所述第二组表,将所述广播报文复制转发到所述VTEP中属于二层广播域的所有接入端口。
本文一实施例提供一种软件定义网络中广播实现方法,包括:
软件定义网络SDN控制器发送广播报文转发控制信息至虚拟可扩展局域网隧道终端VTEP,以使所述VTEP实现对广播报文的广播转发控制。
广播报文转发控制信息具体内容参考上述实施例,此处不再赘述。
本文一实施例提供一种软件定义网络中组播实现方法,包括:
虚拟可扩展局域网隧道终端VTEP接收软件定义网络SDN控制器发送的组播报文转发控制信息;
所述VTEP接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
在一实施例中,所述组播报文转发控制信息为二层组播报文控制信息。
所述软件定义网络中组播实现方法还包括:所述VTEP接收所述SDN控制器下发的要求上送互联网组管理协议报文的上送规则;以及,所述VTEP接收到互联网组管理协议报文时,发送互联网组管理协议报文至所述SDN控制器。
在一实施例中,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的所述二层组播组表;
所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
在一实施例中,所述组播报文转发控制信息为三层组播报文控制信息.
所述软件定义网络中组播实现方法还包括:
所述VTEP接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则;以及,所述VTEP接收到协议无关组播协议报文时,发送协议无关组播协议报文至所述软件定义网络控制器。
在一实施例中,所述组播报文转发控制信息包括:
媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
本文一实施例提供一种软件定义网络中组播实现方法,包括:
软件定义网络SDN控制器发送组播报文转发控制信息至虚拟可扩展局域网隧道终端VTEP,以使所述VTEP实现对组播报文的组播转发。
在一实施例中,所述组播报文转发控制信息为二层组播报文控制信息,所 述方法还包括:所述软件定义网络控制器下发要求上送互联网组管理协议报文的上送规则至所述VTEP;以及,根据所述VTEP上报的互联网组管理协议报文更新组播组列表信息。
在一实施例中,所述组播报文转发控制信息为三层组播报文控制信息。
所述方法还包括:所述软件定义网络控制器下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的VTEP;所述软件定义网络控制器与所述外部路由器之间运行协议无关组播协议;以及,所述软件定义网络控制器下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的VTEP,根据与所述外部路由器不相连的所述VTEP上报的互联网组管理协议报文更新组播组列表信息。
本申请中,利用软件定义网络技术,控制器维护整网拓扑,运行IGMP、PIM等组播相关协议,对Overlay网络中的二层广播,二层组播和三层组播实现转发控制。
下面各实施例是基于OpenFlow环境,通过SDN控制器进行广播、组播转发控制的方法。需要说明的是,本文实施例中的方案也可应用于其他的软件定义网络中。
实施例一
图1所示为本文中SDN控制器通过OpenFlow协议控制多台独立的VTEP的系统架构图。如图1所示,该系统包括:SDN控制器、VTEP以及和VTEP相连的主机,其中主机包括虚拟机(Virtual Machine,VM)和物理主机中的至少一种。VTEP之间存在VxLAN隧道(Tunnel),VTEP的形态可以是物理交换机,例如DPID 1和DPID 2;也可以是运行在服务器内的虚拟交换机(vSwitch),例如DPID 3。
SDN控制器与各VTEP间建立OpenFlow连接;物理主机和虚拟机通过VTEP接入VXLAN网络。例如物理主机DPID 1下所挂接的主机1(Host 1)和主机2(Host2),虚拟主机DPID 2下主机3(Host3)中的VM1~VM3,主机4(Host4)中的VM4~VM6,DPID 3下挂接的VM7~VM9)。
SDN控制器可以通过人工配置或者主动探测VXLAN隧道的方法维护 overlay的拓扑。
SDN控制器在VTEP下发上送规则,要求其对指定协议的报文、查表不命中的报文上送SDN控制器,查表不命中的报文是指报文的特征信息与下发的组表或流表不匹配的报文,不能按照对应的组表或流表执行动作。
SDN控制器进行媒体接入控制(Media Access Control,MAC)和地址解析协议(Address Resolution Protocol,ARP)学习,下发流表和组表指导VTEP进行二层或三层转发,包括广播、组播。
实施例二
本实施例中,SDN控制器对VTEP进行控制,下发流表和组表等转发表项,实现对二层广播报文的转发控制。本实施例基于图1所示网络拓扑。如图2所示,本文实施例二提供的控制二层L2广播转发的方法包括步骤201,步骤202,步骤203和步骤204。
在步骤201中,SDN控制器配置主机归属的Vxlan网络标识(Vxlan Network identifier,vni)。
其中,所述主机包括物理主机和VM中的至少一种。
其中,可以按VLAN、端口(port)+VLAN和MAC等多种形式来指定虚拟机或物理主机归属的vni。
在步骤202中,SDN控制器维护vni中的成员端口列表。
在一实施例中,虚拟二层网络vni 100中包括以下5个成员:
DPID 1下端口11(Port 11)(挂接Host 1);
DPID 2下端口21(Port 21)+VLAN 100(挂接Host 3中VM 1);
DPID 2下端口22(Port 22)+VLAN 200(挂接Host 4中VM 4);
DPID 3下端口31(Port 31)(挂接VM 7);
DPID 3下端口32(Port 32)(挂接VM 8)。
在步骤203中,SDN控制器根据overlap拓扑中的VTEP互联关系和端口 vni归属对组表进行维护,并将组表下发到每个VTEP。SDN控制器下发流表(也称MAC转发表),匹配L2广播地址,指定广播报文使用组表进行VTEP头端复制转发。
为避免转发环路,VTEP从隧道端口收到的广播流量,不能发往其它隧道,可以通过以下两种方式实现。
方式一:如果VTEP有能力自行区分隧道端口(与另一个VTEP连接的端口)和接入端口(与主机连接的端口),可自行实现水平分割。
方式二:如果VTEP无能力区分隧道端口和接入端口,SDN控制器对每个二层转发域下发2个组表,一个组表包括所有的隧道端口和接入端口,另一个组表仅包括接入端口;下发的MAC转发表在匹配L2广播地址的同时,还匹配报文入端口类型,选择不同组表转发。
以方式二为例,SDN控制器下发给各VTEP的流表和组表如下:
流表:匹配L2广播地址和报文入端口,动作为使用组表,即指示当报文匹配该流表中携带的二层广播地址和报文入端口时,执行与该流表对应的组表;
组表:包含多个桶(bucket),指示分别将报文复制输出到多个端口。
下面基于图1所示网络拓扑,给出一个流表和组表的具体实例,需要说明的是,此处流表和组表仅为示例,其他形式的报文转发控制信息也可应用在本文实施例中。
在一实施例中,下发给DPID 1的流表和组表如下:
流表两个如下:
第一流表为:Flow entry 1:match(inport为接入端口,vni=1000,DMAC=广播MAC),apply group 1;
第二流表为:Flow entry 2:match(inport为隧道端口,vni=1000,DMAC=广播MAC),apply group 2;
其中,表项Flow entry 1的含义为:报文匹配Flow entry 1时,执行Group entry1;表项Flow entry 2的含义为:报文匹配Flow entry 2时,执行Group entry2。
组表两个如下:
第一组表为:Group entry 1(group type:all):bucket 1(output port 11),bucket2(output port 13),bucket 3(output port 14);
第二组表为:Group entry 2(group type:all):bucket 1(output port 11)。
其中,表项Group entry 1的含义为:将报文复制到port 11、port 13和port14。表项Group entry 2的含义为:将报文复制到port 11。Group type为组表类型,其中,all表示执行group中的所有bucket。本文后续表项含义以此类推,不再赘述。
在一实施例中,下发给DPID 2的流表和组表如下:
流表:
Flow entry 1:match(inport为接入端口,vni=1000,DMAC=广播MAC),apply group 1。
Flow entry 2:match(inport为隧道端口,vni=1000,DMAC=广播MAC),apply group 2。
组表:
Group entry 1(group type:all):bucket 1(push vlan,set vlan-id 100,output port 21),bucket 2(push vlan,set vlan-id 100,output port 22),bucket 3(output port 23),bucket 4(output port 24)。
Group entry 2(group type:all):bucket 1(push vlan,set vlan-id 100,output port 21),bucket 2(push vlan,set vlan-id 200,output port 22)。
在一实施例中,下发给DPID 3的流表和组表如下:
流表:
Flow entry 1:match(inport为接入端口,vni=1000,DMAC=广播MAC),apply group 1。
Flow entry 2:match(inport为隧道端口,vni=1000,DMAC=广播MAC),apply group 2。
组表:
Group entry 1(group type:all):bucket 1(output port 31),bucket 2(output port  32),bucket 3(output port 34),bucket 4(output port35)。
Group entry 2(group type:all):bucket 1(output port31),bucket 2(output port 32)。
在步骤204中,VTEP收到L2广播报文,匹配流表,根据流表引用的组表在指定的L2广播域对广播报文进行复制转发。
在本文一实施例中,DPID 3下的VM 7发出广播报文。
DPID 3从接入端口port 31收到报文,匹配中流表的Flow entry 1表项,执行Group entry 1中的动作,将报文发往port 32(VM 8)、port 34(DPID 1)和port 35(DPID 2)。
DPID 1从隧道端口port 13收到报文,匹配中流表的Flow entry 2表项,执行Group entry 2中的动作,将报文发往port 11(VM 1)。
DPID 2从隧道端口port 24收到报文,匹配中流表的Flow entry 2表项,执行Group entry 2中的动作,将报文打上VLAN 100发往port 21(VM 1)、打上VLAN 200发往port 22(VM4)。
实施例三
本实施例中,SDN控制器运行互联网组管理协议窥探(Internet Group Management Protocol Snooping,IGMP Snooping),SDN控制器对VTEP进行控制,下发流表和组表等转发表项,实现对二层组播报文的转发控制。本实施例中,流表包括MAC转发表。
图3为本文实施例三控制L2组播转发方法流程图,如图3所示,本文实施例三提供的控制L2组播转发方法包括步骤301,步骤302,步骤303和步骤304。
在步骤301中,SDN控制器下发流表给VTEP,要求上送IGMP报文。
在步骤302中,所述VTEP从接入端口收到IGMP报文后,匹配到IGMP报文的协议类型为IGMP,上送该IGMP报文给SDN控制器。SDN控制器根据IGMP报文,记录加入、退出组播组的端口,维护组播组列表信息。
其中,VM或者物理主机加入或者退出组播组时,会发送IGMP报文给VTEP。
在步骤303中,SDN控制器根据overlap拓扑、vni和组播组归属,维护L2组播组表,并下发到VTEP。类似实施例二步骤203,SDN控制器下发以下表项:
MAC转发表,指示报文匹配二层广播域,该MAC转发表中携带的L2组播地址和报文入端口时,执行对应的L2组播组表。
L2组播组表,包含多个bucket,指示将报文复制输出到多个指定端口。
在步骤304中,VTEP收到L2组播报文,匹配MAC转发表,并根据MAC转发表引用的L2组播组表在指定的L2组播域对报文进行复制转发与实施例二中步骤204类似。
实施例四
本实施例中,SDN控制器与主机间运行互联网组管理协议(Internet Group Management Protocol,IGMP),与SDN域外路由器运行协议无关组播((Protocol Independent Multicast,PIM)协议,对VTEP进行控制,下发流表和组表等转发表项,实现对三层组播报文的转发控制。本实施例中,流表包括MAC终结表和组播互联网协议(Internet Protocol,IP)转发表。
本实施例基于图4所示的网络拓扑,如图4所示,包括DPID1、DPID2和DPID3共3个VTEP,其中,DPID 1为VXLAN网关,与传统网络中的路由器40相连,DPID 2和DPID 3为普通VTEP。
如图5所示,本实施例提供的SDN控制器控制VTEP进行L3组播转发的方法包括步骤401,步骤402,步骤403和步骤404。
在步骤401中,SDN控制器下发流表给DPID 2和DPID 3,要求上送IGMP报文。SDN控制器通过packet-out消息(OpenFlow中提供的一种消息)发送IGMP协议报文,应答主机的IGMP报文。通过此方式,SDN控制器与连接到VTEP的主机运行IGMP协议。SDN控制器同时维护SDN域内主机加入的IP组播组列表。
在步骤402中,SDN控制器给与外部路由器进行互联的网关设备DPID 1 下发流表,要求上送PIM报文。SDN控制器通过packet-out发送PIM报文。通过此方式,SDN控制器与外部路由器运行PIM协议,通告SDN域内主机加入的组播组。
在步骤403中,SDN控制器根据overlap拓扑、vni和组播组归属,维护L3组播组表。SDN控制器向VXLAN网关和普通VTEP下发如下表项:
MAC终结表,指定组播MAC地址,终结二层转发,进行三层转发;即指示报文匹配组播MAC地址时,终结二层转发,进行三层转发,执行对应的组播IP转发表。
组播IP转发表,匹配组播报文,使用L3组播组表进行复制转发;即指示报文匹配该组播IP转发表中携带的L3组播地址和报文入端口时,执行对应的L3组播组表。
L3组播组表,包括需要复制并发送组播报文的多个bucket,即指示将报文复制转发到指定端口。
在步骤404中,普通VTEP(DPID 2和DPID 3)和VXLAN网关(DPID 1)收到L3组播报文,匹配MAC终结表和组播IP转发表,根据组播IP转发表引用的L3组播组表在指定的L3组播域对组播报文进行复制转发。
本文一实施例提供一种软件定义网络中广播实现装置,如图6所示,包括控制信息接收单元601和转发单元602。
控制信息接收单元601,设置为接收软件定义网络控制器发送的广播报文转发控制信息。
转发单元602,设置为接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
本文一实施例提供一种软件定义网络中广播实现装置,如图7所示,包括控制信息生成单元701和发送单元702。
控制信息生成单元701,设置为生成广播或组播报文转发控制信息。
发送单元702,设置为发送所述广播或组播报文转发控制信息至虚拟可扩展 局域网隧道终端,以使得所述虚拟可扩展局域网隧道终端实现对报文的广播或组播转发控制。
本文一实施例提供一种软件定义网络中组播实现装置,如图8所示,包括控制信息接收单元801和转发单元802。
控制信息接收单元801,设置为接收软件定义网络控制器发送的组播报文转发控制信息。
转发单元802,设置为接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
在一实施例中,所述控制信息接收单元801还设置为接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;
所述软件定义网络中组播实现装置还包括上报单元803,设置为接收到互联网组管理协议报文时,发送所述互联网组管理协议报文至所述软件定义网络控制器。
在一实施例中,所述控制信息接收单元801还设置为接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则。
所述上报单元803,还设置为接收到协议无关组播协议报文时,发送协议无关组播协议报文至所述软件定义网络控制器。
在一实施例中,所述组播报文转发控制信息为二层组播报文控制信息或三层组播报文控制信息。
本文一实施例提供一种软件定义网络中组播实现装置,如图9所示,包括控制信息生成单元901和发送单元902。
控制信息生成单元901,设置为生成组播报文转发控制信息。
发送单元902,设置为发送所述组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
在一实施例中,所述控制信息生成单元901还设置为下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;根据所述虚拟可扩展局域网隧道终端上报的互联网组管理协议报文更新组播组列表信息。
在一实施例中,所述控制信息生成单元901还设置为下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;与所述外部路由器之间运行协议无关组播协议;以及,下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据与所述外部路由器不相连的所述虚拟可扩展局域网隧道终端上报的互联网组管理协议报文更新组播组列表信息。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
接收软件定义网络控制器发送的广播报文转发控制信息;
以及,接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
接收软件定义网络控制器发送的组播报文转发控制信息;
以及,接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
本文一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟 可扩展局域网隧道终端实现对组播报文的组播转发。
所述计算机可读存储介质包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本文一实施例还提供一种软件定义网络中广播实现系统,包括上述软件定义网络控制器和至少一个上述虚拟可扩展局域网隧道终端。
在本文的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上实施例以OpenFlow为例描述控制器对转发设备的控制,也可以采用其他的标准协议或者自定义协议。
上述的本文的各模块或各步骤可以利用相关的任何控制器软件部署在任何通用的计算装置来实现,在本文一实施例中,他们可以用计算装置来执行的程序代码来实现。
上述单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
工业实用性
本申请实施例提供的技术方案,由控制器进行广播、组播转发控制,从而在底层网络未部署广播组播功能时,也能实现广播组播。

Claims (46)

  1. 一种软件定义网络中广播实现方法,包括:
    虚拟可扩展局域网隧道终端接收软件定义网络控制器发送的广播报文转发控制信息;
    所述虚拟可扩展局域网隧道终端接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
  2. 如权利要求1所述的方法,所述广播报文转发控制信息包括流表和组表,其中:
    所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
    所述组表用于指示将所述广播报文复制转发到指定端口。
  3. 如权利要求2所述的方法,其中,
    所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
    所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
  4. 一种软件定义网络中广播实现方法,包括:
    软件定义网络控制器发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
  5. 如权利要求4所述的方法,所述广播报文转发控制信息包括流表和组表,其中:
    所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
    所述组表用于指示将所述广播报文复制转发到指定端口。
  6. 如权利要求5所述的方法,其中,所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时, 执行第二组表;
    所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
  7. 一种软件定义网络中组播实现方法,包括:
    虚拟可扩展局域网隧道终端接收软件定义网络控制器发送的组播报文转发控制信息;
    所述虚拟可扩展局域网隧道终端接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
  8. 如权利要求7所述的方法,所述方法还包括:所述虚拟可扩展局域网隧道终端接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;以及,所述虚拟可扩展局域网隧道终端接收到所述互联网组管理协议报文时,发送所述互联网组管理协议报文至所述软件定义网络控制器。
  9. 如权利要求8所述的方法,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
    所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的所述二层组播组表;
    所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
  10. 如权利要求7所述的方法,所述方法还包括:
    所述虚拟可扩展局域网隧道终端接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则;以及,所述虚拟可扩展局域网隧道终端接收到所述协议无关组播协议报文时,发送所述协议无关组播协议报文至所述软件定义网络控制器。
  11. 如权利要求8或10所述的方法,其中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
    媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址 时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
    所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
    所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
  12. 一种软件定义网络中组播实现方法,包括:
    软件定义网络控制器发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
  13. 如权利要求12所述的方法,所述方法还包括:所述软件定义网络控制器下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;以及,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
  14. 如权利要求13所述的方法,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
    所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的所述二层组播组表;
    所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
  15. 如权利要求12所述的方法,所述方法还包括:所述软件定义网络控制器下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;所述软件定义网络控制器与所述外部路由器之间运行协议无关组播协议;以及,所述软件定义网络控制器下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
  16. 如权利要求15所述的方法,其中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
    媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
    所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
    所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
  17. 一种软件定义网络中广播实现装置,包括:
    控制信息接收单元,设置为接收软件定义网络控制器发送的广播报文转发控制信息;
    转发单元,设置为接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
  18. 如权利要求17所述的软件定义网络中广播实现装置,所述广播报文转发控制信息包括流表和组表,其中:
    所述流表用于指示当所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
    所述组表用于指示将所述广播报文复制转发到指定端口。
  19. 如权利要求18所述的软件定义网络中广播实现装置,
    所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
    所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
  20. 一种软件定义网络中广播实现装置,包括:
    控制信息生成单元,设置为生成广播报文转发控制信息;
    发送单元,设置为发送所述广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
  21. 如权利要求20所述的软件定义网络中广播实现装置,所述广播报文转发控制信息包括流表和组表,其中:
    所述流表用于指示所述广播报文匹配所述流表中携带的二层广播地址和报文入端口时,执行与所述流表对应的所述组表;
    所述组表用于指示将所述广播报文复制转发到指定端口。
  22. 如权利要求21所述的软件定义网络中广播实现装置,其中,所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
    所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
  23. 一种软件定义网络中组播实现装置,包括:
    控制信息接收单元,设置为接收软件定义网络控制器发送的组播报文转发控制信息;
    转发单元,设置为接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
  24. 如权利要求23所述的软件定义网络中组播实现装置,其中,
    所述控制信息接收单元还设置为接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;
    所述软件定义网络中组播实现装置还包括上报单元,设置为接收到所述互联网组管理协议报文时,发送所述互联网组管理协议报文至所述软件定义网络控制器。
  25. 如权利要求24所述的软件定义网络中组播实现装置,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表,其中:
    所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接 入控制转发表对应的所述二层组播组表;
    所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
  26. 如权利要求24所述的软件定义网络中组播实现装置,,
    所述控制信息接收单元还设置为接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则;
    所述软件定义网络中组播实现装置还包括上报单元,设置为接收到所述协议无关组播协议报文时,发送所述协议无关组播协议报文至所述软件定义网络控制器。
  27. 如权利要求24或26所述的软件定义网络中组播实现装置,其中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
    媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
    所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
    所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
  28. 一种软件定义网络中组播实现装置,包括:
    控制信息生成单元,设置为生成组播报文转发控制信息;
    发送单元,设置为发送所述组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
  29. 如权利要求28所述的软件定义网络中组播实现装置,其中,
    所述控制信息生成单元还设置为下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
  30. 如权利要求29所述的软件定义网络中组播实现装置,所述组播报文转发控制信息为二层组播报文控制信息,所述组播报文转发控制信息包括媒体接入控制转发表和二层组播组表;其中,
    所述媒体接入控制转发表用于指示所述组播报文匹配所述媒体接入控制转发表中携带的二层广播域,二层组播地址和报文入端口时,执行与所述媒体接入控制转发表对应的二层组播组表;
    所述二层组播组表用于指示将所述组播报文复制转发到指定端口。
  31. 如权利要求28所述的软件定义网络中组播实现装置,其中,
    所述控制信息生成单元还设置为下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;与所述外部路由器之间运行协议无关组播协议;以及,下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据所述虚拟可扩展局域网隧道终端上报的互联网组管理协议报文更新组播组列表信息。
  32. 如权利要求31所述的软件定义网络中组播实现装置,其中,所述组播报文转发控制信息为三层组播报文控制信息,所述组播报文转发控制信息包括:
    媒体接入控制终结表,用于指示所述组播报文匹配组播媒体接入控制地址时,终结二层转发,进行三层转发,执行与所述媒体接入控制终结表对应的组播互联网协议转发表;
    所述组播互联网协议转发表用于指示所述组播报文匹配所述组播互联网协议转发表中携带的三层组播地址和报文入端口时,执行与所述组播互联网协议转发表对应的三层组播组表;
    所述三层组播组表用于指示将所述组播报文复制转发到指定端口。
  33. 一种软件定义网络中广播实现装置,包括:存储器和处理器,所述存储器存储有广播控制程序,所述广播控制程序在被所述处理器执行时,执行以下操作:
    接收软件定义网络控制器发送的广播报文转发控制信息;
    以及,接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
  34. 如权利要求33所述的软件定义网络中广播实现装置,所述广播报文转发控制信息包括流表和组表,其中:
    所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示报文 入端口为隧道端口且匹配二层广播地址时,执行第二组表;
    所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
  35. 一种软件定义网络中广播实现装置,包括存储器和处理器,所述存储器存储有广播控制程序,所述广播控制程序在被所述处理器执行时,执行以下操作:
    发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
  36. 如权利要求35所述的软件定义网络中广播实现装置,所述广播报文转发控制信息包括流表和组表,其中:
    所述流表包括第一流表和第二流表,所述第一流表用于指示报文入端口为接入端口且匹配二层广播地址时,执行第一组表;所述第二流表用于指示:报文入端口为隧道端口且匹配二层广播地址时,执行第二组表;
    所述组表包括所述第一组表和所述第二组表,所述第一组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有端口,所述第二组表用于指示将所述广播报文复制转发到所述虚拟可扩展局域网隧道终端中属于二层广播域的所有接入端口。
  37. 一种软件定义网络中组播实现装置,包括存储器和处理器,所述存储器存储有广播控制程序,所述广播控制程序在被所述处理器执行时,执行以下操作:
    接收软件定义网络控制器发送的组播报文转发控制信息;
    以及,接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
  38. 如权利要求37所述的软件定义网络中组播实现装置,
    所述广播控制程序在被所述处理器执行时,还执行以下操作:
    接收所述软件定义网络控制器下发的要求上送互联网组管理协议报文的上送规则;以及,接收到所述互联网组管理协议报文时,发送所述互联网组管理 协议报文至所述软件定义网络控制器。
  39. 如权利要求37所述的软件定义网络中组播实现装置,
    所述广播控制程序在被所述处理器执行时,还执行以下操作:
    接收所述软件定义网络控制器下发的要求上送协议无关组播协议报文的上送规则;以及,接收到所述协议无关组播协议报文时,发送所述协议无关组播协议报文至所述软件定义网络控制器。
  40. 一种软件定义网络中组播实现装置,包括存储器和处理器,所述存储器存储有组播控制程序,所述组播控制程序在被所述处理器执行时,执行以下操作:
    发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
  41. 如权利要求40所述的软件定义网络中组播实现装置,
    所述组播控制程序在被所述处理器执行时,还执行以下操作:
    下发要求上送互联网组管理协议报文的上送规则至所述虚拟可扩展局域网隧道终端;以及,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
  42. 如权利要求40所述的软件定义网络中组播实现装置,
    所述组播控制程序在被所述处理器执行时,还执行以下操作:
    下发要求上送协议无关组播协议报文的上送规则至与外部路由器相连的虚拟可扩展局域网隧道终端;所述软件定义网络控制器与所述外部路由器之间运行协议无关组播协议;以及,下发要求上送互联网组管理协议报文的上送规则至连接虚拟机和物理机的虚拟可扩展局域网隧道终端,根据所述虚拟可扩展局域网隧道终端上报的所述互联网组管理协议报文更新组播组列表信息。
  43. 一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
    接收软件定义网络控制器发送的广播报文转发控制信息;
    以及,接收广播报文,并根据所述广播报文转发控制信息对所述广播报文进行广播转发。
  44. 一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
    发送广播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对广播报文的广播转发控制。
  45. 一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
    接收软件定义网络控制器发送的组播报文转发控制信息;
    以及,接收组播报文,并根据所述组播报文转发控制信息对所述组播报文进行组播转发。
  46. 一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
    发送组播报文转发控制信息至虚拟可扩展局域网隧道终端,以使所述虚拟可扩展局域网隧道终端实现对组播报文的组播转发。
PCT/CN2018/086436 2017-05-11 2018-05-11 软件定义网络中广播、组播实现方法、装置及存储介质 WO2018205982A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710330790.3 2017-05-11
CN201710330790.3A CN108880968B (zh) 2017-05-11 2017-05-11 软件定义网络中广播、组播实现方法及装置、存储介质

Publications (1)

Publication Number Publication Date
WO2018205982A1 true WO2018205982A1 (zh) 2018-11-15

Family

ID=64104324

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/086436 WO2018205982A1 (zh) 2017-05-11 2018-05-11 软件定义网络中广播、组播实现方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN108880968B (zh)
WO (1) WO2018205982A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831390A (zh) * 2019-01-21 2019-05-31 新华三云计算技术有限公司 报文转发控制方法及装置
CN111163463A (zh) * 2019-12-27 2020-05-15 深圳市宏电技术股份有限公司 一种无线设备接入路由器的方法、装置、设备和存储介质
CN112187517A (zh) * 2020-09-07 2021-01-05 烽火通信科技股份有限公司 一种数据中心sdn虚拟路由的配置方法、平台及控制器
WO2021028931A1 (en) * 2019-08-09 2021-02-18 Telefonaktiebolaget Lm Ericsson (Publ) Controller watch port for robust software defined networking (sdn) system operation
CN114285679A (zh) * 2021-12-09 2022-04-05 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种基于集中控制的异构网络组播实现的方法及系统
CN114301838A (zh) * 2021-12-31 2022-04-08 锐捷网络股份有限公司 一种流表优化、报文转发的方法、网络、设备及存储介质
CN114430394A (zh) * 2021-12-29 2022-05-03 中国电信股份有限公司 报文处理方法、装置、电子设备及可读存储介质
CN114553799A (zh) * 2022-01-10 2022-05-27 珠海高凌信息科技股份有限公司 基于可编程数据平面的组播转发方法、装置、设备及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347581B (zh) * 2021-06-03 2022-03-22 北京邮电大学 报文组播方法、装置、系统及电子设备
CN114500169B (zh) * 2021-12-27 2024-01-02 天翼云科技有限公司 建立vxlan隧道的方法、报文转发的方法及装置
CN115051890A (zh) * 2022-05-20 2022-09-13 中国电信股份有限公司 一种报文处理方法、系统、装置、电子设备及存储介质
CN115002029A (zh) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 一种流量转发方法、装置、设备及存储介质
CN115883286B (zh) * 2022-11-29 2024-04-09 迈普通信技术股份有限公司 Igmp报文处理方法、装置、vtep设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110265137A1 (en) * 2010-04-22 2011-10-27 Samsung Electronics Co., Ltd. Method and system for isochronous data stream management in high speed audio/video networks
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN105262667A (zh) * 2015-09-17 2016-01-20 杭州数梦工场科技有限公司 Overlay网络中控制组播传输的方法、装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300483B2 (en) * 2013-03-15 2016-03-29 International Business Machines Corporation Self-routing multicast in a software defined network fabric
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN106031104B (zh) * 2015-01-21 2019-07-12 华为技术有限公司 数据报文的转发方法、装置及设备
CN106210157B (zh) * 2015-04-30 2019-07-23 中国电信股份有限公司 抑制地址解析协议消息的方法与系统、控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110265137A1 (en) * 2010-04-22 2011-10-27 Samsung Electronics Co., Ltd. Method and system for isochronous data stream management in high speed audio/video networks
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN105262667A (zh) * 2015-09-17 2016-01-20 杭州数梦工场科技有限公司 Overlay网络中控制组播传输的方法、装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GAO, YANG: "Research and Implementation of VXLAN Technology Based under SDN Architecture", CHINESE MASTER'S THESES FULL-TEXT DATABASE INFORMATION SCIENCE & TECHNOLOGY, 15 May 2016 (2016-05-15), pages 6 - 16 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831390A (zh) * 2019-01-21 2019-05-31 新华三云计算技术有限公司 报文转发控制方法及装置
CN109831390B (zh) * 2019-01-21 2022-06-10 新华三云计算技术有限公司 报文转发控制方法及装置
WO2021028931A1 (en) * 2019-08-09 2021-02-18 Telefonaktiebolaget Lm Ericsson (Publ) Controller watch port for robust software defined networking (sdn) system operation
CN111163463A (zh) * 2019-12-27 2020-05-15 深圳市宏电技术股份有限公司 一种无线设备接入路由器的方法、装置、设备和存储介质
CN111163463B (zh) * 2019-12-27 2023-09-19 深圳市宏电技术股份有限公司 一种无线设备接入路由器的方法、装置、设备和存储介质
CN112187517A (zh) * 2020-09-07 2021-01-05 烽火通信科技股份有限公司 一种数据中心sdn虚拟路由的配置方法、平台及控制器
CN112187517B (zh) * 2020-09-07 2022-06-07 烽火通信科技股份有限公司 一种数据中心sdn虚拟路由的配置方法、平台及控制器
CN114285679A (zh) * 2021-12-09 2022-04-05 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种基于集中控制的异构网络组播实现的方法及系统
CN114430394A (zh) * 2021-12-29 2022-05-03 中国电信股份有限公司 报文处理方法、装置、电子设备及可读存储介质
CN114430394B (zh) * 2021-12-29 2023-06-23 中国电信股份有限公司 报文处理方法、装置、电子设备及可读存储介质
CN114301838A (zh) * 2021-12-31 2022-04-08 锐捷网络股份有限公司 一种流表优化、报文转发的方法、网络、设备及存储介质
CN114553799A (zh) * 2022-01-10 2022-05-27 珠海高凌信息科技股份有限公司 基于可编程数据平面的组播转发方法、装置、设备及介质
CN114553799B (zh) * 2022-01-10 2023-11-03 珠海高凌信息科技股份有限公司 基于可编程数据平面的组播转发方法、装置、设备及介质

Also Published As

Publication number Publication date
CN108880968A (zh) 2018-11-23
CN108880968B (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
WO2018205982A1 (zh) 软件定义网络中广播、组播实现方法、装置及存储介质
US10230535B2 (en) Communicating IGMP leave requests between load-balanced, multi-homed provider-edge routers in an ethernet virtual private network
US10498547B2 (en) Bit indexed explicit replication
EP3188409B1 (en) Oam mechanisms for evpn active-active services
US8537816B2 (en) Multicast VPN support for IP-VPN lite
US10116464B2 (en) EVPN inter-subnet multicast forwarding
US7855950B2 (en) Congruent forwarding paths for unicast and multicast traffic
US10887119B2 (en) Multicasting within distributed control plane of a switch
EP2843906B1 (en) Method, apparatus, and system for data transmission
US9031069B2 (en) Method, system, and apparatus for extranet networking of multicast virtual private network
US10218604B2 (en) Engines to prune overlay network traffic
WO2019184752A1 (zh) 网络设备的管理方法、装置及系统
WO2018214809A1 (zh) 消息发送方法及装置、存储介质
US10681425B2 (en) Dynamic designated forwarder election per multicast stream for EVPN all-active homing
US8601133B1 (en) Highly scalable data center architecture with address resolution protocol (ARP)-free servers
US9548917B2 (en) Efficient multicast delivery to dually connected (VPC) hosts in overlay networks
CN102215172B (zh) 一种实现跨虚拟专用局域网组播的方法和系统
US20170078115A1 (en) Multi-homed access
US10333828B2 (en) Bidirectional multicasting over virtual port channel
WO2013139159A1 (zh) 在网络中转发报文的方法和运营商边缘设备
EP3965368A1 (en) Replication mode selection for multicast in evpn
WO2018068588A1 (zh) 提供组播业务的方法和软件定义网络控制器
CN107623636B (zh) 一种用户隔离方法和交换机
WO2007041942A1 (fr) Système pour ethernet de support de la transmission de la multidiffusion spécifique à une source et procédé idoine
WO2014169856A1 (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: 18797610

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

Country of ref document: EP

Kind code of ref document: A1