KR20040019578A - 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 - Google Patents
헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 Download PDFInfo
- Publication number
- KR20040019578A KR20040019578A KR1020020051167A KR20020051167A KR20040019578A KR 20040019578 A KR20040019578 A KR 20040019578A KR 1020020051167 A KR1020020051167 A KR 1020020051167A KR 20020051167 A KR20020051167 A KR 20020051167A KR 20040019578 A KR20040019578 A KR 20040019578A
- Authority
- KR
- South Korea
- Prior art keywords
- transmission period
- packet
- retransmission rate
- packet retransmission
- period
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0028—Formatting
- H04L1/0029—Reduction of the amount of signalling, e.g. retention of useful signalling or differential signalling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- 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
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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]
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
본 발명은 패킷 데이터 통신 시스템에서 다중 프로토콜 헤더를 가지는 패킷화된 데이터를 송신하고 수신하는 방법에 관한 것으로서, 주기적으로 네트워크 상태를 측정하여 상기 측정 결과에 따라 패킷 전송 주기를 결정한 뒤, 상기 결정된 패킷 전송 주기에서는 압축되지 않은 헤더를 가지는 풀 패킷들을 전송하고 상기 결정된 패킷 전송 주기가 아닌 동안에는 압축된 헤더를 가지는 압축 패킷들을 송신한다. 여기서 패킷 전송 주기는, 최근 네트워크 상태 측정 주기 동안에 측정된 평균 패킷 재전송율에 따라 혼잡 상태이면 1로 정해지고, 무부하 상태이면 정상 상태일 때의 패킷 전송 주기의 2배로 정해진다. 이로써 본 발명은 다른 패킷의 손실에 의한 패킷의 폐기를 예방하여 헤더 압축 기술에 의한 전송효율을 보다 향상시킨다.
Description
본 발명은 패킷 데이터 통신 시스템에 관한 것으로서, 특히 다중 프로토콜 헤더를 가지는 패킷화된 데이터(Packetized Data)를 송신하고 수신하는 방법에 관한 것이다.
인터넷을 통해 데이터를 전송하기 위한 프로토콜로서, 인터넷 표준화 단체인 IETF(Internet Engineering Task Force)에 의해 발행된 RFC(Request For Comments) 793에 전송제어 프로토콜(Transmission Control Protocol)이 규정되어 있다. TCP는 인터넷을 통해 노드들간에 데이터를 패킷의 형태로 전송하기 위해 사용된다. 이러한 TCP는, 네트워크 계층의 인터넷 프로토콜(Internet Protocol: IP)에 대한 상위에서 트랜스포트 계층(Transport Layer)의 프로토콜로서 동작하기 때문에, 통상의 경우 TCP/IP라 표기한다.
상기 TCP/IP를 포함한 전형적인 데이터 전송 기술에서, 패킷화된 데이터(Packetized Data)는 네트워크 프로토콜 기능을 제어하기 위해 사용되는 적어도 하나의 헤더를 포함한다. 헤더는 통신 채널에서 사용 가능한 대역폭을 소모시키는 한 원인이 되기 때문에 이를 압축하여 대역폭의 사용을 최적화하기 위한 많은 기술들이 연구되고 있다. 이는 케이블을 사용하는 유선통신 시스템에서보다는, 음성 및/또는 데이터를 무선 주파수(Radio Frequency: RF)를 통해 전송하도록 설계된 무선통신 시스템에서 더 중요한 논점이 된다.
특히 TCP/IP 헤더를 압축하기 위하여 반 제이콥슨(Van Jacobson)에 의하여 제안된 방법은 TCP/IP 패킷에서 여분의 정적 정보(redundant static information)를 제거하고 동적 정보(changing information)를 예측할 수 있는 차이값(differences)을 전송한다. 이러한 압축에 대해서 상술하면, 두 노드들 중 하나의 노드(이하 "송신 노드"라 한다.)는 다른 노드(이하 "수신 노드"라 한다.)에게 압축되지 않은 헤더를 가지는 패킷들(이하 "풀 패킷(Full Packet)"이라 한다.)을 주기적으로 전송한다. 이때 풀 패킷들 사이에는 정적 정보가 제거되고 동적 정보의 차이값들을 가지도록 압축된 헤더를 가지는 패킷들(이하 "압축 패킷(Compressed Packet)"이라 한다.)이 전송된다. 수신 노드는 압축 패킷의 수신시, 이전에 수신된 헤더를 참고하여 압축 패킷의 헤더를 복원한다.
그런데 만약 통신 채널의 상태가 불량하거나 네트워크 상태가 혼잡(congestion)하여 연속된 패킷들 중 하나가 유실 또는 손상된 경우, 수신 노드는 그 다음으로 수신되는 압축 패킷들의 헤더들을 복원할 수 없다. 게다가 TCP/IP에 따르면 수신 노드는 압축 패킷들에 대해서는 응답(Acknowledge)을 보내지 않기 때문에 수신 노드는 풀 패킷을 수신한 이후에야 상기 유실 또는 손상된 패킷의 재전송을 요구할 수 있게 된다. 결과적으로 손실이 발생한 이후 풀 패킷이 도착하기 전까지 수신되는 압축 패킷들은 폐기될 수밖에 없다.
이상에서 설명한 바와 같이 TCP/IP 패킷의 헤더를 압축하여 전송하는 기술은 정적 정보에 관련된 문제점에 대한 단순한 해결책이 되는 반면 무선 환경(Radio Frequency environments)에서 중요한 문제점들의 원인이 된다. 특히 무선 환경에서는 빈번한 오류들이 발생하게 되는데, 이러한 오류들이 발생되면 데이터 전송은 손실 패킷이 다시 전송될 때까지 중단될 수밖에 없고 이로써 오히려 전송효율이 저하된다는 문제점이 발생하였다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명은 헤더 압축에 의한 패킷 데이터 전송 시스템에서 전송효율을 증대시키는 방법 및 장치를 제공한다.
본 발명은 무선통신시스템을 포함하여 TCP/IP를 사용하는 패킷 데이터 전송 시스템에서 전송효율을 증대시키는 방법 및 장치를 제공한다.
본 발명은 헤더 압축에 의한 패킷 데이터 전송 시스템에서 패킷의 손실로 인한 전송효율의 저하를 방지하는 방법 및 장치를 제공한다.
본 발명은 헤더 압축에 의한 패킷 데이터 전송 시스템에서 네트워크 상태에 따라 압축되지 않은 헤더를 가지는 패킷을 전송하는 방법 및 장치를 제공한다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 실시예는, 패킷 통신 네트워크에서 패킷 데이터를 송신하는 방법에 있어서,
주기적으로 네트워크 상태를 측정하고, 상기 측정 결과에 따라 패킷 전송 주기를 결정하는 과정과,
상기 결정된 전송 주기에서는 압축되지 않은 헤더를 가지는 풀 패킷들을 전송하고 상기 결정된 전송 주기가 아닌 동안에는 압축된 헤더를 가지는 압축 패킷들을 송신하는 과정을 포함한다.
본 발명의 다른 실시예는, 패킷 통신 네트워크에서 패킷 데이터를 송신하는 장치에 있어서,
주기적으로 네트워크 상태를 측정하고, 상기 측정 결과에 따라 패킷 전송 주기를 결정하는 제어기와,
상기 결정된 전송 주기에서는 압축되지 않은 헤더를 가지는 풀 패킷들을 전송하고 상기 결정된 전송 주기가 아닌 동안에는 압축된 헤더를 가지는 압축 패킷들을 송신하는 송신기를 포함한다.
도 1은 본 발명이 적용될 수 있는 무선 패킷 데이터 전송 시스템의 구성을 도시한 블럭도.
도 2는 TCP/IP에 의한 패킷의 포맷.
도 3은 압축된 TCP/IP 헤더를 가지는 패킷 포맷의 일 예.
도 4는 본 발명에 따른 헤더 압축 기술을 사용하는 통신 노드의 구성을 도시한 블럭도.
도 5는 통상의 패킷 전송을 예시한 타이밍도.
도 6은 본 발명에 따라 분류된 네트워크의 세 가지 상태들을 나타낸 상태 천이도.
도 7은 본 발명에 따라 적응적인 주기를 이용한 패킷 전송을 예시한 타이밍도.
도 8은 본 발명에 따른 패킷 전송 동작을 나타낸 흐름도.
도 9는 상기 도 8에 나타낸 동작을 나타낸 C언어 알고리즘.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
후술되는 본 발명은 헤더 압축을 사용하는 패킷 데이터 전송 시스템에서 네트워크 상태에 따라 압축되지 않은 헤더를 가지는 패킷 데이터를 송신하는 주기를 결정하는 것이다. 특히 본 발명은 패킷의 재전송율에 따라 네트워크 상태를 측정한다.
고속 무선 패킷 데이터 통신에 대한 사용자의 요구가 증대됨에 따라 이동통신 네트워크를 인터넷 등의 패킷 네트워크와 연동시키는 다양한 방안들이 시도되고 있다. 이러한 시도 중의 하나로 부호분할다중접속(Code Division Multiple Access)2000 1xEVDO(Evolution in Data Only) 시스템은 패킷 데이터 서비스 노드(Packet Data Serving Node)라는 게이트웨이를 이용하여 인터넷에 접속한다. 이러한 패킷 데이터 서비스 노드는 인터넷에 접속하는 컴퓨터와 이동 단말기 사이에서 인터넷 프로토콜에 의한 패킷 데이터들을 중계한다.
도 1은 본 발명이 적용될 수 있는 무선 패킷 데이터 전송 시스템의 구성을 도시한 블럭도이다.
상기 도 1을 참조하면, 패킷 데이터 전송 시스템은 무선 채널을 통해 이동 단말기(10)를 서비스하는 기지국 송수신기(Base Transceiver Subsystem: BTS)(12)와 상기 기지국 송수신기(12)를 제어하는 기지국 제어기(Base Station Controller: BSC)(14)와 상기 기지국 제어기(14)를 패킷 데이터 서비스 노드(PDSN)(18)를 통해 네트워크(30)로 연결하는 GAN(Global ATM(Asynchronous Transfer Mode) Network) 교환기(16)로 구성된다. 이러한 구성을 통해 상기 이동 단말기(10)는 네트워크(30)에 접속하는 컴퓨터(20)와 패킷 데이터를 교환한다.
여기서 상기 이동 단말기(10)는 셀룰러 전화기(Cellular Phone)나 PCS(Personal Communications Service) 전화기에 접속된 노트북 또는 인터넷 통신이 가능한 PDA(Personal Digital Assistant) 전화기나 IMT(International MobileTelecommunication)-2000 단말기 등이며, 상기 컴퓨터(20)는 웹 서버(Web Server), FTP(File Transfer Protocol) 서버 등이다. 예를 들어 FTP 서버(20)는 사용자에 의해 요구된 파일을 패킷 데이터의 형태로 이동 단말기(10)에게 제공한다. 이러한 경우 상기 FTP 서버는 송신 노드가 되고 상기 이동 단말기(10)는 수신 노드가 된다.
상기 도 1은 이동 단말기로서의 송신 노드와 FTP 서버로서의 수신 노드 및 이동 단말기와 FTP 서버간을 연결하는 다수의 장치들을 개시하고 있지만, 본 발명이 이러한 구성에 한정되지 않음은 물론이다. 즉 본 발명은 유사한 기술적 배경을 가지는 여타의 데이터 전송 시스템에도 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 발명의 분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.
상기와 같은 구성에 있어서 송신 노드는 전송하고자 하는 파일들을 분할한 패킷들을 순서대로 수신 노드에게 송신한다. 인터넷 프로토콜(Internet Protocol: IP)에 기반한 전송 제어 프로토콜(Transmission Control Protocol: TCP)(이하 "TCP/IP"라 한다.)를 사용하는 통신에 있어서, 송신 노드로부터 송신되는 패킷의 포맷은 도 2에 나타내었다. 상기 도 2를 참조하면, TCP/IP 헤더는 IP 헤더 및 TCP 헤더를 포함한다.
상기 IP 헤더는 일반적으로 여분의 정적 정보(음영으로 표시함)를 포함한다. 4비트의 프로토콜 버전(Protocol Version)은 인터넷 헤더의 포맷을 나타낸다. 이하 RFC 791에 개시된 버전 4 포맷을 설명한다. 4비트의 헤더 길이(Header Length)는 인터넷 헤더의 길이이며 데이터의 시작을 지시한다. 서비스 유형(Type Of Service)은 지연(Delay)과 신뢰성(Reliability) 및 효율성(Throughput)의 측면에서 원하는 서비스의 품질을 나타내는 8비트의 정보이다. 16비트의 전체 길이(Total Length)는 옥텟 단위로 측정된 패킷(헤더 및 데이터)의 길이이다. 패킷 식별자(Packet Identifier)는 데이터그램의 조각들(fragments)을 조립하기 위해 송신 노드에서 할당한 16비트의 식별값이다. 각각 1비트인 3개의 플래그들 중 첫 번째 예비된 비트는 0으로 설정되며, 두 번째 비트인 DF는 조각(Fragment)인지의 여부를 나타내고, 세 번째 비트인 MF는 마지막 조각인지의 여부를 나타낸다. 13비트의 조각 옵셋(Fragment Offset)은 해당 조각이 데이터그램의 어느 위치에 속하는지를 나타낸다. 유효시간(Time To Live: TTL)은 해당 데이터그램이 잔류할 수 있는 최대 시간을 8비트로 나타낸다. 8비트의 프로토콜 식별자(Protocol Identifier)는 데이터그램의 데이터 부분에서 사용되는 프로토콜(여기서는 TCP)을 나타낸다. 16비트의 헤더 체크섬(Header Checksum)은 헤더만의 오류정정 정보이다. 근원지 주소와 목적지 주소는 각각 근원지와 목적지의 32비트 IP 주소를 나타낸다. 이들 중 변화하는 정보는 전체 길이와 패킷 식별자와 헤더 체크섬이다.
또한 상기 TCP 헤더에 대해 설명하면, 근원지 포트(Source Port)와 목적지 포트(Destination Port)는 각각 근원지와 목적지의 16비트로서 포트번호를 나타낸다. 32비트의 시퀀스 번호(Sequence Number)는 첫 번째 데이터 옥텟의 시퀀스 번호를 나타낸다. 32비트의 응답 번호(Acknowledge Number)는 송신 노드에서 수신하기를 기대하는 다음 시퀀스 번호이다. 4비트의 데이터 옵셋은 TCP 헤더에서 32비트 워드의 길이로서 헤더의 길이를 나타낸다. 6비트의 예비된 필드는 0으로 설정되어야 한다. 제어 비트들(Control Bits)은 표준화된 TCP 응답(Acknowledge: ACK)의 경우에 응답(Acknowledge)의 유형을 결정하는데 사용되는 6개의 비트들(URG, ACK, PSH, RST, SYN, FIN)이다. 상기 제어 비트들의 의미는 하기에 나타낸 바와 같다.
URG(Urgent Pointer) : 긴급 지시자(Urgent Pointer) 필드의 유효 여부를 나타냄.
ACK(Acknowledge) : 패킷이 응답을 구성하는지의 여부를 나타냄.
PSH(Push) : "푸쉬(Push)" 기능이 요구되었는지를 나타냄.
RST(Reset) : 접속 리셋이 요구되었는지를 나타냄.
SYN(Synchronization) : 시퀀스 번호들을 동기화함.
FIN(Final) : 송신 노드에서 더 이상 전송할 데이터가 없음을 나타냄.
16비트의 윈도우 크기(Window Size)는 송신 노드에서 수용할 수 있는 시퀀스 번호의 최대 크기를 나타낸다. 16비트의 TCP 체크섬은 헤더와 데이터의 체크섬이다. 16비트의 긴급 지시자(Urgent Pointer)는 이어지는 긴급 데이터의 시퀀스 번호를 나타낸다. 상기 TCP 헤더에서 변화하는 정보는 근원지 및 목적지 포트와 데이터 옵셋 및 제어 비트들 중 일부를 제외한 나머지이며, 정적 정보는 음영으로 표시하였다.
이상의 구성에서 IP 헤더는 20바이트이고 TCP 헤더 또한 20바이트이지만 TCP 접속이 이루어진 이후 전체 40바이트의 오버헤드에서 음영으로 표시된 약 20바이트의 정적정보는 변하지 않는다. 앞서 언급한 바와 같이 매 패킷을 전송할 때마다 40바이트의 오버헤드 전체를 전송하는 것은 매우 비효율적이므로, 전체(압축되지 않은) 헤더를 가지는 패킷들(이하 "풀 패킷"이라 한다.) 사이에는 정적 정보가 제거되고 동적 정보의 차이값들을 가지도록 압축된 헤더를 가지는 패킷들(이하 "압축 패킷"이라 한다.)이 전송된다.
헤더 압축 기술이 사용되는 경우에 풀 패킷의 헤더는 압축된 헤더를 복원하는데 사용되는 컨텍스트(Context)를 나타내는 컨텍스트 식별자(Context Identifier: CID)를 더 포함한다. 컨텍스트는 송신 노드에서 헤더를 압축하고 수신 노드에서 헤더를 복원(decompress)하는 상태를 나타낸다.
도 3은 IETF에 의해 발행된 RFC2507에 개시되어 있는 압축된 TCP/IP 헤더를 가지는 패킷의 포맷을 나타낸 것으로서, 도시한 바와 같이 압축 패킷은 도 2에서 음영으로 표시한 정적 정보를 포함하지 않는다. 수신 노드는 압축 패킷에 포함된 컨텍스트 식별자에 의해 특정화되는 TCP/IP 헤더의 내용에 따라 압축 헤더를 복원한다. TCP 체크섬은 종단간(End to End) 데이터의 무결성 확인을 위한 것이므로 변경되지 않은 채로 전송된다.
TCP/IP 헤더에서 윈도우 크기, 응답 번호, 시퀀스 번호, 패킷 식별자는 순서대로 송신된 연속하는 패킷들간의 변화량이 일정하다고 기대된다. 이하 이러한 데이터를 제공하는 필드를 "델타 필드"라 한다. 델타 필드의 변화량이 일정한 경우에 도 3에 나타낸 바와 같이 기본 압축 헤더는 델타 필드 내의 데이터를 포함하지 않는다. 전술한 바와 같이 이전 수신한 패킷으로부터 추출한 풀 헤더를 저장하고 있는 수신 노드는 TCP/IP 헤더의 델타 필드에 기록된 데이터에 이전에 구한 일정 변화량을 각각 가산하여 이후 연속하여 수신되는 압축 패킷의 델타 필드를 복원한다.
그런데 델타 필드의 변화량이 모든 패킷들간에 항상 일정한 것은 아니다. 변화량에 변화가 생기게 되는 경우 송신 노드는 수신 노드에게 변경된 차이값을 통보하여야 한다. 수신 노드는 저장된 풀 헤더의 내용과 통보된 차이값을 참조하여, 이후 수신되는 압축 패킷의 델타 필드를 복원할 수 있다. 이런 목적으로 도 3에 나타낸 압축 패킷은 델타 필드의 변화량이 변경되었는지의 여부를 나타내는 변경 마스크 정보, 즉 S, A, W, I 플래그들을 가진다.
상기 S, A, W, I 플래그들은 각각 TCP/IP 헤더의 시퀀스 번호, 응답 번호, 윈도우 크기, 패킷 식별자의 변화 여부를 나타낸다. 델타 필드의 변화량이 변경된 경우에, 압축 패킷에는 최종 송신된 패킷의 해당 필드와의 차이값을 나타내는 해당 필드가 부가된다. 실제로, 시퀀스 변호의 변화량이 변경된 경우에 S 플래그가 '1'로 설정됨과 동시에 시퀀스 번호의 차이값을 나타내는 델타 시퀀스 필드가 압축 패킷에 부가된다. 마찬가지로 윈도우 크기나 응답 번호나 패킷 식별자의 변화량이 변경된 경우에, W, A, I 플래그가 '1'로 설정되고 해당 차이값을 나타내는 필드가 압축 패킷에 부가된다. 수신 노드는 압축 패킷을 수신하면 최종 수신한 패킷의 해당 필드에 상기 압축 패킷의 차이값을 적용하여 완전한 값으로 복원한다.
또한 U 플래그와 P 플래그는 각각 TCP/IP 헤더의 제어 비트들 중 URG 비트와 PSH 비트를 복사한다. C 플래그는 컨텍스트 식별자(Context Identifier: CID)가 항상 존재하기 때문에 제거될 수 있다. 이와 같이 압축된 헤더의 크기는 9바이트 이하가 되어 도 2에 나타낸 압축되지 않은 헤더에 비하여 반 이상 줄어들게 된다.
도 4는 본 발명에 따른 헤더 압축 기술을 사용하는 통신 노드의 구성을 도시한 블럭도이다. 이 구성은 도 1에 나타낸 이동 단말기(10) 및 FTP 서버(20)에 적용된다.
상기 도 4를 참조하면, 통신 노드는 송신부(100)와 수신부(110)와 네트워크 인터페이스(140) 및 이들을 상호 연결하는 버스(130)를 포함한다. 수신부(110)는 송신측 노드로부터 송신된 풀 패킷이나 압축 패킷을 통신 회선을 통해 수신하여, 그 패킷을 분석한다. 송신부(100)는 전송하고자 하는 데이터를 풀 패킷이나 압축 패킷으로 변환하여 통신 회선을 통해 수신측 노드로 송신한다.
구체적으로 설명하면, 송신부(100)의 패킷 생성기(Packet Generator)(102)는 전송하고자 하는 데이터에 TCP 헤더와 IP 헤더를 부가한 IP 패킷을 생성하며, 압축기(Compressor)(104)는 상기 IP 패킷을 압축되지 않은 헤더를 포함하는 풀 패킷 또는 압축된 헤더를 포함하는 압축 패킷으로 변환한다. 상기 IP 패킷은 다음 전송될 압축 패킷의 생성에 이용될 수 있도록 메모리(105)에 저장된다.
프레이머(Framer)(108)는 상기 풀 패킷 또는 상기 압축 패킷을 버스(130)를 통해 네트워크 인터페이스(140)로 전달한다. 네트워크 인터페이스(140)는 상기 풀 패킷 또는 상기 압축 패킷을 통신 회선을 통해 해당하는 수신 노드로 전송한다. 여기서 상기 압축기(104)는 미리 정해지는 주기에서는 풀 패킷을 출력하고 다른 경우에는 압축 패킷을 출력한다. 상기 압축기(104)가 풀 패킷을 전송하는 주기는 제어기(106)가 측정된 네트워크 상태에 따라 결정된다. 상기 제어기(106)에 의한 처리에 대해서는 추후 상술할 것이다.
수신부(110)의 디프레이머(Deframer)(118)는 통신 회선을 통해 송신 노드로부터 풀 패킷 또는 압축 패킷을 수신한다. 복원기(Decompressor)(114)는 상기 풀 패킷 또는 상기 압축 패킷을 IP 패킷으로 변환하여 패킷 분석기(Packet Analyzer)(112)로 전달한다. 이때 상기 복원기(114)는 상기 변환된 IP 패킷의 헤더를 메모리(116)에 저장하고, 다음에 수신되는 압축 패킷의 헤더를 복원하는데 이용한다. 도 3에 나타낸 바와 같이 압축 헤더는 컨텍스트 식별자를 포함한다. 따라서 상기 복원기(114)는 상기 컨텍스트 식별자에 의해 특정화되는 TCP/IP 헤더의 내용에 따라 압축 헤더를 복원한다.
도 5는 통상의 패킷 전송을 예시한 타이밍도이다.
송신 노드의 패킷 생성기에서 IP 패킷(1)이 발생하면, 송신 노드의 압축기는 상기 IP 패킷의 TCP/IP 헤더를 내부 메모리에 저장한다. 동시에 상기 IP 패킷에 컨텍스트 식별자 값을 설정하여 풀 패킷(1)을 생성하고 이를 수신 노드에 송신한다. 수신 노드의 복원기는 상기 풀 패킷(1)으로부터 컨텍스트 식별자 값을 추출하여 TCP/IP 헤더를 복원하고, 상기 복원된 헤더를 포함하는 IP 패킷(1)을 분석한다. 이때 상기 복원된 헤더는 수신 노드의 내부 메모리에 저장된다.
다음으로 송신 노드의 압축기는 다음으로 발생된 IP 패킷(2)의 TCP/IP 헤더를 압축하고, 상기 압축된 헤더를 포함하는 압축 패킷(2)을 수신 노드에 송신한다. 상기 압축 패킷내의 압축 헤더에는 이전 IP 패킷(1)의 델타 필드 값과 현재 IP 패킷(2)의 델타 필드 값과의 차이값을 포함하는 동시에 해당 델타 필드의 변경 여부를 나타내는 플래그가 '1'로 설정된다. 상기 압축 패킷(2)을 수신한 수신 노드의 복원기는 내부 메모리에 저장된 이전 IP 패킷(1)의 TCP/IP 헤더내의 델타 필드 값에 상기 압축 패킷(2)에 통보된 차이값을 부가함으로써 IP 패킷(2)의 델타 필드를 구한다. 그리고 수신 노드의 복원기는 상기 구해진 델타 필드 및 상기 IP 패킷(1)으로부터 추출되어 저장된 TCP/IP 헤더의 정적 필드를 모두 포함하는 TCP/IP 헤더와 상기 압축 패킷(2)의 페이로드를 포함하는 IP 패킷(2)을 분석한다. 상기 IP 패킷(2)을 복원할 때 참조되는 TCP/IP 헤더(이 경우 이전 IP 패킷(1)의 TCP/IP 헤더)는 상기 압축 패킷(2)의 컨텍스트 식별자에 의해 특정화된다. 또한 상기 IP 패킷(2)의 TCP/IP 헤더는 내부 메모리에 저장된다.
마찬가지로 송신 노드의 압축기는 다음으로 발생된 IP 패킷(3)을 압축 패킷(3)으로 변환하여 수신 노드에 송신한다. 그러나 네트워크 상태의 혼잡 등의 어떠한 이유로 인하여 상기 압축 패킷(3)은 통신 채널 상에서 유실된다. 또는 수신 노드에서 상기 압축 패킷(3)의 체크섬 분석 결과 손상된 것으로 판단한다. 그 결과 수신 노드의 복원기는 다음으로 수신된 압축 패킷(4)의 델타 필드를 복원하는 것이 불가능하다. 따라서 수신 노드에서 다음 풀 패킷(6)이 수신될 때까지 수신되는 패킷들, 즉 압축 패킷들(4,5,6)은 폐기될 수밖에 없다. 특히 송신 노드와 수신 노드가 무선 링크로 접속된 경우에 패킷들은 빈번하게 유실된다. 이러한 유실이 발생하면 수신 노드에서는 몇 개의 패킷들이 자주 폐기된다. 이는 데이터 전송율을 심각하게 저하시킨다.
송신 노드는 전송한 패킷에 대하여 중복 응답(Duplicate ACK)을 받으면 그 패킷을 즉시 재전송한다. 그렇지 않은 경우 일정한 타임아웃 시간 동안 응답(ACK)을 받지 못하면 그 패킷을 재전송한다. 그런데 수신 노드는 압축 패킷들에 대해서는 응답을 전송하지 않기 때문에 손실이 발생한 패킷을 수신하기 위해서는 송신 노드에서 상기 타임아웃 시간이 만기될 때까지 기다려야 한다. 게다가 송신 노드는 패킷 손실이 발생한 경우 수신 윈도우의 크기를 줄여 데이터율을 감소시키기 때문에, 결국 데이터 전송율은 매우 저하될 수밖에 없다.
이러한 문제점을 해결하기 위한 기술로서 IETF에 의해 발행된 RFC 2507은 미리 정해진 주기에 따라 풀 패킷을 주기적으로 송신한다. 그러나 이러한 기술 또한 풀 패킷의 송신 주기가 길어지면 폐기되는 패킷들의 수가 증가하고, 풀 패킷의 송신 주기가 짧아지면 오버헤드가 큰 풀 패킷의 송신으로 인하여 통신 효율이 저하된다는 다른 문제점을 야기한다.
따라서 본 발명은 패킷 재전송의 발생량에 따라 적응적으로 동작하는 알고리즘을 제안한다. 즉, 패킷 손실이 빈번할 경우에는 헤더 압축을 사용하지 않는 경우가 오히려 더 양호한 성능을 보인다. 따라서 만약 패킷 손실이 빈번하지 않다면 헤더 압축을 사용하고 패킷 손실이 빈번하면 헤더 압축을 사용하여 앞서 언급한 문제점을 해소한다.
이를 위해서 네트워크 상태를 혼잡(Congested), 부하(Loaded), 무부하(Unloaded)의 세 가지 상태로 분류한다. 바람직하게, 상기 네트워크 상태는 일정한 시간 동안 송신 노드에서 발생한 재전송 패킷들의 개수로부터 계산된 패킷 재전송률에 따라 판단될 수 있다. 패킷 재전송율에 의해 네트워크 상태가 결정되면 각 네트워크 상태에 따라 압축되지 않은 풀 패킷을 보내는 전송 주기를 결정한다.
도 6은 본 발명에 따라 분류된 네트워크의 세 가지 상태들을 나타낸 것이다. 여기서 R은 패킷 재전송율을 나타내며 주기는 압축하지 않은 패킷을 전송하는 주기를 나타낸다.
도시한 바와 같이, R이 상위 임계값(THHIGH)보다 크거나 같으면 혼잡 상태(200)로, R이 하위 임계값(THLOW)보다 작거나 같으면 무부하 상태(220)로, R이 상위 임계값보다 작고 하위 임계값보다 크면 정상 상태(210)로 분류한다. 바람직한 일 예로서, 상위 임계값은 0.10이고 하위 임계값은 0.05이다. 네트워크가 혼잡 상태(200)이면 풀 패킷의 전송 주기를 짧게 하는 것이 재전송 패킷을 줄일 수 있고 무부하 상태(220)이면 주기를 길게 하는 것이 높은 압축성능을 달성할 수 있다. 정상 상태(210)에서의 주기를 n이라고 한다면, 혼잡 상태(200)에서는 주기를 1로 하여 매번 풀 패킷들을 전송하고, 무부하 상태(220)에서는 주기를 2n으로 한다.
도 7은 본 발명에 따라 적응적인 주기를 이용한 패킷 전송을 예시한 타이밍도이다. 여기서 정상 상태에서의 주기는 3인 것으로 한다. 즉 정상 상태에서 풀 패킷은 매 3번째마다 전송된다.
상기 도 7을 참조하면, 무부하 상태인 구간에서 풀 패킷(1)이 전송되고 5개의 압축 패킷들(2 내지 6)이 전송된 이후 다음 풀 패킷(7)이 전송된다. 정상 상태인 구간에서는 2개의 압축 패킷들(8,9)이 전송된 이후 다음 풀 패킷(10)이 전송된다. 혼잡 상태인 구간에서는 압축 패킷은 전송되지 않으며 매번 풀 패킷들(11,12,13)이 전송된다.
도 8은 본 발명에 따른 패킷 전송 동작을 나타낸 흐름도이며, 도 9에는 상기 도 8에 나타낸 동작을 C언어 알고리즘으로 나타내었다.
이하 상기 도 8과 앞서 언급한 도 4를 참조하여 본 발명에 따른 동작을 상세히 설명한다.
과정(S110)에서 송신 노드의 제어기는 미리 정해지는 네트워크 상태 측정 주기에 도달하였는지를 판단한다. 일 예로서, 상기 계산 주기는 RFC1889에 의해 정해진 RTP(Real-time Transmission Protocol)에서 상태정보를 전송하는 RTCP(Real-time Transmission Control Protocol) 피드백 주기인 5초이다. 측정 주기에 도달하였으면, 과정(S120)에서는 최근 측정 주기 동안에 전송한 패킷들의 개수에 대해 재전송된 패킷들의 개수의 비율로서 패킷 재전송율(R)을 계산한다. 과정(S130)에서는 상기 계산된 패킷 재전송율을 이전에 계산된 패킷 재전송율들에 누적하여 평균 패킷 재전송율(AR)을 계산한다. 하기에서 상기 과정(S130)을 보다 상세히 설명한다.
매 측정 주기마다 계산되는 패킷 재전송율은 네트워크 상태에 따라 현격하게 변화하게 될 수 있다. 이러한 진동(Oscillation) 현상에 의한 영향을 가급적 제거하여 실제적으로 적용 가능한 평균 패킷 재전송율(AR)을 계산하기 위하여 저역통과필터링(Low Pass Filtering) 공식을 이용한다. 즉 평균 패킷 재전송율(AR)은 하기의 <수학식 1>과 같다.
여기서 R은 현재 측정 주기에서 계산된 패킷 재전송율이며 AR은 평균 패킷재전송율이고 i는 측정 주기를 식별하는 인덱스이다. 즉 AR(i-1)은 이전 측정 주기의 평균 패킷 재전송율이며 AR(i)는 현재 측정 주기의 패킷 재전송율이다. 또한 α는 0과 1 사이의 값을 가지는 가중치로서 이 값이 클수록 가장 최근에 계산된 패킷 재전송율(R)의 영향이 크게 작용한다. 바람직하게 α는 0.5와 0.9 사이의 값으로 설정되는 것이 바람직하다. 일 예로서 α는 0.75로 설정된다.
과정(S140)에서 상기 평균 패킷 재전송율은 미리 정해지는 상위 임계값(THHIGH) 및 미리 정해지는 하위 임계값(THLOW)과 각각 비교된다. 비교결과 상기 상위 임계값보다 크거나 같으면 과정(S150)으로 진행하고, 상기 하위 임계값보다 작거나 같으면 과정(S170)으로 진행하며, 그렇지 않으면 과정(S160)으로 진행한다. 일 예로서 상기 상위 임계값은 0.10이고 상기 하위 임계값은 0.05이다. 여기서 0.10은 10%의 평균 패킷 재전송율을 의미하며, 0.05는 5%의 평균 패킷 재전송율을 의미한다.
과정(S150)에서 네트워크 상태는 혼잡 상태인 것으로 결정되며 풀 패킷의 전송 주기는 1이 되고, 과정(S160)에서 네트워크 상태는 정상 상태인 것으로 결정되며 풀 패킷의 전송 주기는 n이 되며, 과정(S170)에서 네트워크 상태는 무부하 상태인 것으로 결정되며 풀 패킷의 전송 주기는 2n이 된다. 여기서 언급한 전송 주기는 네트워크 전송 선로의 품질 및 신뢰성에 따라 변경될 수 있음은 물론이다. 예를 들어 혼잡 상태에서도 풀 패킷의 전송 주기는 2 또는 3이 될 수 있다. 또한 무부하 상태에서도 풀 패킷의 전송 주기는 n보다 큰 어떤 다른 값이 될 수 있다. 이상과같이 매 측정 주기마다 결정된 전송 주기는 제어기로부터 압축기로 제공된다.
그러면 과정(S180)에서 압축기는 상기 결정된 전송 주기에 따라 패킷을 전송한다. 즉, 무부하 상태이면 패킷 손실이 거의 없는 상황이므로 2n번째마다 풀 패킷을 전송하고, 정상 상태이면 패킷 손실이 약간 발생하는 상황이므로 n번째마다 풀 패킷을 전송하며, 혼잡 상태이면 패킷 손실이 빈번하게 발생하는 상황이므로 매번 풀 패킷을 전송한다. 풀 패킷의 전송 주기가 아닌 때에는 압축 패킷들을 전송한다. 여기서 압축 패킷들을 생성하는 방법은 전술한 바와 같다.
본 발명은 풀 패킷의 전송 주기에 관련된 것이며, 수신 노드에서는 수신된 패킷이 풀 패킷인지 또는 압축 패킷인지를 식별하여 분석하게 된다. 이러한 수신 노드에서의 동작은 통상의 동작과 동일하므로 그 상세한 설명을 생략하기로 한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 즉 본 발명은 통신 경로의 품질에 따라 압축되지 않은 패킷을 전송하는 주기를 변경하는 것에 관련된 것으로서, 패킷의 구성이나 패킷을 압축하는 방식이나 통신 경로의 품질을 측정하는 방식 등에 의해 제한되는 것은 아니다. 예를 들어 통신 경로의 품질은 노드간을 연결하는 경로의 일부인 무선 링크의 품질(신호대 간섭비 등), 라우터들의 부하율 등을 이용하여 측정될 수도 있다. 게다가 본 발명은 패킷의 헤더를 압축하여 전송하는 모든 종류의 프로토콜에 적용될 수 있는 것으로서, 도 2 및 도 3에 나타낸 패킷의 포맷에 한정되는 것이 아니다.
그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은 다른 패킷의 손실에 의한 패킷의 폐기를 줄일 수 있다. 게다가 별도의 역방향 응답(Ack) 없이 압축 패킷의 폐기를 예방하기 때문에, 시스템의 부하를 가중시키지 않으면서 헤더 압축 기술에 의한 전송효율을 보다 향상시킬 수 있다. 특히 적어도 일부는 무선 링크로 구성된 패킷 통신 네트워크에서 헤더 압축 기술의 효과를 최적화한다.
Claims (22)
- 패킷 통신 네트워크에서 패킷 데이터를 송신하는 방법에 있어서,주기적으로 네트워크 상태를 측정하고, 상기 측정 결과에 따라 패킷 전송 주기를 결정하는 과정과,상기 결정된 전송 주기에서는 압축되지 않은 헤더를 가지는 풀 패킷들을 전송하고 상기 결정된 전송 주기가 아닌 동안에는 압축된 헤더를 가지는 압축 패킷들을 송신하는 과정을 포함하는 것을 특징으로 하는 상기 방법.
- 제 1 항에 있어서, 상기 패킷 전송 주기를 결정하는 과정은,최근 네트워크 상태 측정 주기 동안에 전송한 패킷들의 개수에 대해 재전송된 패킷들의 개수의 비율로서 패킷 재전송율을 계산하는 단계와,상기 계산된 패킷 재전송율에 따라 상기 패킷 전송 주기를 결정하는 단계를 포함하는 것을 특징으로 하는 상기 방법.
- 제 2 항에 있어서, 상기 네트워크 상태 측정 주기는, RTP(Real-time Transmission Protocol)의 상태정보 전송 주기와 동일한 것을 특징으로 하는 상기 방법.
- 제 2 항에 있어서, 상기 패킷 전송 주기를 결정하는 단계는,상기 패킷 재전송율이 미리 정해지는 상위 임계값보다 크거나 같으면 미리 정해지는 제1 전송 주기로 결정하고, 상기 패킷 재전송율이 미리 정해지는 하위 임계값보다 작거나 같으면 상기 제1 전송 주기보다 큰 제2 전송 주기로 결정하며, 상기 패킷 재전송율이 상기 상위 임계값과 상기 하위 임계값 사이이면 상기 패킷 전송 주기를 상기 제1 전송 주기보다 크고 상기 제2 전송 주기보다 작은 제3 전송 주기로 결정하는 것을 특징으로 하는 상기 방법.
- 제 4 항에 있어서, 상기 제1 전송 주기는 '1'인 것을 특징으로 하는 상기 방법.
- 제 4 항에 있어서, 상기 제2 전송 주기는 상기 제3 전송 주기의 2배인 것을 특징으로 하는 상기 방법.
- 제 1 항에 있어서, 상기 패킷 전송 주기를 결정하는 과정은,최근 네트워크 상태 측정 주기 동안에 전송한 패킷들의 개수에 대해 재전송된 패킷들의 개수의 비율로서 패킷 재전송율을 계산하는 단계와,상기 패킷 재전송율을 이전 네트워크 상태 측정 주기들 동안에 계산된 패킷 재전송율들에 누적하여 평균 패킷 재전송율을 계산하는 단계와,상기 계산된 평균 패킷 재전송율에 따라 상기 패킷 전송 주기를 결정하는 단계를 포함하는 것을 특징으로 하는 상기 방법.
- 제 7 항에 있어서, 상기 평균 패킷 재전송율은 하기의 <수학식 2>에 따라 계산되는 것을 특징으로 하는 상기 방법.
AR(i) = (1 - α) * AR(i-1) + α * R 여기서 상기 AR은 상기 평균 패킷 재전송율이고, 상기 i는 네트워크 상태 측정 주기를 식별하는 인덱스이고, 상기 R은 패킷 재전송율이고, 상기 α는 0과 1 사이의 값을 가지도록 미리 정해지는 가중치임. - 제 7 항에 있어서, 상기 네트워크 상태 측정 주기는, RTP(Real-time Transmission Protocol)의 상태정보 전송 주기와 동일한 것을 특징으로 하는 상기 방법.
- 제 7 항에 있어서, 상기 패킷 전송 주기를 결정하는 단계는,상기 평균 패킷 재전송율이 미리 정해지는 상위 임계값보다 크거나 같으면 미리 정해지는 제1 전송 주기로 결정하고, 상기 평균 패킷 재전송율이 미리 정해지는 하위 임계값보다 작거나 같으면 상기 제1 전송 주기보다 큰 제2 전송 주기로 결정하며, 상기 평균 패킷 재전송율이 상기 상위 임계값과 상기 하위 임계값 사이이면 상기 패킷 전송 주기를 상기 제1 전송 주기보다 크고 상기 제2 전송 주기보다 작은 제3 전송 주기로 결정하는 것을 특징으로 하는 상기 방법.
- 제 10 항에 있어서, 상기 제1 전송 주기는 '1'인 것을 특징으로 하는 상기 방법.
- 제 10 항에 있어서, 상기 제2 전송 주기는 상기 제3 전송 주기의 2배인 것을 특징으로 하는 상기 방법.
- 패킷 통신 네트워크에서 패킷 데이터를 송신하는 장치에 있어서,주기적으로 네트워크 상태를 측정하고, 상기 측정 결과에 따라 패킷 전송 주기를 결정하는 제어기와,상기 결정된 전송 주기에서는 압축되지 않은 헤더를 가지는 풀 패킷들을 전송하고 상기 결정된 전송 주기가 아닌 동안에는 압축된 헤더를 가지는 압축 패킷들을 송신하는 송신기를 포함하는 것을 특징으로 하는 상기 장치.
- 제 13 항에 있어서, 상기 제어기는,최근 네트워크 상태 측정 주기 동안에 전송한 패킷들의 개수에 대해 재전송된 패킷들의 개수의 비율로서 패킷 재전송율을 계산하고, 상기 계산된 패킷 재전송율에 따라 상기 패킷 전송 주기를 결정하는 것을 특징으로 하는 상기 장치.
- 제 14 항에 있어서, 상기 제어기는,상기 패킷 재전송율이 미리 정해지는 상위 임계값보다 크거나 같으면 미리 정해지는 제1 전송 주기로 결정하고, 상기 패킷 재전송율이 미리 정해지는 하위 임계값보다 작거나 같으면 상기 제1 전송 주기보다 큰 제2 전송 주기로 결정하며, 상기 패킷 재전송율이 상기 상위 임계값과 상기 하위 임계값 사이이면 상기 패킷 전송 주기를 상기 제1 전송 주기보다 크고 상기 제2 전송 주기보다 작은 제3 전송 주기로 결정하는 것을 특징으로 하는 상기 장치.
- 제 15 항에 있어서, 상기 제1 전송 주기는 '1'인 것을 특징으로 하는 상기 방법.
- 제 15 항에 있어서, 상기 제2 전송 주기는 상기 제3 전송 주기의 2배인 것을 특징으로 하는 상기 방법.
- 제 13 항에 있어서, 상기 제어기는,최근 네트워크 상태 측정 주기 동안에 전송한 패킷들의 개수에 대해 재전송된 패킷들의 개수의 비율로서 패킷 재전송율을 계산하고, 상기 패킷 재전송율을 이전 네트워크 상태 측정 주기들 동안에 계산된 패킷 재전송율들에 누적하여 평균 패킷 재전송율을 계산하며, 상기 계산된 평균 패킷 재전송율에 따라 상기 패킷 전송 주기를 결정하는 것을 특징으로 하는 상기 장치.
- 제 18 항에 있어서, 상기 평균 패킷 재전송율은 하기의 <수학식 3>에 따라 계산되는 것을 특징으로 하는 상기 장치.
AR(i) = (1 - α) * AR(i-1) + α * R 여기서 상기 AR은 상기 평균 패킷 재전송율이고, 상기 i는 네트워크 상태 측정 주기를 식별하는 인덱스이고, 상기 R은 패킷 재전송율이고, 상기 α는 0과 1 사이의 값을 가지도록 미리 정해지는 가중치임. - 제 18 항에 있어서, 상기 제어기는,상기 평균 패킷 재전송율이 미리 정해지는 상위 임계값보다 크거나 같으면 미리 정해지는 제1 전송 주기로 결정하고, 상기 평균 패킷 재전송율이 미리 정해지는 하위 임계값보다 작거나 같으면 상기 제1 전송 주기보다 큰 제2 전송 주기로 결정하며, 상기 평균 패킷 재전송율이 상기 상위 임계값과 상기 하위 임계값 사이이면 상기 패킷 전송 주기를 상기 제1 전송 주기보다 크고 상기 제2 전송 주기보다 작은 제3 전송 주기로 결정하는 것을 특징으로 하는 상기 장치.
- 제 20 항에 있어서, 상기 제1 전송 주기는 '1'인 것을 특징으로 하는 상기 장치.
- 제 20 항에 있어서, 상기 제2 전송 주기는 상기 제3 전송 주기의 2배인 것을 특징으로 하는 상기 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020051167A KR100663586B1 (ko) | 2002-08-28 | 2002-08-28 | 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 |
US10/617,259 US7391736B2 (en) | 2002-08-28 | 2003-07-11 | Method and apparatus for transmitting packet data having compressed header |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020051167A KR100663586B1 (ko) | 2002-08-28 | 2002-08-28 | 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040019578A true KR20040019578A (ko) | 2004-03-06 |
KR100663586B1 KR100663586B1 (ko) | 2007-01-02 |
Family
ID=32064874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020051167A KR100663586B1 (ko) | 2002-08-28 | 2002-08-28 | 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7391736B2 (ko) |
KR (1) | KR100663586B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100944918B1 (ko) * | 2004-12-08 | 2010-03-03 | 퀄컴 인코포레이티드 | 로버스트 헤더 압축에서 로컬 리페어를 강화하는 방법 및시스템 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7450586B2 (en) * | 2003-07-22 | 2008-11-11 | Motorola, Inc. | Network header compression arrangement |
US9325998B2 (en) * | 2003-09-30 | 2016-04-26 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7430617B2 (en) * | 2003-12-19 | 2008-09-30 | Nokia Corporation | Method and system for header compression |
US8018850B2 (en) * | 2004-02-23 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
JP4568755B2 (ja) * | 2004-04-05 | 2010-10-27 | ワイアレス オーディオ アイピー ビー.ブイ. | 動的スロット割当による無線音声送信システム及び方法 |
US7391775B2 (en) * | 2004-04-05 | 2008-06-24 | Nokia Corporation | Method and apparatus to provide network data recovery optimization with header compression enabled in unreliable environment |
JP4156568B2 (ja) * | 2004-06-21 | 2008-09-24 | 富士通株式会社 | 通信システムの制御方法、通信制御装置、プログラム |
FI20041005A0 (fi) * | 2004-07-20 | 2004-07-20 | Nokia Corp | Otsikkotietojen pakkaus pakkaajan ja pakkauksen purkajan välillä |
US7797723B2 (en) * | 2004-10-30 | 2010-09-14 | Sharp Laboratories Of America, Inc. | Packet scheduling for video transmission with sender queue control |
US7784076B2 (en) * | 2004-10-30 | 2010-08-24 | Sharp Laboratories Of America, Inc. | Sender-side bandwidth estimation for video transmission with receiver packet buffer |
US8356327B2 (en) | 2004-10-30 | 2013-01-15 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7983156B1 (en) * | 2004-11-12 | 2011-07-19 | Openwave Systems Inc. | System and method for controlling network congestion |
CN100459710C (zh) * | 2005-03-17 | 2009-02-04 | 华为技术有限公司 | 一种数据流头压缩中的全头包发送方法 |
US7710896B2 (en) * | 2005-12-21 | 2010-05-04 | Sri International | Ad-hoc network routing metric optimization |
US9544602B2 (en) * | 2005-12-30 | 2017-01-10 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US20080037572A1 (en) * | 2006-01-03 | 2008-02-14 | Nokia Corporation | Differentiated Services Code Point and Logical Channels |
KR101217628B1 (ko) | 2006-02-16 | 2013-01-02 | 삼성전자주식회사 | 전력선 통신 네트워크 상의 패킷 집합 방법 및 장치 |
US7652994B2 (en) * | 2006-03-31 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels |
JPWO2007142182A1 (ja) * | 2006-06-08 | 2009-10-22 | シャープ株式会社 | 放送受信端末装置、放送受信方法、プログラムおよび記録媒体 |
US8861597B2 (en) * | 2006-09-18 | 2014-10-14 | Sharp Laboratories Of America, Inc. | Distributed channel time allocation for video streaming over wireless networks |
GB2442262B (en) * | 2006-09-26 | 2009-02-18 | Nec Technologies | Data transmission in cellular phone network |
US7652993B2 (en) * | 2006-11-03 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Multi-stream pro-active rate adaptation for robust video transmission |
US8243597B2 (en) * | 2007-03-01 | 2012-08-14 | International Business Machines Corporation | Application layer synchronous traffic shaping |
EP2174462A1 (en) * | 2007-07-05 | 2010-04-14 | Ceragon Networks LTD. | Data packet header compression |
US20090046577A1 (en) * | 2007-08-14 | 2009-02-19 | Motorola, Inc. | Resuming an interrupted flow of data packets |
KR101457561B1 (ko) * | 2008-01-29 | 2014-11-03 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 작업 수행 방법 및 장치 |
US8422370B2 (en) * | 2008-06-27 | 2013-04-16 | International Business Machines Corporation | Reducing retransmission of out of order packets |
US8213308B2 (en) | 2008-09-11 | 2012-07-03 | Juniper Networks, Inc. | Methods and apparatus for defining a flow control signal related to a transmit queue |
US8325749B2 (en) | 2008-12-24 | 2012-12-04 | Juniper Networks, Inc. | Methods and apparatus for transmission of groups of cells via a switch fabric |
US8154996B2 (en) | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
US8254255B2 (en) | 2008-12-29 | 2012-08-28 | Juniper Networks, Inc. | Flow-control in a switch fabric |
US8149730B1 (en) | 2009-05-12 | 2012-04-03 | Juniper Networks, Inc. | Methods and apparatus related to packet generation and analysis |
US8174991B1 (en) | 2009-06-29 | 2012-05-08 | Juniper Networks, Inc. | Methods and apparatus related to analysis of test packets |
US8953603B2 (en) * | 2009-10-28 | 2015-02-10 | Juniper Networks, Inc. | Methods and apparatus related to a distributed switch fabric |
US9264321B2 (en) | 2009-12-23 | 2016-02-16 | Juniper Networks, Inc. | Methods and apparatus for tracking data flow based on flow state values |
US9602439B2 (en) | 2010-04-30 | 2017-03-21 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with a switch fabric |
US9065773B2 (en) | 2010-06-22 | 2015-06-23 | Juniper Networks, Inc. | Methods and apparatus for virtual channel flow control associated with a switch fabric |
US8553710B1 (en) | 2010-08-18 | 2013-10-08 | Juniper Networks, Inc. | Fibre channel credit-based link flow control overlay onto fibre channel over ethernet |
KR101169724B1 (ko) * | 2010-09-28 | 2012-07-30 | (주)시선정보통신 | 무선링크에 최적화된 헤더압축장치 및 그 방법 |
US9660940B2 (en) | 2010-12-01 | 2017-05-23 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with a switch fabric |
US8780896B2 (en) | 2010-12-29 | 2014-07-15 | Juniper Networks, Inc. | Methods and apparatus for validation of equal cost multi path (ECMP) paths in a switch fabric system |
US8798077B2 (en) | 2010-12-29 | 2014-08-05 | Juniper Networks, Inc. | Methods and apparatus for standard protocol validation mechanisms deployed over a switch fabric system |
US9032089B2 (en) | 2011-03-09 | 2015-05-12 | Juniper Networks, Inc. | Methods and apparatus for path selection within a network based on flow duration |
US8811183B1 (en) | 2011-10-04 | 2014-08-19 | Juniper Networks, Inc. | Methods and apparatus for multi-path flow control within a multi-stage switch fabric |
US9509805B2 (en) | 2011-12-01 | 2016-11-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Reduction of packet header compression overhead due to high ECN rate |
US20140098745A1 (en) * | 2012-10-04 | 2014-04-10 | Qualcomm Incorporated | Method and system for compressing data packets in lte evolved multicast broadcast multimedia service |
US9350676B2 (en) * | 2012-12-11 | 2016-05-24 | Qualcomm Incorporated | Method and apparatus for classifying flows for compression |
GB2510174B (en) * | 2013-01-28 | 2016-02-24 | Canon Kk | Method and device for encoding headers of a message using an in-memory indexing table |
KR101496058B1 (ko) * | 2013-12-27 | 2015-02-26 | 한국과학기술원 | 회선 활용도 기반 네트워크 코딩 방식 결정 방법 및 장치 |
CN105659612B (zh) * | 2014-03-11 | 2018-12-28 | Lg 电子株式会社 | 发送/接收广播信号的方法和设备 |
US9668204B2 (en) * | 2014-09-19 | 2017-05-30 | Qualcomm Inc. | Collaborative demand-based dual-mode Wi-Fi network control to optimize wireless power and performance |
KR102300300B1 (ko) * | 2015-07-03 | 2021-09-09 | 삼성전자주식회사 | 헤더 압축을 이용한 패킷 통신 방법 및 장치 |
US10205787B2 (en) * | 2016-07-14 | 2019-02-12 | Juniper Networks, Inc. | Method, system, and apparatus for reducing the size of route updates |
BR112020015008A2 (pt) * | 2018-01-29 | 2020-12-29 | Koninklijke Philips N.V. | Dispositivo sem fio, dispositivo de retransmissão, sistema e método |
US10728159B2 (en) * | 2018-03-26 | 2020-07-28 | Qualcomm Incorporated | Prioritization for a packet communication protocol with header compression |
WO2020222436A1 (en) * | 2019-04-30 | 2020-11-05 | Lg Electronics Inc. | Method and apparatus for transmitting packets based on receiving a handover command in wireless communication system |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761438A (en) * | 1993-08-31 | 1998-06-02 | Canon Kabushiki Kaisha | Apparatus for measuring the amount of traffic of a network at a predetermined timing and compressing data in the packet without changing the size of the packet |
JPH09214545A (ja) * | 1996-02-02 | 1997-08-15 | Nec Corp | ネットワーク通信制御方式 |
US6014694A (en) * | 1997-06-26 | 2000-01-11 | Citrix Systems, Inc. | System for adaptive video/audio transport over a network |
US6577610B1 (en) * | 1997-06-30 | 2003-06-10 | Spacenet, Inc. | Flex slotted Aloha transmission system and method |
US6421720B2 (en) * | 1998-10-28 | 2002-07-16 | Cisco Technology, Inc. | Codec-independent technique for modulating bandwidth in packet network |
KR100281579B1 (ko) * | 1998-11-23 | 2001-02-15 | 이계철 | 통신 채널 특성에 따라 채널 코덱을 가변하는무선통신 송수신장치 및 그 방법 |
JP2000307648A (ja) * | 1999-04-19 | 2000-11-02 | Canon Inc | 通信端末装置 |
DE60019174T2 (de) * | 1999-08-06 | 2005-08-11 | Matsushita Electric Industrial Co., Ltd., Kadoma | Datenübertragungsverfahren, -vorrichtung und Datenempfangsvorrichtung |
US6542931B1 (en) * | 1999-11-05 | 2003-04-01 | Nokia Corporation | Using sparse feedback to increase bandwidth efficiency in high delay, low bandwidth environment |
US6577596B1 (en) * | 1999-11-30 | 2003-06-10 | Telefonaktiebolaget Ln Ericsson (Publ) | Method and apparatus for packet delay reduction using scheduling and header compression |
DE60110303T2 (de) * | 2000-03-03 | 2006-03-09 | Ntt Docomo, Inc. | Verfahren und Vorrichtung zur Paketübertragung mit Paketenkopfkompression |
JP3730835B2 (ja) * | 2000-03-03 | 2006-01-05 | 株式会社エヌ・ティ・ティ・ドコモ | パケット伝送方法、中継装置およびデータ端末 |
US7539130B2 (en) * | 2000-03-28 | 2009-05-26 | Nokia Corporation | Method and system for transmitting and receiving packets |
JP4520032B2 (ja) * | 2000-08-17 | 2010-08-04 | パナソニック株式会社 | ヘッダ圧縮装置およびヘッダ圧縮方法 |
US6845105B1 (en) * | 2000-09-28 | 2005-01-18 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for maintaining sequence numbering in header compressed packets |
US7046672B2 (en) * | 2000-11-16 | 2006-05-16 | Microsoft Corporation | Robust, inferentially synchronized transmission of compressed transport-layer-protocol headers |
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US6954460B2 (en) * | 2001-10-05 | 2005-10-11 | Ericsson Inc. | Method and apparatus for compressing packet headers |
KR100403760B1 (ko) * | 2001-12-20 | 2003-10-30 | 주식회사 케이티 | 음성 특성에 따른 자동 대역 할당장치 및 그 방법 |
US7313152B2 (en) * | 2002-03-01 | 2007-12-25 | Nokia Corporation | IP header compression dependent connection admission control and/or channel allocation |
-
2002
- 2002-08-28 KR KR1020020051167A patent/KR100663586B1/ko not_active IP Right Cessation
-
2003
- 2003-07-11 US US10/617,259 patent/US7391736B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100944918B1 (ko) * | 2004-12-08 | 2010-03-03 | 퀄컴 인코포레이티드 | 로버스트 헤더 압축에서 로컬 리페어를 강화하는 방법 및시스템 |
Also Published As
Publication number | Publication date |
---|---|
US7391736B2 (en) | 2008-06-24 |
KR100663586B1 (ko) | 2007-01-02 |
US20040071096A1 (en) | 2004-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100663586B1 (ko) | 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 | |
US9125088B2 (en) | Dynamic robust header compression | |
US6882637B1 (en) | Method and system for transmitting and receiving packets | |
US7539130B2 (en) | Method and system for transmitting and receiving packets | |
US6751209B1 (en) | Header compression in real time service | |
JP4582565B2 (ja) | パケット通信におけるロバストヘッダ圧縮 | |
JP4520032B2 (ja) | ヘッダ圧縮装置およびヘッダ圧縮方法 | |
US6680955B1 (en) | Technique for compressing a header field in a data packet | |
CA2387382C (en) | Sparse feedback in high delay-low bandwidth wireless systems | |
EP1187416B1 (en) | Method and apparatus for transmitting data packets | |
WO2008085337A2 (en) | Adaptive header compression in a wireless communication network | |
KR20050058371A (ko) | 확장 헤더 압축 | |
JP2002124989A (ja) | データパケット転送方法および装置 | |
AU2004258114B2 (en) | Performing compression of user datagram protocol packets | |
EP1926282B1 (en) | Method and system for compressing and decompressing packet headers | |
Rawat et al. | Robust header compression over long delay links |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121129 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131128 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141127 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20151127 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |