KR100249502B1 - Apparatus and method of transfer contol protocol and protocol acceleration - Google Patents

Apparatus and method of transfer contol protocol and protocol acceleration Download PDF

Info

Publication number
KR100249502B1
KR100249502B1 KR1019970073018A KR19970073018A KR100249502B1 KR 100249502 B1 KR100249502 B1 KR 100249502B1 KR 1019970073018 A KR1019970073018 A KR 1019970073018A KR 19970073018 A KR19970073018 A KR 19970073018A KR 100249502 B1 KR100249502 B1 KR 100249502B1
Authority
KR
South Korea
Prior art keywords
transmission control
protocol
control protocol
internet protocol
frame
Prior art date
Application number
KR1019970073018A
Other languages
Korean (ko)
Other versions
KR19990053395A (en
Inventor
정동범
윤종호
정해원
Original Assignee
정선종
한국전자통신연구원
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 정선종, 한국전자통신연구원 filed Critical 정선종
Priority to KR1019970073018A priority Critical patent/KR100249502B1/en
Publication of KR19990053395A publication Critical patent/KR19990053395A/en
Application granted granted Critical
Publication of KR100249502B1 publication Critical patent/KR100249502B1/en

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]
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 LAN 카드의 TCP/IP 가속 장치 및 방법에 관한 것임.The present invention relates to an apparatus and method for TCP / IP acceleration of a LAN card.

2. 발명이 해결하고자하는 기술적 요지2. The technical gist of the invention to solve

본 발명은 이더넷 LAN 환경에서 사용되는 LAN의 내부에 이더 타입에 따른 상위 계층 패킷의 분류기능과 TCP/IP의 일부기능을 내장하여, 고속 환경하에서 통신에 응용될 수 있는 TCP/IP 가속 장치 및 방법을 제공하는데 그 목적이 있다.The present invention is a TCP / IP acceleration apparatus and method that can be applied to communication in a high-speed environment by embedding the upper layer packet classification function according to Ether type and some functions of TCP / IP in a LAN used in an Ethernet LAN environment. The purpose is to provide.

3. 발명의 해결 방법의 요지3. Summary of the Solution of the Invention

본 발명은 입력된 데이터의 이더 프레임 형태를 구분하여 제어신호 및 인터넷 프로토콜 처리를 위한 정보를 출력하는 전방 처리수단; 전송 제어 프로토콜 처리를 위한 정보 및 동작 완료를 위한 신호를 출력하는 인터넷 프로토콜 처리수단; 및 동작 완료를 위한 신호 및 상태 레지스터 비트값을 출력하는 전송 제어 프로토콜 처리수단을 포함한다.The present invention comprises front processing means for classifying an Ether frame type of input data and outputting control signal and information for Internet protocol processing; Internet protocol processing means for outputting information for processing the transmission control protocol and a signal for completing the operation; And transmission control protocol processing means for outputting a signal for completing the operation and a status register bit value.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 고속의 LAN 환경에서 주요 병목이 되고 있는 TCP/IP 동작을 고속화하는데 이용됨.The present invention is used to speed up TCP / IP operation, which is a major bottleneck in high-speed LAN environments.

Description

근거리 통신망 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속 장치 및 방법Transmission Control Protocol / Internet Protocol Acceleration Device and Method for Local Area Network Card

본 발명은 LAN(Local Area Network) 환경하에서 이더넷(ETHERNET) 분류 기능을 갖는 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol) 가속 장치에 관한 것으로서, 특히 TCP/IP 동작중 일부/전체 동작을 LAN 내부에 하드웨어적으로 채용하여 고속의 LAN 환경에서 주요 병목이 되고 있는 TCP/IP 동작을 고속화하기 위한 TCP/IP 가속 장치에 관한 것이다.The present invention relates to a transport control protocol / Internet protocol (TCP / IP) acceleration device having an Ethernet (ETHERNET) classification function in a local area network (LAN) environment, and in particular, part of TCP / IP operation. The present invention relates to a TCP / IP accelerator for speeding up TCP / IP operation, which is a major bottleneck in a high-speed LAN environment by employing the entire operation in a hardware.

도 1은 일반적인 근거리 통신망(LAN : Local Area Network) 카드의 블록도이다.1 is a block diagram of a typical local area network (LAN) card.

