[go: up one dir, main page]

CN109218191B - System and method for enabling multicast packets to traverse non-multicast networks - Google Patents

System and method for enabling multicast packets to traverse non-multicast networks Download PDF

Info

Publication number
CN109218191B
CN109218191B CN201810010012.0A CN201810010012A CN109218191B CN 109218191 B CN109218191 B CN 109218191B CN 201810010012 A CN201810010012 A CN 201810010012A CN 109218191 B CN109218191 B CN 109218191B
Authority
CN
China
Prior art keywords
openflow
multicast
port number
address
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810010012.0A
Other languages
Chinese (zh)
Other versions
CN109218191A (en
Inventor
朱煜煌
陈俊玮
刘景豊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chunghwa Telecom Co Ltd
Original Assignee
Chunghwa Telecom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
Publication of CN109218191A publication Critical patent/CN109218191A/en
Application granted granted Critical
Publication of CN109218191B publication Critical patent/CN109218191B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses

Landscapes

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

Abstract

The invention relates to a system and a method for enabling a multicast packet to pass through a non-multicast network, which can achieve the address conversion between the multicast packet and a unicast packet by modifying the IP address and the UDP port number of the multicast packet through an OpenFlow protocol, thereby enabling the multicast packet to pass through the non-multicast network.

Description

System and method for enabling multicast packets to traverse non-multicast networks
Technical Field
The present invention relates to a packet forwarding technique, and more particularly, to a system and method for enabling multicast packets to traverse non-multicast networks by using the OpenFlow protocol and UDP port number address translation.
Background
With the maturity of the internet and the continuous development of network multimedia Video services, such as iptv (internet Protocol television), Video conference (Video conference), etc., all become important applications on the internet, and these applications send packets through a Multicast Protocol (Multicast), which not only can reduce the burden of a Server (Server), but also can make the use of network bandwidth more efficient. However, the internet has evolved over the years, not every network supports the delivery of multicast packets.
The multicast protocol is different from the general IP Unicast (Unicast), and uses the IP address of class D for packet transmission, and when the multicast packet passes through the non-multicast network, the packet cannot be correctly transmitted, and the bandwidth consumption is also caused.
The first method is to use a static routing table and an MBGP (multiprotocol Border Gateway protocol) routing table, which requires setting on each routing device through which the packet passes, and if there are devices that do not support the static routing or the MBGP routing protocol, this method cannot be used.
The second method is to use Tunneling Protocol (Tunneling Protocol) to re-encapsulate the multicast packet into a unicast IP packet at the entrance of the non-multicast network, and disassemble the packet back into the multicast packet after the packet traverses the non-multicast network, which increases the packet length, and if the length exceeds the Maximum Transmission Unit (MTU) of the network device, the packet will be fragmented and transmitted, and transmission failure will be caused for the packet that is not allowed to be fragmented.
In addition, chinese patent CN 100448228C published in 31.12.2008, "method for multicast packet to traverse non-multicast network and network system using the same" proposes to use multicast and unicast IP address Translation (Translation) to overcome the packet transmission problem. The method is similar to the tunneling protocol, but directly converts the destination multicast address of the packet into a unicast IP address when the packet is going to pass through the non-multicast network, and then changes the packet IP address back to the multicast address after the packet passes through the non-multicast network. This method has two disadvantages, first, it must access the multicast and unicast IP address conversion device at the boundary of multicast network, however, this device has no standard agreement today and needs additional research and development; second, the mapping method needs to be associated with a unicast IP address for each multicast IP address, so if the multicast IP address is to be sent to multiple multicast networks through a non-multicast network, multiple unicast IP addresses need to be used for one multicast IP address.
In view of the above-mentioned drawbacks derived from the conventional approaches, it is a desirable objective of the present invention to find a technique for enabling multicast packets to traverse non-multicast networks using the OpenFlow protocol and UDP port number address translation. After many years of research and research with great interest, a system and method for enabling multicast packets to traverse non-multicast networks by using the OpenFlow protocol and UDP port number address conversion are successfully developed and completed.
Disclosure of Invention
The invention aims to provide a system and a method for enabling a multicast packet to pass through a non-multicast network by using OpenFlow protocol and UDP port number address conversion. In addition, the conversion method of the multicast address and the unicast address of the invention uses the UDP port number of the packet, thus reducing the number of the unicast addresses required to be used on the non-multicast network.
The invention provides a system for enabling multicast packets to pass through a non-multicast network by using OpenFlow protocol and UDP port number address conversion, which comprises: a plurality of OpenFlow switches interconnected by a non-multicast network; an address port number database storing unicast address port numbers for address translation; and an OpenFlow controller connected to the address port number database for writing a predetermined OpenFlow routing rule into a routing table of each of the plurality of OpenFlow switches for routing the plurality of OpenFlow switches, wherein, when the multicast packet is sent by the multicast packet sending end, the multicast packet passes through a first OpenFlow switch of the plurality of OpenFlow switches, the first OpenFlow switch converting a multicast address port number in the multicast packet to a unicast address port number of a second one of the plurality of OpenFlow switches to generate a unicast packet having the unicast address port number, the non-multicast network forwards the unicast packet after address translation to the plurality of second OpenFlow switches, the plurality of second OpenFlow exchangers convert the unicast address port number in the unicast packet into the original multicast address port number, and then respectively forward the unicast address port number to a multicast packet receiving end in a multicast network.
In an embodiment, the OpenFlow routing rule includes the multicast address port number and the unicast address port number translation.
In another embodiment, the first OpenFlow switch determines that a destination IP address and a UDP port number of the multicast packet do not conform to the OpenFlow routing rule, and forwards the multicast packet to the OpenFlow controller, where the OpenFlow controller obtains port numbers of available unicast addresses that can be routed to the multicast network and a boundary switch of the multicast network from the address port number database according to the multicast network to which the multicast packet source belongs, so as to update the OpenFlow routing rule.
In yet another embodiment, updating the OpenFlow routing rule includes writing, by the OpenFlow controller, a conversion relationship between a multicast address port number of the multicast packet and the obtained unicast address port number into the first OpenFlow switch via an OpenFlow protocol, and writing, by the OpenFlow controller, a conversion relationship between the unicast address port number and the multicast address port number of the multicast packet into the plurality of second OpenFlow switches via the OpenFlow protocol.
In yet another embodiment, the available unicast address refers to a border switch that provides unicast IP address routing on the non-multicast network to the multicast network.
The invention also provides a method for enabling multicast packets to pass through a non-multicast network by using OpenFlow protocol and UDP port number address conversion, which comprises the following steps: the multicast packet sending end generates a multicast packet and executes multicast routing in the multicast network; the multicast packet is sent to a first OpenFlow switch at a boundary of the multicast network; the first OpenFlow exchanger converts the multicast address port number of the multicast packet into a unicast address port number which can be routed on a non-multicast network according to a first OpenFlow routing rule prestored in the first OpenFlow exchanger so as to generate a unicast packet with the unicast address port number; the unicast packet is routed on the non-multicast network by using the unicast address port number; the unicast packet is routed to a plurality of second OpenFlow switches; the plurality of second OpenFlow exchangers change the unicast address port number of the unicast packet back to the multicast address port number originally corresponding to the multicast packet according to a second OpenFlow routing rule prestored in the plurality of second OpenFlow exchangers; and the returned multicast packets are respectively forwarded to multicast packet receiving ends in the multicast network by the multicast address port numbers.
In the above method, when the first OpenFlow switch converts the multicast address port number of the multicast packet into a unicast address port number routable on the non-multicast network, the method further includes the following steps when determining that the destination IP address and the UDP port number of the multicast packet do not conform to the OpenFlow routing rule pre-stored in the first OpenFlow switch: the first OpenFlow switch forwards the multicast packet to the OpenFlow controller; the OpenFlow controller obtains port numbers of available unicast addresses which can be routed to the multicast network and a boundary exchanger of the multicast network from an address port number database according to the multicast network to which the multicast packet source belongs; the OpenFlow controller writes the conversion relation between the multicast address port number of the multicast packet and the obtained unicast address port number into the first OpenFlow routing rule in the first OpenFlow exchanger through an OpenFlow protocol; and the OpenFlow controller writes the conversion relationship between the unicast address port number and the multicast address port number of the multicast packet into the second OpenFlow routing rules in the plurality of second OpenFlow switches through the OpenFlow protocol.
In the method, before performing the multicast routing on the multicast packet, the method further comprises the following steps: setting information of the OpenFlow controller in the first OpenFlow switch and the second OpenFlow switches to establish connection lines between the OpenFlow controller and the first OpenFlow switch as well as the second OpenFlow switches; the OpenFlow controller confirms that the connection status of the first OpenFlow exchanger and the plurality of second OpenFlow exchangers is normal; the OpenFlow controller writes a routing rule of a preset OpenFlow into routing tables of the first OpenFlow exchanger and the plurality of second OpenFlow exchangers; and storing the unconfigured address port number which can be used for routing in an address port number database, so that the OpenFlow controller can inquire the port number of an available unicast address when converting the multicast address port number and the unicast address port number.
In the foregoing method, the OpenFlow controller writes the first and second routing rules in the routing tables of the first OpenFlow switch and the plurality of second OpenFlow switches, where a destination IP address of a Match field is a multicast address, an Action field is an egress port to which a packet is forwarded to the first OpenFlow switch and the plurality of second OpenFlow switches and the OpenFlow controller, and priority values of the first and second routing rules are set to minimum values.
Additionally, the available unicast address refers to a boundary switch that provides unicast IP address routing on the non-multicast network to the multicast network.
Compared with the prior art, the system and the method for enabling the multicast packet to pass through the non-multicast network by using the OpenFlow protocol and the UDP port number address conversion provided by the invention have the advantages that cost benefits are met, the routing table of the exchanger is set by the SDN technology, and the address conversion between the multicast packet and the unicast packet is realized by modifying the IP address and the UDP port number of the multicast packet, so that the unicast packet is used for transmitting the multicast packet, and the multicast packet can pass through the transmission technology of the non-multicast network.
Drawings
FIG. 1 is a diagram of a network architecture for enabling multicast packets to traverse a non-multicast network in accordance with the present invention;
FIG. 2 is a flowchart illustrating a method for enabling multicast packets to traverse a non-multicast network according to the present invention;
FIG. 3 is a flow chart of a system setup phase for enabling multicast packets to traverse non-multicast networks according to the present invention;
FIG. 4 is a flow chart of a system operation phase for enabling multicast packets to traverse a non-multicast network according to the present invention; and
fig. 5 is a schematic diagram illustrating an implementation operation flow of the present invention for enabling multicast packets to traverse a non-multicast network.
Description of the symbols
110 multicast network
111 OpenFlow switch
112 multicast packet sender
113 OpenFlow routing table
120 multicast network
121 OpenFlow switch
122 multicast packet receiving end
123 OpenFlow routing table
130 multicast network
131 OpenFlow exchanger
132 multicast packet receiving end
133 OpenFlow routing table
140 non-multicast network
150 OpenFlow controller
160 address port number database
210 System setup phase
211-214 system setup phase flow
310 system operation phase
311-325 system operation phase flow
4111-4116 system implementation and operation process.
Detailed Description
The present invention is described in terms of specific embodiments, and those skilled in the art will readily appreciate the advantages and utilities of the present invention from the disclosure herein. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways.
First, a Software-Defined Networking (SDN) is an emerging network architecture breaking existing mechanisms, and the concept thereof is to separate a control-plane (control-plane) function of a network from a data-plane (data-plane) function, and centralize the control plane to a controller, only a function of transmitting packets is reserved on a switch, the switch needs to calculate a path through the controller, and the controller sets a packet transmission direction to the switch.
The invention is a method for setting a routing table of an exchanger by an SDN OpenFlow controller, and modifying an IP address and a UDP port number of a multicast packet to achieve address conversion between the multicast packet and a unicast packet so as to enable the multicast packet to pass through a non-multicast network, so that the multicast packet is not limited in a network supporting the multicast packet to be sent, and a more flexible implementation mode of a multicast packet transmission environment is achieved.
In Internet Protocol (Internet Protocol), the IP address range of class d (class d) is 224.0.0 to 239.255.255.255, which is dedicated to multicast and cannot be routed in the IP address range of general unicast network (unicast).
Please refer to fig. 1, which is a network system architecture diagram for enabling multicast packets to traverse a non-multicast network according to the present invention, wherein the multicast network 110, the multicast network 120, and the multicast network 130 in fig. 1 are networks with an open multicast protocol, the non-multicast network 140 is a network that does not support multicast IP address packets, and is connected to the non-multicast network 140 through an OpenFlow switch 111 as a boundary network device of the multicast network 110, an OpenFlow switch 121 as a boundary network device of the multicast network 120 is connected to the non-multicast network 140, and an OpenFlow switch 131 as a boundary network device of the multicast network 130 is connected to the non-multicast network 140.
There is a multicast packet sender 112 in the multicast network 110, a multicast packet receiver 122 in the multicast network 120 belonging to the same multicast group (multicast group) as the multicast packet sender 112, and a multicast packet receiver 132 in the multicast network 130 belonging to the same multicast group (multicast group) as the multicast packet sender 112. The multicast packets sent by the multicast packet sender 112 are sent from the multicast network 110 to the OpenFlow switches 121 and 131 through the non-multicast network 140 via the OpenFlow switch 111, and then forwarded to the multicast packet receiver 122 in the multicast network 120 and the multicast packet receiver 132 in the multicast network 130, respectively.
The OpenFlow controller 150 is connected to the OpenFlow switches 111, 121, and 131, and functions as a controller of the OpenFlow switch, and the controller communicates with the switches using an OpenFlow protocol. The address port number database 160 is also connected to the OpenFlow controller 150, and the OpenFlow controller 150 can query a unicast address port number available for address translation in the system through the address port number database 160.
The multicast packet cannot directly pass through the non-multicast network 140 because the network device in the non-multicast network 140 does not support the routing of the multicast IP address, so the present invention proposes a method for converting the multicast Destination IP address (Destination IP) of the multicast packet into the unicast IP address through the OpenFlow protocol, so that the multicast packet can pass through the non-multicast network. In addition, the conversion method of the multicast address and the unicast address of the invention uses the UDP port number of the packet, thus reducing the number of the unicast addresses required to be used on the non-multicast network.
Since any of the multicast networks connected by the non-multicast network can be simplified to the architecture shown in fig. 1, the network system architecture of fig. 1 will be used to describe the operation of the present invention for enabling the multicast packets to traverse the non-multicast network system.
The operation flow of the present invention is mainly divided into two phases, namely a system setup phase 210 and a system operation phase 310, and the flow chart is shown in fig. 2. The system setting stage 210 is an operation that the system needs to perform related device setting before running, and the system running stage 310 is an operation that the system actually performs multicast packet sending, and can convert the address port number between the multicast packet and the unicast packet to make the multicast packet traverse the non-multicast network.
Fig. 3 is a flow chart of the system setup phase for enabling the mbs packets to traverse the non-mbs network according to the present invention. First, in step 211, all OpenFlow switches 111, 121, 131 configure OpenFlow controller 150 information to establish a connection with the OpenFlow controller 150.
In step 212, the OpenFlow controller 150 confirms that the connection status of all OpenFlow switches is normal.
In step 213, the OpenFlow controller 150 writes a routing rule of a predetermined OpenFlow into a routing table of the OpenFlow switches 111, 121, and 131, where a Match field of the rule is that a destination IP address is 224.0.0.0/4, and an Action field of the rule is to transduce a packet to an egress port to which the OpenFlow switch and the OpenFlow controller 150 are connected, and sets a Priority value (Priority) of the rule as a minimum value, where the predetermined routing rule is intended to transduce the packet to the OpenFlow controller 150 when a multicast packet for which a multicast address port number conversion unicast address port number rule is not established is sent to the OpenFlow switch, so as to enter the system running stage 310.
In step 214, the address port number that is not configured by the current system and is available for routing is stored in the address port number database 160, so that the OpenFlow controller 150 can query the available unicast address port number when converting the multicast address port number into the unicast address port number. The available unicast address port number, as referred to herein, means that its unicast IP address can be routed over the non-multicast network to the edge switch of the multicast network.
After the system setup phase 210, the present invention enters a system operation phase 310, as shown in the flow chart of FIG. 4. First, in step 311, the mbs transmitter 112 generates a mbs packet for multicast routing in the multicast network 110.
In step 312, the multicast packet is sent to the OpenFlow switch 111 located at the boundary of the multicast network 110, and then in step 313, the OpenFlow switch 111 uses its own OpenFlow routing table to resolve whether the destination IP address and the UDP port number of the multicast packet conform to the routing rule, and if not, the packet finally corresponds to the predetermined routing rule written in step 213, and the flow proceeds to step 314, where the multicast packet is forwarded to the OpenFlow controller 150.
In step 315, the OpenFlow controller 150 selects an available unicast address port number in the address port number database 160 to route to the multicast network 120 and the multicast network 130 border switch according to the multicast network 110 to which the packet source belongs.
In step 316, the OpenFlow controller writes the conversion relationship between the address port number of the original multicast packet and the selected unicast address port number into an OpenFlow routing rule, and writes the conversion relationship between the unicast address port number and the original multicast address port number into the OpenFlow switch 111 through the OpenFlow protocol, and also writes the conversion relationship between the unicast address port number and the original multicast address port number into an OpenFlow routing rule, and writes the conversion relationship into the OpenFlow switch 121 and the OpenFlow switch 131 through the OpenFlow protocol.
After the steps 311 to 316, the route of the multicast packet traversing the non-multicast network is opened, and when the multicast packet sender 112 generates the multicast packet again, the process proceeds to step 321, where the address port number of the multicast packet is changed to the unicast address port number routable on the non-multicast network 140 according to the written OpenFlow routing rule.
At step 322, the packet is routed on the non-multicast network 140 using the unicast address port number, and then the flow proceeds to step 323, where the packet is routed to the OpenFlow switch 121 and the OpenFlow switch 131.
In step 324, the address port number of the unicast packet is changed back to the original corresponding multicast address port number according to the written OpenFlow routing rule, and then step 325 is entered, and the multicast packet is routed to the multicast packet receiver 122 and the multicast packet receiver 132 by the address port number.
The following is an exemplary embodiment of the present invention, and the network system architecture and operation flow thereof are shown in fig. 5. The multicast packet sender 112 in the multicast network 110 sends a packet with a packet multicast address of 227.100.1.1 and a UDP port of 2222 using the multicast protocol. As shown in flow 4111, the multicast packet is multicast routed to the border OpenFlow switch 111 in the multicast network 110.
Since only the OpenFlow routing is preset in the OpenFlow switch 111 as set in step 213 of fig. 3, the packet with the multicast address enters the flow 4112, i.e. is forwarded to the OpenFlow controller 150, then the OpenFlow controller 150 queries the address port number database 160 for the available unicast address port number 200.2.1.1:10001 that can be routed to the multicast network 120 and the available unicast address port number 200.3.1.1:10001 of the multicast network 130, and then, as in the flow 4113, the OpenFlow controller 150 writes an OpenFlow routing rule for converting the multicast address into the unicast address port number into the OpenFlow routing rule for the OpenFlow switch 111, where the destination IP address in the Match field of the rule is set to 227.100.1.1 and the destination UDP port number is set to 2222, and the Actions in the first action is to set the destination IP address to 200.2.1.1, set the destination UDP port number to 10001, and the output port number is the port number of the OpenFlow switch 111 interfacing with the non-multicast network 140, the second action is to set the destination IP address to 200.3.1.1, the destination UDP port number to 10001, and the output port number to be the port number for the OpenFlow switch 111 to interface with the non-multicast network 140, as shown in the OpenFlow routing table 113.
After the process 4113, the multicast packet can be routed to the border OpenFlow switch 121 of the multicast network 120 and the border OpenFlow switch 131 of the multicast network 130 across the non-multicast network 140 by using the modified unicast packet address. Similarly, in flow 4114, the OpenFlow controller 150 writes an OpenFlow routing rule for converting the unicast address port number into the multicast address port number into the OpenFlow switch 121 and the OpenFlow switch 131. The rules written into the OpenFlow switch 121 are that the Match field has a destination IP address of 200.2.1.1 and a destination UDP port number of 10001, the Actions of Actions have a destination IP address of 227.100.1.1 and a destination UDP port number of 2222, and the output port number is the port number of the OpenFlow switch 121 interfacing with the multicast network 120, as shown in the OpenFlow routing table 123. The rules written into the OpenFlow switch 131 are that the Match field has a destination IP address of 200.3.1.1 and a destination UDP port number of 10001, the Actions of Actions have a destination IP address of 227.100.1.1 and a destination UDP port number of 2222, and the output port number is the port number of the OpenFlow switch 131 interfacing with the multicast network 130, as shown in the OpenFlow routing table 133.
When the multicast packet sender 112 sends the multicast packet with the IP address 227.100.1.1 and the UDP port number 2222 again, since the conversion of the address port number is already completed through the flow 4113 and the flow 4114, in the flow 4115, the OpenFlow switch 111 matches the routing rule of the OpenFlow routing table 113 after comparing the address port number of the multicast packet, so that one action changes the destination IP address of the multicast packet to 200.2.1.1 and the destination UDP port number to 10001, the packet can be routed to the OpenFlow switch 121, and another action changes the destination IP address of the multicast packet to 200.3.1.1 and the destination UDP port number to 10001, and the packet can be routed to the OpenFlow switch 131. After the packet arrives at the OpenFlow switch 121, the destination IP address of the packet is changed back to 227.100.1.1 and the destination UDP port number is changed back to 2222 according to the routing rule of the OpenFlow routing table 123. Similarly, after the packet arrives at the OpenFlow switch 131, the destination IP address of the packet is changed back to 227.100.1.1 and the destination UDP port number is changed back to 2222 according to the routing rule of the OpenFlow routing table 133.
Finally, in flow 4116, the multicast packets sent by the multicast packets 112 are received by the multicast packet receiver 122 and the multicast packet receiver 132 using the multicast address of 227.100.1.1 in the multicast network.
To sum up, the present invention is a method for modifying the IP address and UDP port number of a multicast packet through the OpenFlow protocol to enable the multicast packet to traverse the non-multicast network and the network system applied thereto, and compared with the conventional techniques, the method has the following advantages: 1. the invention can make the multicast packet pass through the non-multicast network under the condition of not changing the routing equipment setting in the non-multicast network; 2. the invention can make the multicast packet pass through the non-multicast network without changing the length of the multicast packet; 3. the invention uses standard OpenFlow protocol to convert the packet address, can achieve the fast provisioning setting, and any exchanger supporting the OpenFlow protocol can achieve the effect provided by the invention, and is not limited by specific network equipment; 4. compared with the traditional method of only using the IP address as the identification, the method of the invention greatly saves the use of IP address resources.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Modifications and variations can be made to the above-described embodiments by those skilled in the art without departing from the spirit and scope of the present invention. Therefore, the scope of the invention should be determined from the following claims.

Claims (10)

1. A system for enabling multicast packets to traverse non-multicast networks using OpenFlow protocol and UDP port number address translation, the system comprising:
a plurality of OpenFlow switches interconnected by a non-multicast network;
an address port number database storing unicast address port numbers for address translation; and
an OpenFlow controller connected to the address port number database for writing a predetermined OpenFlow routing rule into a routing table of each of the plurality of OpenFlow switches for routing by each of the plurality of OpenFlow switches,
when a multicast packet is sent by a multicast packet sending end, the multicast packet passes through a first OpenFlow exchanger in the multiple OpenFlow exchangers, the first OpenFlow exchanger converts a multicast address port number in the multicast packet into a unicast address port number of multiple second OpenFlow exchangers in the multiple OpenFlow exchangers to generate a unicast packet with the unicast address port number, the non-multicast network forwards the unicast packet after address conversion to the multiple second OpenFlow exchangers, and the multiple second OpenFlow exchangers convert the unicast address port number in the unicast packet into an original multicast address port number and then respectively forward the original multicast address port number to multicast packet receiving ends in the multicast network.
2. The system of claim 1, wherein the OpenFlow routing rules comprise multicast address port number and unicast address port number translation.
3. The system of claim 1, wherein the first OpenFlow switch forwards the multicast packet to the OpenFlow controller when determining that a destination IP address and a UDP port number of the multicast packet do not conform to the OpenFlow routing rule, and the OpenFlow controller obtains port numbers of available unicast addresses that can be routed to the multicast network and a border switch of the multicast network in the address port number database according to the multicast network to which the multicast packet source belongs, so as to update the OpenFlow routing rule.
4. The system of claim 3, wherein updating the OpenFlow routing rule comprises the OpenFlow controller writing a translation relationship between a multicast address port number of the multicast packet and the obtained unicast address port number to the first OpenFlow switch via an OpenFlow protocol, and the OpenFlow controller writing a translation relationship between the unicast address port number and the multicast address port number of the multicast packet to the plurality of second OpenFlow switches via the OpenFlow protocol.
5. The system of claim 3, wherein the available unicast address is a boundary switch providing unicast IP address routing on the non-multicast network to the multicast network.
6. A method for enabling multicast packets to traverse non-multicast networks using OpenFlow protocol and UDP port number address translation, the method comprising:
the multicast packet sending end generates a multicast packet and executes multicast routing in the multicast network;
the multicast packet is sent to a first OpenFlow switch at a boundary of the multicast network;
the first OpenFlow exchanger converts the multicast address port number of the multicast packet into a unicast address port number which can be routed on a non-multicast network according to a first OpenFlow routing rule prestored in the first OpenFlow exchanger so as to generate a unicast packet with the unicast address port number;
the unicast packet is routed on the non-multicast network by using the unicast address port number;
the unicast packet is routed to a plurality of second OpenFlow switches;
the plurality of second OpenFlow exchangers change the unicast address port number of the unicast packet back to the multicast address port number originally corresponding to the multicast packet according to a second OpenFlow routing rule prestored in the plurality of second OpenFlow exchangers; and
the returned mbs packets are forwarded to the mbs receiver in the multicast network via the mbs port number.
7. The method of claim 6, wherein when the first OpenFlow switch converts the multicast address port number of the multicast packet into a unicast address port number that can be routed on the non-multicast network, the method further comprises the following steps when determining that the destination IP address and the UDP port number of the multicast packet do not conform to the OpenFlow routing rules stored in advance:
the first OpenFlow switch forwards the multicast packet to the OpenFlow controller;
the OpenFlow controller obtains port numbers of available unicast addresses which can be routed to the multicast network and a boundary exchanger of the multicast network from an address port number database according to the multicast network to which the multicast packet source belongs;
the OpenFlow controller writes the conversion relation between the multicast address port number of the multicast packet and the obtained unicast address port number into the first OpenFlow routing rule in the first OpenFlow exchanger through an OpenFlow protocol; and
the OpenFlow controller writes the conversion relationship between the unicast address port number and the multicast address port number of the multicast packet into the second OpenFlow routing rules in the second OpenFlow switches through the OpenFlow protocol.
8. The method of claim 6, further comprising before performing multicast routing on the multicast packet, the step of using OpenFlow protocol and UDP port number address translation to enable the multicast packet to traverse a non-multicast network, further comprising:
setting information of the OpenFlow controller in the first OpenFlow switch and the second OpenFlow switches to establish connection lines between the OpenFlow controller and the first OpenFlow switch as well as the second OpenFlow switches;
the OpenFlow controller confirms that the connection status of the first OpenFlow exchanger and the plurality of second OpenFlow exchangers is normal;
the OpenFlow controller writes a routing rule of a preset OpenFlow into routing tables of the first OpenFlow exchanger and the plurality of second OpenFlow exchangers; and
storing the unconfigured address port number available for routing in an address port number database, so that the OpenFlow controller can query the port number of the available unicast address when performing the conversion between the multicast address port number and the unicast address port number.
9. The method of claim 8, wherein the OpenFlow controller writes the first OpenFlow routing rule and the second OpenFlow routing rule in the routing tables of the first OpenFlow switch and the second OpenFlow switches, that is, the destination IP address of the Match field is a multicast address, the Action field is an egress port to which the first OpenFlow switch and the second OpenFlow switches are connected, and the priority values of the first OpenFlow routing rule and the second OpenFlow routing rule are set to minimum values.
10. The method of claim 7, wherein the available unicast address is a boundary switch providing unicast IP address routing on the non-multicast network to the multicast network.
CN201810010012.0A 2017-07-07 2018-01-05 System and method for enabling multicast packets to traverse non-multicast networks Expired - Fee Related CN109218191B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106122845 2017-07-07
TW106122845A TWI648970B (en) 2017-07-07 2017-07-07 System and method for enabling multicast packet to traverse non-multicast network using OpenFlow protocol and UDP address translation

Publications (2)

Publication Number Publication Date
CN109218191A CN109218191A (en) 2019-01-15
CN109218191B true CN109218191B (en) 2021-03-26

Family

ID=64990998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810010012.0A Expired - Fee Related CN109218191B (en) 2017-07-07 2018-01-05 System and method for enabling multicast packets to traverse non-multicast networks

Country Status (3)

Country Link
JP (1) JP6862371B2 (en)
CN (1) CN109218191B (en)
TW (1) TWI648970B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7505543B2 (en) * 2020-02-25 2024-06-25 日本電信電話株式会社 COMMUNICATION DEVICE, RECEIVING COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
KR102485180B1 (en) * 2021-06-09 2023-01-06 아토리서치(주) Software defined networking switch and method for multicasting thereof
CN115767155B (en) * 2022-09-07 2024-10-22 成都西加云杉科技有限公司 Network communication method, device, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1134933A2 (en) * 2000-02-28 2001-09-19 Nec Corporation System and method for multicasting

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782490B2 (en) * 1999-03-17 2004-08-24 At&T Corp. Network-based service for the repair of IP multicast sessions
JP3759527B2 (en) * 2003-01-29 2006-03-29 日本電信電話株式会社 Multicast data communication system and method, client-side gateway, server-side gateway, computer program, and recording medium recording the computer program
US7546082B2 (en) * 2004-03-02 2009-06-09 Telcordia Technologies, Inc. Application-layer multicast for mobile users in diverse networks
JP4476839B2 (en) * 2005-02-23 2010-06-09 株式会社エヌ・ティ・ティ・ドコモ Data distribution system, relay device, and data distribution method
CN100448228C (en) * 2005-09-02 2008-12-31 杭州华三通信技术有限公司 Method for multicasting message to traverse non multicasting network and its applied network system
US7843831B2 (en) * 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
CN103607348A (en) * 2013-11-27 2014-02-26 北京邮电大学 Virtual network flow classifying method based on OpenFlow protocol
TW201611567A (en) * 2014-09-05 2016-03-16 Chunghwa Telecom Co Ltd System of providing function of capturing keyswitch activation service messages during a telephony and the method thereof
CN104486095B (en) * 2014-12-22 2018-07-17 上海斐讯数据通信技术有限公司 SDN controllers and multicast control method
US10291516B2 (en) * 2015-02-27 2019-05-14 Cisco Technology, Inc. Synonymous labels
CN106549916A (en) * 2015-09-18 2017-03-29 中兴通讯股份有限公司 Multicast transmission method, apparatus and system
US10003519B2 (en) * 2015-11-13 2018-06-19 Nanning Fugui Precision Industrial Co., Ltd. Data delivery method based on software defined networking and software defined networking controller using the method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1134933A2 (en) * 2000-02-28 2001-09-19 Nec Corporation System and method for multicasting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dynamic construction of to-many communication topology by using Openflow;Shun YANASE,et all;《THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS》;20151210;全文 *

Also Published As

Publication number Publication date
JP2019017004A (en) 2019-01-31
TW201907696A (en) 2019-02-16
JP6862371B2 (en) 2021-04-21
TWI648970B (en) 2019-01-21
CN109218191A (en) 2019-01-15

Similar Documents

Publication Publication Date Title
US8077732B2 (en) Techniques for inserting internet protocol services in a broadband access network
US9166807B2 (en) Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks
JP5862769B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
US7860112B2 (en) Bi-directional forwarding in ethernet-based service domains over networks
US8879569B2 (en) Virtual network connection method, network system, and network device
JP7058270B2 (en) Routing within a hybrid network
EP2843906B1 (en) Method, apparatus, and system for data transmission
US9504016B2 (en) Optimized multicast routing in a Clos-like network
US9559855B2 (en) System and method for providing multicast delivery in a network environment
US20090225660A1 (en) Communication device and operation management method
US10389618B2 (en) Distributing network path information in a network environment
CN109218191B (en) System and method for enabling multicast packets to traverse non-multicast networks
CN102215172A (en) Method and system for realizing across virtual private local area network multicast
US11228459B2 (en) Anycast address configuration for extended local area networks
US20150002616A1 (en) Apparatus and method for processing multicast traffic in openflow environment
JP6323444B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
US20080186967A1 (en) Method for supporting source-specific multicast forwarding over ethernet and device thereof
CN104113513B (en) A kind of detecting host method, apparatus and system
US10764337B2 (en) Communication system and communication method
KR100883575B1 (en) Static Routing Method and Packet Distribution Device Implementing the Method
Wahanani et al. Equal cost multipath ryu controller analysis in software-defined networking
US9577930B2 (en) Method for determining multicast path, method for receiving data packet, and router
KR102023901B1 (en) Method, apparatus and computer program for routing packets of software defined network
CN109005114B (en) A conventional routing and delay tolerant network fusion distributed forwarding system and method
WO2015197484A1 (en) Method and device for routing ip multicast packets in a network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210326

CF01 Termination of patent right due to non-payment of annual fee