KR100756183B1 - 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법 - Google Patents

페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법 Download PDF

Info

Publication number
KR100756183B1
KR100756183B1 KR1020060008901A KR20060008901A KR100756183B1 KR 100756183 B1 KR100756183 B1 KR 100756183B1 KR 1020060008901 A KR1020060008901 A KR 1020060008901A KR 20060008901 A KR20060008901 A KR 20060008901A KR 100756183 B1 KR100756183 B1 KR 100756183B1
Authority
KR
South Korea
Prior art keywords
packet
tcp
layer
response
tcp packet
Prior art date
Application number
KR1020060008901A
Other languages
English (en)
Other versions
KR20070078542A (ko
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 KR1020060008901A priority Critical patent/KR100756183B1/ko
Publication of KR20070078542A publication Critical patent/KR20070078542A/ko
Application granted granted Critical
Publication of KR100756183B1 publication Critical patent/KR100756183B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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]

Abstract

본 발명은 TCP 계층과 IP 계층 사이에 추가된 페이크 응답(FAKE-ACK) 계층에서 전송 요청된 패킷을 IP 계층으로 전달함과 동시에 가상의 응답 패킷을 생성하여 TCP 계층으로 전달함으로써, 전송 효율을 개선시킬 수 있도록 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법에 관한 것으로, TCP 계층으로부터 전송 요청된 패킷을 복사하여 큐에 저장시킨 후, 상기 패킷을 IP 계층으로 전달함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전달하는 TCP 패킷 전송 과정과; IP 계층으로부터 전달받은 패킷의 응답 번호를 체크하여, 응답 번호가 정상인 경우에는 정상적으로 응답을 수신한 패킷을 큐에서 삭제시키고, 응답 번호가 정상이 아닌 경우에는 재전송 여부를 판단하여 재전송을 수행한 후, 상기 패킷에 페이로드가 포함되어 있으면, 상기 패킷의 응답 번호를 수정한 후, 상기 TCP 계층으로 전달하는 TCP 패킷 수신 과정을 포함하여 이루어지는 것이 바람직하다.
TCP 계층, IP 계층, 페이크 응답 계층, 응답 번호, TCP 패킷

Description

