KR20090010416A - Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법 - Google Patents

Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법 Download PDF

Info

Publication number
KR20090010416A
KR20090010416A KR1020070073501A KR20070073501A KR20090010416A KR 20090010416 A KR20090010416 A KR 20090010416A KR 1020070073501 A KR1020070073501 A KR 1020070073501A KR 20070073501 A KR20070073501 A KR 20070073501A KR 20090010416 A KR20090010416 A KR 20090010416A
Authority
KR
South Korea
Prior art keywords
packet
tcp
header
size
mss
Prior art date
Application number
KR1020070073501A
Other languages
English (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 KR1020070073501A priority Critical patent/KR20090010416A/ko
Publication of KR20090010416A publication Critical patent/KR20090010416A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Abstract

본 발명의 일 측면에 따른 이동통신 망에서 PPP 연결의 패킷 크기 최적화 시스템은, TCP 연결 시도 패킷을 검출하여 이를 패킷 변환부에 전송하는 패킷 검출부 와 패킷이 분할되지 않을 MSS(Maximum Segment Size) 값을 계산하고, 이를 반영하여 수신한 TCP 연결 시도 패킷의 MSS 값을 변환하는 패킷 변환부를 포함하며, 이에 의할 때 이동 통신망에서 패킷 전송시 발생하는 패킷 분할에 따른 노드의 부하를 줄이는 효과가 있다.

Description

PPP 연결의 패킷 크기 최적화 시스템 및 그 방법{Method and System of Adjusting on a Optimal Packet Size in the PPP Connection}
본 발명은 이동 통신망에서 IP(Internet Protocol)를 이용한 패킷 전송에 관한 것이다.
PPP(Point-to-Point protocol: 점 대 점 통신 규약)에 의한 연결시, 패킷 크기는 최대 수신 단위(Maximum-Receive-Unit: MRU)에 의하여 설정된다. PPP 연결 종단에서는 PPP 설정시의 MRU값에 의하여 MTU를 설정한다.
최대 전송 단위(Maximum Transfer Unit: MTU)는 TCP/IP 네트워크 등과 같이 패킷 또는 프레임 기반의 네트워크에서, 패킷이 쪼개지지 않고 전송될 수 있는 최대 패킷(또는 프레임) 크기를 가리킨다. 최대 전송 단위는 네트워크의 미디어 종류에 따라 달라지며, 대게 이더넷에서는 1500 옥텟, PPP에서는 296 옥텟으로 설정된다. 그러나 최대 전송 단위는 불변 사항이 아니므로 변경할 수 있다.
PPP 연결에 의하여 패킷을 전송하는 경우, MTU를 사용하여 각 패킷의 크기를 결정한다. MTU가 너무 크게 설정되면, 큰 크기의 패킷을 처리할 수 없는 라우터를 만났을 때 재전송해야 하는 경우가 생길 수 있다. 이와는 반대로 MTU가 너무 작게 설정되면, 헤더 및 송수신 확인에 따르는 오버헤드가 상대적으로 커지게 된다. 따라서 적절한 MTU를 설정하는 것이 중요하다.
PDSN(Packet Data Serving Node)과 단말 사이에 PPP 연결이 이루어졌다고 가정할 때, PPP에서는 IP 패킷을 다음과 같이 처리한다. PPP에서는 IP 패킷을 직접 PPP 네트워크로 전송하지 않고, Radio Link Protocol(RLP) 패킷으로 변환하여 전송한다. RLP 패킷으로 변환하는 과정에서 헤더가 추가된다. 이 경우 추가되는 헤더로 인하여 패킷의 크기가 기존 패킷보다 커진다. 따라서 PPP 연결의 하위 계층(Layer)의 MTU를 초과하게 되어 패킷 분할(fragmentation)이 일어나게 된다.
패킷 분할이 일어나게 되면, 전송해야 하는 패킷의 개수 또한 늘어난다. 이는 노드에서 처리해야 하는 패킷의 개수가 늘어난다는 것을 의미하며, 결과적으로 노드의 부하는 증가한다. 그럼에도 불구하고 기존의 PPP 연결에서는 패킷의 크기를 설정하는 경우, 이동 통신 환경을 고려하지 않는다.
따라서 본 발명의 목적은 TCP 연결 시도 패킷을 검출하고, 검출한 TCP 연결 시도 패킷의 MSS 값을 PPP 연결시에 기본으로 설정되는 MSS 값 대신 최적 MSS 값을 반영하여 변환함으로써 이동 통신망에서 패킷 분할이 일어나지 않게 함과 동시에 RLP(Radio Link Protocol) 패킷으로 변환하는 과정에서 발생하는 추가의 오버헤드로 인한 패킷 개수 증가에 따른 노드의 부하를 감소시키고자 하는 PPP 연결의 패킷 크기 최적화 시스템 및 그 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명의 일 측면에 따른 이동통신 망에서 PPP 연결의 패킷 크기 최적화 시스템은, TCP 연결 시도 패킷을 검출하여 이를 패킷 변환부에 전송하는 패킷 검출부와 패킷이 분할되지 않을 MSS(Maximum Segment Size) 값을 계산하고, 이를 반영하여 수신한 TCP 연결 시도 패킷의 MSS 값을 변환하는 패킷 변환부를 포함한다.
상기 패킷 크기 최적화 시스템에 있어서 상기 패킷 검출부는, TCP 패킷에서 SYN 비트를 검출하여 TCP 연결 시도 패킷인지 여부를 판단한다.
상기 패킷 크기 최적화 시스템은, 패킷 변환부로부터 수신한 변환된 패킷을 전송하는 패킷 전송부를 더 포함한다.
상기 패킷 크기 최적화 시스템에 있어서 상기 패킷 검출부는, TCP 연결 시도 패킷이 아니라고 판단되는 경우 이를 패킷 전송부에 전송한다.
상기 패킷 크기 최적화 시스템에 있어서, 상기 패킷 변환부는 패킷이 분할되지 않을 MSS 값은,
패킷이 분할되지 않을 MSS 값 ≤ {[(페이로드의 최대 크기) ÷ (PPP 데이터 크기)] × (127-RLP 헤더)}-PPP 헤더-IP 헤더-TCP 헤더로 산정한다.
한편, 상기한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 이동통신 망에서 PPP 연결의 패킷 크기 최적화 방법은 TCP 연결 시도 패킷인지 판단하여, TCP 연결 시도 패킷인 경우에는 패킷 변환부로 전송하고, TCP 연결 시도 패킷이 아닌 경우에는 패킷 전송부로 전송하는 단계, 패킷 변환부가 수신한 TCP 연결 시도 패킷의 MSS 값을 패킷이 분할되지 않을 MSS 값으로 변환하는 단계 및 패킷 전송부가 수신한 패킷을 전송하는 단계를 포함한다.
상기 패킷 크기 최적화 방법에 있어서, IP 헤더의 프로토콜 필드를 읽어 수신 패킷이 TCP 패킷인지 확인하고, TCP 패킷인 경우 TCP 헤더에서 SYN 비트를 검출하여 TCP 연결 시도 패킷인지 여부를 판단한다.
상기 패킷 크기 최적화 방법에 있어서, 상기 패킷이 분할되지 않을 MSS 값은
패킷이 분할되지 않을 MSS 값 ≤ {[(페이로드의 최대 크기) ÷ (PPP 데이터 크기)] × (127-RLP 헤더)}-PPP 헤더-IP 헤더-TCP 헤더 형태로 산정된다.
상기 패킷 크기 최적화 방법에 있어서, 상기 패킷 변환부가 TCP 헤더의 옵션 필드에 MSS 옵션을 추가하거나 변경하여 상기 패킷이 분할되지 않을 MSS 값으로 변환한다.
본 발명의 효과는 다음과 같다.
첫째, 이동 통신망에서 전송하는 패킷의 개수를 줄일 수 있다. 따라서 노드의 부하가 감소한다.
둘째, 패킷의 개수가 줄어듬으로써 패킷 손실을 미리 방지할 수 있다.
셋째, 최적화된 패킷 사용을 가능하게 함으로써 패킷의 전송 효율을 높일 수 있다.
마지막으로 PDSN이나 단말에서 이동 통신망의 내부 구조를 알지 못하거나 정확한 동작을 몰라서 최적 패킷 크기를 결정할 수 없는 경우에도, 이동 통신망에서 자체적으로 패킷의 크기를 조절할 수 있다. 따라서 서로 다른 기종의 벤더간에 발생할 수 있는 문제를 방지할 수 있다.
이동 통신망에서 본원 발명을 사용하는 경우의 효과에 대해 도면을 참조하여 구체적으로 살펴보면 다음과 같다.
도 1은 PPP에서 MTU를 1500 바이트로 설정한 경우의 패킷 전송 과정을 도시한 도면이다.
도 1에서는 기존의 인터넷망에서 사용하는 MTU 값(1500바이트)을 그대로 사용하였다. 앞서 설명하였지만 이동 통신망에서 RLP(Radio Link Protocol) 패킷으로 변환하는 과정에서 추가의 오버헤드가 발생하기 때문에, 패킷의 크기가 MTU를 초과 하게 되어 패킷 분할이 일어난다. 도 1에서는 하나의 패킷이 이동 통신망에서 3개로 분리된다.
한편 PPP에서는 일반적으로 발생하는 PPP 오버헤드를 감안하여 MTU값을 기존의 인터넷망에서 사용하는 것보다 작은값, 예를 들어 1492바이트로 설정할 수도 있다. 그러나 이 경우에도 패킷의 분할이 일어나는 상황은 동일하게 발생한다.
그렇다면 본 발명에 따라 MTU를 조정했을 때의 효과를 살펴보자.
도 2a는 PPP에서 MTU를 1466바이트로 설정한 경우의 패킷 전송 과정을 도시한 도면이다.
도 2a에서는 패킷 하나가 이동 통신망에서 2개로 분리되는 것을 볼 수 있다. RLP 패킷으로 변환하는 과정에서 발생하는 추가의 오버헤드 때문에 패킷이 2개로 분리되지만, 도 1에서보다 분리되는 패킷의 개수는 줄어들었다. 이 경우 이동 통신망 내부에서 전송해야 하는 패킷은 33%가 감소한다(도 1에서 3개로 분리되던 패킷이 도 2a에서는 2개로 분리되기 때문이다).
도 2b는 PPP에서 MTU를 1342 바이트로 설정한 경우의 패킷 전송 과정을 도시한 도면이다.
이 경우 패킷은 분리되지 않고 이동 통신망에서 그대로 전달된다. 이동 통신망에서 RLP 패킷으로 변환하는 과정에서 추가의 오버헤드가 발생함에도 불구하고, 패킷 수는 증가하지 않는다. 단, 위와 같이 MTU를 조정하는 경우 한번에 전달하는 데이터의 크기는 작아지므로, 추가로 전송해야 하는 패킷의 수가 증가한다.
도 2b에 도시된 것처럼 MTU 값을 1342 바이트로 조정하면, 이동 통신망 내부에서 전송해야 하는 패킷은 67%가 감소한다(도 1에서 3개로 분리되던 패킷이 도 2b에서는 분리되지 않고 그대로 전달된다).
반면 이 경우 추가로 전송해야 하는 패킷 수는 12% 정도 증가하는데 불과하다. 즉 전송해야 하는 패킷의 수는 전송해야 하는 전체 데이터량을 한번에 보내는 패킷 크기로 나눈 값이므로, (1500-40)바이트 ÷ (1342-40)바이트 = 1.12 로부터 추가 패킷 전송량이 12% 라는 것을 알 수 있다.
따라서 추가로 전송해야 하는 패킷 수에 의한 영향보다 패킷 수 감소에 의한 영향이 더 크므로 패킷 처리 부하 감소에 따른 효과를 볼 수 있다.
이하 본 발명에 따른 PPP 연결의 패킷 크기 최적화 시스템 및 그 방법을 첨부한 도면을 참조하여 상세히 설명한다.
도 3은 본 발명에 따른 PPP 연결의 패킷 크기 최적화 시스템의 구성을 도시한 도면이다.
상기 시스템은 패킷 검출부(310), 패킷 변환부(320) 및 패킷 전송부(330)를 포함하여 구성된다.
패킷 검출부(310)는 TCP(Transmission Control Protocol) 연결 시도 패킷을 검출한다. 본원 발명에서는 TCP 연결 시도 패킷만을 변환한다. 실제로 데이터를 전달하는 패킷은 변환할 필요가 없다. 최초로 연결 시도를 하는 패킷만을 변환 대상으로 하는 경우, 추가 전송 패킷으로 인한 노드의 부하를 줄일 수 있다. 나아가 헤더 중 2바이트만을 확인하면 되므로 패킷 검출 과정이 단순해진다. 상기 패킷 검출부(310)의 TCP 연결 시도 패킷 검출 과정에 대해서는 도 4a 내지 도 4b에 대한 설명에서 상세히 후술한다.
한편 패킷 검출부(310)는 검출한 TCP 연결 시도 패킷을 패킷 변환부(320)에 전송한다. 그러나 TCP 연결 시도 패킷이 아닌 경우에는, 패킷을 패킷 전송부(330)에 송신한다.
패킷 변환부(320)는 TCP에서 패킷 크기를 결정하는 부분을 다른 값으로 변환한다. 구체적으로 패킷 변환부(320)는 패킷 검출부(310)로부터 수신한 TCP 연결 시도 패킷에서 Maximum Segment Unit(MSS)를 검색하고, 상기 MSS값을 변환한다. MSS는 TCP 연결에서 패킷의 크기를 결정하는 인자로서 RFC 793에 정의되어 있다. 상기 MSS값 변환 과정에 대해서는 도 7에서 상세히 후술한다.
패킷 전송부(330)는 패킷 변환부(320)로부터 변환된 패킷을 수신하여 전송한다. 또한 패킷 검출부(310)로부터 변환되지 않은 패킷을 수신하여 전송한다.
도 4a는 IP 헤더의 구성을 도시한 도면이며, 도 4b는 TCP 헤더의 구성을 도시한 도면이다.
본원 발명의 패킷 검출부(310)는 TCP 연결 시도 패킷을 다음과 같이 검출한 다.
우선 TCP 패킷인지 확인한다. TCP 패킷인지 여부는 도 4a에 도시된 IP 헤더의 프로토콜 필드(410)로부터 알 수 있다. TCP 패킷인 경우, 프로토콜 필드(410)는 6(0x06)이다.
TCP 패킷이라는 것이 확인되면, 도 4b에 도시된 TCP 헤더로부터 연결 시도 패킷인지 판단한다. TCP에서는 연결 시도를 하는 경우, SYN 비트(420)를 설정한다. SYN 비트(420)는 도 4b에서와 같이 TCP 헤더의 특정 위치에 존재하고 있으며, 1 비트의 값을 가진다. 따라서 TCP 헤더에 SYN 비트(420)가 설정된 경우, TCP 연결 시도 패킷이라고 판단한다. 참고로 TCP 연결 시도 패킷에는 헤더만이 존재할 뿐, 데이터는 존재하지 않는다. 연결 시도 패킷이므로, 별도의 데이터가 필요하지 않기 때문이다.
한편 도 4b의 Options 필드(422)에는 MSS Option이 추가될 수 있다. 또한 Options 필드(422)에 존재하는 기존의 MSS Option을 변경할 수도 있다. MSS Option에 대해서는 도 5a 내지 도 5b에 대한 설명에서 후술한다.
도 5a는 End-of-Option 옵션과 No-operation 옵션의 구성을 도시한 도면이며, 도 5b는 도 5a의 옵션 외에 TCP에서 제공하는 옵션의 구성을 도시한 도면이다.
IPv4(Internet Protocol version 4) 네트워크에서 지원하는 Option 종류의 예는 다음 [표 1]과 같다.
Kind Length
End-of-Option 0 1
No-Operation 1 1
Maximum Segment Size Option 2 4
TCP Window Scale Option 3 3
SACK Permitted Option 4 2
SACK Option 5 VAR
TCP TimeStamp Option 8 10
[표 1]
Kind=0인 경우, End-of-Option 옵션을 나타낸다. End-of-Option 옵션은 추가의 TCP 옵션이 없는 경우 사용되며, 생략되어도 무방하다.
Kind=1인 경우, No-Operation 옵션을 나타낸다. No-Operation은 무시되는 옵션으로, 옵션 설정시에 32bit 단위의 정렬을 위해서 padding으로서 사용될 수 있다.
상기 End-of-Option 옵션과 No-operation 옵션의 포맷은, 도 5a에 도시된 것처럼 1 바이트의 길이를 가지는 Kind 필드(510)로만 이루어진다.
한편 End-of-Option 옵션과 No-operation 옵션을 제외한 TCP에서 제공하는 옵션의 경우, 도 5b에 도시된 바와 같이 구성되어 있다.
Kind 필드(520)는 제공하는 TCP 옵션의 종류를 나타내며, 2 이상의 값을 가진다.
Length 필드(522)는 해당 TCP 옵션의 전체 길이를 나타낸다.
Parameter 필드(524)는 부가적인 인자를 포함하고 있다.
이 경우 Kind 필드(520)와 Length 필드(522)의 길이는 각각 1 바이트이며, Parameter 필드(524)의 길이는 Length 필드(522) 값에서 2를 제외한 바이트 값이다. 따라서 Length 필드(522) 값이 2인 경우(예를 들어 SACK Permitted Option), Parameter 필드는 존재하지 않는다.
상기 [표 1]을 참조할 때 MSS 옵션의 경우, Kind 필드(520)값은 2, Length 필드(522)값은 4가 된다. 따라서 Parameter 필드(524)의 길이는 2 바이트가 된다.
도 6은 본 발명에 따른 TCP 연결 시도 패킷 검출 과정을 도시한 도면이다.
패킷 검출부(310)는 패킷을 수신하는 경우(S610), 패킷 변환부(320)에서 필요로 하는 TCP 연결 시도 패킷을 검출하여야 한다.
패킷 검출부(310)는 IP 헤더의 Protocol 필드(410)를 읽어, 수신한 패킷이 TCP 패킷인지 확인한다(S620). Protocol 필드(410)가 6(0x06)인 경우 TCP 패킷임을 나타낸다. 만일 TCP 패킷이 아닌 경우, TCP 연결 시도 패킷 검출 과정을 종료한다.
한편 수신 패킷이 TCP 패킷인 경우, 패킷 검출부(310)는 TCP 헤더의 SYN 비트(420)값이 1인지 판단한다(S630). SYN 비트(420)값이 1인 경우, TCP 연결 시도 패킷에 해당한다. 따라서 패킷 검출부(310)는 수신한 패킷을 패킷 크기 변환 대상 으로 지정하고, 이를 패킷 변환부(320)로 전송한다(S640). 이 경우 패킷 변환부(320)는 패킷의 크기를 조정하기 위하여 MSS 값을 수정하는데, 이에 대한 상세한 설명은 도 7에서 후술한다.
만일 상기 S630 단계에서 SYN 비트(420)값이 1이 아닌 경우, TCP 연결 시도 패킷이 아니다. 따라서 TCP 연결 시도 패킷 검출 과정을 종료한다.
도 7은 본 발명에 따른 패킷 변환 과정을 도시한 도면이다.
패킷 변환부(320)는 도 4b의 Options 필드(422)에 MSS 옵션을 추가하거나 변 경하여, MSS 값을 수정할 수 있다. TCP에 있어서 MSS 옵션은 최초 연결시에만 적용 가능하고, 데이터 전송시에는 사용되지 않는다. 따라서 MSS 옵션의 추가 및 변경은 패킷 검출부(310)에 의해 검출된 TCP 연결 시도 패킷에만 적용한다.
패킷 변환부(320)는 TCP 패킷의 헤더 크기를 측정한다(S701). 헤더의 크기는 도 4b에 도시된 HLEN 필드(424)의 값으로부터 구할 수 있는데, 옵션이 없는 경우 최소 크기(20 바이트)를 가진다. 만일 TCP 옵션이 있는 경우라면, 헤더 크기는 20바이트보다 큰 값을 가진다. 따라서 패킷의 헤더 크기를 측정하여, TCP 옵션의 존재 여부를 판단할 수 있다.
패킷 변환부(320)는 TCP 옵션이 존재하는지 판단한다(S702). TCP 옵션이 존재하는 경우, 패킷 변환부(320)는 TCP 옵션을 검색할 위치를 지정한다. TCP 옵션은 TCP 헤더에서 필수 필드의 크기인 20바이트 이후에 위치하게 된다.
패킷 변환부(320)는 새로운 MSS 값을 계산한다(S703). 상기 새로운 MSS 값 계산 과정에 대해서는 추후 설명한다.
이 경우 패킷 변환부(320)는 TCP 옵션을 검색하여 Kind 필드(520)값이 2인 옵션이 존재하는지 판단한다(S704). Kind 필드(520)값이 2인 옵션이 존재한다면, 이는 기존에 MSS 옵션이 설정되어 있다는 것을 의미한다. 이 경우 패킷 변환부(320)는 설정된 MSS 옵션을 새로운 MSS 값으로 변경한다(S706). 반면 Kind 필드(520)값이 2인 옵션이 존재하지 않는 경우에는, 새로운 MSS 값을 반영하여 MSS 옵션을 추가한다(S705). 이 경우 TCP 헤더에 MSS 옵션의 길이를 추가하게 되므로, 도 4b에 도시된 HLEN 필드(424)가 변경된다. 패킷 변환부(320)는 변환된 패킷을 패 킷 전송부(330)로 전송한다(S707).
그렇다면 최적 MSS 값을 계산하는 방법에 대하여 상세히 살펴보자.
가장 먼저 패킷의 개수를 산출하는 방법을 살펴보면 다음과 같다.
IP 패킷을 PPP를 통해 전송하기 위해서는 IP 헤더, UDP 헤더, PPP 헤더가 필요하다. 따라서 총 IP(20)+UDP(8)+PPP(6)=34 바이트의 헤더가 필요하다. 그러므로 MSS = MTU-34-IP(20)-TCP(20)=1426 바이트 이하가 되면 PPP 패킷을 만들때 1개로 만들 수 있다.
3GPP2에서는 RLP 패킷을 만들때 PPP 패킷을 122 바이트마다 나누며, 각각마다 5 바이트의 추가 헤더가 필요하다. 이 경우 다시 패킷의 크기가 MTU를 넘게 되어 2개의 패킷이 필요하게 된다. 따라서 더욱 효율적이게 만들기 위해서는 PPP 패킷을 RLP 패킷으로 만들 때 패킷이 2개가 되지 않도록 해야 한다. 그러기 위해서 MSS를 더욱 줄여야 한다.
RLP는 PPP 패킷을 122 바이트 단위로 나누어 5바이트의 추가 헤더를 포함하여 전송하므로, RLP 패킷 수는 다음과 같이 구해진다.
RLP 패킷 수 = 페이로드의 최대 크기 ÷ PPP 데이터 크기
= (1500 -IP(20)-UDP(8)- SH(12)) ÷ (RLP 헤더 크기(5)+122)
= 1460 ÷ 127 = 11.496
따라서 1500 바이트 패킷에는 11~12개의 RLP 패킷이 포함될 수 있다. 즉 하나의 IP 패킷에는 크기가 127 바이트인 RLP 패킷이 11개 포함될 수 있다. 이때 PPP 패킷의 크기(PPP 헤더 포함)는 다음과 같다.
PPP 패킷 크기 = 11× (127-RLP 헤더(5))=11× (127-5)=1342
따라서 최적 MSS 의 크기는 다음과 같이 계산된다.
MSS의 크기=PPP 패킷 크기 -PPP 헤더(6)-IP(20)-TCP(20) =1342 -46 =1296
따라서 MSS= 1296가 최적의 값이다. 참고로 MSS=1296 일때 원래 TCP 패킷의 크기는 1296+20(IP)+20(TCP)=1342 이다. 한편 MSS 값이 상기 최적 MSS 값보다 적은 경우, 패킷은 이동 통신망에서 분리되지 않고 하나로 전달될 수 있다.
도 8은 MSS값에 따른 패킷 전송량을 대비한 도면이다.
MSS는 TCP에서 패킷 하나에 보낼 수 있는 실제 데이터(payload)의 크기를 나타낸다. MTU에서 IP 헤더를 제외한 값으로 일반적으로 1460 바이트이다. 도 8의 MSS 필드(810)에서는 상기 MSS 값을 다양하게 변형시키고 있다.
a 필드(820)는 MTU가 1500 바이트인 경우에 대하여, 동일 파일 전송시 필요한 패킷 수의 비를 나타낸다. 즉 a 필드(820)에 나열된 값들은 1460 ÷ MSS 라는 식으로부터 구해진다.
b 필드(830)는 IP 패킷 1개(즉, MTU가 1500 바이트인 경우와 비교)에 대해서 이동 통신망에서 분리되어 전송되는 패킷 수의 비를 나타낸다.
a × b 필드(840)는 각 MSS 값별로 a 필드(820)값과 b 필드(830)값을 곱한 값이다. 본원 발명에서는 a × b 필드(840)값으로부터 최적화된 MSS 값을 선택한다. 도 8에 도시된 것처럼 MSS 값이 1296인 경우, 약 60%의 패킷 수 감소가 예상된 다. 따라서 최적화된 MSS 값은 1296이 된다. 이는 앞서 계산한 최적 MSS 값과 동일하다.
도 1은 PPP에서 MTU를 1500 바이트로 설정한 경우의 패킷 전송 과정을 도시한 도면.
도 2a는 PPP에서 MTU를 1466바이트로 설정한 경우의 패킷 전송 과정을 도시한 도면이며, 도 2b는 PPP에서 MTU를 1342 바이트로 설정한 경우의 패킷 전송 과정을 도시한 도면.
도 3은 본 발명에 따른 PPP 연결의 패킷 크기 최적화 시스템의 구성을 도시한 도면.
도 4a는 IP 헤더의 구성을 도시한 도면이며, 도 4b는 TCP 헤더의 구성을 도시한 도면.
도 5a는 End-of-Option 옵션과 No-operation 옵션의 구성을 도시한 도면이며, 도 5b는 도 5a의 옵션 외에 TCP에서 제공하는 옵션의 구성을 도시한 도면.
도 6은 본 발명에 따른 TCP 연결 시도 패킷 검출 과정을 도시한 도면.
도 7은 본 발명에 따른 패킷 변환 과정을 도시한 도면.
도 8은 MSS값에 따른 패킷 전송량을 대비한 도면.

Claims (9)

  1. 이동통신 망에서 PPP 연결의 패킷 크기 최적화 시스템에 있어서,
    TCP 연결 시도 패킷을 검출하여 이를 패킷 변환부에 전송하는 패킷 검출부; 와
    패킷이 분할되지 않을 MSS(Maximum Segment Size) 값을 계산하고, 이를 반영하여 수신한 TCP 연결 시도 패킷의 MSS 값을 변환하는 패킷 변환부를 포함하는 패킷 크기 최적화 시스템.
  2. 제1항에 있어서,
    상기 패킷 검출부는,
    TCP 패킷에서 SYN 비트를 검출하여 TCP 연결 시도 패킷인지 여부를 판단하는 패킷 크기 최적화 시스템.
  3. 제1항에 있어서,
    패킷 변환부로부터 수신한 변환된 패킷을 전송하는 패킷 전송부를 더 포함하는 패킷 크기 최적화 시스템.
  4. 제3항에 있어서,
    상기 패킷 검출부는,
    TCP 연결 시도 패킷이 아니라고 판단되는 경우 이를 패킷 전송부에 전송하는 패킷 크기 최적화 시스템.
  5. 제1항에 있어서,
    상기 패킷 변환부는 아래와 같은 수학식에 의하여 패킷이 분할되지 않을 MSS 값을 설정하는 패킷 크기 최적화 시스템.
    패킷이 분할되지 않을 MSS 값 ≤ {[(페이로드의 최대 크기) ÷ (PPP 데이터 크기)] × (127-RLP 헤더)}-PPP 헤더-IP 헤더-TCP 헤더
  6. 이동통신 망에서 PPP 연결의 패킷 크기 최적화 방법에 있어서,
    TCP 연결 시도 패킷인지 판단하여, TCP 연결 시도 패킷인 경우에는 패킷 변환부로 전송하고, TCP 연결 시도 패킷이 아닌 경우에는 패킷 전송부로 전송하는 단계;
    패킷 변환부가 수신한 TCP 연결 시도 패킷의 MSS 값을 패킷이 분할되지 않 을 MSS 값으로 변환하는 단계; 및
    패킷 전송부가 수신한 패킷을 전송하는 단계를 포함하는 패킷 크기 최적화 방법.
  7. 제6항에 있어서,
    IP 헤더의 프로토콜 필드를 읽어 수신 패킷이 TCP 패킷인지 확인하고, TCP 패킷인 경우 TCP 헤더에서 SYN 비트를 검출하여 TCP 연결 시도 패킷인지 여부를 판단하는 패킷 크기 최적화 방법.
  8. 제6항에 있어서,
    상기 패킷이 분할되지 않을 MSS 값은 아래와 같은 수학식에 의하여 설정되는 패킷 크기 최적화 방법.
    [수학식 1]
    패킷이 분할되지 않을 MSS 값 ≤ {[(페이로드의 최대 크기) ÷ (PPP 데이터 크기)] × (127-RLP 헤더)}-PPP 헤더-IP 헤더-TCP 헤더
  9. 제6항에 있어서,
    상기 패킷 변환부가 TCP 헤더의 옵션 필드에 MSS 옵션을 추가하거나 변경하여 상기 패킷이 분할되지 않을 MSS 값으로 변환하는 패킷 크기 최적화 방법.
KR1020070073501A 2007-07-23 2007-07-23 Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법 KR20090010416A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070073501A KR20090010416A (ko) 2007-07-23 2007-07-23 Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070073501A KR20090010416A (ko) 2007-07-23 2007-07-23 Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20090010416A true KR20090010416A (ko) 2009-01-30

Family

ID=40489597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070073501A KR20090010416A (ko) 2007-07-23 2007-07-23 Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20090010416A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150136141A (ko) * 2013-04-23 2015-12-04 구루로직 마이크로시스템스 오이 Http를 이용한 양방향 실시간 통신 시스템
US9843527B2 (en) 2013-11-11 2017-12-12 Samsung Electronics Co., Ltd. Method for processing data and an electronic device thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150136141A (ko) * 2013-04-23 2015-12-04 구루로직 마이크로시스템스 오이 Http를 이용한 양방향 실시간 통신 시스템
US9787770B2 (en) 2013-04-23 2017-10-10 Guruligic Microsystems Oy Communication system utilizing HTTP
US9843527B2 (en) 2013-11-11 2017-12-12 Samsung Electronics Co., Ltd. Method for processing data and an electronic device thereof

Similar Documents

Publication Publication Date Title
US7042907B2 (en) Packet transfer apparatus and method
JP4520032B2 (ja) ヘッダ圧縮装置およびヘッダ圧縮方法
JP3751823B2 (ja) 実時間サービスにおけるヘッダ圧縮
US9736723B2 (en) Link layer assisted robust header compression context update management
KR100446508B1 (ko) 패킷 데이터 통신시스템에서 패킷 데이터 처리장치
US20020122385A1 (en) Data throughput over lossy communication links
US20060224753A1 (en) Session relay apparatus, session relay method and program
JP5866387B2 (ja) 遅延変動が大きな環境におけるロバスト・ヘッダ圧縮(rohc)を最適化するためのシステムおよび方法
WO2009059545A1 (fr) Procédé, dispositif et système de transmission de données
US8463278B2 (en) Communication apparatus and communication method
EP1397922A1 (en) A dual proxy approach to tcp performance improvements over a wireless interface
JP2009525708A (ja) プロトコルリンクレイヤ
US7330902B1 (en) Header compression
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
Garg et al. Modified and improved IPv6 header compression (MIHC) scheme for 6LoWPAN
JP6963411B2 (ja) 通信装置、通信方法、およびプログラム
KR20090010416A (ko) Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법
US8447878B2 (en) Receiving apparatus, transmitting apparatus, communication system, and method of detecting buffer setting of relay server
US20020174233A1 (en) Device, method and program for protocol translation
US7515604B2 (en) Transmitter, receiver, and methods
JP2007174173A (ja) サーキットエミュレーション装置及びパケット転送方法
EP1320976A2 (en) Negotiation of transmission parameter
CN107104911B (zh) Udp数据包的分割方法和发送方法
EP1505759A2 (en) Method and device for transmitting/receiving data using acknowledged transport layer protocols
KR20050103939A (ko) 패킷의 처리량을 최대화하는 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid