CN111200608B - Link information processing method and device - Google Patents

Link information processing method and device Download PDF

Info

Publication number
CN111200608B
CN111200608B CN202010001187.2A CN202010001187A CN111200608B CN 111200608 B CN111200608 B CN 111200608B CN 202010001187 A CN202010001187 A CN 202010001187A CN 111200608 B CN111200608 B CN 111200608B
Authority
CN
China
Prior art keywords
tcp
information
link information
data
link
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
CN202010001187.2A
Other languages
Chinese (zh)
Other versions
CN111200608A (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.)
Yusur Technology Co ltd
Original Assignee
Yusur 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 Yusur Technology Co ltd filed Critical Yusur Technology Co ltd
Priority to CN202010001187.2A priority Critical patent/CN111200608B/en
Publication of CN111200608A publication Critical patent/CN111200608A/en
Application granted granted Critical
Publication of CN111200608B publication Critical patent/CN111200608B/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Abstract

The invention provides a link information processing method and a device, wherein the method comprises the following steps: acquiring a data processing request; inquiring the destination information of the data requested to be processed by the data processing request; determining a handle number according to the target information; and searching or updating TCP link information in a link information storage module by taking the handle number as an address. Namely, the functions of managing and updating the link state/link information in real time are realized through the handle number, and the requirement of simultaneous working of multiple TCP/IP links is met. By the method, the resource utilization is reduced, and the multi-path TCP/IP link support function is realized.

Description