페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 티씨피 패킷 송수신 방법{NETWORK TRANSMISSION APPARATUS HAVING FAKE-ACK LAYER AND TCP PACKET SENDING/RECEIVING METHOD USING THERE OF}
도 1은 슬로우 스타트 전송 방식과 정체 회피 기법을 설명하기 위한 도면.
도 2는 본 발명의 일 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치의 프로토콜 스택 구조를 보인 도면.
도 3 및 도 4는 본 발명의 일 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 TCP 패킷 송수신 방법을 설명하기 위한 플로우챠트.
본 발명은 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법에 관한 것으로서, 특히 TCP 계층과 IP 계층 사이에 페이크 응답(FAKE-ACK) 계층을 추가하여 전송 효율을 개선시킬 수 있도록 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법에 관한 것이다.
인터넷의 네트워크 전송 프로토콜인 TCP(Transmission Control Protocol)은 인터넷에서 패킷 전송에 오류가 발생하면, 해당 패킷을 재전송하여 신뢰성있게 패킷 전송을 수행하는 프로토콜로, 전송 에러가 네트워크의 정체(Congestion)에 의해 일어나는 유선망을 가정하여 설계되고 개발되었다.
이에 따라, 전송 손실이 전송 에러의 주요 원인이 되고 있는 무선 이동 통신망에서 유선망 기반의 TCP는 많은 문제점을 내재하고 있다.
즉, TCP 프로토콜은 전송된 패킷에 대한 수신 여부를 나타내는 응답(ACK)이 정해진 시간내에 수신되지 않거나, 전송 손실(Transmission Loss)이 발생할 경우 네트워크의 정체에 의해 전송 손실이 발생한 것으로 간주하고, 이를 극복하기 위한 방안으로 네트워크 정체 현상을 극복하기 위한 정체 회피 기법(Congestion Avoidance Mechanism)을 사용한다.
정체 회비 기법은 패킷이 손실되었다고 판단되면, 그 원인을 네트워크 정체로 간주하고 전송하는 패킷의 양을 줄임으로써, 정체를 완화시키는 방법으로, 도 1에 도시하는 바와 같이, 전송 시작부터 패킷을 천천히 보내고 이에 대한 응답을 받으면, 전송량을 두배로 증가시키는 슬로우 스타트(Slow start) 전송 방식과 함께 사용된다.
한편, 무선 이동 통신망에서의 전송 손실은 네트워크의 정체뿐만 아니라 전송중에 발생하는 비트 오류 및 접속이 잠시 끊어지는 장기간 비접속에 의한 손실일 경우에도 발생하게 된다.
그러나, 종래에는 비트 오류와 장기간 비접속에 의한 패킷 손실이 발생한 경우에도 실제로 정체가 발생된 것이 아님에도 불구하고 정체가 발생된 것으로 간주하여, 정체 회피 기법을 사용하게 된다.
이에 따라, 종래에는 정체 회피 기법 사용으로 인해 정체 윈도우(Congestion Window)를 감소시켜 TCP의 처리율(Throughput)을 저하시키는 한편, 처리율 변동이 심해짐에 따라 서비스 품질을 저하시키게 되는 문제를 야기시키게 된다.
전술한 문제점을 해결하기 위해 종래에는 무선 이동 통신망에 TCP 프록시 서버를 두게 되는 데, TCP 프록시 서버는 TCP 프록시 서버 역할을 수행하기 위해서 무선 이동 통신망 프로토콜뿐만 아니라 PPP/IP/TCP 프로토콜을 매 패킷마다 디캡슐레이션(Decapsulation)해야 하고, 종단간의 TCP 세션의 프록시 역할을 수행하기 위해 패킷을 캐싱하고 있어야 하며, 셀내에 존재하는 모든 단말들에 대한 TCP 프록시 서버 역할을 수행해야 한다.
이에 따라, 오버플로우 발생 가능성이 있고, 패킷 처리 시간이 크게 지연될 수 있으며, 많은 단말이 TCP 세션을 연결할 때 TCP 프록시 서버는 병목 구간이 될 가능성을 내재하고 있다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, TCP 계층과 IP 계층 사이에 추가된 페이크 응답(FAKE-ACK) 계층에서 전송 요청된 패킷을 IP 계층으로 전달함과 동시에 가상의 응답 패킷을 생성하여 TCP 계층으로 전달함으로써, 전송 효율을 개선시킬 수 있도록 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치는, TCP 계층과 IP 계층 사이에 페이크 응답 계층이 추가되되, 상기 페이크 응답 계층에서, 상기 TCP 계층으로부터 전송 요청된 패킷에 대하여 IP 계층으로 패킷을 전달함과 동시에 상기 패킷에 대한 응답(ACK) 패킷을 가상으로 만들어 상기 TCP 계층으로 전달하고, 수신측으로부터 수신되는 진짜 응답 패킷을 처리하는 것이 바람직하다.
나아가, 상기 페이크 응답 계층은, 재전송을 위해 상기 전송 요청된 패킷에 대한 복사본을 저장하는 것이 바람직하다.
한편, 본 발명의 일 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 TCP 패킷 송수신 방법은, TCP 계층으로부터 전송 요청된 패킷을 복사하여 큐에 저장시킨 후, 상기 패킷을 IP 계층으로 전달함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전달하는 TCP 패킷 전송 과정과; IP 계층으로부터 전달받은 패킷의 응답 번호를 체크하여, 응답 번호가 정상인 경우에는 정상적으로 응답을 수신한 패킷을 큐에서 삭제시키고, 응답 번호가 정상이 아닌 경우에는 재전송 여부를 판단하여 재전송을 수행한 후, 상기 패킷에 페이로드가 포함되어 있으면, 상기 패킷의 응답 번호를 수정한 후, 상기 TCP 계층으로 전달하는 TCP 패 킷 수신 과정을 포함하여 이루어지는 것이 바람직하다.
나아가, 상기 TCP 패킷 전송 과정은, 상기 TCP 계층으로부터 전송할 TCP 패킷을 전달받으면, 상기 패킷이 전송될 세션이 존재하는 지를 판단하는 단계와; 상기 판단결과 상기 패킷이 전송될 세션이 존재하지 않으면, 상기 패킷에 페이로드가 포함되어 있는 지를 판단하는 단계와; 상기 판단결과 상기 패킷에 페이로드가 포함되어 있으면, 상기 패킷이 전송될 세션을 생성하고, 상기 세션을 통해 전송할 패킷을 복사하여 저장할 큐를 생성하는 단계와; 상기 패킷을 복사하여 상기 큐에 저장시킨 후, 상기 패킷을 상기 IP 계층으로 전송함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전송하는 단계를 포함하여 이루어지는 것이 바람직하다.
그리고, 상기 판단결과 상기 패킷에 페이로드가 포함되어 있지 않은 단순 응답 패킷인 경우에는, 상기 TCP 계층으로부터 전달받은 TCP 패킷을 상기 IP 계층으로 전달하는 과정을 더 포함하여 이루어지는 것이 바람직하다.
그리고, 상기 판단결과 상기 패킷이 전송될 세션이 존재하는 경우에는, 상기 패킷을 복사하여 상기 큐에 저장한 후, 상기 패킷을 IP 계층으로 전송함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전송하는 단계를 더 포함하여 이루어지는 것이 바람직하다.
그리고, 상기 TCP 패킷 수신 과정은, 상기 IP 계층으로부터 TCP 패킷을 전달받으면, 페이크 응답되고 있는 세션중에 상기 패킷을 전송할 세션이 존재하는 지를 판단하는 단계와; 상기 판단결과 페이크 응답되고 있는 세션중에 상기 패킷을 전송할 세션이 존재하면, 상기 패킷의 응답 번호를 체크하여 상기 패킷의 응답 번호가 정상인 지를 판단하는 단계와; 상기 판단결과 상기 응답 번호가 정상인 경우에는, 상기 큐에서 응답 패킷을 수신한 번호까지의 패킷을 삭제시키는 단계와; 상기 패킷에 페이로드가 존재하지 않으면 상기 패킷을 폐기시키고, 상기 패킷에 페이로드가 존재하면, 상기 TCP 계층이 상기 TCP 패킷 송신 과정에서 미리 응답을 수신한 패킷에 대한 진짜 응답을 다시 수신하게 됨에 따라 발생하게 되는 오류를 방지하기 위해 상기 패킷에 포함되어 있는 응답 번호를 수정한 후, 상기 패킷을 상기 TCP 계층으로 전달하는 단계를 포함하여 이루어지는 것이 바람직하다.
그리고, 상기 판단결과 응답 번호가 정상이 아닌 경우에는, 비정상적으로 수신되는 응답 번호를 갖는 패킷을 재전송할 것인 지를 판단하는 단계와; 상기 판단결과 비정상적으로 수신되는 응답 번호를 갖는 패킷을 재전송할 경우에는, 상기 큐에 저장되어 있는 패킷 중에서 상기 응답 번호와 동일한 번호를 갖는 패킷부터 재전송을 수행하고, 상기 패킷에 페이로드가 존재하는 지를 판단하는 단계와; 상기 판단결과 상기 패킷에 페이로드가 존재하지 않으면 상기 패킷을 폐기시키고, 상기 패킷에 페이로드가 존재하면, 상기 TCP 계층이 상기 TCP 패킷 송신 과정에서 미리 응답을 수신한 패킷에 대한 진짜 응답을 다시 수신하게 됨에 따라 발생하게 되는 오류를 방지하기 위해 상기 패킷에 포함되어 있는 응답 번호를 수정한 후, 상기 패킷을 상기 TCP 계층으로 전달하는 단계를 포함하여 이루어지는 것이 바람직하다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법 에 대해서 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치의 프로토콜 스택 구조를 보인 도로, TCP 계층과 IP 계층 사이에 페이크 응답 계층이 추가된다.
전술한, 페이크 응답 계층에서는 TCP 계층으로부터 전송 요청된 패킷에 대하여 IP 계층으로 패킷을 전달함과 동시에 수신측이 해당 패킷에 대해 오류없이 잘 수신했음을 알리기 보내는 응답(ACK) 패킷을 가상으로 만들어 TCP 계층으로 올려보낸다.
전술한 바와 같이, 페이크 응답 계층에서 TCP 계층으로부터 전송 요청된 패킷을 IP 계층으로 전달함과 동시에 가상 응답 패킷을 만들어 TCP 계층으로 올려 보냄으로써, 수신측으로부터 또는 TCP 프록시 서버로부터 응답 패킷을 수신하는 데까지 걸리는 왕복 시간(Round Trip Time)이 존재하지 않게 된다.
이에 따라, TCP 계층은 곧바로 다음번에 전송할 수 있는 패킷의 양을 두 배로 증가시켜 전송하게 되므로, 슬로우 스타트 기법에 의해 발생될 수 있는 초기 처리율 저하가 발생하지 않게 된다.
한편, 페이크 응답 계층은 수신측으로부터 수신되는 진짜 응답 패킷을 TCP 계층으로 넘기지 않고 단독적으로 처리하는 데, 수신측으로부터 수신한 진짜 응답 패킷의 처리 및 재전송을 위해 TCP 계층으로부터 전송 요청된 패킷에 대한 복사본을 가지고 있어야 한다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 TCP 패킷 송수신 방법을 설명하기 위한 플로우챠트로, 도 3은 페이크 응답 계층에서의 패킷 송신 과정을 설명하기 위한 플로우챠트이고, 도 4는 페이크 응답 계층에서의 패킷 수신 과정을 설명하기 위한 플로우챠트이다.
우선, 패킷 전송 과정을 살펴보면, 도 3에 도시하는 바와 같이, TCP 계층으로부터 전송할 TCP 패킷을 전달받으면(S10), TCP 계층으로부터 전달받은 TCP 패킷의 발신지 포트, 발신지 어드레스, 수신지 포트, 수신지 어드레스에 의거하여 TCP 계층으로부터 전달받은 TCP 패킷이 전송될 세션이 존재하는 지, 즉, TCP 계층으로부터 전달받은 TCP 패킷을 전송할 세션이 이미 페이크 응답되고 있는 세션인 지를 판단한다(S12).
상기한 과정 S12의 판단결과 TCP 계층으로부터 전달받은 TCP 패킷을 전송할 세션이 이미 페이크 응답되고 있는 세션이 아닌 경우에는, 상기한 과정 S10을 통해 TCP 계층으로부터 전달받은 TCP 패킷에 페이로드(Payload), 즉, 전송할 데이터가 포함되어 있는 지를 판단한다(S14).
상기한 과정 S14의 판단결과 TCP 계층으로부터 전달받은 TCP 패킷에 페이로드가 포함되어 있는 경우에는, 상기한 과정 S10을 통해 TCP 계층으로부터 전달받은 TCP 패킷의 발신지 포트, 발신지 어드레스, 수신지 포트, 수신지 어드레스에 의거하여 페이크 응답 세션을 생성하고, 생성된 세션을 통해 전송할 TCP 패킷을 복사하여 저장할 페이크 응답 큐(Fake-Acked Queue)를 생성한다(S16).
이후에는 향후 수신측으로부터 수신될 응답(ACK) 패킷을 처리하고, 경우에 따라 재전송을 위해 상기한 과정 S10을 통해 TCP 계층으로부터 전달받은 TCP 패킷을 복사하여 상기한 과정 S16에서 생성한 페이크 응답 큐에 저장한다(S18).
이후, 상기한 과정 S10을 통해 TCP 계층으로부터 전달받은 TCP 패킷을 IP 계층으로 전달함과 동시에 가상 응답 패킷을 생성하여 TCP 계층으로 전달한다(S20).
한편, 상기한 과정 S14의 판단결과 TCP 계층으로부터 전달받은 TCP 패킷에 페이로드가 포함되어 있지 않은 경우, 즉, 전송할 데이터가 포함되어 있지 않은 단순 응답(ACK) 패킷인 경우에는 상기한 과정 S10을 통해 TCP 계층으로부터 전달받은 TCP 패킷을 IP 계층으로 전달한다(S22).
한편, 상기한 과정 S12의 판단결과 TCP 계층으로부터 전달받은 TCP 패킷을 전송할 세션이 이미 페이크 응답되고 있는 세션인 경우에는 상기한 과정 S18로 진행하여, 상기한 과정 S10을 통해 TCP 계층으로부터 전달받은 TCP 패킷을 복사하여 상기한 과정 S16에서 생성한 페이크 응답 큐에 저장한 후, TCP 패킷을 IP 계층으로 전달함과 동시에 가상 응답 패킷을 생성하여 TCP 계층으로 전달한다(S20).
한편, 패킷 수신 과정은 도 4에 도시하는 바와 같이, IP 계층으로부터 TCP 패킷을 전달받으면(S30), IP 계층으로부터 전달받은 TCP 패킷의 발신지 포트, 발신지 어드레스, 수신지 포트, 수신지 어드레스에 의거하여, IP 계층으로부터 전달받은 TCP 패킷이 전송될 세션이 존재하는 지, 즉, 이미 페이크 응답되고 있는 세션중에 IP 계층으로부터 전달받은 TCP 패킷을 전송할 세션이 존재하는 지를 판단한다(S32).
상기한 과정 S32의 판단결과 페이크 응답되고 있는 세션중에 IP 계층으로부 터 전달받은 TCP 패킷을 전송할 세션이 존재하는 경우에는, 검색된 세션의 응답 번호(Acknowledge Number)와 IP 계층으로부터 전달받은 TCP 패킷의 응답 번호를 체크하여(S34), IP 계층으로부터 전달받은 TCP 패킷의 응답 번호가 정상인 지, 즉, 수신측으로부터 전송 패킷에 대한 응답 패킷이 순차적으로 수신되는 지를 판단한다(S36).
예를 들어, 송신측에서 패킷 1, 2, 3, 4, 5를 전송하고, 수신측에서는 송신측이 전송한 패킷 1, 2를 수신한 후, 패킷 3은 수신하지 못하고, 패킷 4, 5를 수신하게 되는 경우, 수신측에서는 패킷 2의 수신에 따라 송신측으로 패킷 2를 정상적으로 수신했음을 알리기 위해 응답(ACK) 패킷을 전송하고, 이후, 패킷 3을 수신하지 못한 채 패킷 4를 수신하게 되면 송신측으로 패킷 2까지 정상적으로 수신했음을 알리는 응답 패킷을 다시 전송하게 되고, 패킷 5를 수신하게 되면 송신측으로 패킷 2까지 정상적으로 수신했음을 알리는 응답 패킷을 다시 전송하게 된다. 이에 따라, 송신측에서는 패킷 2에 대한 응답을 3회 연속 수신하게 되어, IP 계층으로부터 전달받은 TCP 패킷의 응답 번호가 정상이 아니게 된다.
상기한 과정 S36의 판단결과 IP 계층으로부터 전달받은 TCP 패킷의 응답 번호가 정상인 경우에는, 페이크 응답 큐에서 응답 패킷을 수신한 번호까지의 패킷을 삭제시키고(S38), 상기한 과정 S30을 통해 IP 계층으로부터 전달받은 TCP 패킷에 페이로드, 즉 데이터가 존재하는 지를 판단한다(S40).
상기한 과정 S40의 판단결과 IP 계층으로부터 전달받은 TCP 패킷에 페이로드가 존재하지 않는 경우에는, IP 계층으로부터 전달받은 TCP 패킷이 데이터가 포함 되지 않은 단순 응답 패킷이므로, IP 계층으로부터 전달받은 TCP 패킷을 폐기시킨다(S42).
한편, 상기한 과정 S40의 판단결과 IP 계층으로부터 전달받은 TCP 패킷에 페이로드가 존재하는 경우에는, IP 계층으로부터 전달받은 TCP 패킷을 TCP 계층으로 전달했을 때, 패킷 송신 과정에서 페이크 응답 계층으로부터 응답(가상 응답)을 수신한 패킷에 대한 응답을 다시 수신하게 됨에 따라 발생하는 오류(예를 들어, 패킷 전송 과정에서 페이크 응답 계층이 패킷 1, 2, 3을 IP 계층으로 전달함과 동시에 패킷 1, 2, 3에 대한 가상 응답을 생성하여 TCP 계층으로 전달했는 데, 수신측으로부터 패킷 2에 대한 응답과 데이터를 포함하는 패킷을 수신하게 되면, 패킷 2에 대한 응답이 다시 TCP 계층으로 보고되므로, 오류가 발생할 수 있게 된다.)를 방지하기 위해 IP 계층으로부터 전달받은 TCP 패킷에 포함되어 있는 응답 번호를 수정하고(S44), IP 계층으로부터 전달받은 TCP 패킷을 TCP 계층으로 전달한다(S46).
상기한 과정 S44에서 TCP 패킷에 포함되어 있는 응답 번호를 가장 마지막에 수신측으로 전송한 패킷의 응답 번호로 수정할 수도 있고, 패킷 전송 과정에서 수신측으로 패킷을 전송하고 TCP 계층으로 가상 응답 패킷을 생성하여 전달할 때, 후반부에 보낸 일부 패킷에 대한 응답을 수행하지 않고 있다가 수신측으로부터 페이로드와 응답을 포함하는 TCP 패킷을 수신하게 되면, 응답을 수행하지 않은 패킷의 번호로 응답 번호를 수정할 수도 있다.
한편, 상기한 과정 S36의 판단결과 응답 번호가 정상이 아닌 경우에는, 비정상적으로 수신되는 응답 번호를 갖는 패킷을 재전송할 것인 지를 판단한다(S48).
상기한 과정 S48에서 동일한 응답 번호를 갖는 응답 패킷이 3회 이상 수신되면, 해당 응답 번호를 갖는 패킷부터 재전송하게 된다.
상기한 과정 S48의 판단결과 비정상적으로 수신되는 응답 번호를 갖는 패킷을 재전송할 경우에는, 페이크 응답 큐에 저장되어 있는 패킷 중에서 응답 번호와 동일한 번호를 갖는 패킷부터 재전송을 수행하고(S50), 상기한 과정 S40으로 진행하여 IP 계층으로부터 수신한 TCP 패킷에 페이로드가 존재하는 지를 판단하여, IP 계층으로부터 전달받은 TCP 패킷이 데이터가 포함되지 않은 단순 응답 패킷이면, IP 계층으로부터 전달받은 TCP 패킷을 폐기시키고(S42), IP 계층으로부터 전달받은 TCP 패킷에 페이로드가 존재하는 경우에는 IP 계층으로부터 전달받은 TCP 패킷에 포함되어 있는 응답 번호를 수정한 후(S44), IP 계층으로부터 전달받은 TCP 패킷을 TCP 계층으로 전달한다(S46).
한편, 상기한 과정 S32의 판단결과 페이크 응답되고 있는 세션중에 IP 계층으로부터 전달받은 TCP 패킷을 전송할 세션이 존재하지 않는 경우에는, 상기한 과정 S46으로 진행하여 IP 계층으로부터 전달받은 TCP 패킷을 TCP 계층으로 전달한다.
이상에서 살펴본 바와 같이, 페이크 응답 계층을 구비하여 TCP 패킷 송수신을 수행하는 네트워크 전송 장치로는 이동 통신 단말기, 기지국 서버 등이 있다.
본 발명의 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.
이상에서 설명한 바와 같은 본 발명의 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를 이용한 TCP 패킷 송수신 방법에 따르면, TCP 계층과 IP 계층 사이에 추가된 페이크 응답(FAKE-ACK) 계층에서 전송 요청된 패킷을 IP 계층으로 전달함과 동시에 가상의 응답 패킷을 생성하여 TCP 계층으로 전달함으로써, 전송 효율을 개선시킬 수 있게 된다.

