CN106789708A - Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine - Google Patents

Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine Download PDF

Info

Publication number
CN106789708A
CN106789708A CN201611110885.6A CN201611110885A CN106789708A CN 106789708 A CN106789708 A CN 106789708A CN 201611110885 A CN201611110885 A CN 201611110885A CN 106789708 A CN106789708 A CN 106789708A
Authority
CN
China
Prior art keywords
tcp
toe
protocol
data
band
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.)
Granted
Application number
CN201611110885.6A
Other languages
Chinese (zh)
Other versions
CN106789708B (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.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group Corp
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 No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201611110885.6A priority Critical patent/CN106789708B/en
Publication of CN106789708A publication Critical patent/CN106789708A/en
Application granted granted Critical
Publication of CN106789708B publication Critical patent/CN106789708B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/12Protocol engines
    • 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/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a multi-channel processing method in a TCP/IP (Transmission control protocol/Internet protocol) unloading engine, which comprises the following steps of: the method comprises the following steps that firstly, experiments and debugging are carried out through a field programmable gate array FPGA, and a multichannel processing technology in the TOE is realized; step two, integrating the multi-channel processing technology in the TOE into an ASIC chip of the TOE to perform network protocol processing; step three, customizing a software interface, and selecting different channels through a port; step four, in the TCP protocol processing module, the option part of the TCP header is defined in an improved way; and step five, in the handshake stage of TCP connection establishment, during the first handshake, the active requester adds the source channel number, and the destination channel is not distributed and is set to be all zero. The invention can solve the problems of data congestion and connection interruption, greatly improves the working efficiency of the TOE, realizes the function of multi-port TCP connection and data transmission, realizes the high-level protocol of hardware processing TCP/IP protocol, and provides reliable guarantee for data transmission in a high-speed network environment.

Description

Band-wise processing method in TCP/IP unloading engines
Technical field
The present invention relates to computer network field, in particular it relates to the band-wise processing in a kind of TCP/IP unloading engines Method.
Background technology
Growing with Internet technology, TCP/IP protocol suite has become the network communication protocol of standard.But it is high Under fast network environment, traditional TCP/IP Software Protocol Stacks the characteristics of context handover overhead and redundant data are replicated due to that will disappear The excessive cpu performance of consumption, authentic data shows that current main-stream processor will be unable to meet at agreement when network speed reaches 10Gbps The performance requirement of reason.Therefore generally using the TOE (TCP of hardware device processing protocol in server or high speed network environment Offload Engine, TCP unloadings engine) technology.ICP/IP protocol is divided into application layer, transportation level, network by upper under Four layers of layer and data link layer.Compared with traditional Software Protocol Stack, TOE technologies are transportation level and the protocol processes of Internet Include in hardware handles so as to lift the processing speed of packet.Typical TOE systems realize structure as shown in figure 1, wherein TOE Hardware realizes that module Main Function is that the main protocol of transportation level and Internet is processed, wherein topmost several agreements It is ARP protocol, IP agreement, udp protocol and Transmission Control Protocol.
Transmission Control Protocol is connection-oriented, and Transmission Control Protocol is processed in TOE systems.Needed before data transfer starts Connection is first set up, while needing to disconnect in the end of transmission.And in transceiving data, protocol process module can be to the last time Data carry out response.Simultaneously in order to keep the unobstructed of data path, transceiving data is flowed by the way of sliding window Amount control.Because the speed of hardware handles agreement is far longer than software, cause there may be the data stacking at interface between software and hardware, So as to cause congestion problems.Particularly simultaneously when multiple ports are set up TCP and connected, hardware processing data will cannot cause in order Disconnecting cannot be replied.Connection is set up in multiple ports simultaneously in Software Protocol Stack, and being placed at present can only in hardware realization Serial process.In TOE hardware handles Transmission Control Protocol, setting up multiple channel management data storages with being connected can greatly improve biography Defeated efficiency and data processing speed.
The content of the invention
For defect of the prior art, at the multichannel in a kind of TCP/IP unloading engines Reason method, it can solve the problem that the problem of data congestion and disconnecting is simultaneously big by adding band-wise processing technology in TOE The big operating efficiency for improving TOE, realizes the function that multiport TCP is connected and carried out data transmission, and realizes hardware handles The upper-layer protocol of ICP/IP protocol, for data transfer provides reliable guarantee under high speed network environment.
According to an aspect of the present invention, there is provided a kind of band-wise processing method in TCP/IP unloadings engine, its feature It is that it is comprised the following steps:
Step one, is tested and is debugged by on-site programmable gate array FPGA, realizes the band-wise processing in TOE Technology;
Step 2, the band-wise processing technology in TOE is incorporated in the asic chip of TOE to carry out procotol treatment;
Step 3, customizes software interface, and different passages are selected by port;
Step 4, in Transmission Control Protocol processing module, the option portion to TCP stems is improved definition;
Step 5, in the handshake phase that TCP connections are set up, when shaking hands for the first time, active request side can add source channels number, And purpose passage is now also unallocated therefore is set to complete zero;
Step 6, channel number is set to complete zero if one end is provided without multichannel technology, and data come from and multichannel skill is not used The equipment of art is then matched by the source port number and destination slogan of TCP stems, and Transmission Control Protocol processing module is according to identifying Corresponding memory channel number and place the data into wherein;
Step 7, at the end of connection, after memory channel data whole end of transmission, Transmission Control Protocol processing module can be controlled The passage memory space is discharged, the passage is used to set up new connection next time.
Preferably, the Transmission Control Protocol processing module can carry out channel allocation to the data for sending and receiving.
Preferably, the band-wise processing method that the TCP/IP is unloaded in engine can carry out multiport TCP connections and go forward side by side The function of row data transfer.
Compared with prior art, the present invention has following beneficial effect:The present invention is added at multichannel by TOE Reason technology, can solve the problem that the problem of data congestion and disconnecting while greatly improving the operating efficiency of TOE, realize multiport The function that TCP is connected and carried out data transmission, realizes the upper-layer protocol of hardware handles ICP/IP protocol, is high speed network environment Lower data transfer provides reliable guarantee.
Brief description of the drawings
The detailed description made to non-limiting example with reference to the following drawings by reading, further feature of the invention, Objects and advantages will become more apparent upon:
Fig. 1 is the flow chart that typical TOE systems realize structure;
Fig. 2 is the structure flow chart that the present invention realizes multichannel technology;
Fig. 3 is the tcp data figure after the present invention is improved;
Fig. 4 is the flow chart that the present invention realizes FIFO window techniques.
Specific embodiment
With reference to specific embodiment, the present invention is described in detail.Following examples will be helpful to the technology of this area Personnel further understand the present invention, but the invention is not limited in any way.It should be pointed out that to the ordinary skill of this area For personnel, without departing from the inventive concept of the premise, various modifications and improvements can be made.These belong to the present invention Protection domain.
As shown in Figures 1 to 4, the present invention provides a kind of band-wise processing method in TCP/IP unloadings engine, and it includes Following steps:
Step one, is tested and is debugged by on-site programmable gate array FPGA, realizes the band-wise processing in TOE Technology;
Step 2, the band-wise processing technology in TOE is incorporated in the asic chip of TOE to carry out procotol treatment;
In the selection of channel space, if only needing the storage of low volume data, can be using the SRAM register dies of high speed Can meet.To realize mass data and the more situation of number of channels can realize multichannel skill with external storage equipment Art.
Step 3, customizes software interface, and different passages are selected by port;
But on software upper strata, its treatment is again unitized, has good compatibility with current protocol stack treatment. That is, if one end is using the hardware protocol processing server of TOE technologies, one end is the end processed using legacy protocol stack End, data transfer can be normally carried out between them without any special configuration.The technology can be widely applied to server Network environment in, such as in cloud service, Large-scale Data Rooms, the Internet of Things environment high to network speed requirement.
Step 4, in Transmission Control Protocol processing module, the option portion to TCP stems is improved definition;
As shown in figure 3, plus source channels number and purpose channel number, each 2 bytes, difference after 20 byte general headers Memory channel number for recognizing TCP bags.The channel number can quickly recognize the channel space of storage required for packet.
Step 5, in the handshake phase that TCP connections are set up, when shaking hands for the first time, active request side can add source channels number, And purpose passage is now also unallocated therefore is set to complete zero;
If it can be this connection assignment channel number that multichannel technology is also used after achieving the goal and holding, reported in the TCP of ack The purpose channel number of stem is the source channels number of request end, and source channels number are then newly assigned channel number.
Step 6, channel number is set to complete zero if one end is provided without multichannel technology, and data come from and multichannel skill is not used The equipment of art is then matched by the source port number and destination slogan of TCP stems, and Transmission Control Protocol processing module is according to identifying Corresponding memory channel number and place the data into wherein;
Step 7, at the end of connection, after memory channel data whole end of transmission, Transmission Control Protocol processing module can be controlled The passage memory space is discharged, the passage is used to set up new connection next time.
As shown in figure 4, realized to it by the way of FIFO (first in first out), by the sequence number of TCP stems and really The number of recognizing is used as pointer, it is determined that the position read and write next time.
The TCP that the present invention designs multichannel in TOE realizations connects treatment technology, realizes multiport TCP connections simultaneously The function of carrying out data transmission.The different passage of whole system is realized using different memory spaces such that it is able to effectively real Existing data group bag.Wherein Transmission Control Protocol processing module can carry out channel allocation to the data for sending and receiving.According to actual feelings Condition, can be configured to port number, and memory space to each passage is allocated, and enabling the memory space of passage has Effect is utilized.
Band-wise processing method in the TCP/IP unloadings engine can carry out multiport TCP and connect and carry out data biography Defeated function, such data transfer is more efficient and convenient, accelerates processing speed, has saved time cost.
In Transmission Control Protocol processing module, the option portion to TCP stems is improved definition.In 20 byte general headers Afterwards plus source channels number and purpose channel number, each 2 bytes are respectively used to recognize the memory channel number of TCP bags.The channel number The channel space of storage required for packet can be quickly recognized.Channel number effect under different situations is as follows:
One, in the handshake phase that TCP connections are set up, when shaking hands for the first time, active request side can add source channels number, and mesh Passage it is now also unallocated therefore be set to complete zero.If it can be that this connects that multichannel technology is also used after achieving the goal and holding Assignment channel number is connect, the purpose channel number of stem is reported for the source channels number of request end in the TCP of ack, and source channels number are then new The channel number of distribution.
Two, channel number is set to complete zero if one end is provided without multichannel technology, and data are from unused multichannel technology Equipment is then matched by the source port number and destination slogan of TCP stems, and Transmission Control Protocol processing module can identify correspondence Memory channel number and place the data into wherein.
Three, at the end of connection, after memory channel data whole end of transmission, Transmission Control Protocol processing module can control release The passage memory space, the passage can be used for setting up new connection next time.
The memory channel quantity that the present invention is realized can be designed according to actual conditions, and more numbers of channels mean Can realize more connecting quantity.But more memory spaces can be also consumed, therefore needs to do a balance time space profit herein It is sufficiently high with efficiency.Memory channel space size is equivalent to a window size in hardware realization.Using FIFO (advanced elder generations Go out) mode it is realized, pointer is used as by the Sequence and Acknowledgment Number of TCP stems, it is determined that the position read and write next time.
Band-wise processing technology in TOE can be tested and debugged by on-site programmable gate array FPGA, it Can be dissolved into the asic chip of TOE to carry out procotol treatment afterwards.In the selection of channel space, if need to only count on a small quantity According to storage, can using high speed SRAM register dies can meet.To realize mass data and number of channels is more Situation multichannel technology can be realized with external storage equipment.The multichannel technology that the present invention is used is mainly used in Transmission Control Protocol In the middle of processing module, TOE can be improved to Transmission Control Protocol processing speed and alleviate congestion phenomenon.And it is designed go out TOE chips can be with It is integrated into the network interface card of server, so that the upper-layer protocol for realizing hardware handles ICP/IP protocol of systematization, is express network Data transfer provides reliable guarantee under environment.
In sum, the present invention proposes that one kind can be real according to the content of Transmission Control Protocol for hardware handles multi-channel data Existing method for designing, by adding band-wise processing technology in TOE, can solve the problem that the problem of data congestion and disconnecting is same When greatly improve the operating efficiency of TOE, realize the function that multiport TCP is connected and carried out data transmission, realize at hardware The upper-layer protocol of ICP/IP protocol is managed, for data transfer provides reliable guarantee under high speed network environment.
Specific embodiment of the invention is described above.It is to be appreciated that the invention is not limited in above-mentioned Particular implementation, those skilled in the art can within the scope of the claims make various deformations or amendments, this not shadow Sound substance of the invention.

Claims (3)

1. a kind of TCP/IP unloads the band-wise processing method in engine, it is characterised in that in the TCP/IP unloadings engine Band-wise processing method is comprised the following steps:
Step one, is tested and is debugged by on-site programmable gate array FPGA, realizes the band-wise processing skill in TOE Art;
Step 2, the band-wise processing technology in TOE is incorporated in the asic chip of TOE to carry out procotol treatment;
Step 3, customizes software interface, and different passages are selected by port;
Step 4, in Transmission Control Protocol processing module, the option portion to TCP stems is improved definition;
Step 5, in the handshake phase that TCP connections are set up, when shaking hands for the first time, active request side can add source channels number, and mesh Passage it is now also unallocated therefore be set to complete zero;
Step 6, channel number is set to complete zero if one end is provided without multichannel technology, and data are from unused multichannel technology Equipment is then matched by the source port number and destination slogan of TCP stems, and Transmission Control Protocol processing module is right according to what is identified The memory channel number answered simultaneously is placed the data into wherein;
Step 7, at the end of connection, after memory channel data whole end of transmission, Transmission Control Protocol processing module can control release The passage memory space, the passage is used to set up new connection next time.
2. TCP/IP according to claim 1 unloads the band-wise processing method in engine, it is characterised in that the TCP Protocol process module carries out channel allocation to the data for sending and receiving.
3. TCP/IP according to claim 1 unloads the band-wise processing method in engine, it is characterised in that the TCP/ Band-wise processing method in IP unloading engines carries out the function that multiport TCP is connected and carried out data transmission.
CN201611110885.6A 2016-12-06 2016-12-06 Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine Active CN106789708B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611110885.6A CN106789708B (en) 2016-12-06 2016-12-06 Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611110885.6A CN106789708B (en) 2016-12-06 2016-12-06 Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine

Publications (2)

Publication Number Publication Date
CN106789708A true CN106789708A (en) 2017-05-31
CN106789708B CN106789708B (en) 2020-10-09

Family

ID=58874402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611110885.6A Active CN106789708B (en) 2016-12-06 2016-12-06 Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine

Country Status (1)

Country Link
CN (1) CN106789708B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109852A (en) * 2019-04-03 2019-08-09 华东计算技术研究所(中国电子科技集团公司第三十二研究所) System and method for realizing TCP _ IP protocol by hardware
WO2020029778A1 (en) * 2018-08-10 2020-02-13 华为技术有限公司 Congestion control method and related device
WO2020063298A1 (en) * 2018-09-27 2020-04-02 华为技术有限公司 Method for processing tcp message, toe assembly, and network device
CN111917738A (en) * 2020-07-14 2020-11-10 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Processing method and system capable of supporting network high-level protocol
CN114138707A (en) * 2021-11-30 2022-03-04 江南大学 Data transmission system based on FPGA

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125751A1 (en) * 2002-12-31 2004-07-01 Vangal Sriram R. Network protocol off-load engines
CN1910869A (en) * 2003-12-05 2007-02-07 艾拉克瑞技术公司 TCP/IP offload device with reduced sequential processing
CN101827019A (en) * 2009-02-06 2010-09-08 富士通株式会社 Network Interface Unit
CN103929369A (en) * 2014-05-07 2014-07-16 北京邮电大学 Multichannel transmission control mechanism based on TCP friendliness
CN106034084A (en) * 2015-03-16 2016-10-19 华为技术有限公司 Data transmission method and apparatus thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125751A1 (en) * 2002-12-31 2004-07-01 Vangal Sriram R. Network protocol off-load engines
CN1910869A (en) * 2003-12-05 2007-02-07 艾拉克瑞技术公司 TCP/IP offload device with reduced sequential processing
CN101827019A (en) * 2009-02-06 2010-09-08 富士通株式会社 Network Interface Unit
CN103929369A (en) * 2014-05-07 2014-07-16 北京邮电大学 Multichannel transmission control mechanism based on TCP friendliness
CN106034084A (en) * 2015-03-16 2016-10-19 华为技术有限公司 Data transmission method and apparatus thereof

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020029778A1 (en) * 2018-08-10 2020-02-13 华为技术有限公司 Congestion control method and related device
CN110830381A (en) * 2018-08-10 2020-02-21 华为技术有限公司 Congestion control method and related equipment
US11546261B2 (en) 2018-08-10 2023-01-03 Huawei Technologies Co., Ltd. Congestion control method and related device
WO2020063298A1 (en) * 2018-09-27 2020-04-02 华为技术有限公司 Method for processing tcp message, toe assembly, and network device
US11489945B2 (en) * 2018-09-27 2022-11-01 Huawei Technologies Co., Ltd. TCP packet processing method, toe component, and network device
CN110109852A (en) * 2019-04-03 2019-08-09 华东计算技术研究所(中国电子科技集团公司第三十二研究所) System and method for realizing TCP _ IP protocol by hardware
CN110109852B (en) * 2019-04-03 2020-11-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Method for realizing TCP _ IP protocol by hardware
CN111917738A (en) * 2020-07-14 2020-11-10 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Processing method and system capable of supporting network high-level protocol
CN111917738B (en) * 2020-07-14 2022-03-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Processing method and system capable of supporting network high-level protocol
CN114138707A (en) * 2021-11-30 2022-03-04 江南大学 Data transmission system based on FPGA
CN114138707B (en) * 2021-11-30 2023-02-21 江南大学 Data transmission system based on FPGA

Also Published As

Publication number Publication date
CN106789708B (en) 2020-10-09

Similar Documents

Publication Publication Date Title
CN106789708A (en) Multi-channel processing method in TCP/IP (Transmission control protocol/Internet protocol) unloading engine
US9088451B2 (en) System and method for network interfacing in a multiple network environment
CN113934660B (en) Accelerating network packet processing
US7257633B2 (en) Dynamic allocation of a pool of threads
US7633955B1 (en) SCSI transport for fabric-backplane enterprise servers
CN101455040B (en) Flexible and extensible receive side scaling
US7660306B1 (en) Virtualizing the operation of intelligent network interface circuitry
CN101485152B (en) Method, system, and computer program product for resequencing of high performance binding
US8437277B2 (en) Automatic network mapping from a host control device
CN106302199A (en) A kind of User space protocol stack realization method and system based on L3 Switching machine equipment
CN1802836A (en) Network protocol off-load engine memory management
US20040024904A1 (en) Load balancing packet transmission among multiple transmit rings
US11681470B2 (en) High-speed replay of captured data packets
US20210397559A1 (en) Data Processing Method, Network Interface Card, and Server
US20130100798A1 (en) Method, network card, and communication system for binding physical network ports
CN110121868A (en) By the message transmission for being configured as accelerating the acceleration component of service
CN113553137B (en) DPDK-based access capability network element high-speed data processing method under NFV architecture
EP1460806A2 (en) System and method for network interfacing in a multiple network environment
US7079539B2 (en) Method and apparatus for classification of packet data prior to storage in processor buffer memory
WO2004036805A2 (en) System and method for network interfacing in a multiple network environment
CN113453278B (en) TCP packet segmentation packaging method based on 5G UPF and terminal
EP1331757A2 (en) Processor with reduced memory requirements for high-speed routing and switching of packets
KR100955208B1 (en) Packet distributed processing system for high speed network and packet distributed processing method for high speed network
CN113098780B (en) Message processing method of virtual network, electronic equipment and storage medium
US11811795B2 (en) Method and system for transmitting multiple data

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