도 1에 도시한 바와 같이, 캐리어(Carrier)가 감지되면 PLS(Physical Layer Signal)계층에서 제공하는 수신 클럭을 사용하여 수신되는 비트 열은 직/병렬 쉬프트 레지스터(60)와 CRC 생성기/검사기(70)로 동시에 전달된다. 직/병렬 쉬프트 레지스터(60)는 프리앰블(Preamble) 비트 열로 시작되는 비트 열에서 시작 프레임 경계기호(SFD : Starting Frame Dilimeter)를 감지한다. 시작 프레임 경계기호로부터 추출된 바이트 경계 및 프레임의 시작 부분 정보를 사용하여, 매 8개의 수신 클럭 마다 한 바이트씩 송수신 선입선출부(FIFO)(110) 및 주소 인식 로직(90)으로 동일하게 전달된다. 주소 검색 로직(90)으로 전달된 6바이트의 목적지 주소는 유효성을 검정 받는다. 만약에 틀리면, 이 정보를 프로토콜 PLA(Physical Layer Attachment)(120)에 보고하여 이미 송수신 선입선출부(FIFO)(110)에 저장된 6바이트의 데이타를 클리어시키고 더 이상의 추가 저장을 중단하도록 한다. 반대로, 주소 영역이 적합하면 송수신 선입선출부(FIFO)(110)에 저장되었던 목적지 주소 영역 부터의 바이트열은 내부 버스(900)를 통하여 카드 내의 로컬 공유 메모리(30)로 이동된다. 이동의 시작과 동시에 TCP/IP 가속기(200)의 동작이 개시된다. 이때, 프레임의 종류에 따라 Ether Type을 지시하는 위치가 다르므로 이를 고려하여 처리한다. 즉, 프레임의 시작 위치에서 Ether Type을 지시하는 위치까지의 거리가 IEEE 802.3 표준에서는 20바이트가 떨어져 있고, DIX 2.0 Ether프레임에서는 12바이트가 떨어져 있다. 이 두 가지 프레임을 구분하는 방법은 IEEE 802.3의 12번째 바이트가 프레임의 길이를 나타내는 부분으로 항상 0x05FF보다 작은 값을 갖는 반면 EtherType은 0x0600보다 크다는 점에 착안하여 분류한다.As shown in FIG. 1, when a carrier is detected, a bit string received using a receive clock provided by a physical layer signal (PLS) layer is divided into a serial / parallel shift register 60 and a CRC generator / tester 70. At the same time. The serial / parallel shift register 60 detects a starting frame boundary symbol (SFD) in a bit string starting with a preamble bit string. By using the byte boundary extracted from the start frame boundary and the start portion information of the frame, one byte is transmitted equally to the transmit / receive first-in first-out (FIFO) 110 and the address recognition logic 90 for every eight received clocks. . The six bytes of the destination address passed to the address lookup logic 90 are validated. If wrong, this information is reported to the protocol Physical Layer Attachment (PLA) 120 to clear 6 bytes of data already stored in the transmit / receive first-in first-out (FIFO) 110 and stop further storage. Conversely, if the address area is appropriate, the byte stream from the destination address area that was stored in the first-in, first-out (FIFO) 110 is moved to the local shared memory 30 in the card via the internal bus 900. Operation of the TCP / IP accelerator 200 is initiated at the same time as the start of the movement. At this time, since the position indicating the Ether Type is different according to the type of frame, it is processed in consideration of this. That is, the distance from the start position of the frame to the position indicating the Ether Type is 20 bytes apart in the IEEE 802.3 standard, and 12 bytes apart in the DIX 2.0 Ether frame. The method of distinguishing these two frames is classified based on the fact that the 12th byte of IEEE 802.3 indicates the length of the frame and always has a value smaller than 0x05FF while EtherType is larger than 0x0600.

TCP/IP 가속기(130)는 분류된 프레임이 IP인 경우 해당되는 IP 기능부(220)의 동작을 개시하는 동시에, TCP 프레임인지의 여부를 조사하여 TCP인 경우, TCP 기능부(220)의 동작을 개시한다. 송수신 선입선출부(FIFO)(110)에서 로컬 메모리(30)로 데이타가 전송 완료되면, MAC(Medium Access Control)제어기에서 MAC 드라이버로 인터럽트를 발생시킨다. 이 인터럽트에 의해 주 프로세서(50)는 수신 데이타 열은 물론, 프레임 검사 순서열(FCS : Frame Check Sequence)의 결과를 알리는 레지스터와 이더 프레임(Ether Frame) 분류 결과 및 IP/TCP 처리 결과를 포함하고 있는 레지스터로부터 필요한 값을 읽을 수 있게 된다.When the classified frame is IP, the TCP / IP accelerator 130 starts the operation of the corresponding IP function unit 220 and checks whether or not the TCP frame is a TCP frame. Initiate. When data is transmitted from the transmission / reception first-in-first-out (FIFO) 110 to the local memory 30, the MAC (Medium Access Control) controller generates an interrupt to the MAC driver. By this interrupt, the main processor 50 includes not only a received data sequence but also a register indicating a result of a frame check sequence (FCS), an Ether frame classification result, and an IP / TCP processing result. The required value can be read from the register.

CSMA/CD(Carrier Sense Multiple Access/Collision Detect)동작에 따라 이더넷 LAN에 데이터 프레임이 전송되면 이 프레임을 수신한 LAN 제어기는 자신에게 송신된 것이 확인된 프레임에 대해, 목적지 주소 영역부터 로컬 메모리에 저장한다. 마지막으로 프레임 검사 순서열(FCS : Frame Check Sequence) 필드 부분을 검사한 후, 목적지 주소부터 데이터 부분의 마지막까지의 길이 정보와 함께 수신 완료 신호를 매체 접속 제어(MAC : Medium Access Control) 드라이버에 인터럽트 방식으로 보고한다. 이에 대하여, MAC 드라이버는 이더 타입(EtherType) 값에 적합한 상위 계층이 사용하는 커널 메모리에 이 MAC 프레임의 정보 영역만을 이동시키고, 이 사실을 상위 계층에 알린다.When data frame is transmitted to Ethernet LAN according to Carrier Sense Multiple Access / Collision Detect (CSMA / CD) operation, the LAN controller receiving the frame stores the frame from the destination address area to local memory for the frame confirmed to be sent to it. do. Finally, after checking the frame check sequence (FCS) field part, interrupt the reception completion signal to the medium access control (MAC) driver along with the length information from the destination address to the end of the data part. Report by way. In contrast, the MAC driver moves only the information area of the MAC frame to the kernel memory used by the upper layer suitable for the EtherType value, and informs the upper layer of this fact.

정보 영역을 전달 받은 상위 계층이 IP인 경우 이 계층은 다시 데이터의 오류를 검출하는 체크섬 과정을 수행하고 TCP, 사용자 디이터그램 프로토콜(UDP : User Datagram Protocol)등의 상위 프로토콜 종류를 분류하여 해당 프로토콜을 수행시킨다. 이때, TCP인 경우 수신 데이터에 대한 체크섬 및 상태 머신 동작이 수행된다. 이와 같이, 이더 프레임(Ether Frame)을 수신하는 과정에서 LAN의 로컬 메모리에 수신된 프레임이 주메모리로 이동되는 시간 사이에 존재하는 Ether Type 분류를 위한 시간 지연 뿐만 아니라, 주 메모리 내에서 IP의 체크섬 과정 및 부 프로토콜 분류 과정에서 생기는 시간 지연, 그리고 TCP의 체크섬 계산 과정은 모두 소프트웨어적으로 수행됨으로써, 고속 데이터 처리를 수행하지 못하였고, 또한 송신시에도 TCP/IP 패킷은 과정을 가지므로 데이터의 길이가 길수록 전송 지연이 커지는 문제점이 있었다.If the upper layer that receives the information area is IP, this layer performs the checksum process to detect data errors and classifies the upper protocol types such as TCP and User Datagram Protocol (UDP). Is performed. At this time, in the case of TCP, a checksum and a state machine operation on the received data are performed. As such, in addition to the time delay for classifying the Ether Type between the time when the frame received in the local memory of the LAN is moved to the main memory in the process of receiving the Ether frame, the checksum of the IP in the main memory. The time delay in the process and the sub-protocol classification process and the checksum calculation process of TCP are all performed in software, so that the high-speed data processing cannot be performed, and the TCP / IP packet has a process during transmission. There was a problem that the longer the transmission delay.

따라서, 본 발명은 상기한 바와 같은 종래의 문제점을 해결하기 위한 안출된 것으로, 이더넷(Ethernet) LAN 환경에서 사용되는 LAN의 내부에 이더(EtherType)에 따른 상위 계층 패킷의 분류 기능과 TCP/IP의 일부 기능을 내장하여, 고속 환경하에서의 통신에 응용될 수 있으며, 또한 현재의 TCP/IP(Transport Control Protocol/Internet Protocol)를 유지하면서도 주 프로세서의 사용을 효과적으로 줄일 수 있는 전송 제어 프로토콜/인터넷 프로토콜 가속 장치 및 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described problems, and includes a classification function of upper layer packets according to Ether and TCP / IP in a LAN used in an Ethernet LAN environment. Built-in some functions, it can be applied for communication in high speed environment, and it is a transmission control protocol / Internet protocol accelerator that can effectively reduce the use of the main processor while maintaining the current Transport Control Protocol / Internet Protocol (TCP / IP). And to provide a method.

도 1은 일반적인 근거리 통신망(LAN : Local Area Network) 카드의 블록도.1 is a block diagram of a typical local area network (LAN) card.

도 2는 본 발명에 따른 LAN 카드의 전송 제어 프로토콜/인터넷 프로토콜 제어 장치의 일실시예 블록도.2 is a block diagram of an embodiment of a transmission control protocol / Internet protocol control apparatus of a LAN card according to the present invention;

도 3은 도 2의 전방 처리부의 일실시예 블록도이다.3 is a block diagram of an embodiment of the front processor of FIG. 2.

도 4는 도 1의 IP 처리부와 TCP 처리부의 공통되는 동작 부분의 일실시예 블록도.4 is a block diagram of an embodiment of a common operation portion of the IP processing unit and the TCP processing unit of FIG.

도 5는 본 발명에 따른 LAN 카드의 TCP/IP 가속을 제어하는 방법의 수행과정을 나타내는 일실시예 흐름도.5 is a flowchart illustrating an embodiment of a method of controlling TCP / IP acceleration of a LAN card according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

200: TCP/IP 가속기 210: 전방 처리부200: TCP / IP accelerator 210: front processing unit

220: 인터넷 프로토콜 처리부 230: 전송 제어 프로토콜 처리부220: Internet protocol processing unit 230: Transmission control protocol processing unit

이와 같은 목적을 달성하기 위한 본 발명의 전송 제어 프로토콜/인터넷 프로토콜 가속 장치는, 외부로부터 입력되는 클럭에 따라 입력되는 데이터의 이더 프레임(Ether Frame) 형태를 구분하여 제어신호 및 인터넷 프로토콜 처리를 위한 정보를 출력하는 전방 처리수단; 상기 제어신호에 의해 제어되어, 상기 전방 처리수단으로부터 전달된 인터넷 프로토콜 처리를 위한 정보를 입력받아 전송 제어 프로토콜 처리를 위한 정보, 동작 완료를 위한 신호 및 상태 레지스터 비트값을 출력하는 인터넷 프로토콜 처리수단; 및 상기 제어신호에 의해 제어되며, 상기 인터넷 프로토콜 처리수단으로부터 전달된 전송 제어 프로토콜 처리를 위한 정보를 입력받아 동작 완료를 위한 신호 및 상태 레지스터 비트값을 출력하는 전송 제어 프로토콜 처리수단을 포함한다.Transmission control protocol / Internet protocol acceleration apparatus of the present invention for achieving the above object, the information for processing the control signal and the Internet protocol by classifying the Ether frame (Ether Frame) type of data input according to the clock input from the outside Front processing means for outputting; Internet protocol processing means controlled by the control signal and receiving information for Internet protocol processing transmitted from the forward processing means and outputting information for transmission control protocol processing, a signal for completing an operation, and a status register bit value; And a transmission control protocol processing means controlled by the control signal and receiving information for transmission control protocol processing transmitted from the internet protocol processing means and outputting a signal for completing the operation and a status register bit value.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명에 따른 랜 카드의 전송 제어 프로토콜/인터넷 프로토콜 제어 장치의 일실시예 블록도이다.Figure 2 is a block diagram of an embodiment of a transmission control protocol / Internet protocol control apparatus for a LAN card according to the present invention.

도 2에 도시한 바와 같이, 본 발명의 LAN 카드의 전송 제어 프로토콜/인터넷 프로토콜 제어 장치는, 외부로부터 입력되는 클럭(clk)에 따라 입력되는 데이터의 이더 프레임(Ether Frame) 형태를 구분하여 제어신호 및 인터넷 프로토콜 처리를 위한 정보를 출력하는 전방 처리부(210)와, 상기 제어신호에 의해 제어되어, 전방 처리부(210)로부터 전달된 인터넷 프로토콜 처리를 위한 정보를 입력받아 전송 제어 프로토콜 처리를 위한 정보, 동작 완료를 위한 신호(done signal) 및 상태 레지스터 비트값을 출력하는 인터넷 프로토콜 처리부(220)와, 상기 제어신호에 의해 제어되어, 인터넷 프로토콜(IP) 처리부(220)로부터 전달된 전송 제어 프로토콜 처리를 위한 정보를 입력받아 동작 완료를 위한 신호(done signal) 및 상태 레지스터 비트값을 출력하는 전송 제어 프로토콜(TCP) 처리부(230)를 구비한다.As shown in Fig. 2, the transmission control protocol / Internet protocol control apparatus of the LAN card of the present invention classifies an Ether frame of data input according to a clock clk input from the outside to control the signal. And a front processor 210 for outputting information for Internet protocol processing, the information controlled for the transmission control protocol by receiving information for Internet protocol processing transmitted from the front processor 210 controlled by the control signal. Internet protocol processing unit 220 for outputting a signal for completing the operation (done signal) and status register bit value, and the transmission control protocol processing is controlled by the control signal, and transmitted from the Internet protocol (IP) processing unit 220 Transmission control protocol (TCP) that receives information for output and outputs a signal for completion of operation (done signal) and status register bit value The processor 230 is provided.

상기한 바와 같은 구조를 갖는 본 발명의 LAN 카드의 전송 제어 프로토콜/인터넷 프로토콜 제어 장치의 동작을 설명하면 다음과 같다.The operation of the transmission control protocol / Internet protocol control apparatus of the LAN card of the present invention having the structure as described above is as follows.

수신되고 있는 데이타의 목적지 주소가 자신의 것으로 판명되어 로컬 메모리(30)로의 이동이 시작되면 이 신호를 시작 신호로 인식하여 TCP/IP 가속기(200)가 동작을 개시한다.When the destination address of the data being received turns out to be its own and the movement to the local memory 30 starts, the signal is recognized as a start signal and the TCP / IP accelerator 200 starts operation.

먼저, 전방 처리부(210)는 해당 이더 프레임(Ether Frame)의 형태를 4번째/6번째 수신 클럭에 입력되는 데이타의 이더 타입(Ether Type)의 정보가 있는 바이트로부터 구분하고, 그 결과가 IP 프레임이면 IP 처리부(220)를 동작 시킨다. 또한, Ether Type 분류에 대한 결과 정보를 상태 레지스터(600)에 전달한다. 전방 처리부(210)는 IP 처리부(220)를 동작 시키는 동시에 TCP 처리부(230)의 동작 개시 여부를 결정하기 위한 상위 프로토콜 종류를 검색하여, TCP 여부를 상태 레지스터(600)에 전달하며, TCP인 경우 TCP 처리부(230)를 동작 시키는 신호를 발생한다. 이어서, IP 처리부(220)와 TCP 처리부(230)는 해당 동작을 완료한 후, 그 결과 및 기타 프로세서가 필요로 하는 정보를 상태 레지스터와 필요한 부가의 레지스터를 이용하여 전달한다. 동작의 완료는 최종 발생되는 돈(Done) 신호가 동작 완료 레지스터를 설정하면서 프로세서(50)가 인식하도록 한다. 이는 데이타 전송의 완료와 TCP/IP 가속기(200)의 동작 완료가 일치하지 않을 가능성을 위한 예비책으로 다른 방법을 통해 프로세서의 상태 레지스터 접근을 인정할 수 있다.First, the front processor 210 classifies the type of the Ether frame from the byte having the Ether type information of the data input to the fourth and sixth reception clocks, and the result is an IP frame. In this case, the IP processor 220 operates. In addition, the result information for the Ether Type classification is transmitted to the status register 600. The front processor 210 operates the IP processor 220 and simultaneously retrieves an upper protocol type for determining whether to start the operation of the TCP processor 230 and transmits the TCP status to the status register 600. It generates a signal to operate the TCP processing unit 230. Subsequently, the IP processing unit 220 and the TCP processing unit 230 complete the corresponding operation, and then transfer the result and other information required by the processor using the status register and the necessary additional register. The completion of the operation causes the processor 50 to recognize the last generated Done signal while setting the operation complete register. This is a preliminary measure for the possibility that the completion of the data transmission does not coincide with the completion of the operation of the TCP / IP accelerator 200, and may access the status register of the processor through another method.