Claims (8)

  1. TCP 계층과 IP 계층 사이에 페이크 응답 계층이 추가되되,
    상기 페이크 응답 계층에서, 상기 TCP 계층으로부터 전송 요청된 TCP 패킷에 대하여 IP 계층으로 상기 TCP 패킷을 전달함과 동시에 상기 TCP 패킷에 대한 응답(ACK) 패킷을 가상으로 만들어 상기 TCP 계층으로 전달하고, 수신측으로부터 수신되는 진짜 응답 패킷을 처리하는 페이크 응답 계층을 구비하는 네트워크 전송 장치.
  2. 제 1항에 있어서, 상기 페이크 응답 계층은,
    재전송을 위해 상기 전송 요청된 TCP 패킷에 대한 복사본을 저장하는 것을 특징으로 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치.
  3. TCP 계층으로부터 전송 요청된 TCP 패킷을 복사하여 큐에 저장시킨 후, 상기 TCP 패킷을 IP 계층으로 전달함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전달하는 TCP 패킷 전송 과정과;
    IP 계층으로부터 전달받은 TCP 패킷의 응답 번호를 체크하여, 응답 번호가 정상인 경우에는 정상적으로 응답을 수신한 TCP 패킷을 큐에서 삭제시키고, 응답 번호가 정상이 아닌 경우에는 재전송 여부를 판단하여 재전송을 수행한 후, 상기 TCP 패킷에 페이로드가 포함되어 있으면, 상기 TCP 패킷의 응답 번호를 수정한 후, 상기 TCP 계층으로 전달하는 TCP 패킷 수신 과정을 포함하여 이루어지는 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 티씨피 패킷 송수신 방법.
  4. 제 3항에 있어서, 상기 TCP 패킷 전송 과정은,
    상기 TCP 계층으로부터 전송할 TCP 패킷을 전달받으면, 상기 TCP 패킷이 전송될 세션이 존재하는 지를 판단하는 단계와;
    상기 판단결과 상기 TCP 패킷이 전송될 세션이 존재하지 않으면, 상기 TCP 패킷에 페이로드가 포함되어 있는 지를 판단하는 단계와;
    상기 판단결과 상기 TCP 패킷에 페이로드가 포함되어 있으면, 상기 TCP 패킷이 전송될 세션을 생성하고, 상기 세션을 통해 전송할 TCP 패킷을 복사하여 저장할 큐를 생성하는 단계와;
    상기 TCP 패킷을 복사하여 상기 큐에 저장시킨 후, 상기 TCP 패킷을 상기 IP 계층으로 전송함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전송하는 단계를 포함하여 이루어지는 것을 특징으로 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 티씨피 패킷 송수신 방법.
  5. 제 4항에 있어서, 상기 판단결과 상기 TCP 패킷에 페이로드가 포함되어 있지 않은 단순 응답 패킷인 경우에는, 상기 TCP 계층으로부터 전달받은 TCP 패킷을 상기 IP 계층으로 전달하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 티씨피 패킷 송수신 방법.
  6. 제 4항에 있어서, 상기 판단결과 상기 TCP 패킷이 전송될 세션이 존재하는 경우에는,
    상기 TCP 패킷을 복사하여 상기 큐에 저장한 후, 상기 TCP 패킷을 IP 계층으로 전송함과 동시에 가상 응답 패킷을 생성하여 상기 TCP 계층으로 전송하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 티씨피 패킷 송수신 방법.
  7. 제 3항에 있어서, 상기 TCP 패킷 수신 과정은,
    상기 IP 계층으로부터 TCP 패킷을 전달받으면, 페이크 응답되고 있는 세션중에 상기 TCP 패킷을 전송할 세션이 존재하는 지를 판단하는 단계와;
    상기 판단결과 페이크 응답되고 있는 세션중에 상기 TCP 패킷을 전송할 세션이 존재하면, 상기 TCP 패킷의 응답 번호를 체크하여 상기 TCP 패킷의 응답 번호가 정상인 지를 판단하는 단계와;
    상기 판단결과 상기 응답 번호가 정상인 경우에는, 상기 큐에서 응답 패킷을 수신한 번호까지의 TCP 패킷을 삭제시키는 단계와;
    상기 TCP 패킷에 페이로드가 존재하지 않으면 상기 TCP 패킷을 폐기시키고, 상기 TCP 패킷에 페이로드가 존재하면, 상기 TCP 계층이 상기 TCP 패킷 송신 과정에서 미리 응답을 수신한 TCP 패킷에 대한 진짜 응답을 다시 수신하게 됨에 따라 발생하게 되는 오류를 방지하기 위해 상기 TCP 패킷에 포함되어 있는 응답 번호를 수정한 후, 상기 TCP 패킷을 상기 TCP 계층으로 전달하는 단계를 포함하여 이루어지는 것을 특징으로 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 티씨피 패킷 송수신 방법.
  8. 제 7항에 있어서, 상기 판단결과 응답 번호가 정상이 아닌 경우에는, 비정상적으로 수신되는 응답 번호를 갖는 TCP 패킷을 재전송할 것인 지를 판단하는 단계와;
    상기 판단결과 비정상적으로 수신되는 응답 번호를 갖는 TCP 패킷을 재전송할 경우에는, 상기 큐에 저장되어 있는 TCP 패킷 중에서 상기 응답 번호와 동일한 번호를 갖는 TCP 패킷부터 재전송을 수행하고, 상기 TCP 패킷에 페이로드가 존재하는 지를 판단하는 단계와;
    상기 판단결과 상기 TCP 패킷에 페이로드가 존재하지 않으면 상기 TCP 패킷을 폐기시키고, 상기 TCP 패킷에 페이로드가 존재하면, 상기 TCP 계층이 상기 TCP 패킷 송신 과정에서 미리 응답을 수신한 TCP 패킷에 대한 진짜 응답을 다시 수신하게 됨에 따라 발생하게 되는 오류를 방지하기 위해 상기 TCP 패킷에 포함되어 있는 응답 번호를 수정한 후, 상기 TCP 패킷을 상기 TCP 계층으로 전달하는 단계를 포함하여 이루어지는 것을 특징으로 하는 페이크 응답 계층을 구비하는 네트워크 전송 장치를 이용한 티씨피 패킷 송수신 방법.
KR1020060008901A 2006-01-27 2006-01-27 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법 KR100756183B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060008901A KR100756183B1 (ko) 2006-01-27 2006-01-27 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060008901A KR100756183B1 (ko) 2006-01-27 2006-01-27 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법

Publications (2)

Publication Number Publication Date
KR20070078542A KR20070078542A (ko) 2007-08-01
KR100756183B1 true KR100756183B1 (ko) 2007-09-05

Family

ID=38599497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060008901A KR100756183B1 (ko) 2006-01-27 2006-01-27 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법

Country Status (1)

Country Link
KR (1) KR100756183B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959099B1 (ko) * 2008-04-11 2010-05-25 삼성에스디에스 주식회사 빌딩 자동 제어 시스템에서 알람 전송 방법 및 제어 장치
KR101866377B1 (ko) * 2016-05-16 2018-06-11 인하대학교 산학협력단 Sdn상의 멀티캐스트 패킷 손실 위치 탐지 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069520A (ko) * 2003-01-29 2004-08-06 삼성전자주식회사 근거리 무선 통신 장치 및 그 핸드오프 처리방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069520A (ko) * 2003-01-29 2004-08-06 삼성전자주식회사 근거리 무선 통신 장치 및 그 핸드오프 처리방법

Also Published As

Publication number Publication date
KR20070078542A (ko) 2007-08-01

Similar Documents

Publication Publication Date Title
CN110995697B (zh) 一种大数据传输方法及系统
EP2119085B1 (en) Enhanced error control communication systems and methods
US20040052234A1 (en) Method and system for dispatching multiple TCP packets from communication systems
US6785259B2 (en) Enhanced transmission of critical data
CN104025525B (zh) 用于发送分组的方法和设备以及交换机装置
US8320250B2 (en) Method and arrangement for TCP flow control
US9577791B2 (en) Notification by network element of packet drops
US20030131079A1 (en) Performance enhancing proxy techniques for internet protocol traffic
KR20130082070A (ko) 통신 장치 및 통신 방법
JP2005520374A (ja) Tcp/ipに対する変更
JP2005244897A (ja) 信頼性のある通信方法及びその装置
CN111092907B (zh) 基于udp协议的数据流快速传输方法、系统及介质
KR100756183B1 (ko) 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법
CN112511377A (zh) 一种基于arq和udp协议的tcp网络加速方法
US11470502B2 (en) Congestion notification by data packet from intermediate node
US7506036B1 (en) Proxy device and method of operation for a windowing internet protocol data network
KR101231793B1 (ko) Tcp 세션 최적화 방법 및 네트워크 노드
Chandra et al. TCP performance for future IP-based wireless networks
US20100165838A1 (en) Method and apparatus for improving data throughput in a network
KR100913897B1 (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법
EP1733527B1 (en) Technique for handling outdated information units
CN115499108A (zh) 一种基于udp协议的闭环网络通信方法及系统
SAKAI et al. Mismatch of packet recovery mechanisms for bit error and handover in wireless TCP
Caro Jr et al. Congestion control: SCTP vs TCP
KR20020038376A (ko) 전송속도 향상된 슬라이딩 윈도우 방법

Legal Events

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

Payment date: 20120727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee