WO2008049296A1 - Method and system of igmp datagram transmission - Google Patents
Method and system of igmp datagram transmission Download PDFInfo
- Publication number
- WO2008049296A1 WO2008049296A1 PCT/CN2007/000917 CN2007000917W WO2008049296A1 WO 2008049296 A1 WO2008049296 A1 WO 2008049296A1 CN 2007000917 W CN2007000917 W CN 2007000917W WO 2008049296 A1 WO2008049296 A1 WO 2008049296A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- igmp
- message
- user
- multicast
- igmp message
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
Definitions
- the present invention relates to the field of communications, and in particular, to an IGMP (Internet Group Management Protocol) message transmission method and system.
- IGMP Internet Group Management Protocol
- the multicast video service carried out on the current data network generally adopts the networking model as shown in Figure 1:
- the network system includes four components: a video service system, an IP metropolitan area network, a broadband access network, and a user network.
- the video service system implements functions such as video user management and video coding, and sends the video service stream to the metropolitan area network;
- the IP metropolitan area network transmits the video service stream to the broadband access network through the IP multicast function;
- the broadband access network realizes the user broadband Internet access authentication management, video group join/leave control function, and send the video stream required by the user to the user;
- the user network includes CPE (Customer Premises Equipment), PC, video STB (Set Top Box) Devices, which are interconnected to form a home LAN. If users need to join or leave a certain channel, they need to send IGMP (Internet Group Management Protocol) to join or leave the message.
- IGMP Internet Group Management Protocol
- Broadband access networks typically include aggregation switches and edge devices such as DSLAM (Digital Subscriber Line Access Multiplexer).
- DSLAM Digital Subscriber Line Access Multiplexer
- the aggregation switch needs to have strong processing capability for IGMP messages.
- the IGMP PROXY (proxy) function can be used on the edge device, when the user can select more channels, the suppressed message is limited.
- Type Indicates the IGMP 4 text type. 0x16 member report message, indicating joining a group;
- the multicast router is used to query whether a user exists, and is divided into a general query and a specific query.
- a specific query is to query whether a group has users; a general query is to query which group has users.
- Max Response Time Maximum response time The default value is 10 seconds. After receiving the query message, the response is sent to the REPORT message within this time.
- Group Address which indicates the group address to join or leave or a specific query. That is, when a user joins a channel, it needs to send a join message.
- the edge device does not have IGMP PROXY, the packet is transparently transmitted from the edge device to the aggregation switch.
- the edge device sends the packet to the aggregation switch.
- the number at least: The number of channels viewed by users accessing this edge device. Therefore, when there are more users and more channels to choose from, it is also necessary to aggregate the processing power of the switch. Summary of the invention
- the present invention provides an IGMP packet transmission method and system, which can reduce IGMP messages on the network and reduce the CPU processing time of the multicast communication device.
- the method for transmitting IGMP messages of the present invention includes the following steps:
- Step S602 At least one user terminal sends an IGMP message to the IGMP message forwarding device.
- Step S604 the IGMP message forwarding device receives and merges the IGMP message from the at least one user terminal, and sends the merged IGMP message to the IGMP message parsing device;
- Step S606 The IGMP message parsing device receives and decomposes the merged IGMP message from the IGMP message forwarding device, and processes the decomposed IGMP message.
- step S604 includes:
- Step S604-2 the IGMP message forwarding device receives the at least one user terminal. And responding to the IGMP message and/or the message from the IGMP message parsing device; Step S604-4, when the timer timing time has not expired and the merged IGMP message does not reach the maximum transmission unit, the IGMP The message forwarding device merges the IGMP message;
- Step S604-6 the IGMP message forwarding device calculates the checksum of the IGMP message, and inserts the checksum into the case that the IGMP message of the timer has expired or the merged IGMP message has reached the maximum transmission unit.
- the merged IGMP message is sent to the IGMP message parsing device.
- the IGMP packet forwarding device receives the IGMP report of the existing user. After the text, the IGMP message of the existing user is updated.
- the IGMP message includes an IGMP join message and an IGMP leave message
- the IGMP message forwarding device combines one or more versions of IGMP messages.
- step S604-2
- the export multicast forwarding table of the user is generated, and if it is added, the record is recorded and exited; as well as
- the IGMP Leave message In the case that the IGMP Leave message is received, it is determined whether the user who sent the IGMP Leave message is a fast leave, and if it is a fast leave, the information of the user is deleted from the multicast forwarding table. If it is slow to leave, ask the user if they really left.
- step S604-2 includes:
- the IGMP message forwarding device When receiving the general query message from the IGMP message parsing device, determining whether the IGMP message forwarding device is an IGMP proxy; if not the IGMP proxy, broadcasting to the at least one user terminal a general query message; if the IGMP proxy is activated, it is determined whether the IGMP packet parsing device has an authentication function of the user; if the authentication function of the user is activated, all users of all groups are merged The IGMP message is merged with one user of each group if the authentication function is not used or the authentication function is in the IGMP message forwarding device itself.
- step S606 Whether the IGMP packet parsing device functions as a multicast user authentication function; if it is determined that the multicast user authentication function is used, it is determined whether the user can join the multicast group; if the user is not allowed to join, the record is recorded and exited. If the user is allowed to join, it is determined whether the port where the user is located exists in the forwarding table of the join multicast group. If not, the multicast forwarding table of the user is generated, and if yes, the record is recorded and exited.
- the IGMP message is an IGMP join message and the checksum is correct, determining whether the IGMP message parsing device functions as a multicast user authentication; and determining that the multicast user authentication function is not In this case, it is determined whether the user has joined the multicast group; if not, the multicast forwarding table is generated, and if it has been joined, the user exits.
- step S606
- the IGMP message is an IGMP Leave message and the check is correct, it is determined whether the IGMP message parsing device functions as a multicast user, and is determined to have the multicast user authentication function. If the user has joined the multicast group, if the user has joined the multicast group, it is determined whether there are other users in the multicast group to leave and the IGMP message of the user. The port of the parsing device is the same; if it exists, it records and exits. If it does not exist, the multicast forwarding table is written and the port is deleted.
- the IGMP packet forwarding device is located at the user access side, and the IGMP packet parsing device is located at the user aggregation side; or
- the IGMP packet forwarding device is located at the aggregation side of the user, and the IGMP packet parsing device is located at the broadband remote access server.
- the present invention further provides an IGMP message transmission system, comprising: at least one user terminal, configured to send an IGMP message to an IGMP message forwarding device; and an IGMP message forwarding device, configured to receive and merge from the At least one user terminal's IGMP message, and the merged IGMP message is sent to the IGMP message parsing device;
- the IGMP message parsing device is configured to receive and decompose the merged IGMP message from the IGMP message forwarding device, and process the decomposed IGMP message. Further, the IGMP message forwarding device includes:
- a message receiving unit configured to receive and respond to an IGMP message from the at least one user terminal, and receive a message from the IGMP message parsing device and respond;
- the timer is used to control the time when IGMP messages are sent periodically.
- the message merging unit is configured to merge the received IGMP message, and send the merged IGMP message to the IGMP message if the IGMP message has reached the maximum transmission unit. Parsing device;
- the verification and calculation unit is configured to calculate the checksum of the IGMP message when the timer has expired or the merged IGMP message has reached the maximum transmission unit, and insert the checksum into the merged IGMP message. .
- the message merging unit updates the existing user's IGMP after receiving the IGMP message of the user after the timer has not arrived and the merged IGMP message does not reach the maximum transmission unit. 4 ⁇ .
- the message merging unit may combine one or more versions of the IGMP message; the IGMP message includes an IGMP join message and an IGMP leave message.
- the packet receiving unit determines whether the user who sends the IGMP join message has been added if the IGMP join message is received, and generates the egress multicast forwarding table of the user if not added; In the case of a message, it is determined whether the user who sent the IGMP Leave message is a fast leave. If yes, the user's information is deleted from the multicast forwarding table. If the message is slow, the user is instructed to ask whether the user left. .
- the IGMP message parsing apparatus includes: The inspection and verification unit is configured to check whether the inspection in the IGMP message received by the insurance is correct or not; the message parsing unit is configured to parse and process the received IGMP message in the case of verification and correctness;
- the packet processing unit is configured to process the parsed IGMP join message
- the leave message processing unit is configured to process the parsed IGMP leave message.
- the join message processing unit determines whether the IGMP message parsing device functions as a multicast user authentication when the check and the correct one is determined; and determines whether the user can Add a multicast group. If the user is not allowed to join, record and log out. If the user is allowed to join, determine whether the port where the user is located exists in the forwarding table of the multicast group. If not, the multicast forwarding table of the user is generated. If yes, it is recorded and exited. If it is determined that there is no multicast user authentication function, it is determined whether the user has joined the multicast group. If not, the multicast forwarding table is generated. If it has been added, it is exited.
- the leaving message processing unit determines whether the IGMP message parsing device functions as a multicast user authentication when the check and the correct one is determined; and determines whether the user has joined the group if it is determined that the multicast user authentication function is activated.
- the broadcast group if not, exits. If the user has joined the multicast group, it is determined whether there are other users in the multicast group to leave.
- the port is the same as the port where the IGMP packet parsing device is located. If it exists, the record is logged out. If it exists, write the multicast forwarding table and delete the port.
- the IGMP packet forwarding device is located at the user access side, and the IGMP packet parsing device is located at the user aggregation side; or
- the IGMP packet forwarding device is located at the aggregation side of the user, and the IGMP packet parsing device is located at the broadband remote access server.
- the present invention provides a method and system for reducing message processing on the basis of existing equipment. That is, the IGMP messages of multiple users are combined to reduce the number of IGMP messages on the network.
- FIG. 1 is a schematic diagram of a networking structure of a multicast video system
- FIG. 2 shows the IGMP V2 packet format.
- 3A through 3C are block diagrams of an IGMP message transmission system in accordance with the present invention.
- Figure 5 is a specific filling format of a user of the present invention.
- FIG. 6A and FIG. 6B are flowcharts showing a specific implementation of an IGMP message transmission method according to the present invention
- FIG. 7 is a schematic diagram of a partial network structure of a multicast video system (the access control point and the multicast replication point are both in the DSLAM);
- 8A to 8C are diagrams showing a process of forming a merged message of the present invention.
- FIG. 9 is a schematic diagram of a partial network structure of a multicast video system (the access control point and the multicast replication point are both in a BRAS (Broadband Remote Server)); and FIG. 10 is a partial group of the multicast video system. Schematic diagram of the network structure (the access control point is in the DSLAM and the multicast replication point are in the DSLAM).
- FIG. 3A is a block diagram of an IGMP message transmission system 300 in accordance with the present invention.
- the IGMP message transmission system includes: at least one user terminal 302, configured to send an IGMP message to the IGMP message forwarding device 304, and an IGMP4 message forwarding device 304, configured to receive and merge at least one The IGMP message of the user terminal, and the merged IGMP message is sent to the IGMP message parsing device 306; and the IGMP message parsing device 306 is configured to receive and decompose the merged IGMP message from the IGMP message forwarding device. And process the decomposed IGMP messages.
- the IGMP message forwarding device 304 includes: a message receiving unit 304-2, configured to receive and respond to an IGMP message from at least one user terminal, and receive a message from the IGMP message parsing device and perform the message. Response; timer 304-4, used to control timing transmission
- the time of the IGMP message is: the message merging unit 304-6 is configured to merge the received IGMP message, and after the timer expires or the merged IGMP message has reached the maximum transmission unit, the message is merged.
- the IGMP message is sent to the IGMP message parsing device; and the checksum calculation unit 304-8 is configured to calculate the IGMP message if the IGMP message has reached the maximum transmission unit after the timer expires or the merged IGMP message has been reached. Checksum and insert the checksum into the merged IGMP message.
- the message merging unit updates the existing user's IGMP message after receiving the IGMP message from the user.
- the message merging unit may combine one or more versions of IGMP messages.
- the IGMP message includes an IGMP join message and an IGMP leave message.
- the message receiving unit 304-2 determines whether the user who sent the IGMP join message has been added, and if not, generates the egress multicast forwarding table of the user; and receives the IGMP leave message. In this case, it is determined whether the user who sends the IGMP Leave message is a fast leave, if yes, the user's information is deleted from the multicast forwarding table, and if it is slow, the user is instructed to ask whether the user left.
- the message receiving unit 304-2 when receiving the general query message from the IGMP message parsing device, determines whether the IGMP message forwarding device is an IGMP proxy, and if not, broadcasts the reception to at least one user terminal.
- the general query message is sent; if the IGMP proxy is activated, it is determined whether the IGMP message parsing device has authenticated the user. If so, the message merging unit 304-6 is instructed to merge all users of all groups.
- IGMP packet if there is no authentication function from the device itself or an authentication function forwards the IGMP message, the user indicates a packet merging unit merging each group of packets Gen ⁇ 1.
- the IGMP file parsing device 306 includes: an inspection and verification unit 306-2 for verifying whether the checksum in the received IGMP4 message is correct; and the message parsing unit 306-4 for After the check and the correct case, the received IGMP message is parsed and processed; the join message processing unit 306-6 is configured to process the parsed IGMP join message; The message processing unit 306-8 is configured to process the parsed IGMP Leave message.
- the joining message processing unit 306-6 determines whether the IGMP message parsing device functions as a multicast user authentication; if it is determined that the multicast user authentication function is available, it is determined whether the user can join the multicast. If the user is allowed to join, the user is determined to be in the forwarding table of the multicast group. If not, the multicast forwarding table of the user is generated. If yes, the user logs in and exits. If it is determined that there is no multicast user authentication function, it is determined whether the user has joined the multicast group. If not, the multicast forwarding table is generated. If it has been added, the device exits.
- the leave message processing unit 306-8 determines whether the IGMP message parsing device functions as a multicast user authentication. If it is determined that the multicast user authentication function is activated, it is determined whether the user has joined the group. The broadcast group, if not, exits; if the user has joined the multicast group, it is determined whether the other user in the multicast group to leave is the same as the port of the IGMP packet parsing device where the user is located. If it exists, the record is logged out. If it exists, write the multicast forwarding table and delete the port.
- the IGMP packet forwarding device 304 can be located on the user access side, and the IGMP packet parsing device 306 can be located on the user aggregation side.
- the IGMP packet forwarding device 304 can be located at the aggregation side of the user, and the IGMP packet parsing device 306 can be located at the broadband remote access server.
- the IGMP message forwarding device (device 1) of the present invention has the following features:
- the user's characteristic information needs to be recorded: user IP address, user MAC address, port number where the user is located, and so on.
- the timer period is 20 milliseconds by default. The size can be adjusted. If the timing period has not arrived, and the merged message has reached the MTU (Maximum Transmission Unit), it can be immediately sent to Image 2.
- MTU Maximum Transmission Unit
- the merged message that has not been sent has the IGMP message content of the user, which can clear the user's ⁇ Rong, merge the latest IGMP messages of this user.
- the user receives the IGMP join message, and determines whether the user has joined. If not, the multicast forwarding table of the user exit is formed. If the packet is left, the user is determined to have Join, if not joined, exit directly; if it has been added, judge whether to leave quickly, and if so, remove the exit of this user from the multicast forwarding table. If it is slow to leave, send a specific group of query messages, ask the user if they really left.
- the device 1 also has the following features:
- the merged message is still an IGMP message, that is, the IP protocol number is still 2.
- Type Type 0xef : Multi-user join/leave.
- Checksum Checksum The checksum is a 16-bit check of the length of the IGMP message (the entire payload of the IP packet). The field is set to 0, and the fields are wrapped together for calculation when calculating the checksum. When transferring a package, the insurance risk must be calculated and inserted into the domain. When receiving a packet, the checksum must be verified before processing the packet.
- Number of User Records Number of Host Records: The number of user records indicates how many users are joining/leaving groups below.
- User records indicate the joining or leaving of a specific user.
- the specific user record format is shown in Figure 5:
- the IGMP message is exactly the same as the IGMP message of the user. It is copied directly when the user joins or leaves.
- IP Address The IP address when the user sends a join.
- Vlan ID The VLAN ID assigned to the user, or the VLAN ID of the user;
- the Type, Length, and Value fields are a group of information indicating a type of information related to the user.
- Type Type may take the following values:
- Vlan id ( 0x03 ) User's inner VLAN ID
- Length is the length of Value, in bytes. The length of Value depends on the value of Type. When Type is user name and user password, the length is 32; when it is VLAN ID, the length is 2. Other reservations. Usernames and user passwords are generally used when authenticating multicast users.
- IGMP message parsing device has the following characteristics:
- the received IGMP message can be correctly decomposed into the join message and the leave message.
- A1 perform authentication, judge whether it can join, if it is allowed to join Al l , if it is not allowed to join A12.
- Al l determine whether the port of device 2 of the user is already in the forwarding table of the joined group. If not, form a multicast forwarding table. If it is already, record and exit. A12, record and exit.
- A2 judge whether it has been joined, if not joined, form a multicast forwarding table; if it has already joined, exit.
- FIG. 6A is a flow diagram of an IGMP message transmission method in accordance with the present invention.
- the IGMP message transmission method of the present invention includes the following steps: Step S602: At least one user terminal sends an IGMP message to an IGMP message forwarding device.
- Step S604 The IGMP message forwarding device receives and merges at least An IGMP message of the user terminal, and the merged IGMP message is sent to the IGMP message parsing device; and in step 606, the IGMP message parsing device receives and decomposes the merged IGMP message from the IGMP message forwarding device.
- the decomposed IGMP messages are processed.
- step S604 includes: Step S604-2: The IGMP message forwarding device receives an IGMP message from at least one user terminal and/or a message from the IGMP message parsing device and responds; Step S604-4, The IGMP message forwarding device merges the IGMP message when the timer expires and the merged IGMP message does not reach the maximum transmission unit. And the step S604-6, the IGMP message forwarding device arrives or merges at the timer time. If the IGMP message has reached the maximum transmission unit, the checksum of the IGMP message is calculated, and the checksum is inserted into the merged IGMP message and sent to the IGMP message parsing device.
- the message merging unit updates the IGMP message of the existing user after receiving the IGMP message from the user.
- the IGMP packet forwarding device may combine one or more versions of IGMP messages.
- the above IGMP messages include IGMP join messages and IGMP leave messages.
- step S604-2 if an IGMP join message is received, it is determined whether the user who sent the IGMP join message has been added; if not, the user's egress multicast forwarding table is generated.
- step S604-2 if the IGMP Leave message is received, it is determined whether the user sending the IGMP Leave message is a fast leave; if it is a fast leave, the user information is deleted from the multicast forwarding table, if If you leave slowly, ask the user if you really want to leave.
- step S604-2 when receiving the general query message from the IGMP message parsing device, determining whether the IGMP message forwarding device is an IGMP proxy; if not the IGMP proxy, broadcasting to the at least one user terminal If the IGMP proxy is used, it is determined whether the IGMP packet parsing device functions as the user's authentication function. If the user authentication function is used, the IGMP messages of all users in all groups are merged. If there is no authentication function or the authentication function is in the IGMP packet forwarding device itself, the packets of one user of each group are merged.
- step S606 if the IGMP message is an IGMP join message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication; if the multicast user authentication function is not activated, the record is logged out; If the user is allowed to join the multicast group, the user is allowed to join the multicast group. If the user is not allowed to join, record and log out. If the user is allowed to join the multicast group, determine whether the port where the user is located is added to the group. The forwarding table of the broadcast group exists; if not, the second forwarding table processing unit is instructed to generate a multicast forwarding table of the user; if yes, the record is recorded and exited.
- step S606 if the IGMP message is an IGMP join message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication; if it is determined that the multicast user authentication function is not available, You can further determine whether the user has joined the multicast group. If it is not added, it generates a multicast forwarding table. If it has already joined, it exits.
- step S606 if the IGMP message is an IGMP Leave message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication function; if it is determined that the multicast user authentication function is activated, Determine whether the user has joined the multicast group; if not, quit, if If the user has joined the multicast group, it is determined that the other user in the multicast group to leave is the same as the port of the IGMP packet parsing device where the user is located. If it exists, the record is logged out. If not, the multicast forwarding table is written. Delete the port.
- the IGMP packet forwarding device can be located on the user access side, and the IGMP packet parsing device can be located on the user aggregation side.
- the IGMP packet forwarding device can be located on the aggregation side of the user, and the IGMP packet parsing device can be located on the broadband remote access server.
- the core idea of the present invention is to merge the IGMP messages of the user. Therefore, the device that processes and forwards the IGMP messages can use the present invention.
- the static multicast method is used to establish the service access control point to the multicast source. Transparent channel for multicast data between.
- both the multicast service control point and the multicast replication point are on the DSLAM.
- User aggregation devices include ONUs (Optical Network Units), Layer 2 switching devices, ADSL MODEMs, etc. in EPON systems that can run IGMP protocols.
- the three video terminals 702, 704, and 706 have MAC addresses of MAC 1, MAC2, and MAC3, respectively, and IP addresses are IP1, IP2, and IP3, which are connected to ports 1, 2, and 3 of the user aggregation device; and 4 in the network.
- Multicast channels respectively G1, G2, G3, G4; video terminal users can join different channels.
- the timer for sending multi-user IGMP join and leave messages is set.
- the period of the timer can be set according to the actual situation of the network. The default is 20MS.
- the user records that Host Records is 1, the user's IP address, and the MAC address is taken from the message.
- the checksum of the new message is calculated, and the new IGMP message is sent to the upper layer device, such as; DSLAM; if the timing period is not reached, the second The video terminal 704 requests to join the group 2, merges the information of the terminal 704 into the new IGMP, and the user records the Host Records plus 1 to 2, the same IP2, and the MAC2 is taken from the message. If the timer expires, the checksum is calculated, and the message recording the two user information is sent to the upper device. The third video terminal switches from channel 3 to channel 4. The entire organization of the message is as shown in Figs. 8A to 8C.
- the upper device receives an IGMP packet of the type OXef:
- Step 1 Verify that the IGMP message is checked and is in error. If it is wrong, discard it. If it is correct, go to step 2;
- Step 2 Parse out four IGMP messages and retrieve each user information. Differentiate what type of packet is. If it is a join message, go to step 3. If it is a leave message, go to step 4. Step 3: Check whether the first user information IP1 and MAC1 can be added to G1 for authentication. If you are allowed to join, you will exit; if you are allowed to join, go to step 31;
- Step 31 Determine whether IP1 and MAC1 are added to G1 for the first time. If it is the first time to join, add this item to the forwarding table of multicast G1, and notify the access control that the join is successful. If it is not the first time to join, quit.
- Step 4 Determine whether IP3 and MAC3 have been added to G3. If they are not added, exit. If they have joined, judge whether to leave quickly. If they leave quickly, delete from the forwarding table and notify access control.
- Figure 9 shows the situation where both the multicast service control point and the multicast replication point are on the BRAS.
- the user aggregation device supports the processing of the merged IGMP messages.
- the user aggregation device combines the user packets and sends them to the DSLAM.
- the DSLAM is decomposed to form a Layer 2 forwarding table.
- the merged IGMP messages can be merged again. Sent to the BRAS. That is, as long as the timing has not arrived and the MTU has not been reached, the merge can continue to form a new packet of type Oxef.
- the user aggregation device receives the general query message and merges the user's join message according to the actual online situation of the user. For example, user 1, user 2, and user 3, respectively, Gl, G2, and G4, and only one IGMP message is sent after the combination.
- User aggregation device does not support the processing of IGMP messages. User aggregation device forwarding.
- the user's IGMP message is sent to the DSLAM.
- the DSLAM merges the user's join and leave the message, and a new type of Oxef packet is sent to the BRAS.
- the user aggregation device receives the general query message and sends the user's join message according to the actual online situation of the user. For example, user 1, user 2, and user 3 are in Gl, G2, and G4, and need to send three IGMP join messages.
- the BRAS receives the IGMP message of the type Oxef. After the packet is checked, the packet is decomposed. If the user joins the packet, the user information is authenticated. After the authentication is passed, the forwarding table is formed. The multicast group is sent to the DSLAM. If the authentication does not pass, discard.
- Figure 10 shows the multicast service control point in the BRAS and the multicast replication point on the DSLAM.
- the IGMP join and leave message is merged on the DSLAM, but the forwarding table is not formed.
- the merged multi-user IGMP message is sent to the BRAS.
- the port information of the DSLAM where the user is located needs to be carried in the merge for authentication. .
- the BRAS After the BRAS receives the test, it is decomposed and judged. If the user joins the message, the user information is authenticated. After the authentication is passed, the DSLAM is notified to form a corresponding forwarding table. If the authentication does not pass, discard it. If the packet is leaving, determine whether the user exists in the corresponding group. If it does not exist, discard it; if it exists, notify the DSLAM to delete it from the corresponding forwarding table.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
An IGMP datagram transmission method and system, the system including at least a user terminal, IGMP datagram forwarding apparatus and IGMP datagram parsing apparatus; the method including the following steps: at least a user terminal transmits IGMP datagram to IGMP datagram forwarding apparatus, then the IGMP datagram forwarding apparatus receives and merges the IGMP datagram from the at least one user terminal and transmits the merged IGMP datagram to the IGMP datagram parsing apparatus; then the IGMP datagram parsing apparatus receives and parses the merged IGMP datagram from the IGMP datagram forwarding apparatus and processes the parsedIGMP datagram. The invention decreases IGMP datagram in the network, reduces the CPU processing time of multicast communication devices and as such achieves the purpose of increasing the number of multicast access users without changing the current processing ability.
Description
IGMP报文传输方法和系统 IGMP message transmission method and system
技术领域 Technical field
本发明涉及通信领域, 尤其涉及一种 IGMP ( Internet Group Management Protocol互联网組播成员管理协议 )报文传输方法和系统。 The present invention relates to the field of communications, and in particular, to an IGMP (Internet Group Management Protocol) message transmission method and system.
背景技术 Background technique
目前的数据网络上开展的组播视频业务一般采用如图 1 所示的组网模 型: 网络系统包括视频业务系统、 IP城域网、 宽带接入网和用户网络四个组 成部分。 The multicast video service carried out on the current data network generally adopts the networking model as shown in Figure 1: The network system includes four components: a video service system, an IP metropolitan area network, a broadband access network, and a user network.
视频业务系统实现视频用户管理和视频编码等功能,将视频业务流送入 城域网; IP城域网通过 IP组播功能将视频业务流送到宽带接入网; 宽带接 入网实现用户宽带上网接入认证管理、 视频组加入 /离开控制功能, 并将用 户所需的视频流发送给用户; 用户网络包含 CPE ( Customer Premises Equipment用户驻地设备) 、 PC、 视频 STB ( Set Top Box机顶盒)等设备, 这些设备内部互联形成一个家庭局域网,用户如果需要加入或离开某一个频 道, 那么就需要发送 IGMP ( Internet Group Management Protocol互联网组播 成员管理协议)加入或离开报文。 The video service system implements functions such as video user management and video coding, and sends the video service stream to the metropolitan area network; the IP metropolitan area network transmits the video service stream to the broadband access network through the IP multicast function; the broadband access network realizes the user broadband Internet access authentication management, video group join/leave control function, and send the video stream required by the user to the user; the user network includes CPE (Customer Premises Equipment), PC, video STB (Set Top Box) Devices, which are interconnected to form a home LAN. If users need to join or leave a certain channel, they need to send IGMP (Internet Group Management Protocol) to join or leave the message.
宽带接入网一般包括汇聚交换机和边缘设备如 DSLAM ( Digital Subscriber Line Access Multiplexer数字用户线接入复用器) 。 当用户比较多 时, 就需要汇聚交换机有很强的对 IGMP报文的处理能力。 虽然在边缘设备 上可以采用 IGMP PROXY (代理)功能, 当用户可以选择的频道比较多时, 抑制的报文是有限的。 Broadband access networks typically include aggregation switches and edge devices such as DSLAM (Digital Subscriber Line Access Multiplexer). When the number of users is large, the aggregation switch needs to have strong processing capability for IGMP messages. Although the IGMP PROXY (proxy) function can be used on the edge device, when the user can select more channels, the suppressed message is limited.
PC或者 STB点播组播节目时, 采用发送 IGMP REPORT加入^ =艮文的方 式。 IGMP有三个版本, 分别为 VI , V2, V3 , 目前一般采用 IGMPV2。 当 IP报头的协议号为 2时,表明是 IGMP报文。 IGMPV2报文内容格式如图 3 所示: When a PC or STB multicasts a multicast program, it uses the method of sending an IGMP REPORT to join the ^=艮文. There are three versions of IGMP, VI, V2, and V3. IGMPV 2 is currently used. When the protocol number of the IP header is 2, it indicates that it is an IGMP message. The format of the IGMPV2 message content is shown in Figure 3:
Type: 表示 IGMP 4艮文类型。
0x16成员报告报文, 表示加入一个组; Type: Indicates the IGMP 4 text type. 0x16 member report message, indicating joining a group;
0x17 离开报文, 表示离开一个组; 0x17 leaves the message, indicating that it leaves a group;
0x11 成员查询, 组播路由器用来查询是否有用户存在, 分为通用查询 和特定查询。特定查询是查询某个组是否存在用户; 通用查询是查询哪个组 有用户。 0x11 member query, the multicast router is used to query whether a user exists, and is divided into a general query and a specific query. A specific query is to query whether a group has users; a general query is to query which group has users.
Max Response Time最大响应时间,缺省值为 10秒,即收到查询报文后, 在此时间内响应发送 REPORT报文。 Max Response Time Maximum response time. The default value is 10 seconds. After receiving the query message, the response is sent to the REPORT message within this time.
Group Address组地址, 表示要加入或者离开或者特定查询的组地址。 即当一个用户加入一个频道, 需要发送一个加入报文; 当边缘设备没有 起 IGMP PROXY时,报文从边缘设备透传到汇聚交换机;当起 IGMP PROXY 时, 边缘设备发送给汇聚交换机的报文数, 至少是: 此边缘设备接入的用户 所收看的频道数。 因此当用户比较多和可选择的频道比较多时, 同样需要汇 聚交换机大的处理能力。 发明内容 Group Address, which indicates the group address to join or leave or a specific query. That is, when a user joins a channel, it needs to send a join message. When the edge device does not have IGMP PROXY, the packet is transparently transmitted from the edge device to the aggregation switch. When the IGMP PROXY is sent, the edge device sends the packet to the aggregation switch. The number, at least: The number of channels viewed by users accessing this edge device. Therefore, when there are more users and more channels to choose from, it is also necessary to aggregate the processing power of the switch. Summary of the invention
针对以上一个或多个问题,本发明要提供了一种 IGMP报文传输方法和 系统, 能够实现减少网络中 IGMP报文, 降低组播通信设备 CPU处理时间。 The present invention provides an IGMP packet transmission method and system, which can reduce IGMP messages on the network and reduce the CPU processing time of the multicast communication device.
本发明的 IGMP报文传输方法包括以下步骤: The method for transmitting IGMP messages of the present invention includes the following steps:
步骤 S602, 至少一个用户终端将 IGMP报文发送至 IGMP报文转发装 置; Step S602: At least one user terminal sends an IGMP message to the IGMP message forwarding device.
步驟 S604, 所述 IGMP报文转发装置接收并合并来自所述至少一个用 户终端的 IGMP报文,并将合并后的 IGMP报文发送至 IGMP报文解析装置; 以及 Step S604, the IGMP message forwarding device receives and merges the IGMP message from the at least one user terminal, and sends the merged IGMP message to the IGMP message parsing device;
步驟 S606, 所述 IGMP报文解析装置接收并分解来自所述 IGMP报文 转发装置的合并后的 IGMP报文, 并对分解后的 IGMP报文进行处理。 Step S606: The IGMP message parsing device receives and decomposes the merged IGMP message from the IGMP message forwarding device, and processes the decomposed IGMP message.
进一步地, 所述步骤 S604包括: Further, the step S604 includes:
步骤 S604-2,所述 IGMP报文转发装置接收来自所述至少一个用户终端
的 IGMP报文和 /或来自所述 IGMP报文解析装置的消息并进行响应; 步骤 S604-4,在定时器定时时间未到并且合并后的 IGMP报文未达到最 大传输单元时, 所述 IGMP报文转发装置合并所述 IGMP报文; 以及 Step S604-2, the IGMP message forwarding device receives the at least one user terminal. And responding to the IGMP message and/or the message from the IGMP message parsing device; Step S604-4, when the timer timing time has not expired and the merged IGMP message does not reach the maximum transmission unit, the IGMP The message forwarding device merges the IGMP message;
步骤 S604-6,所述 IGMP报文转发装置在所述定时器定时时间到或合并 后的 IGMP报文已经达到最大传输单元的情况下,计算 IGMP报文的检验和, 并将检验和插入到合并后的 IGMP报文中发送至所述 IGMP报文解析装置。 Step S604-6, the IGMP message forwarding device calculates the checksum of the IGMP message, and inserts the checksum into the case that the IGMP message of the timer has expired or the merged IGMP message has reached the maximum transmission unit. The merged IGMP message is sent to the IGMP message parsing device.
进一步地, 所述步骤 S604-4 中, 在定时器定时时间未到且合并后的 IGMP报文未达到最大传输单元的情况下, 所述 IGMP报文转发装置再接收 到已存在用户的 IGMP报文后, 更新所述已存在用户的 IGMP报文。 Further, in the step S604-4, if the timer timing is not up and the merged IGMP message does not reach the maximum transmission unit, the IGMP packet forwarding device receives the IGMP report of the existing user. After the text, the IGMP message of the existing user is updated.
进一步地, 所述 IGMP报文包括 IGMP加入报文和 IGMP离开报文, 所 述 IGMP报文转发装置合并一种或多种版本的 IGMP报文。 Further, the IGMP message includes an IGMP join message and an IGMP leave message, and the IGMP message forwarding device combines one or more versions of IGMP messages.
进一步地, 所述步 S604-2中: Further, in step S604-2:
在接收到所述 IGMP加入艮文的情况下,判断发送所述 IGMP加入艮文 的用户是否已经加入,如果没有加入则生成所述用户的出口组播转发表, 如 果加入了则记录并退出; 以及 If the IGMP join message is received, it is determined whether the user who sent the IGMP join message has been added, and if not, the export multicast forwarding table of the user is generated, and if it is added, the record is recorded and exited; as well as
在接收到所述 IGMP离开报文的情况下,判断发送所述 IGMP离开报文 的用户是否是快速离开,如果是快速离开, 则将所述用户的信息从所述组播 转发表中删除, 如果是慢离开, 则向所述用户询问是否真的离开。 In the case that the IGMP Leave message is received, it is determined whether the user who sent the IGMP Leave message is a fast leave, and if it is a fast leave, the information of the user is deleted from the multicast forwarding table. If it is slow to leave, ask the user if they really left.
进一步地, 所述步骤 S604-2包括: Further, the step S604-2 includes:
在接收到来自所述 IGMP报文解析装置的通用查询报文的情况下,判断 所述 IGMP报文转发装置是否起 IGMP代理; 如果没有起 IGMP代理, 则向 所述至少一个用户终端广播接收到的通用查询报文;在起了 IGMP代理的情 况下, 判断所述 IGMP报文解析装置是否起了所述用户的认证功能; 如果起 了所述用户的认证功能, 则合并所有组的所有用户的 IGMP报文, 如果没有 起认证功能或所述认证功能在所述 IGMP报文转发装置本身,则合并每个组 的一个用户的 4艮文。 When receiving the general query message from the IGMP message parsing device, determining whether the IGMP message forwarding device is an IGMP proxy; if not the IGMP proxy, broadcasting to the at least one user terminal a general query message; if the IGMP proxy is activated, it is determined whether the IGMP packet parsing device has an authentication function of the user; if the authentication function of the user is activated, all users of all groups are merged The IGMP message is merged with one user of each group if the authentication function is not used or the authentication function is in the IGMP message forwarding device itself.
进一步地, 所述步骤 S606中:
所述 IGMP报文解析装置是否起组播用户认证功能;在判断为起所述组播用 户认证功能的情况下,判断用户是否可以加入组播组;如杲不允许用户加入, 则记录并退出; 如果允许用户加入, 则判断所述用户所在的端口是否在加入 组播组的转发表中存在, 如果不存在, 则生成所述用户的组播转发表, 如果 存在, 则记录并退出。 Further, in the step S606: Whether the IGMP packet parsing device functions as a multicast user authentication function; if it is determined that the multicast user authentication function is used, it is determined whether the user can join the multicast group; if the user is not allowed to join, the record is recorded and exited. If the user is allowed to join, it is determined whether the port where the user is located exists in the forwarding table of the join multicast group. If not, the multicast forwarding table of the user is generated, and if yes, the record is recorded and exited.
进一步地, 所述步骤 S606中: Further, in step S606,
在所述 IGMP报文为 IGMP加入报文且所述检验和正确的情况下,判断 所述 IGMP报文解析装置是否起组播用户认证功能;在判断为没有起所述组 播用户认证功能的情况下, 判断是否用户已经加入所述组播组; 如果没有加 入, 则生成组播转发表, 如果已经加入, 则退出。 If the IGMP message is an IGMP join message and the checksum is correct, determining whether the IGMP message parsing device functions as a multicast user authentication; and determining that the multicast user authentication function is not In this case, it is determined whether the user has joined the multicast group; if not, the multicast forwarding table is generated, and if it has been joined, the user exits.
进一步地, 所述步糠 S606中: Further, in step S606:
在所迷 IGMP报文为 IGMP离开报文且所述检验和正确的情况下,判断 所述 IGMP报文解析装置是否起组播用户认证功能;在判断为起了所述组播 用户认证功能的情况下, 判断所述用户是否已经加入组播组, 如果没有则退 出,如果所述用户已经加入组播组, 则判断要离开的组播组中是否存在其他 用户与所迷用户所在 IGMP 艮文解析装置的端口相同;如果存在则记录并退 出, 如果不存在, 则写所述组播转发表并删除所述端口。 If the IGMP message is an IGMP Leave message and the check is correct, it is determined whether the IGMP message parsing device functions as a multicast user, and is determined to have the multicast user authentication function. If the user has joined the multicast group, if the user has joined the multicast group, it is determined whether there are other users in the multicast group to leave and the IGMP message of the user. The port of the parsing device is the same; if it exists, it records and exits. If it does not exist, the multicast forwarding table is written and the port is deleted.
进一步地, 所述 IGMP报文转发装置位于用户接入侧, 所述 IGMP报文 解析装置位于用户汇聚侧; 或 Further, the IGMP packet forwarding device is located at the user access side, and the IGMP packet parsing device is located at the user aggregation side; or
所述 IGMP报文转发装置位于用户汇聚侧,所述 IGMP报文解析装置位 于宽带远程接入服务器侧。 The IGMP packet forwarding device is located at the aggregation side of the user, and the IGMP packet parsing device is located at the broadband remote access server.
本发明还提供了一种 IGMP报文传输系统, 其特征在于, 包括: 至少一个用户终端, 用于将 IGMP报文发送至 IGMP报文转发装置; IGMP报文转发装置, 用于接收并合并来自至少一个用户终端的 IGMP 报文, 并将合并后的 IGMP报文发送至 IGMP报文解析装置; 以及 The present invention further provides an IGMP message transmission system, comprising: at least one user terminal, configured to send an IGMP message to an IGMP message forwarding device; and an IGMP message forwarding device, configured to receive and merge from the At least one user terminal's IGMP message, and the merged IGMP message is sent to the IGMP message parsing device;
IGMP报文解析装置 , 用于接收并分解来自 IGMP报文转发装置的合并 后的 IGMP报文, 并对分解后的 IGMP ^艮文进行处理。
进一步地, 所述 IGMP报文转发装置包括: The IGMP message parsing device is configured to receive and decompose the merged IGMP message from the IGMP message forwarding device, and process the decomposed IGMP message. Further, the IGMP message forwarding device includes:
报文接收单元,用于接收来自至少一个用户终端的 IGMP报文并进行响 应, 以及接收来自 IGMP报文解析装置的消息并进行响应; a message receiving unit, configured to receive and respond to an IGMP message from the at least one user terminal, and receive a message from the IGMP message parsing device and respond;
定时器, 用于控制定时发送 IGMP报文的时间; The timer is used to control the time when IGMP messages are sent periodically.
报文合并单元, 用于合并接收到的 IGMP报文, 并且在定时器定时时间 到或合并后的 IGMP报文已经达到最大传输单元的情况下, 将合并后的 IGMP报文发送至 IGMP报文解析装置; 以及 The message merging unit is configured to merge the received IGMP message, and send the merged IGMP message to the IGMP message if the IGMP message has reached the maximum transmission unit. Parsing device;
检验和计算单元,用于在定时器定时时间到或合并后的 IGMP报文已经 达到最大传输单元的情况下, 计算 IGMP报文的检验和, 并将检验和插入到 合并后的 IGMP报文中。 The verification and calculation unit is configured to calculate the checksum of the IGMP message when the timer has expired or the merged IGMP message has reached the maximum transmission unit, and insert the checksum into the merged IGMP message. .
进一步地, 所述报文合并单元在定时器定时时间未到且合并后的 IGMP 报文未达到最大传输单元的情况下, 再接收到已存在用户的 IGMP报文后, 更新已存在用户的 IGMP 4艮文。 Further, the message merging unit updates the existing user's IGMP after receiving the IGMP message of the user after the timer has not arrived and the merged IGMP message does not reach the maximum transmission unit. 4 艮文.
进一步地, 所述报文合并单元可以合并一种或多种版本的 IGMP报文; 所述 IGMP报文包括 IGMP加入报文和 IGMP离开报文。 Further, the message merging unit may combine one or more versions of the IGMP message; the IGMP message includes an IGMP join message and an IGMP leave message.
进一步地, 所述报文接收单元在接收到 IGMP加入报文的情况下, 判断 发送 IGMP加入报文的用户是否已经加入,如果没有加入则生成用户的出口 组播转发表; 在接收到 IGMP离开报文的情况下, 判断发送 IGMP离开报文 的用户是否是快速离开, 如果是则将用户的信息从组播转发表中删除, 如果 是慢离开, 则指示向用户询问是否真的离开。 . Further, the packet receiving unit determines whether the user who sends the IGMP join message has been added if the IGMP join message is received, and generates the egress multicast forwarding table of the user if not added; In the case of a message, it is determined whether the user who sent the IGMP Leave message is a fast leave. If yes, the user's information is deleted from the multicast forwarding table. If the message is slow, the user is instructed to ask whether the user left. .
进一步地,所述报文接收单元在接收到来自 IGMP报文解析装置的通用 查询报文的情况下, 判断 IGMP报文转发装置是否起 IGMP代理, 如果没有 起, 则向至少一个用户终端广播接收到的通用查询报文; 在起了 IGMP代理 的情况下, 判断 IGMP报文解析装置是否起了用户的认证功能, 如果起了, 则指示报文合并单元合并所有组的所有用户的 IGMP报文,如果没有起认证 功能或认证功能在 IGMP报文转发装置本身,则指示报文合并单元合并每个 组的一个用户的^ =艮文。 Further, the message receiving unit, when receiving the general query message from the IGMP message parsing device, determines whether the IGMP message forwarding device functions as an IGMP proxy, and if not, broadcasts and receives to the at least one user terminal. If the IGMP proxy is used, it is determined whether the IGMP packet parsing device has authenticated the user. If it is up, it indicates that the packet merging unit merges IGMP messages of all users in all groups. If there is no authentication function or the authentication function is in the IGMP packet forwarding device itself, it indicates that the message merging unit merges the ^=艮 text of one user of each group.
进一步地, 所述 IGMP报文解析装置包括:
检验和检验单元, 用于检—险接收到的 IGMP报文中的检验和是否正确; 报文解析单元, 用于在检验和正确的情况下,对接收到的 IGMP报文进 行解析和处理; Further, the IGMP message parsing apparatus includes: The inspection and verification unit is configured to check whether the inspection in the IGMP message received by the insurance is correct or not; the message parsing unit is configured to parse and process the received IGMP message in the case of verification and correctness;
加入报文处理单元, 用于对解析出的 IGMP加入报文进行处理; 以及 离开报文处理单元, 用于对解析出的 IGMP离开报文进行处理。 The packet processing unit is configured to process the parsed IGMP join message, and the leave message processing unit is configured to process the parsed IGMP leave message.
进一步地, 所述加入报文处理单元在检验和正确的情况下, 判 * IGMP 报文解析装置是否起组播用户认证功能;在判断为起组播用户认证功能的情 况下,判断是否用户可以加入组播组,如果不允许用户加入,则记录并退出; 如果允许用户加入则判断用户所在的端口是否在加入组播组的转发表中存 在, 如果不存在, 则生成用户的组播转发表, 如果存在, 则记录并退出; 在 判断为没有起组播用户认证功能的情况下, 判断是否用户已经加入组播组, 如果没有加入, 则生成组播转发表, 如果已经加入, 则退出。 Further, the join message processing unit determines whether the IGMP message parsing device functions as a multicast user authentication when the check and the correct one is determined; and determines whether the user can Add a multicast group. If the user is not allowed to join, record and log out. If the user is allowed to join, determine whether the port where the user is located exists in the forwarding table of the multicast group. If not, the multicast forwarding table of the user is generated. If yes, it is recorded and exited. If it is determined that there is no multicast user authentication function, it is determined whether the user has joined the multicast group. If not, the multicast forwarding table is generated. If it has been added, it is exited.
进一步地, 离开报文处理单元在检验和正确的情况下, 判断 IGMP报文 解析装置是否起组播用户认证功能;在判断为起了组播用户认证功能的情况 下, 判断用户是否已经加入组播组, 如果没有则退出, 如果用户已经加入组 播組,则判断要离开的组播组中是否存在其他用户与用户所在 IGMP报文解 析装置的端口相同, 如果存在则记录并退出, 如果不存在, 则写组播转发表 并删除端口。 Further, the leaving message processing unit determines whether the IGMP message parsing device functions as a multicast user authentication when the check and the correct one is determined; and determines whether the user has joined the group if it is determined that the multicast user authentication function is activated. The broadcast group, if not, exits. If the user has joined the multicast group, it is determined whether there are other users in the multicast group to leave. The port is the same as the port where the IGMP packet parsing device is located. If it exists, the record is logged out. If it exists, write the multicast forwarding table and delete the port.
进一步地, 所述 IGMP报文转发装置位于用户接入侧, 所述 IGMP报文 解析装置位于用户汇聚侧; 或 Further, the IGMP packet forwarding device is located at the user access side, and the IGMP packet parsing device is located at the user aggregation side; or
所述 IGMP报文转发装置位于用户汇聚侧,所述 IGMP报文解析装置位 于宽带远程接入服务器侧。 The IGMP packet forwarding device is located at the aggregation side of the user, and the IGMP packet parsing device is located at the broadband remote access server.
本发明在现有设备的基 上,提供减少报文处理的方法和系统。 即合并 多个用户的 IGMP报文, 减少网络中 IGMP报文, P争低组播通信设备 CPU 处理时间, 从而达到提高组播接入用户数的目的。 附图概述 The present invention provides a method and system for reducing message processing on the basis of existing equipment. That is, the IGMP messages of multiple users are combined to reduce the number of IGMP messages on the network. BRIEF abstract
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部
分, 本发明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的 不当限定。 在附图中: The drawings described herein are provided to provide a further understanding of the invention and constitute a part of this application. The illustrative embodiments of the present invention and the description thereof are intended to explain the present invention and are not intended to limit the invention. In the drawing:
图 1是组播视频系统的组网结构示意图; 1 is a schematic diagram of a networking structure of a multicast video system;
图 2是 IGMP V2报文格式; Figure 2 shows the IGMP V2 packet format.
图 3A至图 3C是根据本发明的 IGMP报文传输系统的框图; 3A through 3C are block diagrams of an IGMP message transmission system in accordance with the present invention;
图 4是本发明的合并 IGMP报文格式; 4 is a combined IGMP message format of the present invention;
图 5是本发明的一个用户的具体填充格式; Figure 5 is a specific filling format of a user of the present invention;
图 6A和图 6B是根据本发明的 IGMP报文传输方法的具体实施流程图; 图 7是组播视频系统的部分组网结构示意图(接入控制点和组播复制点 均在 DSLAM ) ; 6A and FIG. 6B are flowcharts showing a specific implementation of an IGMP message transmission method according to the present invention; FIG. 7 is a schematic diagram of a partial network structure of a multicast video system (the access control point and the multicast replication point are both in the DSLAM);
图 8A至图 8C是本发明的合并报文的形成过程; 8A to 8C are diagrams showing a process of forming a merged message of the present invention;
图 9是组播视频系统的部分组网结构示意图(接入控制点和组播复制点 均在 BRAS ( Broadband Remote Server, 宽带远程接入服务器) ) ; 以及 图 10是组播视频系统的部分组网结构示意图 (接入控制点在 BRAS和 组播复制点均在 DSLAM ) 。 9 is a schematic diagram of a partial network structure of a multicast video system (the access control point and the multicast replication point are both in a BRAS (Broadband Remote Server)); and FIG. 10 is a partial group of the multicast video system. Schematic diagram of the network structure (the access control point is in the DSLAM and the multicast replication point are in the DSLAM).
本发明的较佳实施方式 Preferred embodiment of the invention
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。 The technical solution of the present invention will be described in more detail below with reference to the accompanying drawings and embodiments.
图 3A是根据本发明的 IGMP报文传输系统 300的框图。如图 3A所示, IGMP报文传输系统包括: 至少一个用户终端 302, 用于将 IGMP报文发送 至 IGMP报文转发装置 304; IGMP 4艮文转发装置 304, 用于接收并合并来 自至少一个用户终端的 IGMP报文 , 并将合并后的 IGMP报文发送至 IGMP 报文解析装置 306;以及 IGMP报文解析装置 306,用于接收并分解来自 IGMP 报文转发装置的合并后的 IGMP报文, 并对分解后的 IGMP报文进行处理。 Figure 3A is a block diagram of an IGMP message transmission system 300 in accordance with the present invention. As shown in FIG. 3A, the IGMP message transmission system includes: at least one user terminal 302, configured to send an IGMP message to the IGMP message forwarding device 304, and an IGMP4 message forwarding device 304, configured to receive and merge at least one The IGMP message of the user terminal, and the merged IGMP message is sent to the IGMP message parsing device 306; and the IGMP message parsing device 306 is configured to receive and decompose the merged IGMP message from the IGMP message forwarding device. And process the decomposed IGMP messages.
如图 3B所示, IGMP报文转发装置 304包括: 报文接收单元 304-2, 用 于接收来自至少一个用户终端的 IGMP报文并进行响应, 以及接收来自 IGMP报文解析装置的消息并进行响应; 定时器 304-4, 用于控制定时发送
IGMP报文的时间; 报文合并单元 304-6, 用于合并接收到的 IGMP报文, 并且在定时器定时时间到或合并后的 IGMP报文已经达到最大传输单元的 情况下, 将合并后的 IGMP报文发送至 IGMP报文解析装置; 以及检验和计 算单元 304-8, 用于在定时器定时时间到或合并后的 IGMP报文已经达到最 大传输单元的情况下, 计算 IGMP报文的检验和, 并将检验和插入到合并后 的 IGMP报文中。 As shown in FIG. 3B, the IGMP message forwarding device 304 includes: a message receiving unit 304-2, configured to receive and respond to an IGMP message from at least one user terminal, and receive a message from the IGMP message parsing device and perform the message. Response; timer 304-4, used to control timing transmission The time of the IGMP message is: the message merging unit 304-6 is configured to merge the received IGMP message, and after the timer expires or the merged IGMP message has reached the maximum transmission unit, the message is merged. The IGMP message is sent to the IGMP message parsing device; and the checksum calculation unit 304-8 is configured to calculate the IGMP message if the IGMP message has reached the maximum transmission unit after the timer expires or the merged IGMP message has been reached. Checksum and insert the checksum into the merged IGMP message.
在定时器定时时间未到且合并后的 IGMP报文未达到最大传输单元的 情况下,报文合并单元再接收到已存在用户的 IGMP报文后, 更新已存在用 户的 IGMP报文。 After the timer expires and the merged IGMP message does not reach the maximum transmission unit, the message merging unit updates the existing user's IGMP message after receiving the IGMP message from the user.
其中, 报文合并单元可以合并一种或多种版本的 IGMP报文。 The message merging unit may combine one or more versions of IGMP messages.
其中, 上述 IGMP报文包括 IGMP加入报文和 IGMP离开报文。 The IGMP message includes an IGMP join message and an IGMP leave message.
报文接收单元 304-2在接收到 IGMP加入报文的情况下,判断发送 IGMP 加入报文的用户是否已经加入, 如果没有加入则生成用户的出口组播转发 表; 在接收到 IGMP离开报文的情况下, 判断发送 IGMP离开报文的用户是 否是快速离开,如果是则将用户的信息从组播转发表中删除,如果是慢离开, 则指示向用户询问是否真的离开。 Upon receiving the IGMP join message, the message receiving unit 304-2 determines whether the user who sent the IGMP join message has been added, and if not, generates the egress multicast forwarding table of the user; and receives the IGMP leave message. In this case, it is determined whether the user who sends the IGMP Leave message is a fast leave, if yes, the user's information is deleted from the multicast forwarding table, and if it is slow, the user is instructed to ask whether the user left.
报文接收单元 304-2在接收到来自 IGMP报文解析装置的通用查询报文 的情况下, 判断 IGMP报文转发装置是否起 IGMP代理, 如果没有起, 则向 至少一个用户终端广播所述接收到的通用查询报文;在起了 IGMP代理的情 况下, 判断 IGMP报文解析装置是否起了用户的认证功能, 如果起了, 则指 示报文合并单元 304-6合并所有组的所有用户的 IGMP报文, 如果没有起认 证功能或认证功能在 IGMP报文转发装置本身,则指示报文合并单元合并每 个组的一个用户的^ 1艮文。 The message receiving unit 304-2, when receiving the general query message from the IGMP message parsing device, determines whether the IGMP message forwarding device is an IGMP proxy, and if not, broadcasts the reception to at least one user terminal. The general query message is sent; if the IGMP proxy is activated, it is determined whether the IGMP message parsing device has authenticated the user. If so, the message merging unit 304-6 is instructed to merge all users of all groups. IGMP packet, if there is no authentication function from the device itself or an authentication function forwards the IGMP message, the user indicates a packet merging unit merging each group of packets Gen ^ 1.
如图 3C所示, IGMP 艮文解析装置 306包括: 检验和检验单元 306-2, 用于检验接收到的 IGMP 4艮文中的检验和是否正确; ^艮文解析单元 306-4, 用于在检验和正确的情况下,对接收到的 IGMP报文进行解析和处理; 加入 报文处理单元 306-6, 用于对解析出的 IGMP加入报文进行处理; 以及离开
报文处理单元 306-8, 用于对解析出的 IGMP离开报文进行处理。 As shown in FIG. 3C, the IGMP file parsing device 306 includes: an inspection and verification unit 306-2 for verifying whether the checksum in the received IGMP4 message is correct; and the message parsing unit 306-4 for After the check and the correct case, the received IGMP message is parsed and processed; the join message processing unit 306-6 is configured to process the parsed IGMP join message; The message processing unit 306-8 is configured to process the parsed IGMP Leave message.
在检验和正确的情况下, 加入报文处理单元 306-6判断 IGMP报文解析 装置是否起组播用户认证功能; 在判断为起组播用户认证功能的情况下, 判 断用户是否可以加入组播组,如果允许用户加入则判断用户所在的端口是否 在加入组播组的转发表中存在, 如果不存在, 则生成用户的组播转发表, 如 果存在, 则记录并退出; 如果不允许用户加入, 则记录并退出; 在判断为没 有起组播用户认证功能的情况下, 判断用户是否已经加入组播组, 如果没有 加入, 则生成组播转发表, 如果已经加入, 则退出。 In the case of verification and correctness, the joining message processing unit 306-6 determines whether the IGMP message parsing device functions as a multicast user authentication; if it is determined that the multicast user authentication function is available, it is determined whether the user can join the multicast. If the user is allowed to join, the user is determined to be in the forwarding table of the multicast group. If not, the multicast forwarding table of the user is generated. If yes, the user logs in and exits. If it is determined that there is no multicast user authentication function, it is determined whether the user has joined the multicast group. If not, the multicast forwarding table is generated. If it has been added, the device exits.
在检验和正确的情况下, 离开报文处理单元 306-8判断 IGMP报文解析 装置是否起组播用户认证功能; 在判断为起了组播用户认证功能的情况下, 判断用户是否已经加入组播组,如果没有则退出;如果用户已经加入组播组, 则判断要离开的组播组中是否存在其他用户与用户所在 IGMP报文解析装 置的端口相同, 如果存在则记录并退出, 如果不存在, 则写组播转发表并删 除端口。 In the case of the check and the correct, the leave message processing unit 306-8 determines whether the IGMP message parsing device functions as a multicast user authentication. If it is determined that the multicast user authentication function is activated, it is determined whether the user has joined the group. The broadcast group, if not, exits; if the user has joined the multicast group, it is determined whether the other user in the multicast group to leave is the same as the port of the IGMP packet parsing device where the user is located. If it exists, the record is logged out. If it exists, write the multicast forwarding table and delete the port.
IGMP报文转发装置 304可以位于用户接入侧, IGMP报文解析装置 306 可以位于用户汇聚侧。 The IGMP packet forwarding device 304 can be located on the user access side, and the IGMP packet parsing device 306 can be located on the user aggregation side.
IGMP报文转发装置 304可以位于用户汇聚侧 , IGMP报文解析装置 306 可以位于宽带远程接入服务器侧。 The IGMP packet forwarding device 304 can be located at the aggregation side of the user, and the IGMP packet parsing device 306 can be located at the broadband remote access server.
本发明的 IGMP报文转发装置(设备 1 )具有如下特点: The IGMP message forwarding device (device 1) of the present invention has the following features:
1、 能正确的接受用户 IGMP报文, 并且能够对 IGMP报文进行合并, 并且发向设备 2。 1. It can correctly accept user IGMP messages, and can merge IGMP messages and send them to device 2.
2、 需要记录下用户的特征信息: 用户 IP ^址, 用户 MAC地址, 用户 所在的端口号等。 2. The user's characteristic information needs to be recorded: user IP address, user MAC address, port number where the user is located, and so on.
3、 为了能够及时发送合并后的 IGMP报文, 需要设定一个定时器, 其 定时周期缺省为 20毫秒, 大小可以调节。 如果定时周期没有到, 而合并后 的报文已经达到 MTU (最大传输单元) , 可以立即发送给像备 2。 3. In order to send the combined IGMP messages in time, you need to set a timer. The timer period is 20 milliseconds by default. The size can be adjusted. If the timing period has not arrived, and the merged message has reached the MTU (Maximum Transmission Unit), it can be immediately sent to Image 2.
4、 如果合并后的报文还没有发送, 又收到一个用户的 IGMP报文, 尚 未发送的合并后的报文中有此用户的 IGMP报文内容,可以清除此用户的^
容, 合并最新的此用户的 IGMP报文。 4. If the merged message has not been sent yet, and the user receives an IGMP message, the merged message that has not been sent has the IGMP message content of the user, which can clear the user's ^ Rong, merge the latest IGMP messages of this user.
5、 可以兼容不同版本的 IGMP报文, 收到不同版本的 IGMP入报文, 正常合并。 5. It can be compatible with different versions of IGMP messages and receive different versions of IGMP incoming messages.
6、 如果起 IGMP SNOOPING侦听, 收到用户 IGMP加入报文, 判断此 用户是否已经加入, 如果没有加入, 形成有此用户出口的组播转发表; 如果 是离开报文, 判断此用户是否已经加入, 如果没有加入, 直接退出; 如果已 经加入,判断是否快速离开,如果是,把此用户的出口从组播转发表中删除。 如果是慢离开, 发送特定组的查询报文, 向用户询问是否真的离开。 6. If the IGMP SNOOPING is received, the user receives the IGMP join message, and determines whether the user has joined. If not, the multicast forwarding table of the user exit is formed. If the packet is left, the user is determined to have Join, if not joined, exit directly; if it has been added, judge whether to leave quickly, and if so, remove the exit of this user from the multicast forwarding table. If it is slow to leave, send a specific group of query messages, ask the user if they really left.
所述设备 1还具有如下特点: The device 1 also has the following features:
1、 收到设备 2 的通用查询报文的处理, 分为本设备有没有起 IGMP PROXY代理, 如果没有起, 4巴通用查询艮文向用户广播; 如果起了 IGMP PROXY, 还需要判断设备 2或者在上的设备有没有配置组播用户的认证功 能, 如果起了认证功能, 需要合并所有组的所有用户的 IGMP报文, 并且发 送给设备 2; 如果没有起认证功能或者认证功能就在设备 1本身, 只需要合 并每一个组一个用户的报文, 发送给设备 2。 此合并的报文中, 不存在离开 报文。 1. Receive the general query message of device 2, and divide it into the device to see if it has an IGMP PROXY proxy. If it does not, the 4 bar general query message is broadcast to the user; if IGMP PROXY is activated, the device 2 needs to be judged. Or the device is configured with the authentication function of the multicast user. If the authentication function is enabled, IGMP messages of all users in all groups need to be merged and sent to device 2; if there is no authentication function or authentication function, the device is in the device. 1 itself, only need to merge the messages of one user in each group and send them to device 2. In this merged message, there is no leaving message.
2、 为达到合并效果, 合并后的报文依然是 IGMP报文, 即 IP协议号依 然为 2。 可以采用如图 4和图 5的格式: 2. In order to achieve the combined effect, the merged message is still an IGMP message, that is, the IP protocol number is still 2. You can use the format shown in Figure 4 and Figure 5:
类型 Type=0xef : 多用户加入 /离开。 Type Type=0xef : Multi-user join/leave.
版本 Version: 目前是 0x01 , 方便以后扩展。 Version Version: Currently 0x01, convenient for future expansion.
检验和 Checksum: 校验和是 IGMP消息长度(IP包的整个有效负载) 的 16位检测。 该域设为 0, 在计算校验和时将该域包在一起进行计算。 当 传送包的时候, 必须计算该校险和并插入到该域中去。 当接收包的时候, 该 校验和必须在处理该包之前进行检验。 Checksum Checksum: The checksum is a 16-bit check of the length of the IGMP message (the entire payload of the IP packet). The field is set to 0, and the fields are wrapped together for calculation when calculating the checksum. When transferring a package, the insurance risk must be calculated and inserted into the domain. When receiving a packet, the checksum must be verified before processing the packet.
用户记录数 Number of Host Records: 用户记录数表示下面有多少个用 户加入 /离开组。 Number of User Records Number of Host Records: The number of user records indicates how many users are joining/leaving groups below.
用户记录 Host Records: 用户记录表示一个具体的用户的加入或离开。
具体的用户记录格式如图 5所示: User records Host Records: User records indicate the joining or leaving of a specific user. The specific user record format is shown in Figure 5:
IGMP Message, 与用户的 IGMP报文完全一样, 是用户加入或离开时, 直接拷贝过来的。 The IGMP message is exactly the same as the IGMP message of the user. It is copied directly when the user joins or leaves.
用户 IP地址 Host IP Address: 用户发送加入离开时的 IP地址。 User IP Address Host IP Address: The IP address when the user sends a join.
用户 MAC地址 Host MAC Address; User MAC address Host MAC Address;
用户发送加入离开时的 MAC地址 User sends the MAC address when joining and leaving
Vlan ID: 分配给用户的 VLAN ID, 或者用户所在的 VLAN ID; Vlan ID: The VLAN ID assigned to the user, or the VLAN ID of the user;
Type, Length, Value三个字段为一组, 表示与用户有关的一种类型的 信息。 The Type, Length, and Value fields are a group of information indicating a type of information related to the user.
类型 Type 可能取值如下: Type Type may take the following values:
Hostname (0x01 ) 用户名 Hostname (0x01 ) username
Password (0x02) 用户密码 Password (0x02) User Password
Vlan id ( 0x03 ) 用户的内层 VLAN ID Vlan id ( 0x03 ) User's inner VLAN ID
当 Type取值为 0时, 表示 TLV结束。 When the Type value is 0, it indicates that the TLV ends.
Length为 Value的长度,单位为字节, Value的长度取决于 Type的取值。 当 Type为用户名和用户密码时, 长度为 32; 当为 VLAN ID时, 长度为 2。 其他保留。 用户名和用户密码一般是在对组播用户认证时使用。 Length is the length of Value, in bytes. The length of Value depends on the value of Type. When Type is user name and user password, the length is 32; when it is VLAN ID, the length is 2. Other reservations. Usernames and user passwords are generally used when authenticating multicast users.
设备 2 ( IGMP报文解析装置)具有如下特点: Device 2 (IGMP message parsing device) has the following characteristics:
1、 收到合并的 IGMP报文, 能正确的分解成加入报文和离开报文。 1. The received IGMP message can be correctly decomposed into the join message and the leave message.
2、 如果是加入报文, 判断本设备是否起组播用户认证功能, 如果起了 认证功能, A1 , 如果没有起认证功能, A2; 2. If it is a join message, it is judged whether the device functions as a multicast user authentication. If the authentication function is activated, A1, if there is no authentication function, A2;
A1 , 进行认证, 判断是否可以加入, 如果允许加入 Al l , 如果不允许 加入 A12。 A1, perform authentication, judge whether it can join, if it is allowed to join Al l , if it is not allowed to join A12.
Al l , 判断此用户所在设备 2的端口是否已经在所加入组的转发表中, 如果不在, 形成组播转发表; 如果已在, 记录并退出。
A12, 记录并退出。 Al l , determine whether the port of device 2 of the user is already in the forwarding table of the joined group. If not, form a multicast forwarding table. If it is already, record and exit. A12, record and exit.
A2, 判断是否已经加入, 如果没有加入, 形成组播转发表; 如果已经 加入, 退出。 A2, judge whether it has been joined, if not joined, form a multicast forwarding table; if it has already joined, exit.
3、 如果是离开报文, 判断本设备是否起组播用户认证功能, 如果起了 认证功能 B1 , 如果没有起认证功能 B2; 3. If the packet is leaving, determine whether the device functions as the multicast user authentication. If the authentication function B1 is activated, the authentication function B2 is not used.
B1 , 判断此用户是否已经加入, 如果没有加入, 退出; 如果加入, 判断 要离开的组中是否存在其他用户与此用户所在设备 2 的端口相同, 如果存 在, 记录退出; 如果不存在, 写组播转发表, 删除此端口; B1, to determine whether the user has joined, if not joined, exit; if joined, determine whether there are other users in the group to leave the same as the port of the device 2 where the user is located, if there is, the record exits; if not, write the group Broadcast the forwarding table, delete this port;
B2, 判断此用户是否已经加入, 如果没有加入, 退出; 如果加入, 写组 播转发表, 删除此端口。 B2, judge whether the user has joined, if not joined, quit; if joined, write the multicast forwarding table, delete this port.
图 6A是根据本发明的 IGMP报文传输方法的流程图。 如图 6A所示, 本发明的 IGMP报文传输方法包括以下步骤: 步骤 S602, 至少一个用户终 端将 IGMP报文发送至 IGMP报文转发装置; 步骤 S604, IGMP报文转发装 置接收并合并来自至少一个用户终端的 IGMP报文,并将合并后的 IGMP报 文发送至 IGMP报文解析装置; 以及步骤 606, IGMP报文解析装置接收并 分解来自 IGMP报文转发装置的合并后的 IGMP报文, 并对分解后的 IGMP 报文进行处理。 Figure 6A is a flow diagram of an IGMP message transmission method in accordance with the present invention. As shown in FIG. 6A, the IGMP message transmission method of the present invention includes the following steps: Step S602: At least one user terminal sends an IGMP message to an IGMP message forwarding device. Step S604: The IGMP message forwarding device receives and merges at least An IGMP message of the user terminal, and the merged IGMP message is sent to the IGMP message parsing device; and in step 606, the IGMP message parsing device receives and decomposes the merged IGMP message from the IGMP message forwarding device. The decomposed IGMP messages are processed.
如图 6B所示, 步骤 S604包括: 步骤 S604-2, IGMP报文转发装置接收 来自至少一个用户终端的 IGMP报文和 /或来自 IGMP报文解析装置的消息 并进行响应;步驟 S604-4,在定时器定时时间未到并且合并后的 IGMP报文 未达到最大传输单元时, IGMP报文转发装置合并 IGMP报文; 以及步骤 S604-6, IGMP报文转发装置在定时器定时时间到或合并后的 IGMP报文已 经达到最大传输单元的情况下,计算 IGMP报文的检验和, 并将检验和插入 到合并后的 IGMP报文中发送至 IGMP报文解析装置。 As shown in FIG. 6B, step S604 includes: Step S604-2: The IGMP message forwarding device receives an IGMP message from at least one user terminal and/or a message from the IGMP message parsing device and responds; Step S604-4, The IGMP message forwarding device merges the IGMP message when the timer expires and the merged IGMP message does not reach the maximum transmission unit. And the step S604-6, the IGMP message forwarding device arrives or merges at the timer time. If the IGMP message has reached the maximum transmission unit, the checksum of the IGMP message is calculated, and the checksum is inserted into the merged IGMP message and sent to the IGMP message parsing device.
在定时器定时时间未到且合并后的 IGMP报文未达到最大传输单元的 情况下,报文合并单元再接收到已存在用户的 IGMP报文后 , 更新已存在用 户的 IGMP 4艮文。
其中, IGMP报文转发装置可以合并一种或多种版本的 IGMP报文。 上 述的 IGMP报文包括 IGMP加入报文和 IGMP离开报文。 If the timer is not received and the merged IGMP message does not reach the maximum transmission unit, the message merging unit updates the IGMP message of the existing user after receiving the IGMP message from the user. The IGMP packet forwarding device may combine one or more versions of IGMP messages. The above IGMP messages include IGMP join messages and IGMP leave messages.
步骤 S604-2中, 在接收到 IGMP加入报文的情况下, 判断发送 IGMP 加入报文的用户是否已经加入; 如果没有加入则生成用户的出口組播转发 表。 In step S604-2, if an IGMP join message is received, it is determined whether the user who sent the IGMP join message has been added; if not, the user's egress multicast forwarding table is generated.
步骤 S604-2中, 在接收到 IGMP离开报文的情况下, 判断发送 IGMP 离开报文的用户是否是快速离开; 如果是快速离开, 则将用户的信息从组播 转发表中删除, 如果是慢离开, 则向用户询问是否真的离开。 In step S604-2, if the IGMP Leave message is received, it is determined whether the user sending the IGMP Leave message is a fast leave; if it is a fast leave, the user information is deleted from the multicast forwarding table, if If you leave slowly, ask the user if you really want to leave.
步骤 S604-2中, 在接收到来自 IGMP报文解析装置的通用查询 4艮文的 情况下, 判断 IGMP报文转发装置是否起 IGMP代理; 如果没有起 IGMP代 理, 则向至少一个用户终端广播接收到的通用查询报文; 在起了 IGMP代理 的情况下, 判断 IGMP报文解析装置是否起了用户的认证功能; 如果起了用 户的认证功能, 则合并所有组的所有用户的 IGMP报文, 如果没有起认证功 能或认证功能在 IGMP报文转发装置本身, 则合并每个组的一个用户的报 文。 In step S604-2, when receiving the general query message from the IGMP message parsing device, determining whether the IGMP message forwarding device is an IGMP proxy; if not the IGMP proxy, broadcasting to the at least one user terminal If the IGMP proxy is used, it is determined whether the IGMP packet parsing device functions as the user's authentication function. If the user authentication function is used, the IGMP messages of all users in all groups are merged. If there is no authentication function or the authentication function is in the IGMP packet forwarding device itself, the packets of one user of each group are merged.
步骤 S606中,在 IGMP报文为 IGMP加入报文且检验和正确的情况下, 判断 IGMP报文解析装置是否起组播用户认证功能;如果未起组播用户认证 功能, 则记录并退出; 在判断为起组播用户认证功能的情况下, 判断用户是 否可以加入组播组, 如果不允许用户加入, 则记录并退出; 如果允许用户加 入组播组, 则判断用户所在的端口是否在加入组播组的转发表中存在; 如果 不存在, 则指示第二转发表处理单元生成用户的组播转发表; 如果存在, 则 记录并退出。 In step S606, if the IGMP message is an IGMP join message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication; if the multicast user authentication function is not activated, the record is logged out; If the user is allowed to join the multicast group, the user is allowed to join the multicast group. If the user is not allowed to join, record and log out. If the user is allowed to join the multicast group, determine whether the port where the user is located is added to the group. The forwarding table of the broadcast group exists; if not, the second forwarding table processing unit is instructed to generate a multicast forwarding table of the user; if yes, the record is recorded and exited.
步骤 S606中,在 IGMP 艮文为 IGMP加入报文且检验和正确的情况下, 判断 IGMP报文解析装置是否起组播用户认证功能;在判断为没有起组播用 户认证功能的情况下,还可以进一步先判断是否用户已经加入组播组; 如果 没有加入, 则生成组播转发表, 如果已经加入, 则退出。 In step S606, if the IGMP message is an IGMP join message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication; if it is determined that the multicast user authentication function is not available, You can further determine whether the user has joined the multicast group. If it is not added, it generates a multicast forwarding table. If it has already joined, it exits.
步骤 S606中,在 IGMP报文为 IGMP离开报文且检验和正确的情况下, 判断 IGMP报文解析裴置是否起组播用户认证功能;在判断为起了组播用户 认证功能的情况下, 判断用户是否已经加入组播组; 如果没有则退出, 如果
用户已经加入组播组,则判断要离开的组播组中是否存在其他用户与用户所 在 IGMP报文解析装置的端口相同; 如果存在则记录并退出, 如果不存在, 则写组播转发表并删除端口。 In step S606, if the IGMP message is an IGMP Leave message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication function; if it is determined that the multicast user authentication function is activated, Determine whether the user has joined the multicast group; if not, quit, if If the user has joined the multicast group, it is determined that the other user in the multicast group to leave is the same as the port of the IGMP packet parsing device where the user is located. If it exists, the record is logged out. If not, the multicast forwarding table is written. Delete the port.
其中, IGMP报文转发装置可以位于用户接入侧, IGMP报文解析装置 可以位于用户汇聚侧。 The IGMP packet forwarding device can be located on the user access side, and the IGMP packet parsing device can be located on the user aggregation side.
其中, IGMP报文转发装置可以位于用户汇聚侧, IGMP报文解析装置 可以位于宽带远程接入服务器侧。 The IGMP packet forwarding device can be located on the aggregation side of the user, and the IGMP packet parsing device can be located on the broadband remote access server.
本发明的核心思想是合并用户的 IGMP报文, 因此接收 IGMP报文对它 进行处理并转发的设备都可以使用本发明。 The core idea of the present invention is to merge the IGMP messages of the user. Therefore, the device that processes and forwards the IGMP messages can use the present invention.
为了保证一旦用户提出申请, 就可以直接从上游路由器收到数据流,从 而保证 IPTV业务流的延迟和切换频道时间问题, 往往采用配置静态组播的 方法, 建立业务接入控制点到组播源间的组播数据透明通道。 In order to ensure that the user can receive the data stream directly from the upstream router, the IPTV service flow delay and the switching channel time are guaranteed. The static multicast method is used to establish the service access control point to the multicast source. Transparent channel for multicast data between.
根据图 7所示的组网图, 是组播业务控制点和组播复制点均在 DSLAM 上。 According to the networking diagram shown in Figure 7, both the multicast service control point and the multicast replication point are on the DSLAM.
用户汇聚设备包括 EPON系统中的 ONU (光网络单元) , 二层交换设 备, ADSL MODEM等等能够运行 IGMP协议的设备。 User aggregation devices include ONUs (Optical Network Units), Layer 2 switching devices, ADSL MODEMs, etc. in EPON systems that can run IGMP protocols.
三个视频终端 702、 704和 706, 其 MAC地址分别为 MAC 1 , MAC2, MAC3 , IP地址分别为 IP1 , IP2, IP3 , 接在用户汇聚设备的端口 1 , 2, 3; 网络中有 4个组播频道, 分別为 Gl , G2, G3 , G4; 视频终端用户可以加入 不同的频道。 The three video terminals 702, 704, and 706 have MAC addresses of MAC 1, MAC2, and MAC3, respectively, and IP addresses are IP1, IP2, and IP3, which are connected to ports 1, 2, and 3 of the user aggregation device; and 4 in the network. Multicast channels, respectively G1, G2, G3, G4; video terminal users can join different channels.
用户汇聚设备上启动定时发送多用户 IGMP加入离开报文的定时器,其 周期时长可以根据网络实际情况来设置, 缺省为 20MS。 On the user aggregation device, the timer for sending multi-user IGMP join and leave messages is set. The period of the timer can be set according to the actual situation of the network. The default is 20MS.
视频终端 702发送 IGMP REPORTC IGMP请求加入, Ϋλ IGMPV2为例), 请求加入组 1 , 用户汇聚设备上收到了加入报文, 按照图 4和图 5的格式组 织 IGMP新的^ =艮文类型: 0Xef。 用户记录 Host Records为 1 , 用户的 IP地 址, MAC地址从报文中取。 如果定时到, 计算形成新的报文的检验和, 同 时新的 IGMP报文就发送给上层设备如; DSLAM; 如果定时周期没到, 第二
个视频终端 704请求加入组 2, 将终端 704的信息合并到新的 IGMP中, 用 户记录 Host Records加 1为 2, 同样 IP2, MAC2从报文中取。 如果定时器 到, 计算检验和, 把记录着两个用户信息的报文发送到上层设备。 第三个视 频终端从频道 3切换到频道 4, 报文的整个组织过程如图 8A至图 8C所示。 The video terminal 702 sends an IGMP REPORTC IGMP request to join, Ϋλ IGMPV2 as an example, requests to join the group 1, and the user aggregation device receives the join message, and organizes the IGMP new ^=艮 type according to the format of FIG. 4 and FIG. 5: 0Xef . The user records that Host Records is 1, the user's IP address, and the MAC address is taken from the message. If the timing is up, the checksum of the new message is calculated, and the new IGMP message is sent to the upper layer device, such as; DSLAM; if the timing period is not reached, the second The video terminal 704 requests to join the group 2, merges the information of the terminal 704 into the new IGMP, and the user records the Host Records plus 1 to 2, the same IP2, and the MAC2 is taken from the message. If the timer expires, the checksum is calculated, and the message recording the two user information is sent to the upper device. The third video terminal switches from channel 3 to channel 4. The entire organization of the message is as shown in Figs. 8A to 8C.
上层设备收到类型为 OXef的 IGMP报文: The upper device receives an IGMP packet of the type OXef:
步骤 1 : 检验 IGMP报文检验和是否出错, 如果出错, 丢弃。 如果正确, 执行步骤 2; Step 1: Verify that the IGMP message is checked and is in error. If it is wrong, discard it. If it is correct, go to step 2;
步驟 2: 解析出 4个 IGMP报文, 并且取出各用户信息。 区分是何种报 文类型, 如果是加入报文, 执行步骤 3 , 如果是离开报文, 执行步骤 4; 步骤 3: 对第一个用户信息 IP1 , MAC1是否能够加入到 G1进行认证, 如果不允许加入, 就退出; 如果允许加入, 执行步骤 31 ; Step 2: Parse out four IGMP messages and retrieve each user information. Differentiate what type of packet is. If it is a join message, go to step 3. If it is a leave message, go to step 4. Step 3: Check whether the first user information IP1 and MAC1 can be added to G1 for authentication. If you are allowed to join, you will exit; if you are allowed to join, go to step 31;
步骤 31 : 判断 IP1 , MAC1是否第一次加入到 G1 , 如果是第一次加入, 则在组播 G1的转发表中增加此项, 并且通知接入控制, 加入成功。 如果不 是第一次加入, 退出。 Step 31: Determine whether IP1 and MAC1 are added to G1 for the first time. If it is the first time to join, add this item to the forwarding table of multicast G1, and notify the access control that the join is successful. If it is not the first time to join, quit.
步骤 4: 判断 IP3 , MAC3是否已经加入 G3 , 如果没有加入, 就退出, 如果已经加入, 判断是否快速离开, 如果是快速离开, 从转发表中删除, 同 时通知接入控制。 Step 4: Determine whether IP3 and MAC3 have been added to G3. If they are not added, exit. If they have joined, judge whether to leave quickly. If they leave quickly, delete from the forwarding table and notify access control.
图 9是组播业务控制点和组播复制点均在 BRAS上的情况。 Figure 9 shows the situation where both the multicast service control point and the multicast replication point are on the BRAS.
下面分别说明用户汇聚设备上支持和不支持合并 IGMP报文的情况。 用户汇聚设备支持合并 IGMP报文的处理情况:用户汇聚设备合并了用 户报文, 发送给 DSLAM, DSLAM—方面分解, 形成二层转发表; 另一方 面对合并的 IGMP报文可以再次进行合并, 发送给 BRAS。 也就是说, 只要 定时时间没到,并且没有达到 MTU,就可以继续合并,形成新的类型为 Oxef 的报文。 The following describes the situation where the IGMP packets are supported and not supported on the user aggregation device. The user aggregation device supports the processing of the merged IGMP messages. The user aggregation device combines the user packets and sends them to the DSLAM. The DSLAM is decomposed to form a Layer 2 forwarding table. On the other hand, the merged IGMP messages can be merged again. Sent to the BRAS. That is, as long as the timing has not arrived and the MTU has not been reached, the merge can continue to form a new packet of type Oxef.
用户汇聚设备收到通用查询报文,按照用户实际在线情况,合并用户的 加入 4艮文。 如用户 1, 用户 2, 用户 3分别在 Gl , G2, G4, 合并后只需发 送一个 IGMP报文就够了。 The user aggregation device receives the general query message and merges the user's join message according to the actual online situation of the user. For example, user 1, user 2, and user 3, respectively, Gl, G2, and G4, and only one IGMP message is sent after the combination.
用户汇聚设备不支持合并 IGMP报文的处理情况:用户汇聚设备转发用
户的 IGMP报文到 DSLAM, DSLAM合并用户的加入离开报文, 形成新的 类型为 Oxef的报文发送给 BRAS。 User aggregation device does not support the processing of IGMP messages. User aggregation device forwarding. The user's IGMP message is sent to the DSLAM. The DSLAM merges the user's join and leave the message, and a new type of Oxef packet is sent to the BRAS.
用户汇聚设备收到通用查询报文,按照用户实际在线情况, 分别发送用 户的加入报文。 如用户 1 , 用户 2, 用户 3分别在 Gl, G2, G4, 需要发送 三个 IGMP的加入报文。 The user aggregation device receives the general query message and sends the user's join message according to the actual online situation of the user. For example, user 1, user 2, and user 3 are in Gl, G2, and G4, and need to send three IGMP join messages.
BRAS收到类型为 Oxef的 IGMP报文, 对报文检查通过后, 进行分解, 如果是用户的加入报文, 对用户信息进行认证, 认证通过后, 形成转发表, 把组播组送到 DSLAM; 如果认证没有通过, 丢弃。 The BRAS receives the IGMP message of the type Oxef. After the packet is checked, the packet is decomposed. If the user joins the packet, the user information is authenticated. After the authentication is passed, the forwarding table is formed. The multicast group is sent to the DSLAM. If the authentication does not pass, discard.
图 10是组播业务控制点在 BRAS而组播复制点在 DSLAM上的情况。 在 DSLAM上合并 IGMP的加入离开报文, 但并没有形成转发表, 而是 合并后的多用户 IGMP报文发送给 BRAS ,合并时需要把用户所在的 DSLAM 上的端口信息带上, 以备认证。 BRAS收到后进行检验, 检验通过后, 分解 并判断, 如果是用户的加入报文, 对用户信息进行认证, 认证通过后, 通知 DSLAM, 形成相应的转发表。 如果认证没有通过, 丟弃。 如果是离开报文, 判断此用户是否存在相应的组中, 如果不存在, 丢弃; 如果存在, 通知 DSLAM, 从相应的转发表中删除。 Figure 10 shows the multicast service control point in the BRAS and the multicast replication point on the DSLAM. The IGMP join and leave message is merged on the DSLAM, but the forwarding table is not formed. The merged multi-user IGMP message is sent to the BRAS. The port information of the DSLAM where the user is located needs to be carried in the merge for authentication. . After the BRAS receives the test, it is decomposed and judged. If the user joins the message, the user information is authenticated. After the authentication is passed, the DSLAM is notified to form a corresponding forwarding table. If the authentication does not pass, discard it. If the packet is leaving, determine whether the user exists in the corresponding group. If it does not exist, discard it; if it exists, notify the DSLAM to delete it from the corresponding forwarding table.
以上所述仅为本发明的优选实施例而已 , 并不用于限制本发明,对于本 领域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和 原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护 范围之内。 The above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.
工业实用性 从本发明提供的技术方案可以看出, 当用户比较多的时候, 尤其是收到 通用查询报文的时候, 网络上 IGMP报文比较多。 当采用了合并用户 IGMP 报文的方法, 減少了网络上 IGMP报文的流量, 也就是减少了组播设备的处 理 IGMP报文的时间,相应的就是在现有的处理能力不变的情况下,加大了 组播用户的接入量。
Industrial Applicability According to the technical solution provided by the present invention, when there are many users, especially when receiving general query messages, there are many IGMP messages on the network. When the method of combining user IGMP messages is used, the traffic of IGMP messages on the network is reduced, that is, the time for processing IGMP messages by the multicast device is reduced, and the corresponding processing capacity is unchanged. Increase the access of multicast users.
Claims
1、 一种 IGMP报文传输方法, 其特征在于, 所述方法包括以下步驟: 步骤 S602, 至少一个用户终端将 IGMP报文发送至 IGMP报文转发装 置; An IGMP packet transmission method, the method includes the following steps: Step S602: At least one user terminal sends an IGMP message to an IGMP packet forwarding device.
步骤 S604, 所述 IGMP 4艮文转发装置接收并合并来自所述至少一个用 户终端的 IGMP报文,并将合并后的 IGMP报文发送至 IGMP报文解析装置; 以及 Step S604, the IGMP4 message forwarding device receives and merges the IGMP message from the at least one user terminal, and sends the merged IGMP message to the IGMP message parsing device;
步骤 S606, 所述 IGMP报文解析装置接收并分解来自所述 IGMP报文 转发装置的合并后的 IGMP报文, 并对分解后的 IGMP报文进行处理。 Step S606: The IGMP message parsing device receives and decomposes the merged IGMP message from the IGMP message forwarding device, and processes the decomposed IGMP message.
2、 根据权利要求 1所述的 IGMP报文传输方法, 其特征在于, 所述步 骤 S604包括: The method of transmitting an IGMP message according to claim 1, wherein the step S604 comprises:
步驟 S604-2,所述 IGMP报文转发装置接收来自所述至少一个用户终端 的 IGMP 4艮文和 /或来自所述 IGMP报文解析装置的消息并进行响应; Step S604-2, the IGMP message forwarding device receives an IGMP message from the at least one user terminal and/or a message from the IGMP message parsing device and responds;
步驟 S604-4,在定时器定时时间未到并且合并后的 IGMP报文未达到最 大传输单元时, 所述 IGMP报文转发装置合并所述 IGMP报文; 以及 Step S604-4, the IGMP message forwarding device merges the IGMP message when the timer has not expired and the merged IGMP message does not reach the maximum transmission unit;
步驟 S604-6,所述 IGMP报文转发装置在所述定时器定时时间到或合并 后的 IGMP报文已经达到最大传输单元的情况下,计算 IGMP报文的检验和, 并将检验和插入到合并后的 IGMP报文中发送至所述 IGMP报文解析装置。 Step S604-6, the IGMP message forwarding device calculates the checksum of the IGMP message, and inserts the checksum into the case that the IGMP message of the timer has expired or the merged IGMP message has reached the maximum transmission unit. The merged IGMP message is sent to the IGMP message parsing device.
3、 根据权利要求 2所述的 IGMP报文传输方法, 其特征在于, 所述步 骤 S604-4中, 在定时器定时时间未到且合并后的 IGMP 4艮文未达到最大传 输单元的情况下,所述 IGMP ^Jl转发装置再接收到已存在用户的 IGMP报 文后, 更新所述已存在用户的 IGMP报文。 The method for transmitting an IGMP message according to claim 2, wherein in the step S604-4, if the timer timing is not reached and the merged IGMP 4 message does not reach the maximum transmission unit, After the IGMP ^J1 forwarding device receives the IGMP message of the user, the IGMP message of the existing user is updated.
4、 才艮据权利要求 3 所述的 IGMP报文传输方法, 其特征在于, 所述 IGMP报文包括 IGMP加入报文和 IGMP离开报文, 所述 IGMP报文转发装 置合并一种或多种版本的 IGMP 4艮文。 The method for transmitting an IGMP message according to claim 3, wherein the IGMP message includes an IGMP join message and an IGMP leave message, and the IGMP message forwarding device combines one or more types. Version of IGMP 4 text.
5、 根据权利要求 4所述的 IGMP报文传输方法, 其特征在于, 所述步 骤 S604-2中:
在接收到所述 IGMP加入报文的情况下,判断发送所述 IGMP加入报文 的用户是否已经加入,如果没有加入则生成所述用户的出口组播转发表, 如 果加入了则记录并退出; 以及 The method for transmitting an IGMP message according to claim 4, wherein in step S604-2: When the IGMP join message is received, it is determined whether the user who sent the IGMP join message has been added, and if not, the egress multicast forwarding table of the user is generated, and if it is added, the record is recorded and exited; as well as
在接收到所迷 IGMP离开报文的情况下,判断发送所述 IGMP离开报文 的用户是否是快速离开,如果是快速离开, 则将所述用户的信息从所述组播 转发表中删除, 如果是慢离开, 则向所述用户询问是否真的离开。 In the case that the IGMP Leave message is received, it is determined whether the user who sent the IGMP Leave message is a fast leave, and if it is a fast leave, the information of the user is deleted from the multicast forwarding table. If it is slow to leave, ask the user if they really left.
6、 根据权利要求 4所述的 IGMP报文传输方法, 其特征在于, 所述步 骤 S604-2包括: The method for transmitting an IGMP message according to claim 4, wherein the step S604-2 comprises:
在接收到来自所述 IGMP报文解析装置的通用查询报文的情况下,判断 所述 IGMP报文转发装置是否起 IGMP代理; 如果没有起 IGMP代理, 则向 所述至少一个用户终端广播接收到的通用查询报文;在起了 IGMP代理的情 况下, 判断所述 IGMP报文解析装置是否起了所述用户的认证功.能; 如果起 了所述用户的认证功能, 则合并所有组的所有用户的 IGMP报文, 如果没有 起认证功能或所迷认证功能在所述 IGMP报文转发装置本身 ,则合并每个组 的一个用户的艮文。 When receiving the general query message from the IGMP message parsing device, determining whether the IGMP message forwarding device is an IGMP proxy; if not the IGMP proxy, broadcasting to the at least one user terminal a general query message; if the IGMP proxy is activated, determining whether the IGMP packet parsing device has authenticated the user; if the authentication function of the user is activated, all groups are merged The IGMP message of all users, if there is no authentication function or the authentication function is in the IGMP message forwarding device itself, merges the messages of one user of each group.
7、 根据权利要求 4所述的 IGMP报文传输方法, 其特征在于, 所述步 驟 S606中: The method for transmitting an IGMP message according to claim 4, wherein in step S606:
在所述 IGMP报文为 IGMP加入报文且所述检验和正确的情况下,判断 所述 IGMP报文解析装置是否起组播用户认证功能;在判断为起所述组播用 户认证功能的情况下,判断用户是否可以加入组播组;如果不允许用户加入, 则记录并退出; 如果允许用户加入, 则判断所述用户所在的端口是否在加入 组播组的转发表中存在, 如果不存在, 则生成所述用户的组播转发表, 如果 存在, 则记录并退出。 When the IGMP message is an IGMP join message and the checksum is correct, it is determined whether the IGMP message parsing device functions as a multicast user authentication; when it is determined that the multicast user authentication function is If the user is allowed to join, the user is allowed to join the multicast group. If the user is allowed to join, the user is allowed to join the network. Then, the multicast forwarding table of the user is generated, and if it exists, the record is recorded and exited.
8、 根据权利要求 4所述的 IGMP报文传输方法, 其特征在于, 所述步 驟 S606中: The method for transmitting an IGMP message according to claim 4, wherein in step S606:
在所述 IGMP报文为 IGMP加入报文且所述检验和正确的情况下,判断 所述 IGMP报文解析装置是否起組播用户认证功能;在判断为没有起所述組 播用户认证功能的情况下,判断是否用户已经加入所述组播組; 如果没有加
入, 则生成组播转发表, 如果已经加入, 则退出。 If the IGMP message is an IGMP join message and the checksum is correct, determining whether the IGMP message parsing device functions as a multicast user authentication; and determining that the multicast user authentication function is not In the case, it is determined whether the user has joined the multicast group; If it is entered, a multicast forwarding table is generated. If it has been added, it exits.
9、 根据权利要求 4所述的 IGMP报文传输方法, 其特征在于, 所述步 骤 S606中: The method for transmitting an IGMP message according to claim 4, wherein in step S606:
在所述 IGMP报文为 IGMP离开报文且所述检验和正确的情况下,判断 所述 IGMP报文解析装置是否起组播用户认证功能;在判断为起了所述组播 用户认证功能的情况下,判断所述用户是否已经加入组播组,如果没有则退 出,如果所述用户已经加入组播组,则判断要离开的组播组中是否存在其他 用户与所述用户所在 IGMP报文解析装置的端口相同;如果存在则记录并退 出, 如果不存在, 则写所述组播转发表并删除所述端口。 If the IGMP message is an IGMP Leave message and the checksum is correct, determining whether the IGMP message parsing device functions as a multicast user authentication; and determining that the multicast user authentication function is If the user has joined the multicast group, if the user has joined the multicast group, it is determined whether the other user and the user are in the IGMP message. The port of the parsing device is the same; if it exists, it records and exits. If it does not exist, the multicast forwarding table is written and the port is deleted.
10、 根据权利要求 1至 9中任一项所述的 IGMP报文传输方法,其特征 在于: The method for transmitting an IGMP message according to any one of claims 1 to 9, wherein:
所述 IGMP报文转发装置位于用户接入侧,所述 IGMP报文解析装置位 于用户汇聚侧; 或 The IGMP packet forwarding device is located at the user access side, and the IGMP packet parsing device is located at the user aggregation side; or
所述 IGMP报文转发装置位于用户汇聚侧,所述 IGMP报文解析装置位 于宽带远程接入服务器侧。 The IGMP packet forwarding device is located at the aggregation side of the user, and the IGMP packet parsing device is located at the broadband remote access server.
11、 一种 IGMP报文传输系统, 其特征在于, 包括: 11. An IGMP message transmission system, comprising:
至少一个用户终端, 用于将 IGMP报文发送至 IGMP报文转发装置; At least one user terminal, configured to send an IGMP message to the IGMP packet forwarding device;
IGMP报文转发装置, 用于接收并合并来自至少一个用户终端的 IGMP 报文, 并将合并后的 IGMP报文发送至 IGMP报文解析装置; 以及 An IGMP message forwarding device, configured to receive and merge an IGMP message from the at least one user terminal, and send the merged IGMP message to the IGMP message parsing device;
IGMP报文解析装置, 用于接收并分解来自 IGMP报文转发装置的合并 后的 IGMP报文, 并对分解后的 IGMP报文进行处理。 The IGMP message parsing device is configured to receive and decompose the merged IGMP message from the IGMP message forwarding device, and process the decomposed IGMP message.
12、 根据权利要求 11所述的 IGMP报文传输系统, 其特征在于, 所述 IGMP报文转发装置包括: The IGMP message transmission system according to claim 11, wherein the IGMP message forwarding device comprises:
报文接收单元,用于接收来自至少一个用户终端的 IGMP报文并进行响 应, 以及接收来自 IGMP报文解析装置的消息并进行响应; a message receiving unit, configured to receive and respond to an IGMP message from the at least one user terminal, and receive a message from the IGMP message parsing device and respond;
定时器, 用于控制定时发送 IGMP报文的时间; The timer is used to control the time when IGMP messages are sent periodically.
报文合并单元, 用于合并接收到的 IGMP报文, 并且在定时器定时时间
到或合并后的 IGMP报文已经达到最大传输单元的情况下, 将合并后的 IGMP报文发送至 IGMP 4艮文解析装置; 以及 a message merging unit, configured to merge received IGMP messages, and at a timer time If the IGMP message has reached the maximum transmission unit, the merged IGMP message is sent to the IGMP4 message parsing device;
检验和计算单元,用子在定时器定时时间到或合并后的 IGMP报文已经 达到最大传输单元的情况下, 计算 IGMP拫文的检验和, 并将检验和插入到 合并后的 IGMP报文中。 The verification and calculation unit calculates the checksum of the IGMP message by using the IGMP message after the timer has expired or the merged IGMP message has reached the maximum transmission unit, and inserts the checksum into the merged IGMP message. .
13、 根据权利要求 12所迷的 IGMP报文传输系统, 其特征在于, 所述 报文合并单元在定时器定时时间未到且合并后的 IGMP报文未达到最大传 输单元的情况下, 再接收到已存在用户的 IGMP 艮文后, 更新已存在用户的 IGMP报文。 The IGMP message transmission system according to claim 12, wherein the message merging unit receives the IGMP message after the timer has not expired and the merged IGMP message does not reach the maximum transmission unit. Updates the existing IGMP messages of the user after the user's IGMP suffix.
14、 根据权利要求 12所述的 IGMP报文传输系统, 其特征在于, 所述 报文合并单元可以合并一种或多种版本的 IGMP报文;所述 IGMP报文包括 IGMP加入报文和 IGMP离开艮文。 The IGMP message transmission system according to claim 12, wherein the message merging unit can combine one or more versions of IGMP messages; the IGMP messages include IGMP join messages and IGMP. Leave the text.
15、 根据权利要求 12所述的 IGMP报文传输系统, 其特征在于, 所述 报文接收单元在接收到 IGMP加入报文的情况下,判断发送 IGMP加入报文 的用户是否已经加入,如果没有加入则生成用户的出口組播转发表; 在接收 到 IGMP离开报文的情况下,判断发送 IGMP离开报文的用户是否是快速离 开, 如果是则将用户的信息从组播转发表中删除, 如果是慢离开, 则指示向 用户询问是否真的离开。 The IGMP packet transmission system according to claim 12, wherein, when receiving the IGMP join message, the message receiving unit determines whether the user who sent the IGMP join message has joined, if not If yes, the user sends the outgoing multicast forwarding table of the user. If the IGMP Leave message is received, the user who sends the IGMP Leave message is sent out quickly. If yes, the user's information is deleted from the multicast forwarding table. If it is slow to leave, the indication is asked to the user if they really left.
16、 根据权利要求 12所述的 IGMP报文传输系统, 其特征在于, 所述 报文接收单元在接收到来自 IGMP报文解析装置的通用查询报文的情况下, 判断 IGMP报文转发装置是否起 IGMP代理, 如果没有起, 则向至少一个用 户终端广播接收到的通用查询报文;在起了 IGMP代理的情况下,判断 IGMP 报文解析装置是否起了用户的认证功能,如果起了, 则指示报文合并单元合 并所有组的所有用户的 IGMP报文, 如果没有起认证功能或认证功能在 IGMP报文转发装置本身, 则指示报文合并单元合并每个组的一个用户的报 文。 The IGMP message transmission system according to claim 12, wherein the message receiving unit determines whether the IGMP message forwarding device is in the case of receiving the general query message from the IGMP message analyzing device. The IGMP proxy, if not, broadcasts the received general query message to at least one user terminal; if the IGMP proxy is activated, determines whether the IGMP message parsing device functions as the user's authentication function. Then, the message merging unit merges the IGMP messages of all the users in the group. If the authentication function or the authentication function is not in the IGMP packet forwarding device itself, the message merging unit is instructed to merge the packets of one user in each group.
17、 根据权利要求 11所述的 IGMP报文传输系统, 其特征在于, 所述 IGMP报文解析装置包括:
检验和检验单元, 用于检验接收到的 IGMP报文中的检验和是否正确; 报文解析单元, 用于在检验和正确的情况下,对接收到的 IGMP报文进 行解析和处理; The IGMP message transmission system according to claim 11, wherein the IGMP message parsing apparatus comprises: The inspection and verification unit is configured to check whether the checksum in the received IGMP message is correct; the message parsing unit is configured to parse and process the received IGMP message in the case of verification and correctness;
加入报文处理单元, 用于对解析出的 IGMP加入报文进行处理; 以及 离开报文处理单元, 用于对解析出的 IGMP离开报文进行处理。 The packet processing unit is configured to process the parsed IGMP join message, and the leave message processing unit is configured to process the parsed IGMP leave message.
18、 根据权利要求 17所述的 IGMP报文传输系统, 其特征在于, 所述 加入报文处理单元在检验和正确的情况下,判断 IGMP报文解析装置是否起 组播用户认证功能;在判断为起组播用户认证功能的情况下,判断是否用户 可以加入组播组, 如果不允许用户加入, 则记录并退出; 如果允许用户加入 则判断用户所在的端口是否在加入组播组的转发表中存在,如果不存在, 则 生成用户的组播转发表, 如果存在, 则记录并退出; 在判断为没有起组播用 户认证功能的情况下, 判断是否用户已经加入组播组, 如果没有加入, 则生 成组播转发表, 如果已经加入, 则退出。 The IGMP packet transmission system according to claim 17, wherein the join message processing unit determines whether the IGMP message parsing device functions as a multicast user authentication when the check and the correct one is correct; If the multicast user authentication function is enabled, the user can join the multicast group. If the user is not allowed to join, record and log out. If the user is allowed to join, determine whether the port where the user is located is the forwarding table of the multicast group. If it does not exist, the user's multicast forwarding table is generated. If it exists, it records and exits. If it is determined that there is no multicast user authentication function, it is determined whether the user has joined the multicast group. , then generate a multicast forwarding table, and if it has already joined, exit.
19、 根据权利要求 17所述的 IGMP报文传输系统, 其特征在于, 离开 报文处理单元在检验和正确的情况下 ,判断 IGMP报文解析装置是否起组播 用户认证功能;在判断为起了组播用户认证功能的情克下,判断用户是否已 经加入组播组, 如果没有则退出, 如果用户已经加入組播组, 则判断要离开 的组播组中是否存在其他用户与用户所在 IGMP报文解析装置的端口相同, 如果存在则记录并退出, 如果不存在, 则写组播转发表并删除端口。 The IGMP packet transmission system according to claim 17, wherein the leaving message processing unit determines whether the IGMP message parsing device functions as a multicast user authentication when the check and the correct one is determined; If the multicast user authentication function is used, the user is determined to have joined the multicast group. If not, the user will join the multicast group. If the user has joined the multicast group, determine whether there are other users and the user's IGMP. The port of the packet parsing device is the same. If it exists, it records and exits. If it does not exist, it writes the multicast forwarding table and deletes the port.
20、 根据权利要求 11所述的 IGMP报文传输系统, 其特征在于, 所述 20. The IGMP message transmission system according to claim 11, wherein:
IGMP 4艮文转发装置位于用户接入侧, 所述 IGMP报文解析装置位于用户汇 聚侧; 或 . The IGMP message forwarding device is located at the user access side, and the IGMP message parsing device is located at the user aggregation side;
所迷 IGMP报文转发装置位于用户汇聚侧,所述 IGMP报文解析装置位 于宽带远程接入服务器侧。
The IGMP message forwarding device is located at the user aggregation side, and the IGMP message parsing device is located at the broadband remote access server side.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610150737.7 | 2006-10-24 | ||
CN200610150737.7A CN101170490B (en) | 2006-10-24 | 2006-10-24 | Igmp message transmission method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2008049296A1 true WO2008049296A1 (en) | 2008-05-02 |
Family
ID=39324111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2007/000917 WO2008049296A1 (en) | 2006-10-24 | 2007-03-21 | Method and system of igmp datagram transmission |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101170490B (en) |
WO (1) | WO2008049296A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352781A (en) * | 2020-02-28 | 2020-06-30 | 天津飞腾信息技术有限公司 | Automatic message comparison correctness checking method and device for retransmission component module level verification |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448003B (en) * | 2008-12-23 | 2012-02-01 | 杭州华三通信技术有限公司 | Method and device for processing IGMP message |
CN102082720B (en) * | 2009-12-01 | 2013-04-03 | 杭州华三通信技术有限公司 | Method and device for forwarding multicast flow |
CN103227843B (en) | 2012-08-31 | 2016-05-04 | 杭州华三通信技术有限公司 | A kind of physical link address management method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002044834A2 (en) * | 2000-11-28 | 2002-06-06 | Navic Systems, Inc. | Promotion packaging for transmission groups |
CN1157985C (en) * | 2000-06-23 | 2004-07-14 | 松下电器产业株式会社 | Radio communication system and method for multicast communication |
CN1719828A (en) * | 2004-07-08 | 2006-01-11 | 中兴通讯股份有限公司 | Method for implementing multicasting point to point protocol over ether network |
CN1744570A (en) * | 2005-08-25 | 2006-03-08 | 广东省电信有限公司研究院 | Method for realizing efficient video multicasting in ethernet passive optical entwork system |
-
2006
- 2006-10-24 CN CN200610150737.7A patent/CN101170490B/en not_active Expired - Fee Related
-
2007
- 2007-03-21 WO PCT/CN2007/000917 patent/WO2008049296A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1157985C (en) * | 2000-06-23 | 2004-07-14 | 松下电器产业株式会社 | Radio communication system and method for multicast communication |
WO2002044834A2 (en) * | 2000-11-28 | 2002-06-06 | Navic Systems, Inc. | Promotion packaging for transmission groups |
CN1719828A (en) * | 2004-07-08 | 2006-01-11 | 中兴通讯股份有限公司 | Method for implementing multicasting point to point protocol over ether network |
CN1744570A (en) * | 2005-08-25 | 2006-03-08 | 广东省电信有限公司研究院 | Method for realizing efficient video multicasting in ethernet passive optical entwork system |
Non-Patent Citations (1)
Title |
---|
"Network Working Group, Request for Comments: 2236", INTERNET GROUP MANAGEMENT PROTOCOL, November 1997 (1997-11-01), Retrieved from the Internet <URL:http://www.ftp.rfc-editor.org/in-notes/rfc2236.txt> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352781A (en) * | 2020-02-28 | 2020-06-30 | 天津飞腾信息技术有限公司 | Automatic message comparison correctness checking method and device for retransmission component module level verification |
Also Published As
Publication number | Publication date |
---|---|
CN101170490A (en) | 2008-04-30 |
CN101170490B (en) | 2010-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1492381B1 (en) | Digital subscriber line access network with improved authentication, authorization, accounting and configuration control for multicast services | |
US8270294B2 (en) | Method and apparatus for implementing multicast service | |
CN107948762A (en) | The transmission method of live video, device and system | |
CN109246486B (en) | Method and device for framing | |
WO2011023063A1 (en) | Method and system for reducing time delay of internet protocol television (iptv) channel switching | |
WO2009021460A1 (en) | Method for reporting implement result of policy, network communication system and equipment | |
CN101170489A (en) | IGMP message transmission system | |
WO2008049296A1 (en) | Method and system of igmp datagram transmission | |
CN101163002B (en) | Highly effective multicast authenticating method | |
WO2008052475A1 (en) | A method, system and device for multicast authenticating | |
CN101409704B (en) | Method and apparatus for processing multicast member management protocol | |
CN109586851B (en) | Data transmission method and device based on video network | |
CN110392289B (en) | Account processing method and system | |
JP4653851B2 (en) | Method and apparatus for establishing a communication relationship | |
JP2010502071A (en) | Mechanisms for managing receiver / decoder connections | |
CN109376507A (en) | A kind of data safety control method and system | |
CN1852080B (en) | A Method for Handling Abnormal Multicast Service | |
CN109561080B (en) | Dynamic network access communication method and device | |
CN102474445A (en) | A method, a terminal, an access node and a media server for providing resource admission control of digital media streams | |
KR100867987B1 (en) | Apparatus and method of providing internet broadcasting service using multicast address learning bridge | |
CN100414933C (en) | Method and device for realizing multicast service based on PPP protocol | |
CN110086772A (en) | A kind of acquisition methods and system of monitor video | |
CN100442723C (en) | Device and implementation method for monitoring multicast users | |
KR100748091B1 (en) | Apparatus and method of providing internet broadcasting service | |
WO2008083459A1 (en) | System and method for duplicating and delivering media streams using the unicast protocol |
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: 07720491 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: 07720491 Country of ref document: EP Kind code of ref document: A1 |