Link information processing method and device
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for processing link information.
Background
With the advent of the digital age, high-speed transmission and processing of large volumes of data has become increasingly important. In the industries of financial science and technology, telecommunication, live video and the like, in order to realize high-speed transmission and processing of data, a high-speed network card is generally used for completing data transmission. When these high-speed network cards perform data processing, complete offloading of protocols is a key that affects performance, where the protocols include: packing and parsing of IP protocols, multilink support of TCP protocols, etc.
The functions are completed on hardware such as an FPGA (Field Programmable Gate Array), and the data transmission efficiency can be effectively improved. However, no effective solution has been proposed at present for how to better use the hardware to accomplish the complete offload of the protocol.
Disclosure of Invention
The embodiment of the invention provides a link information processing method and a link information processing device, which are used for meeting the requirement of simultaneous working of multiple paths of TCP/IP links.
In one aspect, a link information processing method is provided, including:
acquiring a data processing request;
inquiring the destination information of the data requested to be processed by the data processing request;
determining a handle number according to the target information;
and searching or updating TCP link information in a link information storage module by taking the handle number as an address.
In one embodiment, the purpose information includes at least one of: destination IP address, destination port number.
In one embodiment, the TCP link information includes at least one of: TCP packet sequence number, TCP packet answer number, TCP packet window information.
In one embodiment, in the case that the data processing request is a send data request, updating TCP link information includes:
the sequence number plus the length of the transmitted data;
adjusting the window of the TCP packet;
after the handshake packet is sent, the link state is changed.
In one embodiment, the TCP link information is stored in a memory established in the on-chip space.
In one embodiment, querying destination information of the data requested to be processed by the data processing request includes:
and inquiring the destination information of the data requested to be processed by the data processing request through a pre-established pipeline.
In one embodiment, the pre-established pipeline is implemented based on a state machine.
In another aspect, there is provided a link information processing apparatus including:
the acquisition module is used for acquiring a data processing request;
the query module is used for querying the destination information of the data requested to be processed by the data processing request;
the determining module is used for determining a handle number according to the destination information;
and the processing module is used for searching or updating the TCP link information in the link information storage module by taking the handle number as an address.
In one embodiment, the purpose information includes at least one of: destination IP address, destination port number.
In one embodiment, the TCP link information includes at least one of: TCP packet sequence number, TCP packet answer number, TCP packet window information.
In one embodiment, the processing module comprises:
the increasing unit is used for adding the length of the sending data to the sequence number under the condition that the data processing request is a data sending request;
the adjusting unit is used for adjusting the window of the TCP packet;
and the changing unit is used for changing the link state after the handshake packet is sent.
In one embodiment, the TCP link information is stored in a memory established in the on-chip space.
In one embodiment, the query module is specifically configured to query, through a pre-established pipeline, destination information of data requested to be processed by the data processing request.
In one embodiment, the pre-established pipeline is implemented based on a state machine.
In yet another aspect, a network device is provided, including: a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the above method when executing the computer program.
In a further aspect, a non-transitory computer-readable storage medium is provided, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the above-mentioned method.
In the embodiment of the invention, the handle number is determined according to the destination information, the TCP link information is searched or updated in the link information storage module by taking the handle number as the address, namely, the link state/link information is managed and updated in real time through the handle number, and the requirement of simultaneous working of multiple paths of TCP/IP links is met. By the method, the resource utilization is reduced, and the multi-path TCP/IP link support function is realized.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principles of the invention. In the drawings:
fig. 1 is a method flowchart of a link information processing method according to an embodiment of the present invention;
FIG. 2 is a diagram of the overall architecture design of a system according to an embodiment of the present invention;
FIG. 3 is a pipeline layout according to an embodiment of the present invention;
FIG. 4 is a system flow diagram according to an embodiment of the invention;
fig. 5 is a block diagram of a structure of a link information processing apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the following embodiments and accompanying drawings. The exemplary embodiments and descriptions of the present invention are provided to explain the present invention, but not to limit the present invention.
Complete offloading of network protocols is accomplished using hardware, and all that is necessary is support of multiple TCP/IP protocol links, which allows the network accelerator to establish multiple links and transfer data, as is the case with network cards. However, no effective solution has been proposed for how to make hardware support multiple TCP/IP protocol links.
In order to enable hardware to support multiple TCP/IP protocol links and further enable the hardware to complete uninstallation of a network protocol, and thus improve data transmission efficiency of the hardware, the embodiment of the application provides a link information processing method.
Fig. 1 is a flowchart of a method of an embodiment of a link information processing method provided in the present application. Although the present application provides method operational steps or apparatus configurations as illustrated in the following examples or figures, more or fewer operational steps or modular units may be included in the methods or apparatus based on conventional or non-inventive efforts. In the case of steps or structures which do not logically have the necessary cause and effect relationship, the execution sequence of the steps or the module structure of the apparatus is not limited to the execution sequence or the module structure described in the embodiments and shown in the drawings of the present application. When the described method or module structure is applied in an actual device or end product, the method or module structure according to the embodiments or shown in the drawings can be executed sequentially or executed in parallel (for example, in a parallel processor or multi-thread processing environment, or even in a distributed processing environment).
Specifically, as shown in fig. 1, the link information processing method provided by the present application may include the following steps:
step 101: acquiring a data processing request;
step 102: inquiring the destination information of the data requested to be processed by the data processing request;
step 103: determining a handle number according to the target information;
step 104: and searching or updating TCP link information in a link information storage module by taking the handle number as an address.
In the embodiment of the invention, the handle number is determined according to the destination information, the TCP link information is searched or updated in the link information storage module by taking the handle number as the address, namely, the link state/link information is managed and updated in real time through the handle number, and the requirement of simultaneous working of multiple paths of TCP/IP links is met. By the method, the resource utilization is reduced, and the multi-path TCP/IP link support function is realized.
Specifically, the querying of the destination information of the data requested to be processed by the data processing request may be querying the destination information of the data requested to be processed by the data processing request through a pre-established pipeline. The pre-established pipeline may be implemented based on a state machine.
Namely, a link information storage module and a data information transmission pipeline are designed, and the functions of managing and updating the link state/link information in real time are realized through a handle number. When each data packet is sent, the destination of each data packet is judged, and the read related information is added into a sending pipeline as one step, so that the multilink support of a TCP (transmission control protocol) can be effectively realized.
The aforementioned purpose information may include, but is not limited to, at least one of the following: destination IP address, destination port number.
The above-mentioned TCP link information may include, but is not limited to, at least one of: TCP packet sequence number, TCP packet answer number, TCP packet window information.
When the data processing request is a data sending request, updating the TCP link information may include: the length of the transmission data is added to the sequence number, the window of the TCP packet is adjusted, and the link state is changed after the handshake packet is transmitted. The TCP link information may be stored in a memory established in the on-chip space.
In one embodiment, a memory is established in the on-chip space for storing data information; and establishing three flow lines, wherein one flow line is used for inquiring the target information of the current data packet, the other flow line is used for carrying the data packet information to the flow of establishing/sending the data packet and updating the data packet information, and the last flow line is used for analyzing the received data packet, extracting the information related to the link and updating the information to the storage space.
The above method is described below with reference to a specific example, however, it should be noted that the specific example is only for better describing the present application and is not to be construed as limiting the present application.
In order to enable the network accelerator deployed in the FPGA to have multilink management and data transmission capability, it is considered that when each data packet is sent, if the destination of the data packet can be judged, the read related information is added into a sending pipeline, and as one step of the reading related information, the multilink support of the TCP protocol can be effectively realized. Specifically, the operations of reading link information, establishing/analyzing a data packet, and updating data information may be completed in a pipeline manner. To this end, in this example, a pipeline-based architecture supporting multiple TCP links is provided, which may include the following steps:
s1: establishing a memory in the on-chip space for storing data information;
s2: and establishing three flow lines, wherein one flow line is used for inquiring the target information of the current data packet, the other flow line is used for carrying the data packet information to the flow of establishing/sending the data packet and updating the data packet information, and the last flow line is used for analyzing the received data packet, extracting the information related to the link and updating the information to the storage space. Wherein the pipeline may be implemented based on a state machine.
Namely, by a pipeline technology, a multi-path TCP/IP link supporting structure of a high-speed network unloader based on an FPGA chip is provided, data stream sending, receiving and retransmission are effectively combined, a link is efficiently managed, data packet information is correctly distributed to a sending data packet, and effective information is extracted from a receiving data stream.
First, as shown in fig. 2, different link information is stored and efficiently managed, and storage is completed by using on-chip cache, where the TCP link information includes a TCP packet sequence number seq, a TCP packet acknowledgement number ack, and TCP packet window information Windows shown in fig. 2. Meanwhile, the TCP link state management module maintains the link state session _ status of each link, and extracts the link state according to the handle number before sending the packet each time, so as to decide the type of the sent packet. In the management module, a handle number is provided by a framework for distinguishing different links, the system confirms the handle number by a query method according to a destination IP address and a destination port number given by the outside, and searches or updates TCP link information by taking the handle number as an address, and the system is applied to sending a data pipeline and receiving the data pipeline.
As shown in fig. 3, the pipeline in the whole system is designed in detail and its specific functions and operations are performed. The system mainly comprises two pipelines. The pipeline 1 mainly queries destination information of a current data packet when the data packet is sent, acquires a handle number, and needs to access a handle list IPrecord _ table. And then extracting related information to finish sending work, and accessing a data sending module encode. And the pipeline 2 is mainly used for inquiring the destination information of the current data packet when the data packet is received, acquiring the handle number and needing to access the handle list IPrecord _ table. Then, the data receiving module decode needs to be accessed according to the corresponding position of the extracted link information transmitted to the link information storage module according to the handle.
As shown in FIG. 4, first, after receiving the data flag, the main state machine completes the initialization of the system and starts two sub-state machines. Subsequently, the handle number is queried according to the destination IP address and the destination port number input from the outside. If the data is sent, searching a TCP packet sequence number seq, a TCP packet response number ack and TCP packet window information Windows in the link information storage module according to the handle number, and acquiring a TCP packet link state session _ status in the TCP link state management module. If the data is received, the information is updated to the appointed link after the work of the data receiving state machine is finished, and finally the initial state is returned.
And the sub-state machine 1 enters an initialization state after the system works until a TCP packet needs to be sent, and then accesses the corresponding on-chip memory space according to the parameters transmitted by the sending control module to complete the filling of information such as a link serial number, a response number, a state and the like. And waiting for the end of the transmission encapsulation process, and updating all information, including: the sequence number is added with the length of the transmitted data, the window is adjusted, the change of the link state after the handshake packet is transmitted is carried out, and then the operation is exited and returned to the initial state.
And the sub state machine 2 enters an initialization state after the system works until a TCP packet is received. And then judging the correctness of the packet header, if the packet header is correct and the checksum is correct, extracting packet header information, and storing the received information of the link serial number, the answer number, the state and the like into an on-chip internal memory. And then quitting and returning to the initial state.
In the above example, a multi-path TCP/IP link architecture based on a pipeline is provided, which relates to the field of computer networks, and uses an FPGA to reduce resource utilization and realize a multi-path TCP/IP link support function. Specifically, a link information storage module is designed, a data information transmission pipeline is designed, and functions of managing and updating link state/link information in real time are achieved through handle numbers, so that the requirement that multiple TCP/IP links work simultaneously is met.
Based on the same inventive concept, the embodiment of the present invention further provides a link information processing apparatus, as described in the following embodiments. Because the principle of the link information processing apparatus for solving the problem is similar to that of the link information processing method, the link information processing apparatus can be implemented by referring to the implementation of the link information processing method, and repeated details are not repeated. As used hereinafter, the term "unit" or "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated. Fig. 5 is a block diagram of a link information processing apparatus according to an embodiment of the present invention, and as shown in fig. 5, the link information processing apparatus may include: the following describes the structure of the system, including an acquisition module 501, a query module 502, a determination module 503, and a processing module 504.
An obtaining module 501, configured to obtain a data processing request;
a query module 502, configured to query destination information of the data requested to be processed by the data processing request;
a determining module 503, configured to determine a handle number according to the destination information;
and the processing module 504 is configured to search for or update TCP link information in the link information storage module by using the handle number as an address.
In one embodiment, the above purpose information may include, but is not limited to, at least one of: destination IP address, destination port number.
In one embodiment, the TCP link information may include, but is not limited to, at least one of: TCP packet sequence number, TCP packet answer number, TCP packet window information.
In one embodiment, the processing module 504 may include: the increasing unit is used for adding the length of the sending data to the sequence number under the condition that the data processing request is a data sending request; the adjusting unit is used for adjusting the window of the TCP packet; and the changing unit is used for changing the link state after the handshake packet is sent.
In one embodiment, the TCP link information may be stored in a memory established in an on-chip space.
In one embodiment, the query module 502 may be specifically configured to query, through a pre-established pipeline, destination information of data requested to be processed by the data processing request.
In one embodiment, the pre-established pipeline may be implemented based on a state machine.
An embodiment of the present application further provides a specific implementation manner of an electronic device, which is capable of implementing all steps in the link information processing method in the foregoing embodiment, where the electronic device specifically includes the following contents: a processor (processor), a memory (memory), a communication Interface (Communications Interface), and a bus; the processor, the memory and the communication interface complete mutual communication through the bus; the communication interface is used for realizing information transmission among the server, the client terminal and other participating mechanisms; the processor is configured to call a computer program in the memory, and when executing the computer program, the processor implements all the steps in the link information processing method in the foregoing embodiment, for example, when executing the computer program, the processor implements the following steps:
step 1: acquiring a data processing request;
step 2: inquiring the destination information of the data requested to be processed by the data processing request;
and step 3: determining a handle number according to the target information;
and 4, step 4: and searching or updating TCP link information in a link information storage module by taking the handle number as an address.
As can be seen from the above description, in the embodiment of the present application, the handle number is determined according to the destination information, and the handle number is used as the address, and the TCP link information is searched or updated in the link information storage module, that is, the function of managing and updating the link state/link information in real time is performed through the handle number, so that the requirement of simultaneous operation of multiple TCP/IP links is met. By the method, the resource utilization is reduced, and the multi-path TCP/IP link support function is realized.
An embodiment of the present application further provides a computer-readable storage medium capable of implementing all the steps in the link information processing method in the foregoing embodiment, where the computer-readable storage medium stores thereon a computer program, and when the computer program is executed by a processor, the computer program implements all the steps in the link information processing method in the foregoing embodiment, for example, when the processor executes the computer program, the processor implements the following steps:
step 1: acquiring a data processing request;
step 2: inquiring the destination information of the data requested to be processed by the data processing request;
and step 3: determining a handle number according to the target information;
and 4, step 4: and searching or updating TCP link information in a link information storage module by taking the handle number as an address.
As can be seen from the above description, in the embodiment of the present application, the handle number is determined according to the destination information, and the handle number is used as the address, and the TCP link information is searched or updated in the link information storage module, that is, the function of managing and updating the link state/link information in real time is performed through the handle number, so that the requirement of simultaneous operation of multiple TCP/IP links is met. By the method, the resource utilization is reduced, and the multi-path TCP/IP link support function is realized.
In this specification, adjectives such as first and second may only be used to distinguish one element or action from another, without necessarily requiring or implying any actual such relationship or order. References to an element or component or step (etc.) should not be construed as limited to only one of the element, component, or step, but rather to one or more of the element, component, or step, etc., where the context permits.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the hardware + program class embodiment, since it is substantially similar to the method embodiment, the description is simple, and the relevant points can be referred to the partial description of the method embodiment.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Although the present application provides method steps as described in an embodiment or flowchart, additional or fewer steps may be included based on conventional or non-inventive efforts. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or client product executes, it may execute sequentially or in parallel (e.g., in the context of parallel processors or multi-threaded processing) according to the embodiments or methods shown in the figures.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
Although embodiments of the present description provide method steps as described in embodiments or flowcharts, more or fewer steps may be included based on conventional or non-inventive means. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, article, or apparatus that comprises the recited elements is not excluded.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, in implementing the embodiments of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, and the like. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may therefore be considered as a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The embodiments of this specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The described embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of an embodiment of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is only an example of the embodiments of the present disclosure, and is not intended to limit the embodiments of the present disclosure. Various modifications and variations to the embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present specification should be included in the scope of the claims of the embodiments of the present specification.

Claims (10)

1. A link information processing method, comprising:
acquiring a data processing request;
inquiring the destination information of the data requested to be processed by the data processing request; the destination information comprises a destination IP address and a destination port number;
determining a handle number according to the target information;
searching or updating TCP link information in a link information storage module by taking the handle number as an address;
the TCP link information includes at least one of: TCP packet sequence number, TCP packet answer number and TCP packet window information;
updating TCP link information when the data processing request is a data sending request, comprising:
the sequence number plus the length of the transmitted data;
adjusting the window of the TCP packet;
after the handshake packet is sent, the link state is changed.
2. The method of claim 1, wherein the TCP link information is stored in a memory established in an on-chip space.
3. The method of claim 1, wherein querying destination information for data requested for processing by the data processing request comprises:
and inquiring the destination information of the data requested to be processed by the data processing request through a pre-established pipeline.
4. The method of claim 3, wherein the pre-established pipeline is implemented based on a state machine.
5. A link information processing apparatus characterized by comprising:
the acquisition module is used for acquiring a data processing request;
the query module is used for querying the destination information of the data requested to be processed by the data processing request; the destination information comprises a destination IP address and a destination port number;
the determining module is used for determining a handle number according to the destination information;
the processing module is used for searching or updating TCP link information in the link information storage module by taking the handle number as an address;
the TCP link information includes at least one of: TCP packet sequence number, TCP packet answer number and TCP packet window information;
the processing module comprises:
the increasing unit is used for adding the length of the sending data to the sequence number under the condition that the data processing request is a data sending request;
the adjusting unit is used for adjusting the window of the TCP packet;
and the changing unit is used for changing the link state after the handshake packet is sent.
6. The apparatus of claim 5, wherein the TCP link information is stored in a memory established in on-chip space.
7. The apparatus of claim 5, wherein the query module is specifically configured to query, via a pre-established pipeline, destination information of data requested to be processed by the data processing request.
8. The apparatus of claim 7, wherein the pre-established pipeline is implemented based on a state machine.
9. A network device, comprising: memory, processor and computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 4 when executing the computer program.
10. A non-transitory computer readable storage medium, having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method of any of claims 1 to 4.
CN202010001187.2A 2020-01-02 2020-01-02 Link information processing method and device Active CN111200608B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010001187.2A CN111200608B (en) 2020-01-02 2020-01-02 Link information processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010001187.2A CN111200608B (en) 2020-01-02 2020-01-02 Link information processing method and device

Publications (2)

Publication Number Publication Date
CN111200608A CN111200608A (en) 2020-05-26
CN111200608B true CN111200608B (en) 2021-08-03

Family

ID=70747607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010001187.2A Active CN111200608B (en) 2020-01-02 2020-01-02 Link information processing method and device

Country Status (1)

Country Link
CN (1) CN111200608B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019645B (en) * 2020-07-06 2021-07-30 中科驭数(北京)科技有限公司 TOE-based network address management method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902440A (en) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 Method and device for blocking TCP connection
CN103250390A (en) * 2010-11-23 2013-08-14 高通股份有限公司 Object-based transport protocol
US10356223B1 (en) * 2016-03-17 2019-07-16 Amazon Technologies, Inc. Connection migration for Internet of Things (IoT) devices
CN110377800A (en) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 A kind of FC chip data sending method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902440A (en) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 Method and device for blocking TCP connection
CN103250390A (en) * 2010-11-23 2013-08-14 高通股份有限公司 Object-based transport protocol
US10356223B1 (en) * 2016-03-17 2019-07-16 Amazon Technologies, Inc. Connection migration for Internet of Things (IoT) devices
CN110377800A (en) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 A kind of FC chip data sending method and system

Also Published As

Publication number Publication date
CN111200608A (en) 2020-05-26

Similar Documents

Publication Publication Date Title
CN101986271B (en) Method and device for dispatching TCAM (telecommunication access method) query and refresh messages
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN110413845B (en) Resource storage method and device based on Internet of things operating system
CN111355816B (en) Server selection method, device, equipment and distributed service system
CN113891396B (en) Data packet processing method and device, computer equipment and storage medium
WO2020092135A1 (en) Extracting web api endpoint data from source code
CN114785685A (en) Software differential upgrading method and device, electronic equipment and readable storage medium
CN115396528A (en) Quic data transmission method and device based on protocol family
CN111200608B (en) Link information processing method and device
CN104601645A (en) Data packet processing method and device
CN116028226A (en) Quantum computing device-based DPDK component image data ordering method, storage device and intelligent terminal
CN114595080A (en) Data processing method and device, electronic equipment and computer readable storage medium
CN114490458A (en) Data transmission method, chip, server and storage medium
US11537310B2 (en) Threading of replication based on data type
US20230297448A1 (en) Initiating operations for applications via communication bridges
CN111382116B (en) Data receiving method and device and related product
CN114827016B (en) Method, device, equipment and storage medium for switching link aggregation scheme
CN116489536B (en) Efficient point location acquisition method and device based on modbusRTU protocol communication
CN111476663B (en) Data processing method and device, node equipment and storage medium
US20230208920A1 (en) Bridging communications between applications in different environments
CN111209042B (en) Method, device, medium and electronic equipment for establishing function stack
CN111245794B (en) Data transmission method and device
CN115866094A (en) Data transmission system and method and electronic equipment
CN114265869A (en) Data message forwarding method and device, storage medium and electronic equipment
CN115118712A (en) File transmission method and device

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