도 3은 도 2의 전방 처리부의 일실시예 블록도이다.3 is a block diagram of an embodiment of the front processor of FIG. 2.

도 3에 도시한 바와 같이, 도 2의 전방 처리부는, 입력된 데이터의 이더 타입(Ether Type)을 판단하고, 상기 판단 결과에 따라 전송 제어 프로토콜 시작 체크를 위한 정보와 제어신호를 출력하는 이더 타입 판단부(211)와, 상기 제어신호에 의해 제어되어, 이더 타입 판단부(211)로부터 전달된 전송 제어 프로토콜 시작 체크를 위한 정보를 입력받아 전송 제어 프로토콜 데이터인지 사용자 데이터그램 프로토콜인지를 검출하는 전송 제어 프로토콜 시작 체크 처리부(212)를 구비한다.As shown in FIG. 3, the front processor of FIG. 2 determines an ether type of input data and outputs information and a control signal for starting a transmission control protocol according to the determination result. A transmission controlled by the determination unit 211 and the control signal to detect transmission control protocol data or user datagram protocol by receiving information for the transmission control protocol start check transmitted from the ether type determination unit 211. The control protocol start check processing unit 212 is provided.

상기한 바와 같은 구조를 갖는 도 2의 전방 처리부의 동작을 상세하게 설명하면 다음과 같다.The operation of the front processor of FIG. 2 having the structure as described above will be described in detail as follows.

이더 파입 판단부(211)는 도 1의 설명에서도 언급했듯이 두 가지 종류의 이더 프레임(Ether Frame)을 구분하기 위해 프레임의 시작부에서 12번째 바이트의 값이 0x05FF이하의 값인 경우 20번째 바이트를 읽고, 0x0600 이상인 값이면 12 번째 바이트를 읽어, 그 값이 0x0800인 경우 IP 처리부(220)를 시작한다. IP가 아닌 경우에는 상태 레지스터(600)의 해당 비트를 1로 설정하고 TCP 데이타인지를 확인하는 TCP 시작 체크 처리부(212)를 동작 시키지 않는다. TCP 시작 체크 처리부(212)에서는 TCP인지 UDP인지를 검출하고, TCP이면 TCP 처리부(230)의 의 시작을 알리는 신호를 생성한다. 이때, TCP가 아니면 상태 레지스터(600)의 해당 비트를 1로 설정한다.As mentioned in the description of FIG. 1, the Ether input determination unit 211 reads the 20th byte when the value of the 12th byte at the beginning of the frame is 0x05FF or less to distinguish two types of Ether frames. If the value is greater than or equal to 0x0600, the 12 th byte is read. If the value is 0x0800, the IP processor 220 starts. If it is not IP, the corresponding bit of the status register 600 is set to 1 and the TCP start check processing unit 212 which checks whether it is TCP data is not operated. The TCP start check processing unit 212 detects whether it is TCP or UDP, and if it is TCP, generates a signal indicating the start of the TCP processing unit 230. At this time, if not TCP, the corresponding bit of the status register 600 is set to one.

도 4는 도 1의 전방 처리부로부터 제어신호를 입력받는 IP 처리부와 TCP 처리부의 공통되는 동작 부분의 일실시예 블록도이다.FIG. 4 is a block diagram of an embodiment of a common operation part of an IP processor and a TCP processor that receive a control signal from the front processor of FIG. 1.

도 4에 도시한 바와 같이, 도 1의 IP 처리부와 TCP 처리부는, 수신된 클럭에 따라 체크섬을 점검하기 위하여 입력된 데이터를 분리하여 계산하는 제 1 체크섬 점검부(222)와, 올바른 체크섬 결과를 얻기 위하여, 제 1 체크섬 점검부(222)로부터 전달된 계산값을 합하여 인터넷 프로토콜 체크섬 결과 값과 전송 제어 프로토콜 체크섬 결과 값을 출력하는 제 2 체크섬 점검부(223)와, 제 2 체크섬 점검부(223)로부터 출력된 인터넷 프로토콜 체크섬 결과 값과 전송 제어 프로토콜 체크섬 결과 값을 비교하여 체크섬 장애를 나타내는 신호를 출력하는 체크섬 결과 처리부(224)를 구비한다.As shown in FIG. 4, the IP processing unit and the TCP processing unit of FIG. 1 include a first checksum check unit 222 that separates and calculates input data for checking a checksum according to a received clock, and a correct checksum result. A second checksum checker 223 for outputting the Internet protocol checksum result value and the transmission control protocol checksum result value by adding the calculated values delivered from the first checksum checker 222, and a second checksum checker 223. And a checksum result processing unit 224 for outputting a signal indicating a checksum failure by comparing the Internet protocol checksum result value and the transmission control protocol checksum result value.

제 1 체크섬 점검부(222)는 2의 보수 제 1 및 제 2 계산부(221, 119)를 구비한다.The first checksum checker 222 includes two complementary first and second calculators 221 and 119.

상기한 바와 같은 구조를 갖는 도 2의 IP 처리부와 TCP 처리부에 대한 동작을 설명하면 다음과 같다.Operations of the IP processor and the TCP processor of FIG. 2 having the structure as described above will be described below.

32비트로 연속해서 입력되는 데이타를 각 수신 클럭에 동기된 16비트 2의 보수 제 1 및 제 2 계산부(221, 119)로 분리하여 각각 계산한 후, 다시 올바른 체크섬 결과를 얻기 위해, 두 덧셈의 최종결과 값들의 합을 취하여 얻어진 값의 1의 보수 결과를 얻기 위한 마무리 작업(223)을 수행한다. 이렇게 얻어진 IP(TCP) 체크섬 결과를 0xFFFF와 비교(224)하여, 그 값의 동일성에 따라 동일하지 않으면 상태 레지스터(600)의 IP(TCP) 체크섬 에러를 알리는 비트를 1로, 그렇지 않으면 그 비트를0으로 설정한다. 이 상태 레지스터의 결과값은 FCS 결과와 함께 수신이 완료된 후에 발생하는 인터럽트에 의해 주 프로세서(50)가 사용한다. IP 기능부(220)의 경우, 32비트 데이타의 체크섬 과정 중에 프래그먼트(Fragment) 정보, 버전(Version) 정보 , IP 헤더 길이(Header Length), 의사 헤더(Pseudo Header) 체크섬 등 IP 헤더(Header)에 포함된 정보를 추출하여, 프래그먼트(Fragment) 정보, 버전(Version) 정보 등은 상태 레지스터의 해당 비트를 1또는 0으로 설정하고 , TCP 처리를 위해 사용되는 의사 헤더(Pseudo Header) 체크섬 결과 등의 정보는 TCP 처리부(230)로 넘겨 준다.The 32-bit continuous data is divided into 16-bit two's complement first and second calculation units 221 and 119 synchronized to each received clock, respectively, and then calculated. The finishing operation 223 is performed to obtain the one's complement result of the obtained value by taking the sum of the final result values. The IP (TCP) checksum result thus obtained is compared with 0xFFFF (224), and the bit indicating the IP (TCP) checksum error in the status register 600 is 1 if it is not the same according to the identity of the value, and otherwise. Set to zero. The result value of this status register is used by the main processor 50 by an interrupt that occurs after the reception is completed along with the FCS result. In the case of the IP function unit 220, an IP header such as fragment information, version information, an IP header length, a pseudo header checksum, and the like is included in the 32-bit data checksum process. By extracting the included information, the fragment information, the version information, etc., set the corresponding bit of the status register to 1 or 0, and information such as the pseudo header checksum result used for TCP processing. Is passed to the TCP processing unit 230.

도 5는 본 발명에 따른 LAN 카드의 TCP/IP 가속을 제어하는 방법의 수행과정을 나타내는 일실시예 흐름도이다.5 is a flowchart illustrating an embodiment of a method of controlling TCP / IP acceleration of a LAN card according to the present invention.

검출한 캐리어(Carrier)를 통하여 이더넷(Ethernet) 신호가 검출되었는지를 판단하며(501), 상기 판단 결과 검출되었다면, 수신된 목적지 주소가 내 것인지를 판단한다(502). 상기 판단 결과 나의 주소가 아니라면, 상기 판단 과정(501)을 재수행한다. 또한, 상기 판단 과정(501)에서 이더넷 신호가 검출되지 않았다면, 상기 판단 과정(501)을 재수행한다. 수신된 이데넷 프레임을 분류하고, 인터럽트 발생한다(503). 이어서, 정상적인 IP 프레임인지를 판단하며(504), 상기 판단 결과 IP 프레임이라면, IP 프레임을 처리한다(505).It is determined whether an Ethernet signal is detected through the detected carrier (501). If it is detected as a result of the determination, it is determined whether the received destination address is within (502). If the determination result is not my address, the determination process 501 is performed again. In addition, if the Ethernet signal is not detected in the determination process 501, the determination process 501 is performed again. The received Ethernet frame is classified, and an interrupt is generated (503). Subsequently, it is determined whether it is a normal IP frame (504). If the determination result is an IP frame, an IP frame is processed (505).

그리고, 정상적인 TCP 프레임인지를 판단하며(506), 상기 판단 결과 장상적인 TCP 프레임이라고 판단되면, 정상적인 TCP 프레임을 처리한다(507).If it is determined that the normal TCP frame is a normal TCP frame (506), if it is determined that the normal TCP frame, the normal TCP frame is processed (507).

이어서, 해당되는 동작에 대한 레지스터를 설정하여 상태 값을 저장한다(508).Next, a register for a corresponding operation is set to store a state value (508).

한편, 상기 판단 과정(504)에 IP 프레임이 아니라고 판단되거나, 상기 판단 과정(506)에서 TCP 프레임이 아니라고 판단되면, 상태 값을 저장하는 과정(508)을 곧바로 수행한다.On the other hand, if it is determined in the determination step 504 that the IP frame is not, or in the determination step 506 it is determined that it is not a TCP frame, the step 508 of storing the state value is immediately performed.

본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.

이상에서 설명한 바와 같이 본 발명의 LAN 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속 장치 및 방법은, LAN 제어기와 LAN 카드의 로컬 메모리 사이에 데이타가 이동되는 동안 데이타 프레임을 분류하는 것은 물론, TCP/IP 동작 중에서 주요 병목이 되는 체크섬 계산 등의 과정을 수행함으로써, 데이타의 메모리 이동 후의 TCP/IP 프로토콜 처리 과정을 최소화하고, 또한 전체 동작에 있어서 주 프로세서의 동작을 절약함으로써 데이타 통신의 고속화를 실현할 수 있는 효과가 있다.As described above, the apparatus and method for transmission control protocol / Internet protocol acceleration of a LAN card of the present invention not only classifies data frames while data is moved between the LAN controller and the local memory of the LAN card, as well as TCP / IP operation. By performing checksum calculation, which is a major bottleneck, data processing speed can be minimized by minimizing TCP / IP protocol processing after data movement and saving the operation of the main processor in all operations. There is.

Claims (4)

외부로부터 입력되는 클럭에 따라 입력되는 데이터의 이더 프레임(Ether Frame) 형태를 구분하여 제어신호 및 인터넷 프로토콜 처리를 위한 정보를 출력하는 전방 처리수단;Front processing means for classifying an Ether frame type of data input according to a clock input from the outside and outputting a control signal and information for Internet protocol processing; 상기 제어신호에 의해 제어되어, 상기 전방 처리수단으로부터 전달된 인터넷 프로토콜 처리를 위한 정보를 입력받아 전송 제어 프로토콜 처리를 위한 정보, 동작 완료를 위한 신호 및 상태 레지스터 비트값을 출력하는 인터넷 프로토콜 처리수단; 및Internet protocol processing means controlled by the control signal and receiving information for Internet protocol processing transmitted from the forward processing means and outputting information for transmission control protocol processing, a signal for completing an operation, and a status register bit value; And 상기 제어신호에 의해 제어되며, 상기 인터넷 프로토콜 처리수단으로부터 전달된 전송 제어 프로토콜 처리를 위한 정보를 입력받아 동작 완료를 위한 신호 및 상태 레지스터 비트값을 출력하는 전송 제어 프로토콜 처리수단Transmission control protocol processing means controlled by the control signal and receiving information for transmission control protocol processing transmitted from the internet protocol processing means and outputting a signal for completing the operation and a status register bit value. 을 포함하여 이루어진 근거리 통신망 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속 장치.Transmission control protocol / Internet protocol acceleration device of a local area network card comprising a. 제 1 항에 있어서,The method of claim 1, 상기 전방 처리수단은,The front processing means, 상기 데이터의 이더 타입을 판단하고, 상기 판단 결과에 따라 전송 제어 프로토콜 시작 체크를 위한 정보와 제어신호를 출력하는 이더 타입 판단수단; 및Ether type determination means for determining an ether type of the data and outputting information and a control signal for the transmission control protocol start check according to the determination result; And 상기 제어신호에 의해 제어되어, 이더 타입 판단수단으로부터 전달된 전송 제어 프로토콜 시작 체크를 위한 정보를 입력받아 전송 제어 프로토콜 데이터 및 사용자 데이터그램 프로토콜를 검출하는 전송 제어 프로토콜 시작 체크 처리수단Transmission control protocol start check processing means which is controlled by the control signal and detects transmission control protocol data and user datagram protocol by receiving information for transmission control protocol start check transmitted from an ether type determination means. 을 포함하여 이루어진 근거리 통신망 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속 장치.Transmission control protocol / Internet protocol acceleration device of a local area network card comprising a. 제 1 항에 있어서,The method of claim 1, 상기 인터넷 프로토콜 처리수단과 전송 제어 프로토콜 처리수단은 각각,The internet protocol processing means and the transmission control protocol processing means, respectively, 상기 클럭에 따라 체크섬을 점검하기 위하여 상기 데이터를 분리하여 계산하는 제 1 체크섬 점검수단;First checksum checking means for separating and calculating the data to check the checksum in accordance with the clock; 올바른 체크섬 결과를 얻기 위하여, 상기 제 1 체크섬 점검수단으로부터 전달된 계산값을 합하여 인터넷 프로토콜 체크섬 결과 값과 전송 제어 프로토콜 체크섬 결과 값을 출력하는 제 2 체크섬 점검수단; 및Second checksum checking means for summing the calculated values delivered from the first checksum checking means and outputting an Internet protocol checksum result value and a transmission control protocol checksum result value to obtain a correct checksum result; And 상기 인터넷 프로토콜 체크섬 결과 값과 전송 제어 프로토콜 체크섬 결과 값을 비교하여 체크섬 장애를 나타내는 신호를 출력하는 체크섬 결과 처리수단Checksum result processing means for outputting a signal indicating a checksum failure by comparing the Internet protocol checksum result value with a transmission control protocol checksum result value 을 포함하여 이루어진 근거리 통신망 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속 장치.Transmission control protocol / Internet protocol acceleration device of a local area network card comprising a. 근거리 통신망 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속을 제어하는 방법에 있어서,A method of controlling transmission control protocol / Internet protocol acceleration of a local area network card, 검출한 캐리어를 통하여 이더넷 신호를 검출하여 수신된 목적지 주소가 내 것인지를 판단하는 제 1 단계;Detecting the Ethernet signal through the detected carrier to determine whether the received destination address is within the first step; 상기 제 1 단계의 판단 결과 따라, 수신된 이데넷 프레임을 분류하고, 정상적인 인터넷 프로토콜 프레임인지를 판단하는 제 2 단계;A second step of classifying the received Ethernet frame according to the determination result of the first step, and determining whether the received Internet frame is a normal Internet protocol frame; 상기 제 2 단계의 판단 결과에 따라, 상기 인터넷 프로토콜 프레임을 처리하거나, 해당되는 동작에 대한 레지스터를 설정하여 상태 값을 저장하는 제 3 단계;A third step of processing the internet protocol frame or setting a register for a corresponding operation and storing a state value according to the determination result of the second step; 정상적인 전송 제어 프로토콜 프레임인지를 판단하는 제 4 단계;Determining whether the frame is a normal transmission control protocol frame; 상기 제 4 단계의 판단 결과에 따라, 상기 정상적인 전송 제어 프로토콜 프레임을 처리하거나, 해당되는 동작에 대한 레지스터를 설정하여 상태 값을 저장하는 제 5 단계A fifth step of processing the normal transmission control protocol frame or setting a register for a corresponding operation and storing a state value according to the determination result of the fourth step 를 포함하여 이루어진 랜 카드의 전송 제어 프로토콜/인터넷 프로토콜 가속 방법.Transmission control protocol / Internet protocol acceleration method of the LAN card comprising a.
KR1019970073018A 1997-12-24 1997-12-24 Apparatus and method of transfer contol protocol and protocol acceleration KR100249502B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970073018A KR100249502B1 (en) 1997-12-24 1997-12-24 Apparatus and method of transfer contol protocol and protocol acceleration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970073018A KR100249502B1 (en) 1997-12-24 1997-12-24 Apparatus and method of transfer contol protocol and protocol acceleration

