KR100689473B1 - Apparatus and method for compressing protocol header in communication system - Google Patents
Apparatus and method for compressing protocol header in communication system Download PDFInfo
- Publication number
- KR100689473B1 KR100689473B1 KR1020000050505A KR20000050505A KR100689473B1 KR 100689473 B1 KR100689473 B1 KR 100689473B1 KR 1020000050505 A KR1020000050505 A KR 1020000050505A KR 20000050505 A KR20000050505 A KR 20000050505A KR 100689473 B1 KR100689473 B1 KR 100689473B1
- Authority
- KR
- South Korea
- Prior art keywords
- field
- packet
- header
- udp
- protocol
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1043—Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명에 따른, UDP/IP/PPP 통신 프로토콜에 기반하는 통신시스템에서 UDP,IP,PPP 패킷 헤더들을 소정 크기의 압축헤더로 압축하기 위한 방법은, 상기 압축헤더는 L.R,U,M 플래그, 채널식별자 필드(CH-ID), 길이정보 필드(LENGTH), IP정보필드(IP-INFO), 프로토콜 필드(PROTOCOL), 체크섬 필드(UDP CHECKSUM), 부가필드(OPTIONAL FIELD)를 적어도 포함하며, 상위 프로토콜 계층부로부터 상기 UDP,IP,PPP 패킷들을 수신하고, 설정된 통신링크에 대한 연결식별정보를 상기 채널식별자 필드에 기록하고 상기 R플래그를 세팅하는 과정과, 상기 UDP 패킷의 길이 필드 값을 상기 길이정보 필드에 기록하고, 상기 L플래그를 설정하는 과정과, 상기 IP 패킷의 식별필드(IDENTIFICATION) 값을 소정 규칙에 의해 수정하여 상기 IP정보필드에 기록하는 과정과, 상기 PPP 패킷의 프로토콜 필드 값을 상기 프로토콜 필드에 기록하는 과정과, 상기 UDP 패킷의 체크섬 필드 값을 상기 체크섬 필드에 기록하고, 상기 U플레그를 세팅하여 기본압축헤더를 생성하는 과정을 포함한다.
In a communication system based on the UDP / IP / PPP communication protocol according to the present invention, a method for compressing UDP, IP, and PPP packet headers into a compression header of a predetermined size may include: LR, U, M flags, channels At least an identifier field (CH-ID), a length information field (LENGTH), an IP information field (IP-INFO), a protocol field (PROTOCOL), a checksum field (UDP CHECKSUM), and an additional field (OPTIONAL FIELD). Receiving the UDP, IP, and PPP packets from a layer unit, recording connection identification information on the established communication link in the channel identifier field, setting the R flag, and setting a length field value of the UDP packet to the length information. Recording in the field, setting the L flag, modifying the IDENTIFICATION value of the IP packet according to a predetermined rule, and writing the IP field in the IP information field; proto And a recording process, the checksum field value of the UDP packet to be recorded in the field to the checksum field, and including the step of generating the base compressed header by setting the U flag.
RTP, UDP, IP, PPP, Header compression, internet phone, packet voiceRTP, UDP, IP, PPP, Header compression, internet phone, packet voice
Description
도 1은 TCP 패킷 구조를 도시하는 도면.1 is a diagram illustrating a TCP packet structure.
도 2는 IPv4 패킷 구조를 도시하는 도면.2 illustrates an IPv4 packet structure.
도 3은 종래기술에 따른 Van Jacobson의 방안에 따라 압축된 TCP/IP 패킷 구조를 도시하는 도면.3 illustrates a compressed TCP / IP packet structure according to Van Jacobson's scheme according to the prior art.
도 4는 본 발명에 따른 UDP/IP/PPP 제어정보 압축 및 해제 장치를 도시하는 도면.4 is a diagram illustrating an apparatus for compressing and decompressing UDP / IP / PPP control information according to the present invention;
도 5는 IPv6 패켓 구조를 도시하는 도면.5 illustrates an IPv6 packet structure.
도 6은 본 발명에 따른 패킷 헤더 데이터베이스(packet header database) 구조를 도시하는 도면.6 illustrates a packet header database structure in accordance with the present invention.
도 7은 UDP 패킷 구조를 도시하는 도면.7 illustrates a UDP packet structure.
도 8은 PPP 패킷 구조를 도시하는 도면.8 illustrates a PPP packet structure.
도 9는 본 발명에 따른 UDP/IP/PPP 제어정보 압축에 의해 생성된 패킷 구조를 도시하는 도면.9 illustrates a packet structure generated by UDP / IP / PPP control information compression according to the present invention.
도 10은 본 발명에 따른 변경필드의 구조를 도시하는 도면. 10 is a diagram showing the structure of a change field according to the present invention;
도 11은 본 발명에 따른 부가필드의 구조를 도시하는 도면.11 is a diagram showing the structure of an additional field according to the present invention;
도 12는 본 발명의 실시 예에 따른 유선환경에서 사용되는 UDP/IP/PPP 제어정보 압축 및 해제 장치를 도시하는 도면.12 is a diagram illustrating an apparatus for compressing and decompressing UDP / IP / PPP control information used in a wired environment according to an embodiment of the present invention.
도 13은 본 발명의 실시 예에 따른 무선환경에서 사용되는 UDP/IP/PPP 제어정보 압축 및 해제 장치를 도시하는 도면.FIG. 13 is a diagram illustrating a UDP / IP / PPP control information compression and decompression apparatus used in a wireless environment according to an embodiment of the present invention. FIG.
도 14는 RLP 패킷 구조를 도시하는 도면.14 illustrates an RLP packet structure.
도 15는 RTP 패킷 헤더 구조를 도시하는 도면.15 illustrates an RTP packet header structure.
도 16는 본 발명에 따른 RTP/UDP/IP/PPP 헤더 압축에 따라 생성된 패킷 헤더 구조를 도시하는 도면.16 illustrates a packet header structure generated according to RTP / UDP / IP / PPP header compression according to the present invention.
도 17은 본 발명에 따른 RTP/UDP/IP/PPP 헤더 압축에 따라 생성된 패킷 헤더 구조를 도시하는 도면.17 illustrates a packet header structure generated according to RTP / UDP / IP / PPP header compression according to the present invention.
도 18은 본 발명의 실시 예에 따른 호 설정 과정을 도시하는 도면.18 is a diagram illustrating a call setup process according to an embodiment of the present invention.
도 19a 및 도 19b는 본 발명의 실시 예에 따른 패킷 헤더 압축 과정을 도시하는 도면.19A and 19B illustrate a packet header compression process according to an embodiment of the present invention.
도 20은 본 발명의 실시 예에 따른 압축된 헤더를 해제하는 과정을 도시하는 도면.
20 is a diagram illustrating a process of releasing a compressed header according to an embodiment of the present invention.
본 발명은 통신시스템에서 프로토콜 헤더 압축 장치 및 방법에 관한 것으로, 특히 유선 혹은 무선의 저속 인터넷 환경에서 UDP(User Datagram Protocol) 기반 비연결형 통신서비스가 원활하게 지원될수 있도록 UDP/IP(Internet Protocol)/PPP(Point to Point Protocol)의 프로토콜 헤더를 줄이는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for compressing a protocol header in a communication system. In particular, UDP / IP / Internet Protocol / UDP / IP can be smoothly supported in a wired or wireless low-speed Internet environment for a user datagram protocol (UDP) based connectionless communication service. An apparatus and method for reducing a protocol header of a PPP (Point to Point Protocol).
특히, 본 발명은 멀티미디어 서비스를 인터넷에서 지원하는 경우, 가장 많이 사용되는 RTP(Realtime Transport Protocol)를 함께 고려하여 패킷 음성(Packet voice) 및 패킷 비디오 서비스를 저속 인터넷 환경에서 효과적으로 지원하는 방안을 제안한다. 이를 통하여 저속 유선 통신 환경에서 RTP/UDP/IP/PPP 기반 서비스가 원활하게 지원되며, 아울러 CDMA2000과 같은 무선 통신 환경에서도 인터넷 전화 및 인터넷 비디오 서비스를 유선망과의 호환성을 유지하면서 효율적으로 제공할수 있다. 특히 CDMA2000과 같은 무선 환경에서 인터넷 전화를 위하여 사용되는 경우 무선단에서도 기존의 회선형 전화와 동일하거나 보다 낮은 가격으로 서비스를 지원할수 있으며, 유선 망의 비용도 기존 회선형 음성 전화와 비교하여 크게 줄일수 있는 장점을 제공한다.In particular, the present invention proposes a method for effectively supporting packet voice and packet video services in a low-speed Internet environment in consideration of the most commonly used Real-time Transport Protocol (RTP) when supporting multimedia services on the Internet. . Through this, RTP / UDP / IP / PPP-based services are smoothly supported in low-speed wired communication environment, and in addition, it is possible to efficiently provide Internet telephony and Internet video service while maintaining compatibility with wired network even in wireless communication environment such as CDMA2000. In particular, when used for Internet telephony in a wireless environment such as CDMA2000, the wireless end can support the service at the same or lower price than the existing line-type telephone, and the cost of the wired network is greatly reduced compared to the conventional line-type voice telephone. It provides the advantages.
현재 비연결형 통신 프로토콜인 UDP/IP 패킷의 헤더를 압축하고 해제하는 방안 혹은 RTP 패킷의 헤더를 압축하고 해제하는 방안은 제안되지 않았으며, 관련 종래 기술로서 연결형 통신 프로토콜인 TCP(Transport Control Protocol)/IP의 헤더를 압축하고 해제하는 방안이 있다. 즉, 기존기술에 있어 UDP/IP/PPP 및 RTP의 헤더를 압축하고 해제하는 방안이 없었다. Currently, there is no proposal for compressing and decompressing headers of UDP / IP packets, which are connectionless communication protocols, or compressing and decompressing headers of RTP packets, and as a related art, TCP (Transport Control Protocol) / There is a way to compress and decompress the header of the IP. That is, in the conventional technology, there was no scheme for compressing and decompressing headers of UDP / IP / PPP and RTP.
유사한 분야로서, 현재 TCP/IP의 헤더를 압축하는 기술은 "Van Jacobson"에 의하여 제안되어져 있다. 이는 인터넷 관련 표준안 단체인 IETF(Internet Engineering Task Force)에서 RFC1144 "Compressing TCP/IP Header"로 공표되어져 있다. 상기 Van Jacobson은 저속의 시리얼(Serial)링크에서 TCP/IP 패킷의 전송을 원활히 하기 위하여, TCP/IP의 헤더를 PPP에서 압축하고 해제하는 기술을 제안하고 있다. (V. Jacobson, "Compressing TCP/IP Header for Low-Speed Serial Links", Fed 1990. http://ieff.org/rfc/rfc1144.txt)In a similar field, a technique for compressing the header of TCP / IP is currently proposed by Van Jacobson. It is published as RFC1144 "Compressing TCP / IP Header" by the Internet Engineering Task Force (IETF). Van Jacobson proposes a technique for compressing and decompressing headers of TCP / IP in PPP in order to facilitate transmission of TCP / IP packets on a low speed serial link. (V. Jacobson, "Compressing TCP / IP Header for Low-Speed Serial Links", Fed 1990. http://ieff.org/rfc/rfc1144.txt)
상기 Van Jacobson의 방안에서 TCP/IP 헤더 압축은 송신단 PPP의 압축기(Compressor)에서 수행하고, 해제는 수신단 PPP의 신장기(decompressor)에서 수행한다. 참고로 압축을 수행하지 않은 TCP 패킷의 프레임 구조 및 IP 패킷의 프레임 구조가 도 1과 도 2에 각각 도시되어 있다.In Van Jacobson's scheme, TCP / IP header compression is performed by the compressor of the transmitter PPP, and decompression is performed by the decompressor of the receiver PPP. For reference, a frame structure of a TCP packet and a frame structure of an IP packet which are not compressed are illustrated in FIGS. 1 and 2, respectively.
상기 압축기는 IP 패킷을 입력정보로 하고, 모든 입력 패킷을 3가지 타입의 형태로 출력한다. 상기 3가지 타입은 TYPE_IP, UNCOMPRESSED_TCP 혹은 COMPRESSED_TCP이다.The compressor uses IP packets as input information and outputs all input packets in three types. The three types are TYPE_IP, UNCOMPRESSED_TCP or COMPRESSED_TCP.
상기 "TYPE_IP" 패킷은 상기 압축기에 입력되는 IP의 형태를 압축기능을 수행하지 않고 그대로 유지하여 출력하는 경우이다. 상기 "UNCOMPRESSED_TCP" 패킷은 다른 필드를 수정하지 않고 단지 IP 패킷의 프로토콜(protocol) 필드를 연결번호(connection no 또는Connect No) 필드로 변경하는 경우이다. 상기 "COMPRESSED_TCP" 패킷은 TCP/IP 헤더 압축을 통하여 헤더 구조를 완전히 새로운 구조로 변경하는 경우이다. 상기 압축을 통한 새로운 TCP/IP 헤더 구조가 도 3에 도시되어 있다.The "TYPE_IP" packet is a case where the type of IP input to the compressor is maintained without being compressed and output. The "UNCOMPRESSED_TCP" packet is a case where only the protocol field of the IP packet is changed to a connection no or connect no field without modifying other fields. The "COMPRESSED_TCP" packet is a case where the header structure is changed to a completely new structure through TCP / IP header compression. The new TCP / IP header structure through compression is shown in FIG. 3.
이하 상기 압축기(Compressor)의 동작을 설명한다.Hereinafter, the operation of the compressor will be described.
먼저, TYPE_IP로 전송하는 경우에 대해 살펴보면 다음과 같다.First, the case of transmitting by TYPE_IP is as follows.
조건1 : 패킷이 TCP 프로토콜의 패킷이 아니고, 혹은 상기 패킷이 IP 패킷의 조각(fragment)이면 상기 TYPE_IP로 전송한다. 이 경우 조각인 IP 패킷은 첫 번째를 제외하고는 TCP 헤더를 갖지 않으며, 따라서 IP 패킷만을 가지는 패킷에 대한 압축은 지원하지 않는다.Condition 1: If the packet is not a packet of the TCP protocol or the packet is a fragment of an IP packet, the packet is transmitted to the TYPE_IP. In this case, the fragmented IP packet does not have a TCP header except for the first one, and thus does not support compression for a packet having only an IP packet.
조건2 : TCP 패킷의 SYN, FIN 혹은 RST 플래그가 설정되어 있으면 해당 패킷을 TYPE_IP로 전송한다. Condition 2: If the SYN, FIN or RST flag of a TCP packet is set, the packet is sent to TYPE_IP.
상기한 조건들에 해당하지 않는 패킷은 상기 "COMPRESSED_TCP" 혹은 "UNCOMPRESSED_TCP"로 전송한다. Packets which do not correspond to the above conditions are transmitted to the "COMPRESSED_TCP" or "UNCOMPRESSED_TCP".
한편, 상기 "Van Jacobson"의 제안 방안은 연결상태(connection state)라는 정보를 송신단에서 관리한다. 상기 연결상태(connection state)는 TCP 혹은 IP 헤더에 포함된 필드 값들을 관리하며, 해당 연결(connection)은 IP 패킷의 소스어드레스(source address), 목적지 어드레스(destination address), 그리고 TCP 패킷의 소스포트(source port)와 목적지포트(destination port)로 식별된다.On the other hand, the proposed scheme of "Van Jacobson" manages the information called the connection state (connection state) at the transmitting end. The connection state manages field values included in the TCP or IP header, and the connection is a source address of the IP packet, a destination address, and a source port of the TCP packet. It is identified by (source port) and destination port (destination port).
조건1 : 만일 도착한 IP 패킷과 동일한 주소 및 포트 번호를 가지는 연결상태(connection state)가 없다면, 송신단에서는 해당 패킷에 대한 연결상태(connection state)를 생성하고 해당 패킷을 상기 "UNCOMPRESSED_TCP"의 형태로서 전송한다. Condition 1: If there is no connection state with the same address and port number as the arrived IP packet, the sender creates a connection state for the packet and transmits the packet in the form of "UNCOMPRESSED_TCP". do.
조건2 : 도착한 IP 패킷과 동일한 주소 및 포트번호를 가지는 연결상태가 있다면, 상기 압축기는 해당 패킷내의 {Protocol Version, Header Length, Type of Service, DF & MF Flags, Fragment Offset, Time to Live, Protocol, Source Address, Destination Address, Source Port, Destination Port, Data Offset, ACK, SYN, RST, and FIN} 필드들의 값이 연결상태에 저장된 값과 동일한지를 점검한다. 즉, 이전에 전송한 패킷의 정보 값과 동일한지를 점검한다. 만약, 해당 필드들이 다른 값을 가지면 해당 패킷은 상기 "UNCOMPRESSED_TCP"로 전송한다.Condition 2: If there is a connection state having the same address and port number as the arrived IP packet, the compressor is configured to have {Protocol Version, Header Length, Type of Service, DF & MF Flags, Fragment Offset, Time to Live, Protocol, Source Address, Destination Address, Source Port, Destination Port, Data Offset, ACK, SYN, RST, and FIN} Checks whether the values in the connection are the same as those stored in the connection. In other words, it checks whether the information value of the previously transmitted packet is the same. If the fields have different values, the packet is transmitted to the "UNCOMPRESSED_TCP".
한편, 도착한 IP 패킷이 위에 기술한 조건들에 해당되지 않으면, 압축기는 다음과 같은 동작을 계속 수행한다.On the other hand, if the arrived IP packet does not meet the conditions described above, the compressor continues to perform the following operation.
조건1 : TCP의 "URG" 플래그가 설정되어 있으면, "urgent data" 필드가 인코딩되고, 도 3의 "change mask"내의 U비트가 설정된다. 만약, "URG" 플래그가 설정되어 있지 않으면, "urgent data" 필드의 내용은 이전 패킷과 비교되며, 이 때 내용이 다른 경우 상기 "UNCOMPRESSED_TCP" 패킷을 전송한다.Condition 1: If the "URG" flag of TCP is set, the "urgent data" field is encoded, and the U bit in the "change mask" of FIG. 3 is set. If the "URG" flag is not set, the contents of the "urgent data" field are compared with the previous packet. If the contents are different, the "UNCOMPRESSED_TCP" packet is transmitted.
조건2 : 만약, TCP의 "window" 필드 값이 이전 패킷의 "window"값과 다른 경우 도 3의 "change mask"내의 W비트를 설정하고 상기 "windoe" 필드의 차이 값을 인코딩한다.Condition 2: If the "window" field value of TCP is different from the "window" value of the previous packet, set the W bit in the "change mask" of FIG. 3 and encode the difference value of the "windoe" field.
조건3 : 만약, TCP의 "ACK" 필드 값이 이전 패킷의 값과 다르면, 도 3의 "change mask"내의 A 비트를 설정하고, 상기 "ACK" 필드의 차이 값을 인코딩한다. 이 경우, 상기 차이 값이 "0"이하 혹은 216-1 이상이면 상기 "UNCOMPRESSED_TCP" 패킷을 전송한다. Condition 3: If the "ACK" field value of TCP is different from the value of the previous packet, set the A bit in the "change mask" of FIG. 3 and encode the difference value of the "ACK" field. In this case, when the difference value is "0" or less or more than 216-1, the "UNCOMPRESSED_TCP" packet is transmitted.
조건4 : 만약 TCP의 "sequence number" 필드 값이 이전 패킷의 값과 다르면, 도 3의 "change mask"내의 S비트를 설정하고, 상기 "sequence number" 필드의 차이 값을 인코딩한다. 이 경우, 상기 차이 값이 "0"이하 혹은 216-1 이상이면 상기 "UNCOMPRESSED_TCP" 패킷을 전송한다.Condition 4: If the value of the "sequence number" field of TCP is different from that of the previous packet, set the S bit in the "change mask" of FIG. 3 and encode the difference value of the "sequence number" field. In this case, when the difference value is "0" or less or more than 216-1, the "UNCOMPRESSED_TCP" packet is transmitted.
상기와 같이 변경마스크(Change mask)의 U, W, A 및 S비트가 설정되면 다음과 같은 특별 케이스에 대한 작업을 수행한다.As described above, when the U, W, A, and S bits of the change mask are set, the following special case is performed.
조건1: 만약, 상기 S비트만 설정되면, TCP/IP의 헤더를 제외한 사용자데이터(user data)의 크기를 이전 패킷과 비교한다. 이 경우, 패킷의 크기가 동일하면 상기 변경마스크를 SAWU("unidirectional data transfer"에 대한 특별 케이스)로 설정하고, 인코딩된 시퀀스번호(sequence number)를 제거한다. 이 때에 수신 단 해제기(decompressor)가 이전 패킷에 대한 전체 길이 및 헤더 길이를 알고 있으므로 통신에는 문제가 없다.Condition 1: If only the S bit is set, the size of user data excluding the header of TCP / IP is compared with the previous packet. In this case, if the packet sizes are the same, the change mask is set to SAWU (special case for "unidirectional data transfer"), and the encoded sequence number is removed. At this time, since the decompressor knows the total length and the header length of the previous packet, there is no problem in communication.
조건2 : 만약 상기 S와 상기 A비트가 설정되고, 상기 S와 A에 대한 필드 값의 변경 정도가 동일하며 그 변경정도가 마지막 패킷 안의 사용자 데이터의 량이라면, SWU("echoed interactive" 트래픽에 대한 특별 케이스)를 설정하고 인코딩된 변경사항을 제거한다.Condition 2: If the S and A bits are set and the degree of change of the field values for S and A is the same and the amount of change is the amount of user data in the last packet, then for SWU ("echoed interactive" traffic) Special case) and remove the encoded changes.
조건3 : 만약 변경된 필드가 없으면서, 사용자 데이터가 없거나 이전 패킷의 데이터를 가지고 있으면 재전송으로 고려하여 상기 "UNCOMPRESSED_TCP"를 전송한다.Condition 3: If there is no changed field and there is no user data or has data of a previous packet, the "UNCOMPRESSED_TCP" is transmitted in consideration of retransmission.
마지막으로 TCP/IP 헤더는 압축된 헤더로 변경되어 전송된다. 이에 해당하는 작업들은 다음과 같다.Finally, the TCP / IP header is changed to a compressed header and sent. The corresponding tasks are as follows.
먼저, IP 패킷의 Packet ID(Identification) 값에 대한 이전 패킷과의 변경 정도를 계산한다. 만약, 변경 정도가 1이 아니면, change mask의 I 비트를 설정하고 차이 값을 인코딩한다. (Identification은 일반적으로 매 패킷의 전송 후에 1씩 증가함) 그리고, 만약 TCP의 PUSH가 설정되어 있으며, change mask의 P 비트를 설정한다. 이후, TCP/IP의 헤더 정보를 송신단의 연결상태에 저장한다. 그리고, 새롭게 생성된 TCP/IP 헤더를 패킷에 삽입한다. 새롭게 생성되는 패킷은 다음과 같은 정보를 포함한다.First, the degree of change from the previous packet to the Packet ID (Identification) value of the IP packet is calculated. If the change degree is not 1, the I bit of the change mask is set and the difference value is encoded. (Identification generally increases by 1 after every packet transmission.) If TCP's PUSH is set, the P bit of the change mask is set. After that, the header information of the TCP / IP is stored in the connection state of the transmitting end. Then, the newly created TCP / IP header is inserted into the packet. The newly created packet includes the following information.
① 인코딩된 변경 값들① encoded changes
② 도착한 TCP 헤더에서 추출한 checksum 필드 값② The value of the checksum field extracted from the arrived TCP header
③ 연결번호 (connection number) - 이전 패킷과 현재의 패킷이 다른 경우만 삽입③ connection number-insert only if previous packet and current packet are different
④ Change mask④ Change mask
수신단의 해제기(decompressor)는 상기한 압축기(compressor)의 동작과 비교해 볼때 보다 단순한 처리를 수행한다. 상기 해제기는 {패킷 길이, 패킷 타입, 연결상태 정보}를 입력 파라메타로 동작한다. 상기 해제기는 4가지 형태의 패킷을 수신할 수 있다. 이들은 송신 단이 생성한 "TYPE_IP", "COMPRESSED_TCP", "UNCOMPRESSED_TCP"와 전송상의 에러로 발생하는 "TYPE_ERROR"가 된다.The decompressor of the receiver performs a simpler process compared to the operation of the compressor described above. The releaser operates {packet length, packet type, connection state information} as input parameters. The releaser can receive four types of packets. These become "TYPE_IP", "COMPRESSED_TCP" and "UNCOMPRESSED_TCP" generated by the transmitting end, and "TYPE_ERROR" caused by a transmission error.
조건1 : 만약 TYPE_ERROR 혹은 식별 불가능한 패킷이 수신되면, 수신단은 'toss' 플래그를 설정한다. 아울러, 해당 패킷과 이후에 도착하는 패킷들을 C비트 가 설정된 COMPRESSED_TCP 혹은 UNCOMPRESSED_TCP가 도착 할 때까지 폐기한다.Condition 1: If a TYPE_ERROR or unidentifiable packet is received, the receiver sets the 'toss' flag. In addition, the packet and subsequent packets are discarded until COMPRESSED_TCP or UNCOMPRESSED_TCP arrives with the C bit set.
조건2 : 만약 TYPE_IP 패킷이 도착하면, 수정되지 않은 복사본이 리턴되며, 관련 상태 정보는 수정되지 않는다.Condition 2: If a TYPE_IP packet arrives, an unmodified copy is returned, and the relevant status information is not modified.
조건3 : 만약 UNCOMPRESSED_TCP 패킷이 도착하면, IP 프로토콜 필드와 수신단의 상태 정보를 점검한다. 이 경우, 무효(invalid)한 패킷인 경우는 'toss' 플래그를 설정하고 해당 패킷을 폐기한다. 유효(Valid)한 패킷인 경우에는 "toss" 플래그를 해제하고, 해당 패킷의 정보를 수신단의 상태 정보로 저장한다. 그리고, 수신된 정보를 기반으로 하여 압축 해제된 패킷 헤더를 생성한다.Condition 3: If a UNCOMPRESSED_TCP packet arrives, check the IP protocol field and status information at the receiving end. In this case, if the packet is invalid, the 'toss' flag is set and the packet is discarded. In the case of a valid packet, the "toss" flag is released and the information of the packet is stored as state information of the receiving end. The decompressed packet header is generated based on the received information.
상기 기술한 조건들에 해당하지 않는 패킷은 "COMPRESSED_TCP" 패킷이다. 따라서, 수신된 패킷 헤더의 압축 해제를 위해서는 연결번호를 통하여, 수신단의 상태 정보로부터 이전에 수신된 패킷의 정보를 추출한다. 그리고, 수신된 패킷의 정보와 이전 패킷의 정보를 기반으로 하여 새롭게 갱신된 헤더를 만들어야 한다. 이에 해당하는 내용은 다음과 같다.A packet that does not meet the above conditions is a "COMPRESSED_TCP" packet. Therefore, in order to decompress the received packet header, information of a previously received packet is extracted from the state information of the receiving end through the connection number. Then, a newly updated header should be created based on the information of the received packet and the information of the previous packet. The corresponding contents are as follows.
조건1 : 만약 C비트가 설정되어 있으면 해당 패킷의 연결번호(connection number)를 통하여 수신 단의 상태 정보를 검색한다. 만약, 해당 연결번호에 대한 정보가 수신단에 없는 경우는 해당 패킷을 폐기하고, "toss" 플래그를 설정한다. 상기 C비트가 설정되어 있지 않은 경우에는 마지막으로 이전에 수신된 패킷의 연결번호를 해당 패킷의 연결번호로 사용하며, "toss" 플래그를 해제한다.Condition 1: If the C bit is set, the receiver's status information is retrieved through the connection number of the packet. If there is no information on the connection number in the receiver, the packet is discarded and the "toss" flag is set. If the C bit is not set, the connection number of the last received packet is used as the connection number of the packet, and the "toss" flag is released.
조건2 : 만약 상기 C 비트가 설정되어 있지 않고, "toss" 플래그가 설정된 경우에는 해당 패킷을 폐기한다. Condition 2: If the C bit is not set and the "toss" flag is set, the packet is discarded.
아울러, 세부적인 필드 재구성 절차는 다음과 같다.In addition, the detailed field reconstruction procedure is as follows.
먼저, TCP checksum 필드는 수신된 값 그대로 재구성 버퍼에 저장한다.First, the TCP checksum field is stored in the reconstruction buffer as it is.
여기서, 만약 P 비트가 설정되어 있으면, TCP PUSH 비트를 설정하여 재구성 버퍼에 저장한다. 그렇지 않으면, 설정하지 않은 상태로 저장한다. 만약 S, A, W 및 U 비트가 모두 설정되어 있으면 (unidirectional data), 이전의 마지막에 수신한 패킷의 사용자 데이터 필드 크기에서 수신한 패킷의 TCP/IP 헤더 길이를 뺀 값을 계산한다. 그리고, 계산된 값을 TCP 시퀀스번호(sequence number)에 더한 후 재구성 버퍼로 저장한다. 만약 S, W 및 U 비트가 설정되어 있으면 (terminal traffic), 이전의 마지막에 수신한 패킷의 사용자 데이터 필드 크기를 TCP 시퀀스 번호와 ack 필드에 더한 후 재구성 버퍼에 저장한다. 마지막으로, 위의 경우에 해당하지 않는 경우는 다음의 절차를 수행한다.Here, if the P bit is set, the TCP PUSH bit is set and stored in the reconfiguration buffer. Otherwise, save it without setting. If the S, A, W, and U bits are all set (unidirectional data), the user data field size of the last received packet is calculated by subtracting the TCP / IP header length of the received packet. The calculated value is added to the TCP sequence number and stored in the reconstruction buffer. If the S, W, and U bits are set (terminal traffic), the size of the user data field of the last received packet is added to the TCP sequence number and the ack field and stored in the reconstruction buffer. Finally, if the above is not the case, follow the procedure below.
만약 U 비트가 설정되어 있으면, TCP URG 비트가 설정되어 재구성 버퍼로 저장되며, urgent pntr 필드의 값이 TCP Urgent Pointer 필드 값으로 할당되어 재구성 버퍼로 저장된다. 만약 W 비트가 설정되어 있으면, _d window 필드의 값을 이전에 수신한 TCP window 필드 값에 더하여 재구성 버퍼로 저장한다. 만약 A 비트가 설정되어 있으면, _d ack 필드의 값을 이전에 수신한 TCP ack 필드 값에 더하여 재구성 버퍼로 저장한다. 만약 S 비트가 설정되어 있으면, _d sequence 필드의 값을 이전에 수신한 TCP sequence 필드 값에 더하여 재구성 버퍼로 저장한다. 만약 I 비트가 설정되어 있으면, _d IP ID 필드의 값을 이전에 수신한 TCP Identifier 필드 값에 더하여 재구성 버퍼로 저장한다. 이후, 헤더 및 데이터 정보의 길이를 계산하 여 재구성 버퍼로 저장하고, 또한 IP의 checksum 값을 재계산하여 재구성 버퍼로 저장한다. 이를 통하여 재구성된 TCP/IP 패킷이 완성된다.If the U bit is set, the TCP URG bit is set and stored in the reconfiguration buffer, and the value of the urgent pntr field is assigned to the TCP Urgent Pointer field value and stored in the reconfiguration buffer. If the W bit is set, the value of the _d window field is added to the previously received TCP window field value and stored in the reconstruction buffer. If the A bit is set, the value of the _d ack field is added to the previously received TCP ack field value and stored in the reconfiguration buffer. If the S bit is set, the value of the _d sequence field is added to the previously received TCP sequence field value and stored in the reconstruction buffer. If the I bit is set, the value of the _d IP ID field is added to the previously received TCP Identifier field value and stored in the reconfiguration buffer. After that, the length of the header and data information is calculated and stored in the reconstruction buffer, and the checksum value of the IP is recalculated and stored in the reconstruction buffer. This completes the reconstructed TCP / IP packet.
전술한 바와 같이, 상기 "Van Jacobson"이 제안한 방안의 문제점은 TCP/IP를 대상으로 고려하였기에 본 발명이 고려하고자 하는 UDP/IP의 환경에는 적합하지 않다는 점과 함께, TCP/IP의 헤더 정보중 이전 패킷과의 '차이 값'으로 전송하지 않는 필드의 정보(일반적으로 변경이 거의 없는 필드의 정보)가 변경되는 경우에는 패킷 헤더 전체를 전송해야 하는 문제점이 있다. 즉, 변경된 필드의 정보만을 전송하는 기능이 없다. As described above, the problem of the scheme proposed by "Van Jacobson" is that TCP / IP is considered as an object and is not suitable for the environment of UDP / IP. If information of a field (generally, information of a field with little change) that is not transmitted as a 'difference value' from a previous packet is changed, there is a problem in that the entire packet header is transmitted. That is, there is no function of transmitting only the information of the changed field.
아울러, 헤더의 최소 크기 구조를 가정하여 기법을 제안하므로서, TCP/IP 헤더에 부가(Options) 정보가 실리는 경우에는 별다른 지원 방안이 기술되어 있지 않다. 따라서, 이러한 경우에는 전체 헤더를 그대로 전송해야하는, 즉 압축 방안이 지원될 수 없는 상황에 직면한다. In addition, since the scheme is proposed assuming the minimum size structure of the header, no support method is described when the option information is loaded in the TCP / IP header. Thus, in this case, the entire header must be transmitted as it is, that is, a compression scheme cannot be supported.
또한, 상기 "Van Jacobson" 의 제안방안은 '차이 값'을 전송하는 방안에 전적으로 의지하므로서, '차이 값'을 전송하던 헤더가 중간에 에러가 발생하여 폐기되는 경우에는 연속적으로 수신되는 패킷들을 전체 헤더가 압축되지 않은 패킷이 수신될 때 까지 폐기하고, TCP의 재전송 기능을 통하여 에러를 복구하는 기능을 지원해야 한다. 그러나, 상기 "Van Jacoban" 방안은 재전송을 고려하지 않으며, 주로 지연에 민감한 트래픽을 전송하는 UDP 패킷에서는 치명적인 성능 저하를 야기하는 문제점을 가진다. 즉, 인터넷 전화 같은 경우 에러가 발생하는 경우에서는 전체 헤더가 수신되는 경우가 발생할 때까지 패킷들이 폐기되므로 통화 불능 상태에 빠지 는 결과를 초래한다.
In addition, the proposal of "Van Jacobson" relies solely on the method of transmitting the 'difference value', so that if the header transmitting the 'difference value' is discarded due to an error in the middle, the packets received continuously The header should be discarded until the uncompressed packet is received and the error recovery function should be supported through TCP retransmission. However, the "Van Jacoban" scheme does not consider retransmission, and has a problem that causes a fatal performance degradation in UDP packets mainly transmitting delay sensitive traffic. That is, in the case of an error such as an Internet phone, packets are discarded until the entire header is received, resulting in an incapable call.
따라서 본 발명의 목적은 저속 유무선 직렬(serial) 통신 장치들에 있어서 UDP, IP, IPv4 & IPv6 및 PPP 프로토콜을 기반으로 하는 통신 서비스가 효과적으로 지원되는 방안을 제공함에 있다. Accordingly, an object of the present invention is to provide a method for effectively supporting communication services based on UDP, IP, IPv4 & IPv6, and PPP protocols in low-speed wired / wireless serial communication devices.
본 발명의 다른 목적은 현재 인터넷 멀티미디어 서비스의 주요 기술로서 사용되고 있는 UDP, IP, IPv4 & IPv6 및 PPP 프로토콜의 헤더 크기를 최소화 함으로서, 보다 많은 통신 용량을 실제 사용자 트래픽의 송수신에 활용할 수 있는 장치 및 방법을 제공함에 있다.Another object of the present invention is to minimize the header size of UDP, IP, IPv4 & IPv6, and PPP protocols, which are currently used as the main technologies of Internet multimedia services, and to provide more communication capacity for transmitting and receiving actual user traffic. In providing.
본 발명의 또 다른 목적은 무선 통신망에서 기존 회선형 음성 서비스가 사용하는 대역 요구 수준 이하의 대역에서 효과적으로 인터넷 전화를 사용하게 할 수 있도록 하는 방안을 제안함에 있다.Another object of the present invention is to propose a method for effectively using an Internet telephone in a band below a bandwidth requirement level of a conventional line type voice service in a wireless communication network.
본 발명의 또 다른 목적은 비연결형 UDP 통신 프로토콜에 기반하는 실시간 멀티미디어 서비스들을 지원하기 위한 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for supporting real-time multimedia services based on a connectionless UDP communication protocol.
상기 목적들을 달성하기 위한, UDP/IP/PPP 통신 프로토콜에 기반하는 통신시스템에서 UDP,IP,PPP 패킷 헤더들을 소정 크기의 압축헤더로 압축하기 위한 방법이, 상기 압축헤더는 L.R,U,M 플래그, 채널식별자 필드(CH-ID), 길이정보 필드(LENGTH), IP정보필드(IP-INFO), 프로토콜 필드(PROTOCOL), 체크섬 필드(UDP CHECKSUM), 부가필드(OPTIONAL FIELD)를 적어도 포함하며, 상위 프로토콜 계층부로 부터 상기 UDP,IP,PPP 패킷들을 수신하고, 설정된 통신링크에 대한 연결식별정보를 상기 채널식별자 필드에 기록하고 상기 R플래그를 세팅하는 과정과, 상기 UDP 패킷의 길이 필드 값을 상기 길이정보 필드에 기록하고, 상기 L플래그를 설정하는 과정과, 상기 IP 패킷의 식별필드(IDENTIFICATION) 값을 소정 규칙에 의해 수정하여 상기 IP정보필드에 기록하는 과정과, 상기 PPP 패킷의 프로토콜 필드 값을 상기 프로토콜 필드에 기록하는 과정과, 상기 UDP 패킷의 체크섬 필드 값을 상기 체크섬 필드에 기록하고, 상기 U플레그를 세팅하여 기본압축헤더를 생성하는 과정을 포함하는 것을 특징으로 한다.
A method for compressing UDP, IP, and PPP packet headers into a compression header of a predetermined size in a communication system based on the UDP / IP / PPP communication protocol for achieving the above objects, the compression header is an LR, U, M flag At least a channel identifier field (CH-ID), a length information field (LENGTH), an IP information field (IP-INFO), a protocol field (PROTOCOL), a checksum field (UDP CHECKSUM), and an additional field (OPTIONAL FIELD). Receiving the UDP, IP, and PPP packets from an upper protocol layer unit, recording connection identification information on the established communication link in the channel identifier field and setting the R flag; Recording in a length information field, setting the L flag, modifying an IDENTIFICATION value of the IP packet according to a predetermined rule, and writing the same in the IP information field; and a protocol field value of the PPP packet. Characterized by comprising a recording step of recording in said protocol field, a checksum field value of the UDP packet to the checksum field, and the step of generating the base compressed header by setting the U flag.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 동일 부호를 가지도록 하였다. 또한 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, in adding the reference numerals to the components of each drawing, the same components have the same reference numerals as much as possible even if displayed on different drawings. In describing the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
본 발명이 가장 효과적으로 사용될 수 있는 분야는 저속의 유선망과 함께, 기존 무선 통신망인 IS95A, IS95B, cdma2000 및 IMT2000이다. 상기한 무선 통신망들은 유선망과 비교하여 저속의 통신 채널을 가입자에게 지원한다. 따라서, 제한된 무선 채널을 효과적으로 사용하기 위해서는 패킷 헤더와 같은 제어 정보의 최소화 가 요구된다.Fields in which the present invention can be most effectively used are IS95A, IS95B, cdma2000 and IMT2000, which are existing wireless communication networks, together with low-speed wired networks. The wireless communication networks support subscribers with low speed communication channels compared to wired networks. Therefore, minimization of control information such as packet headers is required to effectively use a limited radio channel.
특히, 최근 폭발적으로 활성화되는 인터넷 전화의 경우에도 현재의 무선 통신망 구조 및 통신 프로토콜로서는 무선 통신망에서 지원이 불가능하거나 비용이 매우 비싸 시장성이 없지만, 본 발명에서 제안하는 방안을 사용하면 기존 회선형 전화에 비교하여 낮은 가격의 구현이 가능해진다. In particular, even in the case of the recent explosive activation of the Internet phone, the current wireless communication network structure and communication protocol are not supported by the wireless communication network or the cost is very high, but there is no market. In comparison, lower cost implementations are possible.
현재 급격한 성장을 보이고 있는 인터넷 전화는 기본적으로 이동 전화와 같이 음성을 압축하는 방식을 취한다. 이를 '음성 압축'이라 하며 이는 보코더(vocoder)라 하는 압축 장치를 통하여 이루어진다. 보코더의 핵심은 음성 압축 방식에 있으며 이를 수행하는 모듈을 코덱(codec)이라 한다.Internet phones, which are growing rapidly at present, basically take the form of compressing voice like mobile phones. This is called 'voice compression' and this is done through a compression device called a vocoder. The core of the vocoder is the speech compression method, and the module that performs it is called a codec.
상기 인터넷 전화를 위하여 사용하는 코덱은 크게 ITU(International Telecommunication Unions)-T의 표준안인 G.729와 G.723.1이 있다. 상기 ITU-T G.729는 8kbps의 대역을 요구하며, 10ms 마다 음성 프레임을 생성한다. 이때 음성이 활성화된 (talk) 구간에서는 80bits를 생성하고, 비활성화된 묵음 (silence) 구간에서는 15bits의 음성 트래픽을 생성한다. 또한 유선 망에서 활용시에는 비활성화 구간의 트래픽을 제거하는 'silence compression' 기능을 통하여 통신 대역을 보다 효과적으로 사용하도록 유도한다. 따라서, G.729 기반의 인터넷 전화는 활성화시에 매 10ms마다 264bits의 헤더 정보와 80bits의 음성 정보를 생성한다. The codecs used for the Internet telephony are G.729 and G.723.1, which are standards of the International Telecommunication Unions (TTU) -T. The ITU-T G.729 requires a band of 8 kbps and generates a voice frame every 10 ms. In this case, 80 bits are generated in the talk-activated section and 15 bits in the deactivated silence section. In addition, when used in a wired network, the 'silence compression' function that removes traffic in an inactive section leads to more efficient use of a communication band. Therefore, G.729-based Internet telephony generates 264 bits of header information and 80 bits of voice information every 10 ms upon activation.
한편, 상기 ITU-T G.723.1은 6.3kbps 혹은 5.4kbps의 대역을 요구하며, 30ms 마다 음성 프레임을 생성한다. 이때 음성 트래픽은 활성화시에 각각 192bits 혹은 160bits의 트래픽을 생성한다. G.723.1도 G.729와 마찬가지로 'silence compression' 기능을 제공하며, 무선 환경에 적합하도록 지원하는 방안을 별도로 제공한다. 따라서, G.723.1을 사용하는 경우에는 매 30ms마다 264bits의 헤더 정보와 192bits 혹은 160bits의 음성 트래픽 정보가 생성된다.Meanwhile, the ITU-T G.723.1 requires a band of 6.3 kbps or 5.4 kbps and generates a voice frame every 30 ms. At this time, the voice traffic generates 192bits or 160bits respectively when activated. G.723.1, like G.729, provides 'silence compression' and provides additional support for wireless environments. Therefore, when using G.723.1, 264 bits of header information and 192 bits or 160 bits of voice traffic information are generated every 30 ms.
이와 관련하여, 기존 IS95A, IS95B, PCS(Personal Communication Service) 및 GSM(Global System for Mobile communications)과 같은 무선 통신 시스템에서는 9.6kbps 혹은 14.4kbps의 저속 채널을 통하여 음성 서비스를 지원해 왔다. 따라서, G.729 혹은 G.723.1에 기반하는 인터넷 전화 서비스의 지원을 위하여 무선 대역이 9.6kbps 혹은 14.4kbps를 넘어서는 경우에는 기본적으로 무선단에서의 비용이 더욱 증가하는 결과를 초래한다. 따라서, G.729 혹은 G.723.1을 지원하는 인터넷 전화의 경우도 무선 상황에서 동일하게 9.6kbps 혹은 14.4kbps의 대역에서 지원되거나 그 이하의 속도에서 지원되어야 한다.In this regard, existing wireless communication systems such as IS95A, IS95B, Personal Communication Service (PCS) and Global System for Mobile communications (GSM) have supported voice services over low speed channels of 9.6 kbps or 14.4 kbps. Therefore, if the radio band exceeds 9.6kbps or 14.4kbps to support the Internet telephony service based on G.729 or G.723.1, the cost of the wireless terminal is basically increased further. Therefore, an Internet phone supporting G.729 or G.723.1 should be supported in the same or less than 9.6kbps or 14.4kbps band in the wireless situation.
그러나, 앞서 기술하였듯이 UDP, IPv4 & IPv6, PPP의 헤더 압축 기능이 없을 경우, G.729 및 G.723.1은 각각 688bits/20ms, 456bits(혹은 424bits)/30ms의 용량을 가지며, 이는 cdma2000을 고려하여 9.6kbps의 이동 통신망이 지원할 수 있는 160bits/20ms 혹은 14.4kbps의 이동 통신망이 지원할 수 있는 256bits/20ms를 훨씬 상회하는 요구치이다. 특히, 이 경우 인터넷 전화에서 점차 사용이 확산되고 있는 RTP의 헤더를 고려하면 상회하는 요구치는 더욱 커진다. 아울러, IPv6의 경우는 어드레스 필드의 크기가 IPv4의 4바이트에서 16바이트로 증가함에 따라 더욱 오버헤드를 필요로 한다. 결론적으로 현재의 UDP, IPv4 & IPv6, PPP 및 RTP의 헤더를 그대로 사용하는 경우에는 효과적인 가격의 UDP 기반 서비스 및 인터넷 전화가 무선 통신 시스템에서 지원될 수 없다. 아울러, 고가의 저속 무선 대역을 대부분 헤더 전송에 사용하므로서 효율이 매우 낮아지는 결과를 초래한다.However, as described above, in the absence of header compression of UDP, IPv4 & IPv6, and PPP, G.729 and G.723.1 have capacities of 688bits / 20ms and 456bits (or 424bits) / 30ms, respectively. This is much higher than the 160bits / 20ms that the 9.6kbps network can support or the 256bits / 20ms that the 14.4kbps mobile network can support. In particular, in this case, considering the header of RTP, which is increasingly used in Internet telephony, the exceeding demand is even greater. In addition, in case of IPv6, overhead is further required as the size of the address field increases from 4 bytes to 16 bytes of IPv4. In conclusion, if the headers of the current UDP, IPv4 & IPv6, PPP, and RTP are used as they are, effective UDP-based services and Internet telephony cannot be supported in a wireless communication system. In addition, most expensive low-speed radio bands are used for header transmission, resulting in very low efficiency.
따라서, 본 발명은 무선 통신망에서도 기존 회선형 음성 서비스가 사용하는 대역 요구 수준 이하의 대역에서 효과적으로 현재의 인터넷 전화를 사용하게 할 수 있는 방안을 제안한다. 특히, 이러한 방안은 기존의 회선형 전용 라인을 중심으로 하는 무선 통신망 구조를 패킷 통신 방식으로 재편하도록 유도하므로서 무선 망의 구축에 필요한 비용을 현격히 줄일 수 있다.Therefore, the present invention proposes a method for effectively using the current Internet telephone in a band below the bandwidth requirement level of the existing line type voice service even in a wireless communication network. In particular, this scheme can significantly reduce the cost required to build a wireless network by inducing a restructuring of a wireless communication network structure centering on a conventional line-type dedicated line into a packet communication scheme.
이하 도면의 참조와 함께 상세히 설명한다.It will be described below in detail with reference to the drawings.
본 발명의 실시예에 따른 UDP/IPv4&IPv6/PPP 헤더 압축 및 해제 장치인 헤더 옵티마이저(Header Optimizer : 이하 옵티마이저라 칭함)는 도 4에 도시된 바와 같이, 크게 헤더 인캡슐레이터(Header Encapsulator : 이하 인캡슐레이터라 칭함)401, 헤더 디캡슐레이터(Header Decapsulator : 이하 디캡슐레이터라 칭함)402, 패킷 헤더 데이터베이스(Packet Header Database : 이하 헤더 데이터베이스라 칭함)403 및 연결추적기(connection tracer)404로 구성된다. 이하 설명에서 IP란 IPv4와 IPv6를 통칭하는 용어이다. A header optimizer (hereinafter, referred to as an optimizer) that is a UDP / IPv4 & IPv6 / PPP header compression and decompression device according to an embodiment of the present invention is largely referred to as a header encapsulator (Header Encapsulator). 401, a header decapsulator (hereinafter referred to as a decapsulator) 402, a packet header database (hereinafter referred to as a header database) 403 and a connection tracer (404). . In the following description, IP is a generic term for IPv4 and IPv6.
본 발명에서 제안하는 상기 옵티마이저의 구현 형태는 다음과 같은 방식으로 이루어 질 수 있다. 첫 번째, Van Jacobson의 TCP/IP 헤더 압축 기법처럼, PPP 링크 프로토콜의 확장된 기능으로 구현할 수 있고, 두 번째 기존의 PPP와 하위 통신 프로토콜의 사이에 신규의 프로토콜 계층으로서 구현할수 있으며, 세 번째 무선 통신망에서 RLP(Radio Link Protocol) 통신 프로토콜의 확장된 기능으로서 구현할수 있다. 본 발명은 상기한 형태 중에서 어떠한 방식을 취하든지 간에 성능의 차이는 없다. 발명의 설명을 용이하게 하기 위하여 별도의 구분이 없는 한 첫 번째 방식에 의하여 본 발명을 적용하는 것을 가정하여 설명하도록 한다. 또한, 본 발명은 단방향(simplex)과 양방향(half duplex, full duplex) 통신 방식을 모두 지원한다. 따라서, 상기 옵티마이저는 헤더 압축을 위한 인캡슐레이터와 디캡슐레이터의 쌍(pair)을 가진다.Implementation of the optimizer proposed in the present invention can be made in the following manner. First, like Van Jacobson's TCP / IP header compression scheme, it can be implemented as an extension of the PPP link protocol, secondly as a new protocol layer between existing PPP and lower communication protocols, and third It can be implemented as an extended function of RLP (Radio Link Protocol) communication protocol in communication network. The present invention does not differ in performance no matter which of the above forms. In order to facilitate the description of the invention, it is assumed that the present invention is applied by the first method unless otherwise specified. In addition, the present invention supports both simplex and half duplex (full duplex) communication schemes. Thus, the optimizer has a pair of encapsulators and decapsulators for header compression.
상기 도 4를 참조하면, 상기 인캡슐레이터401은 PPP 프레임(UDP/IP/PPP PACKET)을 입력으로 하여, UDP/IPv4&IPv6/PPP 헤더의 압축 기능을 수행한 후 출력 통신 링크 혹은 하부의 통신 계층에 전달하는 기능을 수행한다. 상기 디캡슐레이터402는 통신 링크를 통하여 수신된 PPP 프레임에서 압축된 UDP/IPv4&IPv6/PPP 헤더를 추출하여 원래의 형태로 압축을 해제한 후, 프로토콜 구조상의 상위 프로토콜로 전달하는 기능을 수행한다. 헤더 데이터베이스(H-DB)403은 UDP/IPv4&IPv6/PPP 헤더의 압축을 수행하는데 필요한 정보를 저장하는 메모리이다. 상기 연결추적기(Connection Tracer)404는 PPP의 연결 설정 및 해제 관련 메세지를 분석하거나 PPP의 연결설정 및 해제기능과 연계하여 PPP 연결의 신규 설정 및 해제를 검출하고 관련된 옵티마이저의 기능을 구동하는 기능을 수행한다.Referring to FIG. 4, the
상기 헤더 데이터베이스403은 첨부된 도면 도 6에 도시된 바와 같이, 압축을 수행할 논리적 통신 연결을 식별할 연결식별자(CONN-ID : Connection Identifier)와 해당 연결과 관련된 정보 저장 부분으로서 구성된다. 상기 연결식별자는 구현 목적에 따라 다음의 정보를 할당할수 있다.
As shown in FIG. 6, the
경우1 : <Source Address(IP), Destination Address(IP), Source Port(UDP), Destination Port(UDP)>Case 1: <Source Address (IP), Destination Address (IP), Source Port (UDP), Destination Port (UDP)>
경우2 : <Source Address(IP), Destination Address(IP), Source Port(UDP), Destination Port(UDP), Protocol Field(IP)>Case 2: <Source Address (IP), Destination Address (IP), Source Port (UDP), Destination Port (UDP), Protocol Field (IP)>
경우3 : <Source Address(IP), Destination Address(IP), Source Port(UDP), Destination Port(UDP), Protocol Field(IP), Protocol Field(UDP)>Case 3: <Source Address (IP), Destination Address (IP), Source Port (UDP), Destination Port (UDP), Protocol Field (IP), Protocol Field (UDP)>
상기 경우1은 일반적인 용도로 사용하는 식별자이다. 즉, 송신단과 수신단의 IP 주소 및 UDP 포트 번호가 다른 경우 다른 연결식별자(CONN-ID)를 할당한다. 경우2와 경우3은 상기 경우1에 추가적으로 IP 혹은 UDP의 프로토콜 필드 값을 활용하는 경우로서, 보다 구체적으로 상기 연결식별자(CONN-ID)를 구분하고자 하는 경우에 활용한다. 특히 IPv6를 사용하는 경우 IPv6의 "Traffic Class" 및 "Flow Label"을 이용한 식별도 고려할수 있다. 상기 연결식별자(CONN-ID)로 식별되는 각 링크에 대한 정보는 도 5에 도시된 UDP/IPv4&IPv6/PPP의 헤더를 구성하는 각 필드들로서 정의된다. 따라서, 상기 헤더 옵티마이저는 상기 연결식별자(CONN-ID)로 구분되는 연결들의 UDP/IPv4&IPv6/PPP 헤더 정보를 계속 상기 헤더 데이터베이스403에 갱신한다. 이를 통하여, 상기 인캡슐레이터401은 전송해야할 필드와 값을 계산할 수 있으며, 수신단에서는 패킷 헤더의 재구성을 위한 정보를 검색할 수 있다.
이하 본 발명에 따른 구체적인 동작을 살펴본다.Hereinafter, a specific operation according to the present invention will be described.
본 발명의 동작은 크게 4가지 단계로 구성될 수 있다. 가장 먼저 이루어지는 단계는 '호 설정 과정'으로서, PPP 종단간 연결을 설정하는 단계이다. 이 때에 수 행되는 주요한 작업은 해당 연결에 대한 연결식별자(CONN-ID)의 할당과 상기 헤더 데이터베이스에 상기 연결식별자에 관련된 필드들을 생성하고 초기화하는 일이다. 상기 '호 설정 과정'을 통하여 PPP 종단간에 연결이 이루어지면, 상호간에 PPP 트래픽을 송수신할 수 있는 단계에 진입한다. 상기 단계에서는 상기 인캡슐레이터401가 상위 프로토콜로부터 수신되는 UDP/IPv4&IPv6/PPP 패킷의 헤더를 압축하고 관련 헤더 데이터베이스(H-DB) 정보를 갱신하는 '패킷 압축 과정' 관련 작업이 이루어진다. 아울러, 디캡슐레이터402에서는 통신 링크 혹은 하위 통신 프로토콜로부터 수신된 PPP 프레임을 수신하여, 해당 프레임내의 UDP/IPv4&IPv6/PPP 헤더의 압축을 해제하여 원래의 UDP/IPv4&IPv6/PPP 헤더 형태로 복원하는 '패킷 압축 해제' 관련 작업이 이루어진다. 그리고 마지막으로 '호 해제 과정' 단계로 구성된다. 이하 각각의 과정에 대한 상세한 절차를 설명한다.
The operation of the present invention can be largely composed of four steps. The first step is to set up a PPP end-to-end connection. The main tasks performed at this time are the assignment of a connection identifier (CONN-ID) for the connection and the creation and initialization of fields related to the connection identifier in the header database. When a connection is made between PPP end points through the 'call setup process', a step for transmitting and receiving PPP traffic is entered. In this step, the
<호 설정 과정><Call setup process>
도 18은 본 발명의 실시 예에 따른 호 설정 과정을 도시하고 있다. 18 illustrates a call setup process according to an embodiment of the present invention.
상기 도 18을 참조하면, 먼저, 1801단계에서 사용자(혹은 상위 프로세스)의 요청에 의하여 종단간에 통신 링크가 설정되면, 상기 옵티마이저는 1803단계에서 해당 연결의 IP 소스어드레스(Source Address), IP 목적지 어드레스(Destination Address), UDP 소스포트(Source Port), UDP 목적지 포트(Destination Port)를 식별하여, 해당 연결에 대한 필드가 상기 헤더 데이터베이스403에 있는지를 검사한다. 여기서, 추가적으로 IP Protocol Field(IP 프로토콜 필드) 및 UDP Protocol Field(UDP 프로토콜 필드)를 사용할 수도 있다. 이때, UDP 패킷이 아닌 경우는 옵티마이저가 관여하지 않는다. 이 경우 앞서 설명한 바와 같이, IPv4 헤더의 "Traffic Class" 및 "Flow Label"도 식별 정보로 고려할 수 있다.Referring to FIG. 18, first, when an end-to-end communication link is established at the request of a user (or a higher process) in
상기 헤더 데이터베이스403에 대한 검사 후에 1805단계에서 동일한 정보를 가지는 연결식별자가 존재한다고 판단되면 1815단계로 상기 통신링크가 설정된 종단간에 하나 이상의 복수링크가 허용되는지를 검사한다. 만약 같은 종단간에 하나 이상의 복수 링크가 허용되면 1817단계로 진행하여 현재 상기 헤더 데이터베이스403에 존재하는 연결식별자를 동일하게 사용하여, 해당 연결식별자에 관련된 필드들의 값을 공유하는 방식을 지원하도록 한다. 반면 그렇지 않은 경우, 1807단계로 진행하여 해당 종단간의 연결식별자를 할당함에 있어 상기한 '경우1 → 경우2 → 경우3'의 방식으로 확장함으로서 두 연결간의 식별을 지원하도록 한다. 그리고 상기와 같이 해당 연결에 대한 연결식별자(CONN-ID)가 설정되면 상기 헤더 데이터베이스403에 상기 해당 연결식별자에 대한 필드들을 생성한다.If it is determined in
이후, 1811단계에서 해당 연결을 통하여 소정 전송 시점에서 상위 프로토콜 계층으로부터 첫 번재 패킷(UDP,IP,PPP 패킷들)이 수신되는지를 검사한다. 만일, 상기 첫 번째 프레임이 수신되면 1813단계에셔 수신된 첫 번째 프레임의 UDP/IP/PPP 헤더의 정보를 해당 연결의 연결식별자에 대응하는 상기 헤더 데이터베이스403의 필드들에 복사한다. 상기 복사가 종료되면, 첫 번째 패킷의 가장 첫 번째 필드로서 연결식별자의 값이 추가되고, 이후의 원래 UDP/IP/PPP 헤더 필드들은 압축 과정 없이 수신단으로 전송한다.
Thereafter, in
송신단의 인캡슐레이터401이 첫번째 패킷에서 상기 헤더 데이터베이스403으로 복사하는 필드들은 다음과 같다. 일부 필드들의 길이는 조건에 따라 달라질 수 있으며, 아래 기술한 길이는 가장 일반적인 경우를 가정한 경우이다. 여기서 상기 헤더 데이터베이스403에 복사되는 UDP 패킷 필드는 도 7에 도시되고 있고, PPP 패킷 필드는 도 8에 도시되어 있다.Fields copied by the sender's
상기 도 7에 도시된 바와 같이, 상기 헤더 데이터베이스403에 복사되는 UDP 패킷 필드는 8 bytes (64 bits)로 구성되며, 전송 프로세스의 포트 번호가 기록되는 소스포트(Source Port) 필드(16 bits), 수신 프로세서 컨텍스트의 포트번호가 기록되는 목적지 포트(Destination Port) 필드(16 bits), 데이터 그램의 옥텟 단위 크기(헤더 포함)가 기록되는 길이(Length) 필드(16 bits) 및 에러 검출자 정보가 기록되는 체크섬(Checksum) 필드(16 bits)필드로 구성된다. As shown in FIG. 7, the UDP packet field copied to the
그리고, 상기 헤더 데이터베이스403에 복사되는 IPv4 패킷 필드는 20 bytes (160 bits) + 옵션(option) 필드 길이로 구성되며, 인터넷 헤더의 포맷을 기록하는 Version 필드(4 bits), 인터넷 헤더의 길이를 기록하는 IHL 필드(4 bits), 서비스 종류 및 구분자를 기록하는 Type of Service 필드(8 bits), 헤더와 사용자 데이터부분을 더한 길이를 기록하는 Total Length 필드 (16 bits), IP 패킷 식별자(데이타 그램의 segment시 이용)를 기록하는 Identification 필드(16 bits), Fragment 제어 플래그를 기록하는 Flags 필드(3 bits), Fragment시 해당 정보의 데이터 그램내 위치 표시자를 기록하는 Fragment Offset 필드(15 bits), 망에서의 패킷 채류 허용시간을 기록하는 Time to Live 필드(8 bits), 인터넷 데이터 그램의 사용 프로 토콜 식별자를 기록하는 Protocol필드(8 bits), 헤더 에러 점검자를 기록하는 Header Checksum 필드(16 bits), 송신자 주소를 기록하는 Source Addr 필드(32 bits) 및 수신자 주소를 기록하는 Destination Addr필드(32 bits)로 구성된다.The IPv4 packet field copied to the
그리고, 상기 헤더 데이터베이스403에 복사되는 IPv6 패킷 필드는 40 bytes (320 bit)로 구성되며, 인터넷 헤더의 포맷을 기록하는 Version 필드(4 bit), 서로 다른 클래스와 우선순위를 가지는 패킷 식별를 기록하는 Traffic Class 필드(8bit), 송신단과 수신단의 패킷 스트림 식별을 기록하는 Flow Label 필드(20 bit), 패킷이 포함하고 있는 정보량을 기록하는 payload length 필드(16bit), 헤더정보를 기록하는 Next Header 필드(8bit), 패킷망에서의 최대 허용 라우팅 홉을 제어하는 Hop Limit 필드(8bit), 송신단 IPv6 주소를 기록하는 Source Addr(128 bit) 및 수신단 IPv6 주소를 기록하는 Destination Addr 필드(128 bit)로 구성된다.The IPv6 packet field copied to the
마지막으로, 상기 도 8에 도시된 바와 같이, 상기 헤더 데이터베이스403에 복사되는 PPP 패킷 필드는 5/7 bytes(40/56 bits)이며, '11111111'가 기록되는 Address필드(8 bits), '00000011'가 기록되는 Control필드(8 bits), 데이터 그램을 이용하는 프로토콜 식별자가 기록되는 Protocol 필드(8/16 bits) 및 에러 점검자가 기록되는 FCS필드 (16/32 bits)로 구성된다.Finally, as shown in FIG. 8, the PPP packet field copied to the
상기한 필드들의 정보와 함께, 압축된 헤더의 순서 관리를 위한 시퀀스(Sequence) 필드를 상기 헤더 데이터베이스403에 생성한다. 상기 시퀀스 필드는 IP시퀀스를 65로 나눈 나머지 값을 저장한다. Along with the information of the above fields, a sequence field for managing the order of the compressed header is generated in the
한편, 수신단의 디캡슐레이터402는 첫 번째 패킷을 수신하면, 상기 인캡슐레 이터401과 마찬가지로 헤더 데이터베이스403을 초기화하여 수신한 프레임의 첫번째 헤더 필드인 연결식별자를 식별자로 하여 설정된 연결의 정보를 포함할 필드를 생성한다. 그리고, 시퀀스 필드 값을 자신의 헤더 데이터베이스403에 저장한 후, 상기 디캡슐레이터401은 수신된 UDP/IPv4&IPv6/PPP 헤더의 정보를 상기 헤더 데이터베이스403로 그대로 복사하고, 해당 패킷의 연결식별자를 제거한후 상위 프로토콜 혹은 사용자에게 전달한다.
On the other hand, upon receiving the first packet, the
<패킷 헤더 압축 과정><Packet Header Compression Process>
도 19a 및 도 19b는 본 발명의 실시 예에 따른 패킷 헤더 압축 과정을 도시하고 있다. 본 발명에서 지원하는 UDP/IP/PPP 패킷 헤더 압축 기법은 첫째로 기본적으로 연결 설정 이후에 거의 변경되지 않는 필드들을 '변경이 발생하는 시점'에서만 전송하도록 하는 방안과 함께, 둘째로 수시로 변하는 값의 경우도 쌍방간에 통신이 이루어지는데 필요한 최소한 정보만을 기본으로 전송하고, 필요시에만 전체 필드 값을 보내는 방법을 기본으로 하여 이루어진다. 셋째로 IP의 Options에 해당하는 부가 제어 정보 전송시에도 전체 헤더를 보내던 Van Jacobson의 방안과 달리 추가되는 필드들만을 압축된 헤더에 덧붙여서 전송하는 기법을 제공한다. 특히, 무선 통신에서의 지원도 함께 고려하여 복잡한 재전송을 야기할 수 있는 '차이 값' 전송 방식은 고려하지 않는다. 따라서, '차이 값'만이 전송되다가 에러가 발생하는 경우, 이후에 전체 헤더가 수신될 때까지 헤더를 번역할 수 없어서 패킷들이 모두 폐기되는 Van Jacobson의 문제점을 해결한다. 19A and 19B illustrate a packet header compression process according to an embodiment of the present invention. The UDP / IP / PPP packet header compression scheme supported by the present invention firstly transmits fields that are almost unchanged after connection establishment only at the 'point of change', and secondly, the value of the variable that changes frequently. In this case, it is basically based on a method of transmitting only the minimum information necessary for communication between both parties and transmitting the entire field value only when necessary. Third, unlike Van Jacobson's method, which transmits the entire header even when additional control information corresponding to the IP option is transmitted, only the additional fields are added to the compressed header and transmitted. In particular, it does not consider the 'difference value' transmission scheme that may cause complex retransmissions considering the support in wireless communication. Therefore, when an error occurs while only the 'difference value' is transmitted, Van Jacobson solves the problem that the packets cannot be translated until the entire header is received.
상기 도 19를 참조하면, 1901단계에서 해당 연결의 연결식별자(CONN-ID) 값을 헤더데이터베이스의 채널식별자(CH-ID) 필드로 복사하고, R필드를 "0"으로 설정한다. 그리고, 1903단계에서 UDP 패킷의 길이가 "255" 옥텍(octec)을 초과하는지 검사한다. 만일, 상기 패킷 길이가 255 옥텍을 초과하지 않은 경우 1905단계로 진행하여 UDP 헤더의 길이필드를 압축된 헤더의 길이필드로 저장하고 L 플래그를 "0"으로 설정한다. 반면, 길이가 255 옥텍을 초과하는 경우 1933단계로 진행하여 L 플래그를 "1"로 설정하고, 16비트의 길이 필드를 사용한다.Referring to FIG. 19, in
그리고, 1907단계에서 IPv4를 사용하는지를 검사한다. 만일, 사용하는 경우 1931단계로 진행하여 IPv4 패킷의 식별자(Identification) 필드 값을 하기 <수학식 1>과 같이 수정하여 수정된 값을 'IP-INFO' 필드에 저장한다. In
만일, IPv6를 사용하는 경우 1909단계로 진행하여 상기 'IP-INFO" 필드를 IPv6 헤더의 Next Header정보로서 삽입한다.이후, 1911단계에서 PPP 헤더의 Protocol 필드 값을 Protocol 필드로 저장한다. 여기서, RFC1661의 프로토콜 헤더 압축(Protocol Header Compression)에 따라 PPP는 8 bits 필드로 고정되도록 한다. 그리고, 1913다계에서 서비스가 UDP 체크섬(checksum)이 요구되는지 검사한다. 만일, 체크섬이 요구되면 UDP 헤더의 Checksum 필드 값을 UDP Checksum 필드에 저장하고, U 플래그를 1로 설정한다. 만약, 트래픽 속성이 체크섬을 필요로 하지 않으면, U 플래그를 "0"으로 하고 UDP checksum 필드를 제거한다.
If IPv6 is used, the process proceeds to step 1909 and the 'IP-INFO' field is inserted as Next Header information of the IPv6 header. Thereafter, in
상기와 같은 과정을 통해 생성된 헤더는 UDP/IP/PPP 기반 통신시에 항상 유지되어야 하는 필드들이다. 상기한 과정에서 제외된 UDP/IP/PPP 프로토콜의 필드들은 일반적으로 패킷 송수신 과정에서 변하지 않는 필드들을 의미한다. 따라서, 일반적으로 고정된 값을 가지는 필드들이 변경되는 경우에는 해당 필드의 값을 상기와 같이 생성된 기본 헤더 구조에 부가하는 형태를 따르게 된다. 첨부된 도면 도 9는 상기와 같이 생성된 기본 헤더 구조를 도시하고 있다. Headers generated through the above process are fields that should always be maintained in UDP / IP / PPP based communication. The fields of the UDP / IP / PPP protocol excluded in the above process generally mean fields that do not change during packet transmission and reception. Therefore, in general, when fields having fixed values are changed, the values of the corresponding fields are added to the basic header structure generated as described above. 9 is a diagram illustrating a basic header structure generated as described above.
고정된 값을 가지는 필드들이 변경되는 경우 해당 필드의 값을 기본 헤더 구조에 부가하기 위해서는 하기 <표 1>과 같은 필드 식별 테이블이 필요하다. When fields having fixed values are changed, a field identification table as shown in Table 1 below is required to add the value of the corresponding field to the basic header structure.
상기 필드 식별 테이블에서'NOTE#1'으로 설정된 Total Length, Time to Live, Header Checksum 및 Frame Check Sequence는 패킷마다 다른 값들이 전송되는 필드들이지만, 이들 필드들의 값이 변하더라도 부가 정보로 전송하지는 않는다. 그럼에도 불구하고 테이블에 해당 필드들을 정의한 이유는, 향후 제어 목적의 기능 확장을 위한 것이다. 따라서, 이하 설명되는 헤더 압축 단계에서는 상기한 4개의 필드들의 변경에 따른 조건은 고려하지 않는다.Total Length, Time to Live, Header Checksum, and Frame Check Sequence set to 'NOTE # 1' in the field identification table are fields in which different values are transmitted for each packet, but are not transmitted as additional information even if the values of these fields change. . Nevertheless, the reason for defining these fields in the table is to extend the functions for future control purposes. Therefore, in the header compression step described below, the condition according to the above four fields is not considered.
상기와 같이 기본 헤더 구조를 생성하면, 상기 인캡슐레이터401은 1915단계에서 상기 <표 1>에 있는 필드들의 값을 헤더 데이터베이스403에 저장된 이전 패킷의 값들과 비교한다. 만약, 이전 패킷의 값과 다른 필드가 검출되면, 1917단계로 진행하여 상기 도 9의 기본 압축 헤더의 M 플래그를 "1"로 설정한다. 그렇지 않은 경우는 기본 압축 헤더의 M 플레그를 "0"으로 설정한다. 여기서, 값이 변경된 필드는 기본 압축 헤더의 마지막 부분에 도 10에 나타난 형태로 추가된다. 즉, 1919단계에서 변경된 필드의 식별자를 필드 식별자(Field Identifier)에 삽입하고, 필드 정보(Field Information)에 해당 필드의 값을 삽입하여 기본 압축 헤더로 추가한다. 만약, 변경된 값을 가지는 필드가 또 다시 발견되면, 마지막에 추가된 필드 식 별자(Field Identifier)의 M 플래그를 "1"로 설정한 후, 동일한 작업을 통하여 해당 필드를 추가한다. 목적지 포트(Destination Port) 필드까지의 점검이 마쳐지면, 마지막에 추가된 필드의 M 플래그를 "0"으로 설정한다.When the basic header structure is generated as described above, the
이후, 상기 인캡슐레이터401은 1921단계에서 수신된 패킷의 IP 헤더에 옵션(Options) 필드가 있는지를 검사한다. 만약, 상기 옵션 필드가 존재하면 1923단계에서 마지막에 추가된 변경 필드의 M 플래그를 '1'로 설정하고, 이때 추가된 변경 필드가 없는 경우는 기본 압축 헤더의 M 플래그를 "1"로 설정한다. 그리고, 상기 인캡슐레이터401은 도 11의 구조를 갖는 부가 필드를 압축 헤더의 끝에 추가한다. 이후, 1925단계에서 필드 식별자(Field Identifier)를 '00'으로 설정하고, 추가되는 부가필드의 길이를 길이필드(LENGTH)에 추가하며, 부가필드의 내용을 추가한다. 그리고, 1927단계에서 M 플래그는 '0'으로 설정하고, 1929단계에서 상기와 같이 생성된 압축된 헤더에 사용자 데이터 필드를 추가한다. 그리고, 압축헤더를 가지는 패킷을 통신 링크를 통하여 종단으로 전송되거나 하위의 통신 프로토콜로 전달한다.
In
<패킷 헤더 해제 과정><Packet Header Release Process>
도 20은 본 발명의 실시 예에 따른 패켓 헤더의 압축을 해제하는 과정을 도시하고 있다 압축된 패킷을 해제하는 과정은 상기한 압축을 수행하는 과정에 비해 간단하다.20 illustrates a process of decompressing a packet header according to an embodiment of the present invention. The process of decompressing a compressed packet is simpler than the process of performing the above compression.
상기 도 20을 참조하면, 먼저, 상기 도 9에 도시된 기본 압축 헤더의 압축 해제를 수행한다. 2001단계에서 상기 디캡슐레이터402는 해당 연결의 채널식별자(CH-ID) 필드 값을 연결식별자(CONN-ID) 값으로 복사한다. 즉, 해당 연결식별자에 해당하는 IP 소스 및 목적지 어드레스, 그리고 UDP 소스 및 목적지 포트를 압축 해제된 헤더의 값으로 저장한다. 이후, 2003단계에서 수신된 패킷의 L플래그의 값이 "1"로 설정되어 있는지를 검사한다. 만일, 상기 L 플래그의 값이 0이면 2025단계로 진행하여 1 옥텍의 정보를 UDP 헤더의 Length 필드 값으로 저장하고, "1"로 설정되어 있으면 2005단계로 진행하여 2 옥텍의 정보를 UDP 헤더의 Length 필드 값으로 저장한다. Referring to FIG. 20, first, decompression of the basic compression header illustrated in FIG. 9 is performed. In
그리고, 2007단계에서 IPv4 패킷이 수신되는지를 검사한다. 만일, IPv6 패킷이 수신되면, 2027단계로 진행하여 IP INFO 필드를 IPV6 Next Header 정보로 설정한다. 만일, IPv4 패킷이 수신되면 2009단계로 진행하여 수신된 IP_INFO 필드의 값을 저장되어 있는 과거의 IP_INFO값과 비교하여, 증가된 차이를 IP의 Identification 필드 값으로 저장한다. 아울러, 수신된 값을 헤더 데이터베이스의 IP_INFO필드에 저장한다. 그리고, 2011단계에서 수신된 프로토콜 필드 값을 PPP의 프로토콜 필드 값으로 저장한다. 이 경우, RFC1661의 프로토콜 헤더 압축(Protocol Header Compression) 방안을 따른다. In
이후, 2013단계에서 수신된 U 플래크의 값이 "1"인지를 검사한다. 만일, 상기 수신된 U 플래그의 값이 1이면, 2015단계로 진행하여 수신된 Checksum 필드 값을 UDP Checksum 필드의 값으로 저장한다. 그렇지 않으면, 2009단계로 진행하여 Checksum을 계산하여 UDP 패킷 헤더로 포함시킨다.
Then, it is checked whether the value of the U plaque received in
그리고, 2017단계에서 수신된 M플래그의 값이 "1"인지를 검사한다. 만일, 상기 수신된 M플래그의 값이 1인 경우(다시말해, 고정된 값을 가지는 필드들이 변경된 경우) 디캡슐레이터402는 수신된 패킷으로 부터 도10의 정보를 추출한다. 상기 디캡슐레이터402는 2011단계에서 부가된 첫번째 Field Identifier를 식별한 후, 상기 <표 1>을 통하여 길이 정보와 해당 필드 명을 검출한다. 해당 필드의 값을 올바르게 읽은 상기 디캡슐레이터402는 2021단계에서 해당 필드의 값을 재구성되는 헤더의 필드에 저장한다. 아울러, 변경된 값들은 헤더 데이터베이스493의 해당 필드들로 복사된다. 만약, 부가 Field Identifer의 M 플래그가 0이 아닌 경우는 동일한 과정을 반복한다. 한편, Field Identifier가 "00"인 경우가 발생하면, 상기 디캡슐레이터402는 해당 부가 필드의 Length 필드를 읽어서 부가 필드의 길이를 검출하고, 해당 길이 만큼의 정보를 IP 헤더의 Options 필드로 복사한다. 이후, 상기 디캡슐레이터402는 2023단계에서 재구성된 패켓 헤더의 끝에 사용자 데이터 필드를 추가한다. 그리고, 압축 해제된 패킷을 상위 통신 프로토콜로 전달한다.Then, it is checked whether the value of the M flag received in
<호 해제 과정>Call Release Process
호의 해제 과정은 단순하다. 호의 해제가 이루어지면, 상기 옵티마이저는 해당 연결에 대한 CONN-ID를 통하여 H-DB내의 관련 정보를 삭제한다. 그리고, 사용한 CONN-ID를 반납하므로서, 이후 다른 연결이 CONN-ID를 재활용할 수 있도록 한다.The call release process is simple. When the call is released, the optimizer deletes the relevant information in the H-DB through the CONN-ID for that connection. Then, the used CONN-ID is returned so that another connection can reuse the CONN-ID.
본 발명에 따른 UDP/IPv4&IPv6/PPP 헤더 압축 방안을 유선 통신망과 무선 통신망에 적용할 경우의 실시예 구성을 각각 도 12와 도 13에서 도시하고 있다.12 and 13 illustrate an embodiment configuration in which the UDP / IPv4 & IPv6 / PPP header compression scheme according to the present invention is applied to a wired network and a wireless communication network.
유선 통신망에서 본 발명을 적용하는 경우 도 12에 도시된 바와 같이, 2가지 환경을 고려할 수 있다. 상기 도 12a에 도시된 바와 같이, 가입자가 서버로 모뎀 장비 혹은 저속의 통신 링크를 통하여 접속하는 경우이다. 이러한 경우에 본 발명은 가입자 장비의 PPP 혹은 PPP의 하위 계층으로 적용한다. 아울러, 서버(server)의 경우에도 복수의 가입자를 지원하는 MODEM Pool 상위의 PPP의 하위 계층 혹은 PPP내의 기능으로 적용한다. 따라서, 가입자와 서버간의 UDP 서비스는 하위의 옵티마이저를 인식하지 않고 통신을 수행하며, 상기 옵티마이저는 이들간에 송수신되는 트래픽의 UDP/IP/PPP 헤더를 자동으로 압축하고 해제하므로서 유선 링크의 효율을 극대화 한다. 또한, 서버를 경우하지 않고 가입자와 가입자가 직접 연결하는 도 12b의 경우에도 가입자들이 의식하지 못하는 상태에서 자동으로 옵티마이저가 유선 링크의 효율을 극대화 하므로서, 전송률이 더욱 높아지는 결과를 가져온다. 도 12a에 도시되어 있는 클라이언트/서버 아키텍쳐(architecture) 예를 살펴보면, 클라이언트는 선로(wired line)에 연결되는 모뎀1203과 상기 모뎀1203에 연결되는 프로토콜 계층부1202(UDP/IP/PPP/Optimizer)와 상기 프로토콜 계층부1202에 연결되는 어플리케이션1201로 구성된다.한편, 서버는 선로에 연결되며 복수의 가입자들을 지원하기 위한 모뎀풀(MODEM Pool)과 상기 모뎀풀에 연결되는 프로토콜계층부(UDP/IP/PPP/Optimizer)와 어플리케이션(application)으로 구성된다.그리고, 도 12b에 도시되어 있는 종단간 아키텍쳐 예를 살펴보면, 종단에 위치하는 두 개의 종단 터미널은 동일한 구성을 가지며, 상기 종단 터미널은 선로에 연결되는 모뎀1203과 상기 모뎀1203에 연결되는 프로토콜 계층부1202(UDP/IP/PPP/Optimizer)와 상기 프로토콜 계층부1202에 연결되는 어플리 케이션1201로 구성된다In the case of applying the present invention in a wired communication network, as shown in FIG. 12, two environments may be considered. As shown in Fig. 12A, a subscriber connects to a server through a modem device or a low speed communication link. In this case, the present invention applies to PPP or lower layer of PPP of subscriber equipment. In addition, even in the case of a server, it is applied as a function in the lower layer of the PPP or the PPP above the MODEM Pool supporting a plurality of subscribers. Accordingly, the UDP service between the subscriber and the server performs communication without recognizing the lower optimizer, and the optimizer automatically compresses and decompresses UDP / IP / PPP headers of traffic transmitted and received between them, thereby maximizing the efficiency of the wired link. do. In addition, even in the case of FIG. 12B in which the subscriber and the subscriber directly connect without the server, the optimizer automatically maximizes the efficiency of the wired link in a state in which the subscriber is not aware, thereby resulting in a higher transmission rate. Referring to the client / server architecture shown in FIG. 12A, the client includes a
무선 통신망에서 본 발명을 적용하는 경우 도 13에서와 같이, PDSN(Packet Data Serving Node) 혹은 IWF(Inter-Working Function)에 옵티마이저가 적용될 수 있다. 이는 PPP 계층의 부가 기능으로서 본 발명을 적용하는 경우이다. 그렇지 않은 경우에는 BSS(Base-Station System) 시스템의 RF(Radio Frequency) 계층(Layer)2 프로토콜에서 본 발명을 적용할 수 있다. 이는 PDSN/IWF가 헤더 압축을 인식하지 못하는 환경에서 운용된다. 무선망에 본 발명을 적용하는 경우도 유선망에서와 마찬가지로 향상된 전송 효율을 지원할 수 있으며, 특별히 인터넷 전화의 지원이 가능해진다. 즉, 기존의 IS95A, IS95B, PCS와 같거나 이하의 무선 자원을 요청하는 인터넷 전화의 지원이 가능하다. 상기 도 13에 도시되어 있는 무선망에서의 아케텍쳐 예를 살펴보면, 크게 이동단말(mobile terminal), 기지국시스템(Base Station system), PDSN/IWP로 구성되며, 각각의 구성에 대한 프토토콜 탑채 상태를 살펴보면 다음과 같다. 먼저, 이동단말은, 상기 기지국 시스템과 무선통신을 위한 RF계층1 및 RF계층2 그리고 그 상위에 UDP/IP/PPP/Optimizer 로 구성되는 프로토콜 계층부1302와 그 상위의 어플리케이션1301로 구성된다. 그리고, 상기 기지국 시스템1303은 상기 무선단말과 통신하기 위한 RF게층1 및 RF계층2와 상기 PDSN/IWF와 통신하기 위한 계층1 및 계층2와 상위 프로세서(Mobile processor)로 구성된다. 한편, 상기 PDSN/IWF는 상기 기지국 시스템과 통신하기 위한 계층1 및 계층2와 그 상위에 optimizer, PPP,IP, UDP 로 구성되는 프로토콜 계층부1305와 그 상위의 PDSN/IWF 모듈(module)1304로 구성된다.
In the case of applying the present invention to a wireless communication network, as shown in FIG. 13, an optimizer may be applied to a Packet Data Serving Node (PDSN) or an Inter-Working Function (IWF). This is the case when the present invention is applied as an additional function of the PPP layer. Otherwise, the present invention can be applied to the Radio Frequency (RF)
도 14는 CDMA2000에서 RLP Layer2의 RLP 프레임 구조를 도시하고 있다. 기본채널(FCH:fundamental channel)과 전용제어채널(DCCH:dedicated control channel)에서 RLP의 투명한 모드(transparent mode)를 적용하는 경우 지원할 수 있는 트래픽 용량은 각각 160bits/20ms와 256bits/20ms 이다. 앞서 셜멍한 바와 같이 G.729와 G.723.1 프로토콜은 UDP/IP/PPP의 헤더가 최소 6바이트로 압축된 환경에서 하기 표 2에 나타난 것과 같이 성공적으로 지원될수 있다. 아울러, 헤더의 크기가 20바이트나 증가한 IPv6에 대해서도 하기 표 3과 같이 성공적으로 지원할 수 있다.14 shows an RLP frame structure of RLP Layer2 in CDMA2000. When the transparent mode of the RLP is applied to the basic channel (FCH: fundamental channel) and dedicated control channel (DCCH: dedicated control channel), the supported traffic capacities are 160bits / 20ms and 256bits / 20ms, respectively. As mentioned earlier, the G.729 and G.723.1 protocols can be successfully supported as shown in Table 2 in an environment where the header of UDP / IP / PPP is compressed to at least 6 bytes. In addition, as shown in Table 3 below, IPv6 having a header size of 20 bytes can be successfully supported.
상기 표 2 및 표 3에서와 같이, G.729와 H.723.1의 헤더를 압축하지 않으면, DCCH(Dedicated Control Channel)/FCH(Fundamental Channel) 상에서 지원이 블가능했다. 그러나, 본 발명의 UDP/IP/PPP 헤더 압축 기법을 사용하므로서 G.729와 G.723.1은 무선 환경에서도 기존 회선형 전화와 동일하거나 낮은 비용으로 지원이 가능하다.As shown in Tables 2 and 3 above, support for the Dedicated Control Channel (DCCH) / Fundamental Channel (FCH) was not possible without compressing the headers of G.729 and H.723.1. However, by using the UDP / IP / PPP header compression scheme of the present invention, G.729 and G.723.1 can be supported in the wireless environment at the same or lower cost than the existing line-type telephone.
이상은 UDP/IPv4&IPv6/PPP 프로토콜의 패킷 헤더를 압축하는 방안에 대하여 기술하였다. 본 발명에서는 UDP/IPv4&IPv6/PPP 패킷의 헤더를 압축하는 방안과 함께 실시간 멀티미디어 서비스의 지원에 많이 활용되고 있는 RTP 프로토콜의 헤더를 압축하는 방안을 함께 제안한다. 상기 RTP의 헤더는 압축을 거치지 않고 앞서 제안한 UDP/IPv4&IPv6/PPP 헤더 압축 방안에 따른 헤더의 트래픽으로서 전달될 수 있다. 그러나, 본 발명에서는 저속의 유무선 환경에서 RTP의 헤더 부분도 압축하므로 보다 높은 효율을 제공하는 방안을 제안한다.The above has described a method of compressing a packet header of the UDP / IPv4 & IPv6 / PPP protocol. The present invention proposes a method of compressing a header of a UDP / IPv4 & IPv6 / PPP packet and a method of compressing a header of an RTP protocol which is widely used for supporting a real-time multimedia service. The header of the RTP may be delivered as traffic of a header according to the UDP / IPv4 & IPv6 / PPP header compression scheme proposed above without undergoing compression. However, the present invention proposes a method of providing higher efficiency since the header portion of the RTP is also compressed in a low speed wired and wireless environment.
상기 RTP 프로토콜의 헤더 구조가 도 15에 도시되어 있다. RTP의 프로토콜 헤더 중에서 V, X, CC, M, PT, SSRC 및 CSRC 필드는 초기 호 설정이 있은 후에는 거의 변경되지 않는 필드들이다. 따라서, 패킷의 전송시에 변경되는 필드들은 시퀀 스번호(Sequence Number)와 타임스탬프(Timestamp)로 국한된다. 따라서, 본 발명에서는 앞서 제안한 간략화된 UDP/IPv4&IPv6/PPP 헤더와 RTP 헤더를 통합하므로서, 압축 효과를 극대화하는 접근에 대해 설명한다.The header structure of the RTP protocol is shown in FIG. Among the protocol headers of the RTP, the V, X, CC, M, PT, SSRC and CSRC fields are fields that are hardly changed after the initial call setup. Therefore, the fields that are changed during the transmission of the packet are limited to a sequence number and a timestamp. Therefore, the present invention describes an approach to maximize the compression effect by integrating the above-mentioned simplified UDP / IPv4 & IPv6 / PPP header and RTP header.
본 발명에 따른 RTP/UDP/IPv4&IPv6/PPP 프로토콜 패킷의 통합 압축에 따른 헤더 구조가 도 16와 도 17에 도시되어 있다. 상기한 두 헤더 구조의 차이점은 UDP CHECKSUM 필드가 포함되거나 포함되지 않는 구조로서, 만약 트래픽 속성이 에러에 민감하지 않거나 크게 에러에 영향을 받지 않는 트래픽인 경우는 UDP CHECKSUM 필드를 제거하고, 그렇지 않은 경우는 UDP CHECKSUM 필드를 포함한다. 이 경우, UDP CHECKSUM 필드를 포함하지 않는 경우는 U 플래그를 "0"으로 설정하고, UDP CHECKSUM 필드가 포함되는 경우는 1로 설정된다.The header structure according to the unified compression of the RTP / UDP / IPv4 & IPv6 / PPP protocol packet according to the present invention is shown in FIGS. 16 and 17. The difference between the two header structures is the structure with or without the UDP CHECKSUM field. If the traffic attribute is traffic that is not sensitive to errors or greatly affected by the error, the UDP CHECKSUM field is removed. Contains a UDP CHECKSUM field. In this case, the U flag is set to "0" when the UDP CHECKSUM field is not included, and set to 1 when the UDP CHECKSUM field is included.
상기한 UDP/IPv4&IPv6/PPP의 기본 압축 헤더에 추가되는 필드들을 설명하면 다음과 같다.The fields added to the basic compression header of the UDP / IPv4 & IPv6 / PPP are described as follows.
먼저, RTP 헤더가 압축되는 경우에는 R 플래그를 1로 설정하여, 수신단 디캡슐레이터402가 해당 패킷내에 RTP 헤더 정보가 포함되었음을 인식할 수 있도록 한다. 상기 RTP 헤더의 시퀀스번호(Sequence Number)를 포함시키는 방법은 다음과 같다. 상기 RTP의 지원을 위하여 상기 IP info 필드는 6비트의 sequence 필드와 2비트의 RVD 필드로 활용한다. 또한 이는 IPv4와 IPv6에 대하여 동일하게 적용한다. 상기 IPv4를 이용하는 경우에 있어서는 sequence필드가 앞서 기술한 바와 같이 상기 수학식 1에 따른 값을 가지도록 한다. 이 경우, 상기 RTP의 sequence Number 증가 수준이 IPv4의 패킷 번호 증가치와 동일하면, 헤더의 RVD 필드는 '00'의 값을 가진다. 상기 RTP 헤더와 압축된 패킷의 헤더를 수신한 디켑슐레이터402는 상기 RTP의 sequence 값을 IPv4 identification의 증가치와 동일한 수준에서 증가시킨다. 만약, RTP의 sequence number가 IPv4의 증가치보다 '1'이 많다면, RVD는 '01'로 설정되며, 이를 수신한 디켑슐레이터402는 재구성되는 RTP 헤더의 sequence number를 IPv4 identification의 증가치보다 '1' 많게 증가시킨다. 역으로, RTP의 sequence number가 '10'으로 설정되어 있는 경우는 RTP의 sequence number가 IP의 sequence number의 증가치보다 1 작은 경우로서, 수신단의 디켑슐레이터402는 IPv4 identification 증가치보다 1 작은 증가치로 RTP 헤더를 재구성한다. 만약, RTP sequence number의 증가치가 2 이상인 경우는 RVD필드를 11로 설정하고, 증가된 값을 나타내는 1 octet을 UDP필드 뒤의 UDP/IPv4/PPP가 부가적으로 추가한 옵션 필드(optional field)의 마지막에 추가한다. First, when the RTP header is compressed, the R flag is set to 1 so that the
IPv6를 사용하는 경우에는 하기 수학식 2에 따라 IP info 필드를 채운다. When using IPv6, the IP info field is filled according to
그리고, Simple Time-Stamp 필드는 하기 <수학식 3>에 의해 기존의 Time-stamp를 대치한다. The Simple Time-Stamp field replaces the existing time-stamp by
한편, 수신단 디캡슐레이터402는 저장된 Time-Stamp 값에 Simple-Time-Stamp값의 증가치를 더하여 RTP 헤더를 재구성한다. 따라서, 상기 인캡슐레이터401과 상기 디캡슐레이터402는 호 설정시에 Simple Time-Stamp 필드를 생성하여 보관해야 한다. 상기 RTP 헤더의 V, X, CC 필드 값이 변경되는 경우에 상기 인캡슐레이터401은 H 플래그를 "1"로 설정하여 전송한다. 상기 H 플래그가 1로 설정되면, 헤더의 마지막에 RTP의 처음 1바이트 헤더 정보(V, P, X, CC 필드)를 추가한다. 이 경우, X 필드의 값이 변경된 경우에는 RTP의 X 플래그에 연계된 RTP의 부가 정보 필드들이 추가로 포함된다. CC 필드가 변경된 경우에는 RTP의 CSRC 필드의 정보들이 추가된다. Meanwhile, the
RTP의 PT 필드의 정보가 변경되는 경우 P 플래그를 1로 설정하며 그렇지 않은 경우는 0으로 설정한다. 이때 상기 P 플래그가 설정된 경우에는 헤더의 마지막에 PT의 정보 전송을 위한 1 octet의 필드가 추가되고, 해당 필드에 PT 정보를 저장한다. RTP의 SSRC 필드 값이 변경된 경우 S 플래그를 "1"로 설정하며, 그렇지 않은 경우에는 0으로 설정한다. 상기 S 플래그가 설정되면, 헤더의 마지막에 SSRC 정보 전송을 위한 4 octet 필드가 추가되고, 해당 필드에 SSRC의 정보가 저장된다. Q 플래그는 이후를 위하여 예약된 비트이다. 이러한 과정을 수행하므로서 RTP 헤더는 2바이트의 추가 필드로서 앞서 제안한 UDP/IP/PPP 헤더의 기본 구조에 추가된다.
If the information of the PT field of the RTP is changed, the P flag is set to 1; otherwise, it is set to 0. At this time, when the P flag is set, a field of 1 octet for transmitting PT information is added to the end of the header, and PT information is stored in the corresponding field. If the SSRC field value of the RTP is changed, the S flag is set to "1", otherwise it is set to 0. If the S flag is set, a 4 octet field for transmitting SSRC information is added to the end of the header, and the SSRC information is stored in the corresponding field. The Q flag is a bit reserved for later. In doing so, the RTP header is an additional field of 2 bytes and is added to the basic structure of the UDP / IP / PPP header proposed above.
상술한 바와 같이, 본 발명을 통하여 최소한 36 바이트를 요구하는 UDP/IP/PPP 프로토콜의 헤더 구조가 4~6 바이트 수준으로 축소된다. 따라서, 저속의 유무선 환경에서 작은 통신 용량을 되도록이면 사용자 트래픽의 송수신에 사용할 수 있도록 함으로서 통신 링크의 효율을 증가시킬수 있다. 이는 사용자 입장에서 통신 링크의 고속화를 제공할 수 있다. 그리고 본 발명을 통하여 비연결형 UDP 통신 프로토콜에 기반하는 실시간 멀티미디어 서비스들의 지원이 가능해진다. 특히, IS95A, IS95B, PCS 및 IMT2000에서도 기존의 회선형 전화가 무선에서 9.6 혹은 14.4kbps를 지원하는데, 이와 동일하거나 그보다 낮은 용량에서 필요로 하는 인터넷 전화 서비스를 무선 환경에서 제공할 수 있다. 이는 기존의 회선형 무선 전화가 'MS-BSS-MSC(Mobile Switching Center)'의 경로를 가지면서 유선망에서 고가의 전용회선을 사용해야하던 문제점을 해결하여, 'MS-BSS-PDSN/IWF'의 패킷 유선망을 지원할 수 있도록 한다. 따라서, 유선망에 요구되는 비용이 현격히 줄어드는 결과를 야기한다. 또한,본 발명은 추가적으로 RTP 프로토콜을 UDP/IP/PPP 프로토콜의 상위에서 지원하는 방안을 제공한다. 이 경우 52바이트를 요구하는 RTP/UDP/IP/PPP 프로토콜 헤더가 6~8 바이트 수준으로 축소된다. 이를 통하여, RTP를 이용하는 기존의 유선 인터넷 전화 단말 혹은 교환기들과도 투명성있게 인터넷 전화를 지원할 수 있다. As described above, the header structure of the UDP / IP / PPP protocol requiring at least 36 bytes is reduced to 4 to 6 bytes through the present invention. Therefore, in a low-speed wired and wireless environment, a small communication capacity can be used to transmit and receive user traffic as much as possible, thereby increasing the efficiency of the communication link. This can provide for faster communication links from the user's point of view. In addition, the present invention enables the support of real-time multimedia services based on a connectionless UDP communication protocol. In particular, the IS95A, IS95B, PCS, and IMT2000 can support 9.6 or 14.4kbps over the air in existing line phones, which can provide Internet telephony services required at the same or lower capacity in a wireless environment. This solves the problem that the existing line-type wireless telephone has to use the expensive leased line in the wired network while having the path of 'MS-BSS-MSC (Mobile Switching Center)', and thus the packet of 'MS-BSS-PDSN / IWF' Enable wired network support. Therefore, the cost required for the wired network is significantly reduced. In addition, the present invention additionally provides a scheme for supporting the RTP protocol on top of the UDP / IP / PPP protocol. In this case, the RTP / UDP / IP / PPP protocol header, which requires 52 bytes, is reduced to 6-8 bytes. Through this, it is possible to transparently support Internet telephony with existing wired Internet telephone terminals or exchanges using RTP.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000050505A KR100689473B1 (en) | 2000-08-29 | 2000-08-29 | Apparatus and method for compressing protocol header in communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000050505A KR100689473B1 (en) | 2000-08-29 | 2000-08-29 | Apparatus and method for compressing protocol header in communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020017291A KR20020017291A (en) | 2002-03-07 |
KR100689473B1 true KR100689473B1 (en) | 2007-03-08 |
Family
ID=19685924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000050505A KR100689473B1 (en) | 2000-08-29 | 2000-08-29 | Apparatus and method for compressing protocol header in communication system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100689473B1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100433621B1 (en) * | 2001-08-09 | 2004-05-31 | 한국전자통신연구원 | Multi layer internet protocol(MLIP) for peer to peer service of private internet and method for transmitting/receiving the MLIP packet |
KR100602633B1 (en) * | 2003-11-08 | 2006-07-19 | 삼성전자주식회사 | apparatus and method for header compression in packet |
CN1305275C (en) * | 2003-11-17 | 2007-03-14 | 中兴通讯股份有限公司 | Method for implementing compressed transmission of user message protocol based on network processor |
KR100703494B1 (en) * | 2004-08-09 | 2007-04-03 | 삼성전자주식회사 | Apparatus and Method for Transporting/receiving of Voice over Internet Protocol Packets with a User Datagram Protocol checksum in a mobile communication system |
KR100800878B1 (en) * | 2005-09-23 | 2008-02-04 | 삼성전자주식회사 | Method and apparatus for transmitting/receiving of voice over internet protocol packet with udp in wireless communications system |
KR100913691B1 (en) * | 2008-06-13 | 2009-08-24 | 한국철도기술연구원 | Railway communication method in open transmission-based systems |
KR101066377B1 (en) * | 2008-08-01 | 2011-09-20 | 삼성전자주식회사 | Method for compressing real-time transport protocol hader extension field and header compressed by the method |
CN113438160B (en) * | 2020-03-23 | 2024-05-31 | 中兴通讯股份有限公司 | Routing method, routing device and computer readable storage medium |
CN112511429B (en) * | 2020-03-25 | 2024-09-24 | 中兴通讯股份有限公司 | Method, node, controller, computer readable medium for information transmission and processing |
CN113542118B (en) * | 2020-04-13 | 2024-01-23 | 中兴通讯股份有限公司 | Segmented route header compression method, service processing method and device |
CN116232996B (en) * | 2022-12-21 | 2024-05-28 | 中国人民解放军国防科技大学 | Label switching-based edge network data packet header compression transmission method and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978386A (en) * | 1995-01-10 | 1999-11-02 | Nokia Telecommunications Oy | Packet radio system, and a terminal equipment for a packet radio system |
US5987022A (en) * | 1996-12-27 | 1999-11-16 | Motorola, Inc. | Method for transmitting multiple-protocol packetized data |
US6032197A (en) * | 1997-09-25 | 2000-02-29 | Microsoft Corporation | Data packet header compression for unidirectional transmission |
WO2000011849A1 (en) * | 1998-08-20 | 2000-03-02 | Nokia Networks Oy | Method and apparatus for providing user multiplexing in a real-time protocol |
-
2000
- 2000-08-29 KR KR1020000050505A patent/KR100689473B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978386A (en) * | 1995-01-10 | 1999-11-02 | Nokia Telecommunications Oy | Packet radio system, and a terminal equipment for a packet radio system |
US5987022A (en) * | 1996-12-27 | 1999-11-16 | Motorola, Inc. | Method for transmitting multiple-protocol packetized data |
US6032197A (en) * | 1997-09-25 | 2000-02-29 | Microsoft Corporation | Data packet header compression for unidirectional transmission |
WO2000011849A1 (en) * | 1998-08-20 | 2000-03-02 | Nokia Networks Oy | Method and apparatus for providing user multiplexing in a real-time protocol |
Also Published As
Publication number | Publication date |
---|---|
KR20020017291A (en) | 2002-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3694241B2 (en) | Method and apparatus for telecommunications using Internet protocols | |
JP4680890B2 (en) | Communication device and communication method for communication of Internet data packet | |
EP1329078B1 (en) | Defining header field compression for data packet connection | |
US7164665B2 (en) | Transfer of IP data in telecommunications system | |
CA2329457C (en) | Header compression for general packet radio service tunneling protocol (gtp)-encapsulated packets | |
JP4702852B2 (en) | Wireless telecommunications apparatus and method for communicating internet packets containing different types of data | |
US8139555B2 (en) | Bi-directional packet data transmission system and method | |
EP1243118B1 (en) | System and method for achieving robust ip/udp/rtp header compression in the presence of unreliable networks | |
US20060104278A1 (en) | Apparatus and method for compressing headers in a broadband wireless communication system | |
JP2006522518A5 (en) | ||
JP2000286894A (en) | Method used in packet server and device for transporting packet | |
KR20060115289A (en) | A method and apparatus for efficiently utilizing radio resources of voice over internet protocol using predefined length indicator in a mobile telecommunication system | |
KR20050095419A (en) | Method for efficiently utilizing radio resources of voice over internet protocol in a mobile telecommunication system | |
KR100742868B1 (en) | A method for header compression context control during handover in mobile data communication networks | |
KR100689473B1 (en) | Apparatus and method for compressing protocol header in communication system | |
KR100938447B1 (en) | Improved hardware arrangement, terminal, and method for transferring audio signal in packet-switched communications network |
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: 20130130 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140128 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160128 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |