WO2006133655A1 - Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees - Google Patents

Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees Download PDF

Info

Publication number
WO2006133655A1
WO2006133655A1 PCT/CN2006/001384 CN2006001384W WO2006133655A1 WO 2006133655 A1 WO2006133655 A1 WO 2006133655A1 CN 2006001384 W CN2006001384 W CN 2006001384W WO 2006133655 A1 WO2006133655 A1 WO 2006133655A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
host
packet
multicast
replenishment
Prior art date
Application number
PCT/CN2006/001384
Other languages
English (en)
Chinese (zh)
Inventor
Hongbo Gu
Original Assignee
Hongbo Gu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hongbo Gu filed Critical Hongbo Gu
Publication of WO2006133655A1 publication Critical patent/WO2006133655A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Definitions

  • the invention belongs to the field of communication technologies and relates to data transmission in a network, in particular to a data transmission method for transmitting a supplementary multicast protocol by using a unicast protocol in a data network, which is applicable to all networks having a unicast and multicast communication mode and Network protocol.
  • Background technique
  • the first one is unicast (icast) mode, which is a one-to-one communication mode.
  • the Internet is mainly based on this communication mode;
  • the second is Broadcast broadcast mode, which is a pair of all modes. All hosts on the network receive broadcasts regardless of whether they need it or not. Broadcast information is unconditionally copied on the network. Because of the waste of resources, the broadcast mode is limited to the range of small LAN.
  • the third mode is a multicast mode (multicast, which is also translated into a multi-transmission mode, a multicast mode, and a multicast mode in China), and the wave mode is a communication mode that combines the advantages of the above two modes.
  • the multi-finger refers to multiple hosts in need.
  • the information is copied by the router or the Layer 3 switch according to the conditions in the network. All the hosts in need obtain the copy by sending a request.
  • the only drawback is that the packet loss that occurs during the transmission process is difficult to repair.
  • the current broadband network is characterized in that the bandwidth of the backbone network is much smaller than the sum of the access bandwidths of all users.
  • BT technology uses the principle of P2P to bypass the pressure problem of the server, it cannot bypass the pressure of the network backbone and causes the current backbone of the broadband network. Great pressure, so that there is an ISP sealed BT port. CDN technology can alleviate this situation slightly, but the high cost of its numerous servers is destined to solve the underlying problem.
  • the solution to the above problem is to promote the use of multicast protocols on a large scale.
  • the current multicast protocol uses the routers in the network to instantly copy information on demand, which has the advantage of saving network and server resources, but the multicast protocol has a fatal The defect is that the reliability is poor. Because there is no retransmission mechanism for packet loss during the transmission process, the data transmitted by the multicast protocol is unreliable. This unreliable transmission characteristic seriously hinders the promotion and use of the multicast protocol. And it seems to be impossible to solve in the short term.
  • the reliable multicast protocol currently under discussion tries to pass the original multicast. The address is repackaged and retransmitted. Although it is technically feasible in a small scale, it has hindered its application due to its technical complexity and process reliability in large-scale multicast, because of large-scale multicast. This approach is clearly unrealistic and uneconomical. Content of the invention
  • One of the objectives of the present invention is to provide a method for comprehensively using multicast and unicast protocols to transmit data in a data network to solve the problem of poor reliability of multicast protocol transmission data.
  • the second purpose is to provide a receiving data reception. Host to achieve the reception of transmitted data.
  • the present invention is applicable to all network and network protocols having unicast and multicast communication modes. Since the current network protocols basically use the TCP/IP protocol, IP multicast and IP unicast are taken as an example for ease of understanding. However, it does not mean that the invention is limited to an IP network.
  • the method for reliably transmitting data by using a multicast and a unicast protocol in a data network is a method for repacking and retransmitting a packet of a multicast data stream by using a unicast protocol. It is completely independent of the multicast protocol and uses the existing multicast protocol to transmit. For the packet loss during the transmission process, the unicast protocol is used to complete the replenishment work. This replenishment process can also be embedded in the future IP protocol.
  • the process of data transmission includes sending and receiving, wherein
  • a host that sends or forwards multicast data sends at least one multicast data stream
  • the supplemental host of the agreed address receives the replenishment request from the host receiving the data using at least one agreed unicast address
  • the replenishing host of the agreed address receives and identifies the replenishment request, and locates from the memory and finds the corresponding data according to the scale of the request;
  • the unicast protocol sends the replenishment data to the host that requests the replenishment of the data; the process of receiving the data is as follows - a.
  • the host receiving the data joins at least a multicast group that receives data of a multicast data stream;
  • the host receiving the data continuously monitors whether there is a wrong packet or packet loss data during the process of receiving the multicast data stream; c After the host receiving the data finds the wrong packet and the packet is lost, the host is replenished to the appointed address by the unicast protocol. Issue a replenishment request; d. The host receiving the data integrates the received packetized multicast data with the unicast packet data to make it complete or partially complete.
  • the host for implementing the method for receiving data of the present invention includes the following functional modules:
  • a storage module configured to store the received data
  • a multicast receiving module configured to receive data of a multicast data stream and data received by the multicast protocol, and store the received data in the storage module;
  • the packet loss judging and replenishing control module is configured to determine whether the data of the received multicast data stream is lost, and control the unicast transceiver module to perform replenishment;
  • the single-wave transceiver module is configured to send a replenishment request to the replenishment server by using a unicast protocol, and receive the replenishment data sent by the replenishment server; and then hand over the received replenishment data to the packet loss judgment and replenishment control module. Integration with packet loss data in the storage module.
  • the forwarding device can be a Layer 3 switch, a Layer 2 switch, or a CDN node server.
  • the memory belongs to the fast memory; the hard disk and the optical disk belong to the slow memory, and the speed of the flash memory is between the two, and can be used for both fast memory and slow memory. It is not excluded that the development of the future technology will have a new type of memory as a fast memory or a slow memory. For example, ferroelectric memories, holographic memories, and the like, which are currently under study.
  • Devices in the network that have the ability to process, copy, and forward data information.
  • Devices such as servers, clients, network routers, and switches can be collectively referred to as hosts.
  • the host that provides the multicast data source in the network is the host that sends the multicast, such as the server.
  • a host that forwards broadcast data to a next-level network router or client in the network is called a host that forwards multicast, such as a network router or a Layer 3 switch.
  • the proxy server or CDN network edge server that forwards multicast data can be called a host that sends multicast data, or a host that forwards multicast data.
  • the replenishment host refers to a host that completes the work of replenishing the host receiving data in the present invention, due to the current group.
  • the broadcast protocol does not specify how to handle the packet loss, and does not define where to replenish the packet. Therefore, in the present invention, it is necessary to stipulate where to request the packet data for each packet loss of the multicast data stream. It can be agreed to be the source server itself that sends the multicast stream; it can be agreed to be a router or switch in the network; it can be agreed to be an edge server of the CDN, or a different client; or some new hardware that will appear in the future The device can become a replenishment host as long as it can complete the response replenishment request.
  • the agreed address means that the above-mentioned client, server and switch can be fixedly agreed or fixed by some rules to use certain unicast addresses. Since the client requests the server that sends the multicast stream or the switch router that forwards the multicast stream to replenish the packet loss packet in the original multicast data stream, which is confusing and difficult, the client and the server are in the present invention. And the switch can be fixed by convention or by some rule to supplement with some unicast address.
  • the address convention includes but is not limited to: It may be agreed to replenish one or some multicast addresses with one or some unicast addresses; it may be agreed to use the original unicast address of the server and the client, or may additionally subscribe to the supplemental address.
  • the manner in which the agreed addresses are provided for the above clients, servers, and switches mainly includes, but is not limited to, the following:
  • the address of the replenishing host is obtained from a server responsible for the guidance.
  • the guiding server can also direct the multicast address, as shown in FIG. This replenishment can be used in the manner described by the CDN Edge Server.
  • the set-top box is named because it is placed on the top of the TV set. However, from the technical point of view, it is essentially a simple computer, but it is different from the general computer. The main difference is two points: First, its display interface The output is not a general computer display but a TV; the second is that the operation input interface is not a keyboard mouse but a remote control. In the present invention, the set top box can be completely a client.
  • the metrics mainly include, but are not limited to, the following two types of data-based storage methods, for example, taking the starting point of the file as the origin and measuring the position and length in units of stored length or offset. The other is to directly use the data packet as the unit of measure of the ruler.
  • the label of the data packet can be borrowed from the serial number in the IP header, or it can be numbered by the program in the internal data of the data packet. If the data packet is used as the ruler scale, the scale may be indefinitely long, because the server may send packets of variable length depending on the need. For example, many streaming media transmit their packets indefinitely.
  • the method provided by the invention can conveniently solve the problem of the reliability of the data transmitted by the multicast protocol.
  • the promotion of the technology can make the multicast protocol widely applicable to the transmission of various data in the network, thereby fundamentally solving the troubled broadband network.
  • FIG. 1 is a schematic diagram of a data transmission process of the present invention, wherein FIG. 1a is a schematic diagram of a data transmission process in which an address of a replenishing host is set in a host receiving data; FIG. 1b is a responsible guidance from a certain process in the process of dynamically accessing the network.
  • the server dynamically obtains a schematic diagram of the data transmission process of accessing the replenishment host address.
  • FIG. 2 is a diagram of a first embodiment of the present invention in which the server that sends the multicast and the replenishment server are the same physical server.
  • FIG. 3 is a diagram of a second embodiment of the present invention in which the replenishment server is located at the edge of the network and is dedicated to replenishing clients for a certain area. .
  • FIG. 4 is a diagram showing a third embodiment of the present invention in which partial replenishment is performed by a client, and each client concurrently serves as a complement for other clients.
  • FIG. 5 is a diagram of a fourth embodiment of the present invention in which a certain level or each level of routers can discover packet loss and request replenishment to a higher level.
  • Figure 6 is a simplified logic block diagram of the present invention for determining packet loss.
  • FIG. 7 is a smart logic block diagram of the present invention for determining packet loss.
  • FIG. 8 is a functional block diagram of a receiving data host of the present invention. detailed description
  • the method of the present invention is divided into a transmission mode and a reception mode as in the television system, and the two can be separately implemented as separate systems, which are implemented by different individuals, but for convenience of description and understanding of the cooperation, the sender and the receiver are provided. The two are put together to describe their operation.
  • the data transmission process of the present invention is:
  • the host receiving the data continuously monitors whether there are error packets and packet loss data during the process of receiving the multicast data stream. After discovering and receiving the data of the error packet and the packet loss, the host sends the packet to the replenishing host in a unicast protocol. Replenishment request
  • the replenishing host uses at least one agreed unicast address, receives the replenishment request, and finds corresponding data from the memory according to the positioning rule of the replenishment request, and receives the data from the request replenishment packet by the unicast protocol.
  • the host sends the supplemental data;
  • the host receiving the data integrates the received packetized multicast data with the unicast packet data to make it a complete or partially complete data stream.
  • the address of the replenishing host of the present invention is to dynamically obtain data for accessing the replenishment host address from a server responsible for guiding the network during the process of dynamically accessing the network, and the data transmission process is:
  • the guidance server After receiving the guidance request, the guidance server sends guidance information to the host receiving the data;
  • the host receiving the data directs the guidance information sent by the server to request to join the multicast and receive the multicast data stream;
  • the host receiving the data continuously monitors whether there are error packets and packet loss data according to the processes of FIG. 6 and FIG. 7, and after discovering and receiving the data of the error packet and the packet loss, Issue a replenishment request to the replenishment host in a unicast protocol;
  • the replenishing host uses at least one agreed unicast address, receives the replenishment request, and finds corresponding data from the memory according to the positioning rule of the replenishment request, and receives the data from the request replenishment packet by the unicast protocol.
  • the host sends the supplemental data;
  • the host receiving the data integrates the received packetized multicast data with the unicast packet data to make it a complete or partially complete data stream.
  • This method is mainly used for transporting streaming media, but it can also be used to transmit other data because it solves the reliability of transmission.
  • the first embodiment of the present invention is a basic method for implementing data transmission in a data network, as shown in FIG. In Figure 2, it consists of a server, several clients, and a network, where the network includes several routers and switches.
  • Server A sends several multicast data streams to several multicast addresses.
  • Client A applies for multicast with address 224.
  • the network router responds to the request sent by the client and copies the group to the client. The data stream in broadcast 1. Under normal circumstances, if a packet loss packet is not repaired during the replication transmission, it is even difficult for the client to find the packet loss. In this method, the client or router discovers the packet loss in a unique manner.
  • the client sends a request packet to the server in a unicast protocol, requesting the server to resend one or several data packets.
  • the server sends one or several packets to the client in a unicast protocol as requested by the client to compensate for the data lost by the multicast packet loss.
  • the host receiving the data can either use the structure of a general-purpose computer such as a client; it can also be a device specially designed for its specific functions such as a router, and even the module can be an Application Specific Integrated Circuit (ASCI).
  • ASCI Application Specific Integrated Circuit
  • they must have several modules to perform their functions: a storage module for storing received data; a multicast receiving module for receiving multicast data; a packet loss determination and replenishment control module, Determining whether the received data generates packet loss, and controlling the unicast transceiver module to perform replenishment; the single-wave transceiver module is configured to send a replenishment request to the replenishment server by using a unicast protocol and receive a supplement sent by the replenishment server.
  • Package data is configured to send a replenishment request to the replenishment server by using a unicast protocol and receive a supplement sent by the replenishment server.
  • these functional modules can be specially designed modules.
  • these modules are implemented by controlling a general-purpose CPU, a memory, and a data transfer interface, wherein the multicast receiving module is controlled by the program to control the CPU and the network card.
  • the memory module is composed of the program by controlling the CPU and by the memory; the packet loss judgment and the packet replacement control module are constituted by the program controlling the CPU memory; the single wave transceiver module is controlled by the program.
  • the CPU and the network card are configured; the process of receiving the data by each functional module is as shown in FIG. 8.
  • the multicast receiving module stores the received data into the storage module; the packet loss judgment and the packet replacement control module judges the received data, wherein the specific operation process of the packet loss module and the packet replacement control module may be as shown in the figure.
  • the simple way shown in 6 Or the intelligent mode shown in Figure 7, the main function is to be able to determine the packet loss according to the serial number of the data packet, to determine the recalculation of the packet number and the packet loss in this case, and further intelligent functions are in the previous If the packet sequence number of the multicast data transmitted by the level is abnormally arranged, the packet loss can be accurately determined.
  • the packet loss judgment and the packet replacement control module find that the packet is lost, the location and length of the packet loss are used, and the packet is used.
  • the information is controlled by the unicast transceiver module to perform replenishment; the unicast transceiver module requests replenishment from the replenishing host of the agreed address, and after receiving the replenishment data, it is handed over to the packet loss judgment and the replenishment control module;
  • the judgment and replenishment control module integrates the replenishment data with the packet loss data received by the multicast protocol stored in the storage module according to the packet loss record and the ruler, so as to become complete or partially complete data.
  • the discovery of packet loss and replenishment is realized by complex reciprocating responses such as ACK and NACK, but in the current multicast protocol, there is no such process, and it is difficult to implement this process. Therefore, the current multicast protocol itself cannot automatically discover the packet loss.
  • the client program or the next-level router only receives the multicast data, but does not know whether the data is complete.
  • the present invention adopts adding a sequence number information in ascending or descending order in each data packet, and may also consider using the packet sequence number in the IP packet header to find the packet loss according to the sequence of the data packet, as shown in FIG.
  • the order of the data packets is found to be 2, 3, and 6, the packets of 4 and 5 are considered to be lost.
  • the intelligent process first counts the packet loss into the packet loss list.
  • the data of No. 4 and No. 5 has not been found yet.
  • the judgment condition of the waiting time can be used in a plurality of different manners. In the delay condition of FIG. 7, four data packets are postponed from the first packet loss, and in the actual application, the delay number can be calculated from the last packet loss. Packets, or other more complex algorithms, are important for complex networks where multi-level transmissions are multi-staged.
  • the serial number of the data packet is not infinite, so there is a problem that when the serial number is used up, it is necessary to use the serial number from the beginning, that is, the serial number of the data packet is restarted. At this time, it is possible to generate confusion of judgment, and then it is necessary. To judge complex conditions.
  • the maximum packet number is 65535.
  • the order in which the client receives the packets is 65532, 65533, 3, 4.
  • the subsequent packet sequence number is smaller than the previous packet.
  • the packet server sends data from 65534 to the maximum sequence number 65535 and from the lowest sequence number 0 to 2 for a total of five packets.
  • the length of a piece of data may be short.
  • the server needs to start from the beginning. Cyclic transfer of data, if you ignore the structure of the data, the serial number continues to increase, you can use the above processing method to solve.
  • the structure of the data is taken into consideration and the data is expected to correspond to the serial number, the data sequence number must be started from the beginning when the data is re-circulated from the beginning. In this case, the client needs to know in advance the length of the looped data and judge it. If the length of this segment of data is longer than the sequence number range, it is necessary to combine the packet sequence number and the length of the segment data for comprehensive judgment.
  • Another special case is that if the second layer of the network finds a wrong packet, it may discard it directly.
  • the data link layer of the Ethernet network will perform a CRC check on each packet and find that the error will discard it. It is considered a packet loss.
  • the location of packet loss data is an important issue that needs to be solved by the method of the present invention.
  • the data packet is buffered in the form of a data packet in the server and the router, and any data that is just sent out at the first level can be requested to be replenished to the next level.
  • This is in the TCP/IP protocol stack.
  • the functions that have been defined, these functions are automatically done by the router and the underlying IP stack of the computer in the network.
  • the replenishment function needs to be implemented by the software functions of the client and the server, and there is a problem of positioning, that is, the data to be transmitted needs to have a ruler mechanism to locate and measure it to ensure that it is guaranteed.
  • the replenishment data sent by the server to the client is that it needs to be supplemented and integrated with the original data.
  • One measure is based on how data is stored, for example, taking the starting point of the file as the origin and measuring its position and length in units of stored length or offset.
  • Another way to measure is to use packet positioning directly, that is, a buffer controlled by the server's program.
  • This buffer can be on the hard disk or in the memory.
  • the data is stored in the way that it will be sent.
  • the form of the packet is stored.
  • the content of each lk byte is a data packet
  • the storage method is to use lk bytes as a storage unit
  • the storage unit of each data packet is a metric ruler.
  • the storage unit may also be indefinitely long. For example, one frame or several frames of the streaming medium are used as the storage unit and the metric scale, and the scale of the scale is not fixed. But this does not affect the use of the ruler, Because this ruler is not used to measure the absolute length of the data, but to locate the lost and replenished data, so as long as he can correctly find the replacement data.
  • the client After the client finds that the packet is lost, it can request the replenishment immediately. It can also wait for a period of time to request the replenishment of all the packets found during this period.
  • the first method is suitable for situations where the timeliness of the data is high, such as IPTV, VOD, etc.; the second mode is suitable for the case where the timeliness of the data is low, such as downloading.
  • the packet can be requested directly from the upstream router or the Layer 3 switch, and the upper router or switch will retransmit the packet, but the existing multicast protocol cannot complete such a process.
  • the replenishment work can be completed by the source server that sends the multicast data stream.
  • the client finds the packet loss, it sends a request to the source server, which describes the sequence number of the lost packet, or directly describes the missing data according to the data meter, so that the server knows which client is missing the data. .
  • the network card that the server sends multicast must have a unicast address, and the multicast packet sent by the server carries the unicast address, and the client can use the unicast address as the target address. Send the replenishment request directly to the replenishment server. Of course, you can also specify an address or even another host's address. .
  • a network card of the server can separately send multiple multicast data streams to multiple multicast addresses.
  • the client requests the replenishment to be a multicast to the multicast data stream in which the packet loss has occurred.
  • the address is sent, but a replenishment request is sent to a unicast address.
  • the simple method is that each multicast address corresponds to a unicast replenishment address, but this way consumes a lot of unicast addresses.
  • the more cost-effective way is that multiple multicast addresses correspond to a single unicast address, so there is a data on how to identify which multicast data stream the client needs to supplement.
  • consider the agreement server to send multicast The data stream uses different port numbers.
  • the server replenishment service is also a different port for unicast addresses.
  • the server sends three multicast streams with addresses 224. 2. 2. 1 : 4001 , 224. 2. 2. 2 : 4002 , 224. 2. 2. 3 : 4003 , unicast address of the server NIC Is 192. 168. 2. 2. In this way, it is possible to "contract" the packet loss found in the process of receiving the data stream of the multicast address 224. 2. 2. 3 : 4003, and always send the unicast address to the server 192. 168. 2. 2 : 4003 Send a replenishment request.
  • the server receives the replenishment request from port 4003, it understands that the client needs to repackage the data stream of 224. 2.2.3.
  • Another safer way is that the client's replenishment request directly describes a certain data packet of a data stream to be supplemented by a certain multicast address in a certain format, so that the server does not need to open multiple ports to correspond to multiple multicasts.
  • the advantage of the address is that the server has fewer ports, which makes the server more secure.
  • the server sends a replenishment packet to the client in response to the client request to send the replenishment data directly to the source address of the packet that the client requested to repackage.
  • the server sends a replenishment packet to the client in response to the client request to send the replenishment data directly to the source address of the packet that the client requested to repackage.
  • the client has multiple unicast addresses and it requires the server to send the replenishment data to another address of the client, it can also be sent as required.
  • the data sender can refuse service for such a receiver; it can also set a limit value in the software of the receiver, and if the packet loss rate exceeds a certain value, it will not request the packet.
  • the memory buffer of the server can be processed differently from the general multicast method to improve the efficiency and speed of the replenishment.
  • the current multicast protocol does not have a supplement, so the current program and operating system will immediately send the multicast data out of the memory buffer.
  • the server can establish a shared fast memory buffer.
  • the fast memory mainly refers to the memory RAM, mainly including DDR RAM, ECC RAM, etc., and there may be better fast memory in the future.
  • Special storage hardware can be set up on the network card for buffering.
  • a memory buffer or a buffer we still call it a memory buffer or a buffer.
  • a normal multicast program clears a multicast packet immediately after it is sent out.
  • the shared memory buffer is used for both the multicast stream and the unicast packet, so this memory buffer The data in the data is not cleared immediately after being sent out through multicast, but is kept in the memory buffer for a period of time. If the client requests replenishment during this period, the server immediately reads the corresponding data from the memory buffer and unicasts it. The form is sent to the client that made the request.
  • a server or server group can provide at least one replenishment service for the current broadband metropolitan area network to ensure reliable data transmission using multicast in the metropolitan area network.
  • the second embodiment of the present invention is an improvement of the above embodiment 1, as shown in FIG.
  • the load of the unicast protocol server is often very heavy.
  • unicast is only used for replenishment
  • most of the data streams are transmitted by multicast.
  • This is also a huge load, especially when the network environment is relatively poor and the packet loss is serious.
  • the replenishment service can be done exclusively by one or several servers, which can even be distributed in different locations on the network.
  • the location of the unicast replenishment server can be borrowed from the commonly used CDN (abbreviation of Content distribution network or Content delivery network) and anycast mode to spread the load of the replenishment to the edge of the network, which is closer to the client.
  • CDN abbreviation of Content distribution network or Content delivery network
  • anycast mode to spread the load of the replenishment to the edge of the network, which is closer to the client.
  • the server is completed, and its advantage is that the replenishment response is fast and the pressure on the network backbone is small. In this way, it is necessary to
  • One way is anycast mode.
  • the client still seeks to replenish the packet according to the unicast address of the multicast source server, but the network device automatically relocates the request of one area to another server closer to the client, "convention" Which areas of the request relocation are sent to which server is set in the network device.
  • Another way is to directly ask the client to seek replenishment services from another "contracted address" server. This can be done in a variety of techniques. It can be specified that the client's program must first ask the main server which one to go to. Or those servers seeking replenishment, the server may indicate to which or those servers seek replenishment according to the area to which the client's address belongs, or send a list to the client, and the client autonomously decides which one or those servers to seek replenishment. ;
  • the client it is also possible to set the client to a certain contracted server replenishment when the client establishes a connection with the source server or requires replenishment; it can also refer to the DNS method, and set an indication server, client software for each region in each region. You need to manually or automatically set the address of the local server, request replenishment from this server or ask which server or servers you can seek replenishment.
  • the third embodiment of the present invention is another modification of the embodiment 1, as shown in FIG.
  • the P2P method is used in the replenishment mode.
  • the current P2P transmission method is to transmit all the information from each client to the client.
  • the server only provides some guidelines, such as BT.
  • the result of this is that each client has to go to one or more clients. Services, sometimes providing services to others with more bandwidth than the data they receive, which is too heavy for network backbones and clients.
  • the primary data is also transmitted via multicast sent by the server, and only a portion of the missing data is supplemented by mutual service between the clients. To do this, you need to maintain a list in the server that indicates which clients are receiving or have received multicast data.
  • a client When a client starts receiving a multicast, it notifies the server that the server will receive the same.
  • the unicast address of the client "buddy" of this multicast data advertises this client and also notifies it as a partner record to other partners.
  • this client finds that a packet loss or data is missing, it can request supplementary data from its "partner", and another one or several clients that are its partners send missing data to it, that is, another client is part-time. Complete the work that should have been done by the make-up server. Similarly, this client can also provide replenishment services to other clients.
  • the server and multiple clients form a server group to work together to complete the multicast transmission and replenishment, but the part of the client that serves part-time for others can be logically regarded as Part of the server.
  • the fourth embodiment of the present invention is an improvement of the above-described Embodiment 1, Embodiment 2, and Embodiment 3. Because the methods of the above embodiments are supplemented by a computer, whether by using a server or a client, the replenishment method is easy to implement, but the result of relying on the software of the computer is that the efficiency is relatively low, and The reaction rate is relatively slow. In the unicast TCP protocol, the work of replenishing packets is implemented by the router at the upper level, and the processing efficiency and response speed are fast. Therefore, you can consider the work of replenishing the package to be implemented by a router or a Layer 3 switch, as shown in Figure 5.
  • This method can implement step-by-step replenishment of unicast protocols in a large-scale network with multi-level routing.
  • you want a router or a Layer 3 switch to implement this function you need to make a large-scale software for its built-in software, operating system, or even hardware. change.
  • the simpler implementation method is to directly implement the above-mentioned work done by the server to the router, but this requires the router to have not only the functions of the three layers of the 0SI seven-layer protocol but also the functions of the fourth layer or higher. Because it not only needs to view the information of the IP header, but also must open the IP packet, and view the contents to know the packet loss of the client. Fortunately, the current technology realizes four-layer exchange, and even higher-level functions are not difficult.
  • the more complex but more efficient processing method is to directly reflect the client's replenishment requirements in the IP header. This requires some modifications to the existing IP protocol stack. First, there must be a flag in the IP packet header to indicate the client. This packet of the machine is a request packet for requesting replenishment.
  • the router distinguishes the replenishment request and other information packets by this flag, and then the router can propose this information for further processing.
  • the client or Which multicast stream needs to be replenished for the next-level router and how much needs to be filled can be described in the header or in the packet.
  • the client For which multicast stream the client needs to replenish, it can also be identified by the method corresponding to the port number as described above.
  • each level of router can transmit multicast in this improved manner, it can implement step-by-step replenishment in the network.
  • Each level of router in the network implements reliable transmission of multicast, instead of the first three.
  • the multicast data needs to be transmitted to the client receiving the data before the packet loss can be found. But in this way, each router is both the host that receives the data and the host that sends the data. This involves how it handles the received multicast and supplemental data and transmits it to the next-level host.
  • the transmission includes but is not limited to the following:
  • the added data packets are directly integrated into the original order regardless of their original order.
  • the original multicast data stream is transmitted to the next stage. Because the previous stage of the replenishment requires a time process, the data packet that is replenished by the replenishment in the multicast data stream of the host of the next level is sent to the host. It will lag behind the normal packet sequence, and the next-level host may misjudge this packet loss when the data packet that lags behind the normal sequence has not arrived. This requires the host to judge the packet loss in a more flexible and intelligent way, for example, as described in "How to find packet loss".
  • each host After receiving the multicast, each host does not immediately copy and forward, but waits for a certain period of time. This time is enough for the host to discover the loss, request the replenishment, and get the replenishment of the host of the upper level.
  • the data packets are integrated into the original multicast data stream in the original order and transmitted to the next level.
  • the host of this level puts the packets that are supplemented by the unicast protocol from the upper-level host into the cache without adding it to the original multicast data stream, but one problem it faces is its next The host will also find that these packets are lost. Of course, some new packets will be found in the next-level transmission of the host. In this case, the host can use unicast for both cases. The protocol replenishes the next-level host.
  • the entire network uses the multicast protocol to transmit reliable data.
  • the network environment is Huawei's S3526 Layer 3 switch and S2026Z Layer 2 switch. During the test, there are other normal unicast network communication.
  • the server is P4 2. 8G/1G RAM, and the client is P3 1G/256 RAM notebook.
  • the simulation made transmission performance test statistics in two different environments.
  • the first group is the transmission effect statistics under the normal campus network environment, as shown in Table 1.
  • the second group is dedicated to the use of very poor but unicast ping-through network cable to simulate transmission performance statistics in harsh environments, as shown in Table 2.
  • Network environment BIG HAMMER6808 three-layer switch and Haminer24E Layer 2 switch in the harbor. There are other normal unicast network communication during the test.
  • the server is P4 2. 8G/1G RAM and the client is P4 2. 8G/256 RAM.
  • the simulation also made transmission performance test statistics in two different environments.
  • the first group is the transmission effect statistics in the normal campus network environment, as shown in Table 3.
  • the second group is a network that uses very poor but unicast pings.
  • the line simulates the transmission effect statistics in a harsh environment, as shown in Table 4.
  • the poor network environment will cause the multicast packet loss rate to increase.
  • the replenishment server load is very low, and one server can easily undertake the work of replenishing tens of thousands of clients.

Landscapes

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

Abstract

La présente invention a trait à un procédé pour la transmission fiable conjointe de données utilisant un protocole de multidiffusion et de diffusion individuelle comprenant: l'envoi par l'hôte qui assure la transmission ou la retransmission de données multidiffusion réalisant d'au moins un flux de données de multidiffusion à l'hôte qui assure la réception des données; la détermination par l'hôte de réception de données de l'existence d'erreur de paquets ou perte de paquets lors de la réception du flux de données de multidiffusion, et l'envoi d'une requête de retransmission à l'hôte de retransmission dont l'adresse est désignée au moyen du protocole de diffusion individuelle suite à la détection de cette erreur de paquets reçu ou de perte de paquets; la réception par l'hôte de retransmission dont l'adresse est désignée de la requête de retransmission au moyen d'au moins une adresse de diffusion individuelle désignée et l'envoi du paquet de retransmission à l'hôte de réception de données ayant formulé la requête de transmission à l'aide du protocole de diffusion individuelle; la combinaison par l'hôte de réception de données des données de multidiffusion reçues avec perte de paquets et des données de retransmission de diffusion individuelle en vue d'obtenir un flux de données complet ou partiellement complet. La présente invention peut résoudre la faible fiabilité de transmission de données par protocole de multidiffusion dans le réseau de données et peut être utilisée dans le réseau et le protocole de réseau ayant des modes de communication de diffusion individuelle et multidiffusion.
PCT/CN2006/001384 2005-06-17 2006-06-15 Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees WO2006133655A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200510042830.1 2005-06-17
CN 200510042830 CN1697354B (zh) 2005-06-17 2005-06-17 用组播和单播协议可靠传输数据的方法及接收数据的主机

Publications (1)

Publication Number Publication Date
WO2006133655A1 true WO2006133655A1 (fr) 2006-12-21

Family

ID=35349902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2006/001384 WO2006133655A1 (fr) 2005-06-17 2006-06-15 Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees

Country Status (3)

Country Link
CN (1) CN1697354B (fr)
HK (1) HK1085865A1 (fr)
WO (1) WO2006133655A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486743A (en) * 2010-12-24 2012-06-27 Wireless Tech Solutions Llc A cellular communication system for broadcast communication comprises an broadcast transmission augmented with a unicast transmission.
GB2486741A (en) * 2010-12-24 2012-06-27 Wireless Tech Solutions Llc Wireless communication unit, integrated circuit, computer program and method for reception comprises a broadcast transmission augmented with a unicast transmi
US9445242B2 (en) 2010-12-24 2016-09-13 Nvidia Corporation Methods and apparatuses for supplementing MBMS transmission to a relay via unicast transmission
US11695855B2 (en) 2021-05-17 2023-07-04 Margo Networks Pvt. Ltd. User generated pluggable content delivery network (CDN) system and method
US11860982B2 (en) 2022-05-18 2024-01-02 Margo Networks Pvt. Ltd. Peer to peer (P2P) encrypted data transfer/offload system and method
US11930439B2 (en) 2019-01-09 2024-03-12 Margo Networks Private Limited Network control and optimization (NCO) system and method

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136759A (zh) * 2006-09-01 2008-03-05 华为技术有限公司 一种多媒体广播组播业务的发送处理方法及系统
CN101488897B (zh) * 2009-02-25 2012-11-28 北京东土科技股份有限公司 网络发生快速冗余倒换时的零丢包技术实现方法
US8612622B2 (en) * 2009-10-02 2013-12-17 Limelight Networks, Inc. Real-time message queuing for a processing ring
US8976787B2 (en) * 2009-12-10 2015-03-10 Thomson Licensing Protocol booster for SCTP in multicast networks
CN102340742B (zh) * 2010-07-22 2015-04-15 华为技术有限公司 数据处理方法和接入点设备
CN103533387B (zh) * 2013-10-21 2016-08-17 腾讯科技(深圳)有限公司 一种视频直播控制方法、设备及系统
CN105357577A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 一种丢包重传方法及装置
CN107613367B (zh) * 2016-07-11 2019-12-03 成都鼎桥通信技术有限公司 流媒体数据播放方法及播放器
CN106549956B (zh) * 2016-11-02 2019-12-24 惠州高盛达科技有限公司 一种udp和tcp相互结合的局域网通信方法
CN109756846A (zh) * 2017-11-06 2019-05-14 成都鼎桥通信技术有限公司 群组通信的补包方法和系统
CN108390764B (zh) * 2018-01-02 2020-07-31 东南大学 一种面向播存网络的广播内容补包方法及系统
CN108933835A (zh) * 2018-07-23 2018-12-04 安徽广行领视通信科技有限公司 一种节约带宽资源的cdn分发方法
CN110768709A (zh) * 2018-07-27 2020-02-07 清华大学 一种组播与单播协同的数据传输方法、服务器和终端
CN111865874B (zh) * 2019-04-28 2022-08-16 成都鼎桥通信技术有限公司 数据传输方法及装置
CN112533154B (zh) * 2019-09-19 2022-04-22 成都鼎桥通信技术有限公司 数据处理方法、装置和存储介质
CN111770389A (zh) * 2020-03-20 2020-10-13 深圳宇翊技术股份有限公司 一种基于组播和单播混合策略的pis补帧算法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194333A1 (en) * 2001-06-15 2002-12-19 Wonin Baek Message transmission method and system capable of balancing load
WO2003105353A2 (fr) * 2002-06-11 2003-12-18 Meshnetworks, Inc. Systeme et procede d'acces a des media multi-diffusion au moyen d'emissions diffusees avec des accuses de reception multiples dans un reseau de communications adequat

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317870C (zh) * 2003-12-10 2007-05-23 联想(北京)有限公司 一种保证一点到多点传输数据可靠性的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194333A1 (en) * 2001-06-15 2002-12-19 Wonin Baek Message transmission method and system capable of balancing load
WO2003105353A2 (fr) * 2002-06-11 2003-12-18 Meshnetworks, Inc. Systeme et procede d'acces a des media multi-diffusion au moyen d'emissions diffusees avec des accuses de reception multiples dans un reseau de communications adequat

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486743A (en) * 2010-12-24 2012-06-27 Wireless Tech Solutions Llc A cellular communication system for broadcast communication comprises an broadcast transmission augmented with a unicast transmission.
GB2486741A (en) * 2010-12-24 2012-06-27 Wireless Tech Solutions Llc Wireless communication unit, integrated circuit, computer program and method for reception comprises a broadcast transmission augmented with a unicast transmi
GB2486743B (en) * 2010-12-24 2013-02-13 Nvidia Corp Cellular communication system for broadcast communication
GB2486741B (en) * 2010-12-24 2013-02-13 Nvidia Corp Wireless communication unit, integrated circuit and method for reception of broadcast communication
US9445242B2 (en) 2010-12-24 2016-09-13 Nvidia Corporation Methods and apparatuses for supplementing MBMS transmission to a relay via unicast transmission
US9961412B2 (en) 2010-12-24 2018-05-01 Nvidia Corporation Cellular communication system for broadcast communication
US11930439B2 (en) 2019-01-09 2024-03-12 Margo Networks Private Limited Network control and optimization (NCO) system and method
US11695855B2 (en) 2021-05-17 2023-07-04 Margo Networks Pvt. Ltd. User generated pluggable content delivery network (CDN) system and method
US11860982B2 (en) 2022-05-18 2024-01-02 Margo Networks Pvt. Ltd. Peer to peer (P2P) encrypted data transfer/offload system and method

Also Published As

Publication number Publication date
CN1697354A (zh) 2005-11-16
CN1697354B (zh) 2010-05-05
HK1085865A1 (en) 2006-09-01

Similar Documents

Publication Publication Date Title
WO2006133655A1 (fr) Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees
US9344287B2 (en) Scalable transport system for multicast replication
Li et al. OTERS (On-tree efficient recovery using subcasting): A reliable multicast protocol
US9900168B2 (en) System and method for reliable multicast data transport
Kumar et al. Survey on transport layer protocols: TCP & UDP
Wang et al. SDUDP: A reliable UDP-Based transmission protocol over SDN
CN113194509B (zh) 一种基于QoS的多网络融合传输系统及传输方法
US9118494B2 (en) Method for group-based multicast with non-uniform receivers
KR101600060B1 (ko) 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터
Argyriou et al. Bandwidth aggregation with SCTP
Lee et al. IRMA: A reliable multicast architecture for the Internet
Chen et al. Improvement and implementation of a multi-path management algorithm based on MPTCP
Gupta et al. Fast interest recovery in content centric networking under lossy environment
Adamson et al. Multicast Negative-Acknowledgment (NACK) Building Blocks
Palacios et al. High-throughput multi-multicast transfers in data center networks
Li et al. MSRT: Multi-source request and transmission in content-centric networks
Li et al. A reliable message multicast transport protocol for virtual circuits
Shi Named data networking in local area networks
Rajput et al. Comparing stream control and datagram congestion control with traditional transmission control protocol
Duan et al. Reliable Multicast Based on Congestion-Aware Cache in ICN. Electronics 2021, 10, 1579
Xu et al. A Design Idea of Multicast Application in Satellite Communication Network
Rosen Network service delivery and throughput optimization via software defined networking
Lv et al. Uap: A new udp-based application level transport protocol
Brandt Reliable multicast protocols and their application on the Green Bank Telescope
Huang et al. SCTP-based bandwidth aggregation across heterogeneous networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06742189

Country of ref document: EP

Kind code of ref document: A1