Publications (2)

Publication Number Publication Date
KR19990053395A KR19990053395A (en) 1999-07-15
KR100249502B1 true KR100249502B1 (en) 2000-03-15

Family

ID=19528429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970073018A KR100249502B1 (en) 1997-12-24 1997-12-24 Apparatus and method of transfer contol protocol and protocol acceleration

Country Status (1)

Country Link
KR (1) KR100249502B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100519378B1 (en) * 1998-03-02 2005-11-25 매그나칩 반도체 유한회사 Serial communication

Also Published As

Publication number Publication date
KR19990053395A (en) 1999-07-15

Similar Documents

Publication Publication Date Title
US7836220B2 (en) Network direct memory access
US7050394B2 (en) Framer
US6996070B2 (en) TCP/IP offload device with reduced sequential processing
US6654823B2 (en) Packet-data processing apparatus
US5442750A (en) System for transmitting data between systems using selected subsets of plural interconnecting bus lines and including selection of a compatible transmission speed
KR100364385B1 (en) Window comparator
JPH0728321B2 (en) Storage node switching device
EP1216564A1 (en) Reduced hardware network adapter and communication method
US6483840B1 (en) High speed TCP/IP stack in silicon
JP4229810B2 (en) Communication test equipment
JP2986798B2 (en) Data transmission control method and data communication device
EP2493110A1 (en) Method, module and apparatus for receiving data packet frames
KR100249502B1 (en) Apparatus and method of transfer contol protocol and protocol acceleration
US6061350A (en) Address detecting device of ethernet controller and address detecting method thereof
US6804205B1 (en) Method and apparatus for transmitting packet for synchronization using half duplex transmission medium
CN1426203A (en) Transmission device and method for data package between different buses
WO2022125756A1 (en) Network interface supporting time sensitive networks and macsec protection
JP3516998B2 (en) Address information reading device
KR100259074B1 (en) Method and appratus for detecting addresses in ethernet controller
JPH1051480A (en) Protocol processing system for gateway equipment
KR100577148B1 (en) Address Detection Device and Detection Method of Ethernet Controller
JP4423728B2 (en) Data transmission apparatus and method
JP2002217910A (en) Information i/o device
KR20050098986A (en) Apparatus and method for transmitting/receiving packet and error decision information
JP2004328624A (en) Data communication device and method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101201

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee