CN112073206B - Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment - Google Patents

Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment Download PDF

Info

Publication number
CN112073206B
CN112073206B CN202011155999.9A CN202011155999A CN112073206B CN 112073206 B CN112073206 B CN 112073206B CN 202011155999 A CN202011155999 A CN 202011155999A CN 112073206 B CN112073206 B CN 112073206B
Authority
CN
China
Prior art keywords
data packet
filtering
network hardware
programmable network
hardware equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011155999.9A
Other languages
Chinese (zh)
Other versions
CN112073206A (en
Inventor
王昕�
朱宁
朱立
孙增
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Stock Exchange Technology Co ltd
Original Assignee
Shanghai Stock Exchange Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Stock Exchange Technology Co ltd filed Critical Shanghai Stock Exchange Technology Co ltd
Priority to CN202011155999.9A priority Critical patent/CN112073206B/en
Publication of CN112073206A publication Critical patent/CN112073206A/en
Application granted granted Critical
Publication of CN112073206B publication Critical patent/CN112073206B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The invention relates to the field of data packet processing of programmable network hardware equipment in a software defined network, in particular to a data packet filtering method for realizing reliable multicast based on the data packet processing capability of the programmable network hardware equipment. The receiving end may send filtering information to the SDN controller; the SDN controller controls data processing and forwarding behaviors of the programmable network hardware equipment, and data packets with specific labels are sent to specific receiving ends. In order to support the reliable multicast protocol of the upper layer, through the function of marking serial numbers of the programmable network hardware equipment, two serial numbers are written into the data packet before and after the programmable network hardware equipment implements filtering, so that a receiving end can judge whether the data packet is lost due to filtering or loss, and the method has the advantages that: in the network transmission process, the filtering operation of the data packet is realized, each receiving end only receives the filtered data packet, and the bandwidth occupation of the receiving end is reduced.

Description

Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment
Technical Field
The invention relates to the field of data packet processing of programmable network hardware equipment (such as programmable network hardware equipment in a software defined network), in particular to a data packet filtering method for realizing reliable multicast based on the data packet processing capability of the programmable network hardware equipment.
Background
One practical and common reliable Multicast protocol is the pgm (reusable Multicast programming) protocol. The basic idea is that when receiving a data packet, a receiving end judges whether the data packet has a deletion according to a sequence number on the data packet: when no missing is found, uploading the data packet to an upper layer application; when the missing is found, a NAK (negative acknowledgement) data packet is sent to the sending end, and the sequence number of the missing data packet is indicated. And the transmitting end carries out retransmission operation of the data packet according to the sequence number of the missing data packet in the received NAK data packet. The method has the advantages that under the multicast scene with a plurality of receiving ends, a large number of Acknowledgement (ACK) data packets (namely, for each received data packet, the receiving end sends feedback to the sending end and confirms the receipt of the data packet) can not be transmitted in the network, and the ACK storm is avoided.
The data packet filtering is to filter the data packet through the label on the data packet, and the purpose is to make the upper layer application only receive and process the data packet with the specific label. In a reliable multicast scenario, because the sending end does not have a connection to each receiving end, filtering cannot be performed at the sending end unless the filtering labels specified by all receiving ends are consistent. At present, it is a common practice that a receiving end filters data packets after receiving all the data packets. After the receiving end receives all the data packets through the bottom layer reliable multicast PGM protocol, the receiving end performs filtering operation on the data packets according to the filtering strategy set by the upper layer application and the labels of the data packets (namely, the filtering operation is realized on the reliable multicast protocol). However, the method has the disadvantage that even if the application program of the receiving end sets the filtering strategy, all data packets are transmitted to the receiving end, which affects the system performance of the receiving end: a large number of data packets occupy bandwidth resources; packet filtering operations consume computational resources (thereby increasing latency). Therefore, in consideration of optimizing system performance, it is necessary to implement filtering operation during the transmission of data packets in the network to reduce the influence on the system performance of the receiving end.
The concept of programmability of network hardware devices (e.g., switches) is derived from Software-Defined Networking (SDN). The idea of SDN is to focus switches on forwarding functions by separating control logic from network switches (including three-tier switches) and concentrating on SDN controllers. The SDN controller can issue a forwarding strategy to a bottom-layer switch through a southbound interface of the SDN controller based on the whole network state and the upper-layer application requirement; the switch performs forwarding, modifying and other operations on the received data packet based on the forwarding policy. Compared with a three-layer switch with fixed control logic in a traditional network (such as an OSPF protocol and the like), the programmable capacity of the three-layer switch can be greatly improved by separating the control logic from the three-layer switch, and the flexibility of processing data packets in the network is further improved. The programmable network hardware equipment realizes the data packet processing capability based on the bottom chip; due to the difference of chips, the capability of the programmable network hardware equipment for processing data packets is not unified. The programmable network hardware devices considered in the present invention have packet processing capabilities including: and forwarding the data packet based on the label and sequencing the data packet.
The SDN-based programmable network hardware equipment can flexibly realize the filtering operation of the data packets in the network. When the receiving end has a filtering requirement on the data packet, the receiving end may send corresponding filtering request information to the SDN controller. And after receiving the request, the SDN controller issues a data packet processing strategy to bottom-layer programmable network hardware equipment, so that the filtering operation of the data packet in the network is realized.
However, the data packet filtering method implemented based on the programmable network hardware device needs to solve the following problems in the reliable multicast scenario: the filtering operation in the programmable network hardware device is implemented in the lower layer of the reliable multicast protocol, so when the receiving end runs the program of the reliable multicast protocol to find the data packet missing, it needs to judge whether the missing is caused by the filtering operation in the network or the data packet missing in the transmission process. For a reliable multicast protocol, finding the loss of a data packet, sending a NAK data packet and triggering the retransmission of a sending end; for packet filtering, no action is required. If all missing data packets are judged to be filtering conditions, the reliability of data transmission is affected; if all missing data packets are judged to be lost, the system delay is greatly increased. How to enable the receiving end to receive enough information to judge whether the missing of the data packet is lost or filtered is the main problem of realizing the data packet filtering method based on the programmable network hardware equipment and oriented to reliable multicast.
Disclosure of Invention
The invention aims to solve the defects of the prior art, provides a method for filtering data packets based on programmable network hardware equipment in network transmission, and solves the problem of judging the data packet loss by a receiving end in a reliable multicast scene by colleagues.
In order to achieve the purpose, a method for realizing reliable multicast-oriented data packet filtering based on programmable network hardware equipment is designed, and the method is characterized by comprising a sending end and two receiving ends, wherein the sending end and the two receiving ends are connected through the programmable network hardware equipment, an SDN controller is connected with the programmable network hardware equipment through a southbound interface and used for issuing a data packet processing strategy to the SDN controller, and the two receiving ends are connected with the SDN controller and used for sending filtering information to the SDN controller, and the specific method comprises the following steps:
1. a receiving end sends filtering information to an SDN controller;
2, after receiving the filtering information of the receiving end, the SDN controller issues a data packet processing strategy to bottom-layer programmable network hardware equipment through a south-oriented interface;
3. when a sending end sends a data packet, adding different labels to different data packets according to an upper application strategy, and sending the data packet with the label to the configured programmable network hardware equipment;
4. the programmable network hardware equipment processes the received data packet according to the issued data packet processing strategy: firstly, writing a sequence number before filtering into each data packet before filtering; secondly, matching different matching items according to the data packet labels; thirdly, writing different filtered sequence numbers into the data packet by matching different matching items; and fourthly, forwarding the data packet to different ports to leave the programmable network hardware equipment by matching different matching items.
The step of judging the packet loss by the receiving end after receiving the data packet comprises the following steps:
1. when two consecutive data packets i and j are received, the original serial number OS, the serial number PFS before filtering and the serial number AFS after filtering are obtained, namely (OS) i ,PFS i ,AFS i ) And (OS) j ,PFS j ,AFS j );
2. Calculating AFS j -AFS i A value of (d);
3. if AFS j -AFS i If the value of (1) is not equal to 1, indicating that packet loss exists after filtering, and ending the judgment;
4. calculation (PFS) j -PFS i )-(OS j -OS i ) A value of (d);
5. if (PFS) j -PFS i )-(OS j -OS i ) If the value of (1) is not equal to 0, it indicates that there is packet loss before filtering, otherwise, it indicates that there is packet loss before filteringAnd if no packet is lost, ending the judgment.
When a sending end sends a data packet, the sending end contains a corresponding original serial number OS, namely a continuously increasing number, the programmable network hardware equipment maintains a counter for each matching item, and represents how many data packets match the item.
Before the programmable network hardware equipment matches the data packet label, writing PFS into the data packet, and calculating whether the difference between PFS and OS is equal through the receiving end, so that whether the data packet is lost before filtering can be judged.
After the programmable network hardware equipment matches the data packet labels, writing the AFS into the data packet, and calculating whether the AFS is continuously increased or not through the receiving end, so that whether the data packet is lost or not after filtering can be judged.
Compared with the prior art, the invention has the advantages that:
1. the bandwidth occupancy rate can be reduced, and the delay of the system can be reduced;
2. by means of the function of marking serial numbers of the data packets by the programmable network hardware equipment, the problem of judging the missing of the data packets by a receiving end in a reliable multicast scene can be effectively solved, and therefore the normal operation of an upper-layer reliable multicast protocol cannot be influenced.
Drawings
FIG. 1 is a schematic diagram of an overall architecture for packet filtering in a network;
FIG. 2 is a basic diagram of a programmable network hardware device internal forwarding strategy;
FIG. 3 is a flow chart of a programmable network hardware device filtering and writing sequence numbers;
FIG. 4 is a flow chart of the receiving end performing packet loss determination;
FIG. 5 is a diagram of a programmable network hardware device performing filtering and writing sequence numbers.
Detailed Description
The present invention is further illustrated by the following examples. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Referring to fig. 1, a schematic diagram of filtering a data packet in a network by using an SDN programmable network hardware device includes a sending end and two receiving ends (a and B), where the sending end and the two receiving ends are connected by the programmable network hardware device. The SDN controller is connected with the programmable network hardware equipment through a southbound interface and can issue a data packet processing strategy to the programmable network hardware equipment. Two receiving ends are connected with the SDN controller and can send filtering information to the SDN controller. The whole process is as follows:
1. a receiving end sends filtering information to an SDN controller, namely, a data packet of a specific label is sent to the specific receiving end;
after receiving the filtering information of the receiving end, the SDN controller issues a forwarding strategy to the bottom layer programmable network hardware equipment through a southbound interface, namely, the forwarding of the data packet is controlled according to the label of the data packet;
3. when a sending end sends a data packet, adding different labels to different data packets according to an upper application strategy, and sending the data packet with the label to the configured programmable network hardware equipment;
4. and the programmable network hardware equipment forwards the data packet based on the label on the data packet according to the internal configuration, and sends the data packet with the specified label to a specified receiving end to finish the filtering operation of the data packet.
Referring to fig. 2, a basic schematic diagram of a forwarding policy inside a programmable network hardware device is shown, where the forwarding policy inside the programmable network hardware device can be regarded as a matching table, where a matching field is a tag in a data packet; the action after matching is port forwarding. When the data packet arrives at the programmable network hardware device, the data packet contains the label added by the sending end. Matching the internal matching table of the programmable network hardware equipment according to the data packet label; and when the matching is successful, executing corresponding action. As shown in fig. 2, when the label of the packet is a, the first item in the table may be successfully matched, and then forwarded from the port 1, and finally reaches the receiving end a; and the data packet labeled B is only forwarded to the receiving end B, but not to the receiving end A, so that the filtering effect is achieved. Meanwhile, the forwarding strategy of the bottom layer programmable network hardware equipment is issued in real time through the SDN controller, so that the real-time configuration of the filtering strategy can be realized, and the flexibility of the system is improved.
The above process is to use the forwarding function of the programmable network hardware device to implement the operation of filtering the data packet. In order to solve the problem of judging the missing of the data packet, the programmable network hardware equipment is used for numbering the sequence number of the data packet. Based on the reliable multicast protocol, in order to enable the receiving end to determine whether the data packet is lost during transmission, the data packet is sent with a corresponding Sequence number (referred to as Original Sequence number, OS, for distinguishing from the following Sequence number), that is, a continuously increasing number, such as 1, 2, 3, etc. And similar functionality may be implemented in programmable network hardware devices. The programmable network hardware device maintains a counter for each matching entry in the match table that represents how many packets match the entry. Since the value of the counter is automatically increased along with the matching of the data packets, and the counter has the property of being continuously incremented, the data packets can be subjected to the operation of sequencing by writing the value into the data packets.
Referring to fig. 3, fig. 3 shows the operation flow performed in the programmable network hardware device to solve the problem of determining missing data packets. First, the first step of the process is to sequence all received packets. Since this operation occurs before the filtering operation, for the generated Sequence number, it is called a Pre-Filter Sequence (PFS). Through the combination of the PFS and the OS, whether the loss of the data packet occurs before the filtering can be judged. When the write of the PFS is completed, a filtering operation is performed based on the label on the packet (i.e., the second step of the process). Since each receiving end can specify a plurality of filtering conditions (i.e. a plurality of filtering labels) and form a filtering group, the process from the beginning to the end of matching of the data packet can determine which filtering group the data packet belongs to. Finally, through the mapping of the filter group and the receiving end, it can be determined from which port the transmission should be sent. In order to support scalability, the filter group tag needs to be written after determining which filter group a packet belongs to, so that the subsequent general switch can forward according to the filter group tag (therefore, this step can be omitted when the programmable network device is directly connected to the receiving end). When a plurality of receivers have the same filtering condition, the number of filtering sets will be less than the number of receivers. And the third step of the flow is to Sequence the packets belonging to different filtering groups, since this operation occurs After the filtering operation, for the generated Sequence number, it is called the After-Filter Sequence number (AFS). Through the AFS, whether the data packet is lost or not after filtering, namely in the following network transmission process, can be judged.
When the data packets arrive at the receiving end, the data packet loss can be judged according to the OS, the PFS and the AFS on each data packet. The flow of this determination is shown in fig. 4. Firstly, according to two data packets i and j received successively, the values of corresponding OS, PFS and AFS can be obtained, and for the data packet i, the value of (OS) is present i ,PFS i ,AFS i ) (ii) a For packet j has (OS) j ,PFS j ,AFS j ). Second, calculate AFS j -AFS i If the value of (b) is not equal to 1, it indicates that a packet loss occurs between packets i and j. The principle is simpler: for each filter group, the AFS value is incremented continuously when no packet is lost. Therefore, when any two consecutive packets i and j are in front of each other, if AFS j -AFS i If the value of (b) is not equal to 1, it indicates that a packet loss occurs between packets i and j. And the user needs to be handed to an upper layer reliable multicast protocol for subsequent operation. If AFS j -AFS i If the value of (1) is equal to 1, it is necessary to further determine whether packet loss occurs before filtering. Judging whether data packet loss occurs before filtering, and calculating (PFS) j -PFS i )-(OS j -OS i ) If equal to 0, it indicates that no packet loss has occurred. The principle is as follows: for the receiving end, if the received data packet PFS is continuous and the OS is discontinuous, it indicates that packet loss must occur before the data packet reaches the programmable network hardware device; if PFS is not continuous, it indicates that filtering of packets is occurring, whichThe number is the difference between PFS (when AFS is continuous), and if packet loss occurs before filtering, the difference between PFS and OS must not be equal (when AFS is continuous, i.e., no loss occurs after filtering), and thus can be calculated (PFS) j -PFS i )-(OS j -OS i ) And (3) judging whether packet loss occurs before filtering.
For reliable multicast scenarios, the invention mainly considers the scenario of original data packet transmission. For the processing procedures of NAK, retransmission data packet and the like, the existing reliable multicast protocol is still adopted to stipulate the content. Since the reliable multicast protocol type fields (i.e. the types of the data packets, such as original, retransmitted, etc.) of the NAK packet header, the retransmission packet header, etc. are different from the type fields in the original packet header, the receiving end can distinguish and adopt different logic to process.
In a first embodiment, consider the scenario of fig. 1, i.e., one sender, one SDN controller, one programmable network hardware device, and two receivers a and B. Receiving end a (b) sends filtering information to SDN controller to specify that it only accepts packets with label a (b). And the SDN controller performs configuration of related data packet processing on the programmable network hardware equipment according to the received filtering information. When the sending end sends a data packet, a label a or B is added to the data packet. The invention does not make any special provisions for the communication protocols between the receiving end and the SDN controller and between the SDN controller and the programmable network hardware device. For the former, the SDN controller needs to know which label-bearing data packets need to be sent to which receiving end; for the latter, standard SDN southbound interfaces may be used for communication between the SDN controller and the underlying programmable network hardware devices.
After the data packet with the tag is sent from the sending end, operations such as adding a sequence number and forwarding need to be performed on the programmable network hardware device. The corresponding programmable network hardware device configuration is shown in fig. 5. The configuration contains two matching tables (table 1 and table 2). When a data packet arrives at the programmable network hardware device, a match is first made in table 1. Table 1 contains a match entry whose match tag field is a pass match, i.e., all packets can match the entry. The action of this match is to write the pre-filter sequence number to the corresponding field of the packet. The function utilizes the counter function of the programmable network hardware equipment, namely, the number of the data packets matched with the item is recorded (the counting function can be automatically completed), and the value of the counter is written into the corresponding field of the data packets.
After the writing of the sequence number before filtering is completed, the filtering of the data packet and the writing of the sequence number after filtering need to be performed. Table 2 of fig. 5 then completes the latter two processes. When the packet completes the matching of table 1, table 2 is reached. Table 2 contains two matches, one for each of the two tags a and B. Each match entry of table 2 implements two operations: packet filtering and writing of filtered sequence numbers. For a matching item, the filtering of the data packet can be realized by setting the corresponding matching field. The first matching tag field in table 2 is a, i.e. a packet with a tag can match the entry; similarly, the second entry can only be matched if the packet has a B tag. The data packet sending ports of the first item and the second item respectively correspond to the receiving ends A and B, so that the receiving end A can only receive the data packet with the label A; the receiving end B can only receive the data packet with the label B. Similar to the writing of the pre-filtering sequence numbers, the action of each matching entry in table 2 also includes the writing of the post-filtering sequence numbers, i.e., the post-filtering sequence numbers need to be written to the corresponding fields of the packet before forwarding the packet. Since the counter corresponds to each matching item, it can be realized that each filtering group maintains a different post-filtering sequence number. Finally, all packets will contain two new sequence numbers PFS and AFS after processing through tables 1 and 2, except for the original sequence number (OS) written by the sender.
Consider a packet and label sent by a sender as shown in the following table:
table 1: data packet OS and label sent by sending end
Original serial number (OS) Data packet label
1 A
2 A
3 B
4 A
5 B
The sender sends a total of five packets (i.e., sequence numbers from 1 to 5), with corresponding labels of A, A, B, A, B. Therefore, the receiving end A only receives the data packets with the OS being 1, 2 and 4; the receiving end B should receive only the data packets with OS 3 and OS 5.
The following table shows the conditions of writing the corresponding data packets into the PFS and AFS after passing through the programmable network hardware device:
table 2: write PFS and AFS
Figure BDA0002742793830000101
Figure BDA0002742793830000111
Since no packet loss occurs when the packet arrives at the programmable network hardware device, the value of the PFS is consistent with the value of the OS. The value of the AFS is continuously increased for different filter groups (namely, the label A or the label B), namely, for the data packet of the label A, the value of the AFS is 1, 2 and 3; for the packet of tag B, the AFS values are 1, 2.
Finally, after the data packet is forwarded to different receiving ends according to the label, the receiving ends A and B receive the data packet as shown in the following table:
table 3: data packet received by receiving end
Figure BDA0002742793830000112
The receiving end analyzes the received data packet according to the flow of fig. 4, and can determine that the data packet is not lost in the transmission process. For example, considering that a receiving end receives two continuous data packets of which the OS is 2 and 4, firstly, calculating the difference of the AFS to be 1, which indicates that no packet loss occurs after filtering; then, it is calculated that (PFSj-PFSi) - (OSj-OSi) is equal to zero (packet j corresponds to OS 4; packet i corresponds to OS 2), which means that no packet is lost before filtering.
As can be seen from table 3, when the loss of the data packet occurs after filtering, the determination can be made simply by the value of AFS: when the AFS value of the received packet is not continuously incremented, it can be determined that the packet is lost after filtering.
When a packet is lost before filtering, the determination can be made by the value of the PFS. The following table is a scenario in which a packet with OS 2 is lost before reaching the programmable network hardware device:
table 4: data packet loss before filtering
OS Data packet label
1 A
3 B
4 A
5 B
Because the programmable network hardware device does not analyze the OS value of the received packet, but only performs a simple sequence number marking operation, the value of the PFS does not coincide with the value of the OS. The following tables are the PFS and AFS for a packet written by the programmable network hardware device:
table 5: write PFS and AFS
OS PFS Data packet label AFS
1 1 A 1
3 2 B 1
4 3 A 2
5 4 B 2
In contrast to table 2, the value of PFS does not match the value of OS, since the packet is lost before arrival. Therefore, after the receiving end receives the data packet, whether the data packet loss occurs before filtering can be judged by calculating (PFSj-PFSi) - (OSj-OSi). The data packets received by the receiving ends a and B are as follows:
table 6: data packet received by receiving end
Figure BDA0002742793830000131
The receiving end A calculates that (3-1) - (4-1) are not 0, so that the loss of other data packets between two data packets can be judged; and receiver B calculates (4-2) - (5-3) to be 0, so that no additional NAK packet is sent to the sender.

Claims (5)

1. A method for realizing reliable multicast-oriented data packet filtering based on programmable network hardware equipment is characterized by comprising a sending end and two receiving ends, wherein the sending end and the two receiving ends are connected through the programmable network hardware equipment, an SDN controller is connected with the programmable network hardware equipment through a southbound interface and used for issuing a data packet processing strategy to the SDN controller, and the two receiving ends are connected with the SDN controller and used for sending filtering information to the SDN controller, and the specific method comprises the following steps:
(1) a receiving end sends filtering information to an SDN controller;
(2) after receiving the filtering information of the receiving end, the SDN controller issues a data packet processing strategy to bottom-layer programmable network hardware equipment through a southbound interface of the SDN controller;
(3) when a sending end sends a data packet, adding different labels to different data packets according to an upper application strategy, and sending the data packet with the label to the configured programmable network hardware equipment;
(4) the programmable network hardware equipment processes the received data packet according to the issued data packet processing strategy: firstly, writing a sequence number before filtering into each data packet before filtering; secondly, matching different matching items according to the data packet labels; thirdly, writing different filtered sequence numbers into the data packet by matching different matching items; and fourthly, forwarding the data packet to different ports to leave the programmable network hardware equipment by matching different matching items.
2. The method according to claim 1, wherein the step of determining packet loss at the receiving end after receiving the data packet comprises:
(1) when two consecutive data packets i and j are received, the original serial number OS, the serial number PFS before filtering and the serial number AFS after filtering are obtained, namely (OS) i , PFS i , AFS i ) And (OS) j , PFS j , AFS j );
(2) Calculating AFS j - AFS i A value of (d);
(3) if AFS j - AFS i If the value of (1) is not equal to 1, indicating that packet loss exists after filtering, and ending the judgment;
(4) calculation (PFS) j - PFS i )-(OS j - OS i ) A value of (d);
(5) if (PFS) j - PFS i )-(OS j - OS i ) If the value of (1) is not equal to 0, the packet loss exists before the filtering, otherwise, the packet loss does not exist, and the judgment is finished.
3. The method as claimed in claim 1, wherein the sender will include the corresponding original serial number OS when sending the data packet, that is, a continuously increasing number, and the programmable network hardware device maintains a counter for each matching entry, which represents how many data packets match the entry, and since the value of the counter will automatically increase with the matching of the data packets and has the continuously increasing property, the data packet can be serialized by writing the value into the data packet.
4. The method as claimed in claim 2, wherein the programmable network hardware device writes PFS into the packet before matching the packet tag, and calculates whether the difference between PFS and OS is equal through the receiving end, so that it can determine whether there is a packet loss before filtering.
5. The method as claimed in claim 2, wherein the programmable network hardware device writes AFS into the data packet after matching the tag of the data packet, and calculates whether the AFS is continuously incremented by the receiving end, so that it can determine whether the data packet is lost after filtering.
CN202011155999.9A 2020-10-26 2020-10-26 Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment Active CN112073206B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011155999.9A CN112073206B (en) 2020-10-26 2020-10-26 Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011155999.9A CN112073206B (en) 2020-10-26 2020-10-26 Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment

Publications (2)

Publication Number Publication Date
CN112073206A CN112073206A (en) 2020-12-11
CN112073206B true CN112073206B (en) 2022-08-16

Family

ID=73655993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011155999.9A Active CN112073206B (en) 2020-10-26 2020-10-26 Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment

Country Status (1)

Country Link
CN (1) CN112073206B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026967A (en) * 2000-07-07 2002-01-25 Sony Corp Stream communication system
CN101652949A (en) * 2007-04-06 2010-02-17 株式会社Ntt都科摩 Packet communication method and receiving side device
CN104170346A (en) * 2013-02-26 2014-11-26 华为技术有限公司 Method, system, and proxy device for data transmission
CN111131179A (en) * 2019-12-05 2020-05-08 中移(杭州)信息技术有限公司 Service processing method, device, network equipment and storage medium
CN111263239A (en) * 2018-12-03 2020-06-09 北京新唐思创教育科技有限公司 Video frame packet loss processing method and related device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026967A (en) * 2000-07-07 2002-01-25 Sony Corp Stream communication system
CN101652949A (en) * 2007-04-06 2010-02-17 株式会社Ntt都科摩 Packet communication method and receiving side device
CN104170346A (en) * 2013-02-26 2014-11-26 华为技术有限公司 Method, system, and proxy device for data transmission
CN111263239A (en) * 2018-12-03 2020-06-09 北京新唐思创教育科技有限公司 Video frame packet loss processing method and related device
CN111131179A (en) * 2019-12-05 2020-05-08 中移(杭州)信息技术有限公司 Service processing method, device, network equipment and storage medium

Also Published As

Publication number Publication date
CN112073206A (en) 2020-12-11

Similar Documents

Publication Publication Date Title
US11765074B2 (en) System and method for facilitating hybrid message matching in a network interface controller (NIC)
US8149866B2 (en) System and method for filtering communications at a network interface controller
CN104317765B (en) A kind of one-to-many communication system and implementation method based on serial communication
CN109165116B (en) Application processing interface circuit and method
CN102495920B (en) Integrated logic analysis module based on PCIe (peripheral component interconnection express) for FPGA (field programmable gate array)
US20010047460A1 (en) Remote copy system of storage systems connected to fibre network
CN105933162B (en) Low time delay ethernet repeater and method based on T-type structure
CN107864099B (en) Flow control method and system for heterogeneous FC network
CN110177034B (en) Subscriber station for a bus system and method for increasing the data rate of a bus system
CN106533872A (en) System for improving transmission efficiency of FC-AE-1553 bus
CN106330742A (en) Flow control method and network controller
CN106255226A (en) network connection processing method and device
CN102413054B (en) Method, device and system for controlling data traffic as well as gateway equipment and switchboard equipment
CN106789446B (en) Node peer-to-peer cluster distributed test system and method
CN110493310B (en) Software defined protocol controller and method
CN110661733A (en) Network interface card, exchange card and line card
CN112073206B (en) Method for realizing reliable multicast oriented data packet filtering based on programmable network hardware equipment
CN113051204A (en) Serial backplane bus communication method and system
RU2651242C1 (en) Method of transmitting data
CN113162855A (en) Multicast message detection method, network equipment and system
CN106302006A (en) A kind of dynamic source tracing method of IP spoofing packet based on SDN
CN108322402B (en) Message processing method, device and system
CN109495311A (en) A kind of network fault detecting method and device
JP2008113327A (en) Network interface device
CN114884893A (en) Forwarding and control definable cooperative traffic scheduling method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant