[go: up one dir, main page]

CN1802567B - Method and system for performing compression on user datagram protocol packets - Google Patents

Method and system for performing compression on user datagram protocol packets Download PDF

Info

Publication number
CN1802567B
CN1802567B CN200480015972.2A CN200480015972A CN1802567B CN 1802567 B CN1802567 B CN 1802567B CN 200480015972 A CN200480015972 A CN 200480015972A CN 1802567 B CN1802567 B CN 1802567B
Authority
CN
China
Prior art keywords
stream
packet
decompressor
identifier
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200480015972.2A
Other languages
Chinese (zh)
Other versions
CN1802567A (en
Inventor
塔弥玛·克琳
瓦特尔·L·鲁宾逊
嘉蒂施·V·嵩蒂
娜则恩·A·米切尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/706,640 external-priority patent/US7065087B2/en
Priority claimed from US10/735,486 external-priority patent/US7317724B2/en
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1802567A publication Critical patent/CN1802567A/en
Application granted granted Critical
Publication of CN1802567B publication Critical patent/CN1802567B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Performing compression includes receiving, at a compressor, a flow including a plurality of packets, wherein each packet has a packet identifier. The packet identifier is associated with a predetermined increment, but any change to the predetermined increment is ignored. The packets are compressed and the stream is sent to a decompressor.

Description

用于对用户数据报协议分组执行压缩的方法和系统Method and system for performing compression on user datagram protocol packets

技术领域 technical field

本发明一般地涉及通信领域,更具体地说,本发明涉及对用户数据报协议分组执行压缩。  The present invention relates generally to the field of communications, and more particularly, the present invention relates to performing compression on User Datagram Protocol packets. the

背景技术Background technique

多种已知技术可以用来对用户数据报协议(UDP)分组进行压缩。如果分组丢失,这些已知技术可以执行某些分组丢失过程。但是,这些过程可能加剧分组丢失。因此,用于对用户数据报协议分组进行压缩的已知技术不满足某些情形。  Various known techniques can be used to compress User Datagram Protocol (UDP) packets. These known techniques can perform some packet loss procedures if a packet is lost. However, these procedures may exacerbate packet loss. Therefore, known techniques for compressing User Datagram Protocol packets do not satisfy certain situations. the

发明内容Contents of the invention

根据本发明,可以减少或消除与用于压缩用户数据报协议(UDP)分组的先前技术相关联的缺点和问题。  In accordance with the present invention, disadvantages and problems associated with prior techniques for compressing User Datagram Protocol (UDP) packets may be reduced or eliminated. the

根据本发明的一个实施例,执行压缩包括在压缩器处接收包括多个分组的流,其中每个分组具有分组标识符。分组标识符与预定增量相关联,例如ΔIP ID,但是该预定增量的任何改变都被忽略。这些分组被压缩,并且该流被发送到解压缩器。  According to one embodiment of the invention, performing the compression includes receiving at the compressor a stream comprising a plurality of packets, each packet having a packet identifier. A packet identifier is associated with a predetermined increment, such as ΔIP ID, but any change in this predetermined increment is ignored. These packets are compressed, and the stream is sent to a decompressor. the

本发明的某些实施例可以提供一个或多个技术优点。一个实施例的技术优点可以是压缩器可以忽略连续分组的分组标识符之间的预定增量的任何改变,并且解压缩器可以接受序号跳变,而不使上下文无效。这些过程可以节省可用带宽,并且可以减少分组丢失。一个实施例的另一个技术优点可以是压缩器和解压缩器之间的上下文标识符的使用可以被同步,这可以减少或消除流变坏。  Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that the compressor can ignore any change in predetermined increments between packet identifiers of successive packets, and the decompressor can accept sequence number jumps without invalidating the context. These procedures can conserve available bandwidth and can reduce packet loss. Another technical advantage of an embodiment may be that the use of context identifiers between the compressor and decompressor may be synchronized, which may reduce or eliminate stream corruption. the

本发明的某些实施例可以包括上述技术优点的某些、全部或者不包括上述技术优点。从这里包括的附图、说明和权利要求,本领域的技术人员  Certain embodiments of the present invention may include some, all, or none of the technical advantages described above. From the drawings, description and claims included herein, one skilled in the art

附图说明Description of drawings

为了更全面地理解本发明及其特征和优点,现在结合附图参考下面的描述,在附图中:  For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:

图1是根据本发明可以被使用的网络的一个实施例的框图;  Figure 1 is a block diagram of one embodiment of a network that may be used according to the present invention;

图2的流程图示出了用于在不依赖分组标识符的情况下发送分组的方法的一个示例;  The flowchart of Figure 2 shows an example of a method for sending a packet without relying on a packet identifier;

图3到图5的流程图示出了用于对压缩器和解压缩器之间的上下文标识符的使用进行同步的方法的实施例。  The flowcharts of FIGS. 3 to 5 illustrate embodiments of methods for synchronizing the use of context identifiers between a compressor and a decompressor. the

具体实施方式 Detailed ways

参考附图中的图1到图5,可以最佳理解本发明的实施例及其优点,其中相似的标号用于表示各个图中的相似和相应部分。  Embodiments of the present invention and their advantages are best understood by referring to Figures 1 through 5 of the drawings, wherein like numerals are used to indicate like and corresponding parts in the various figures. the

图1的框图示出了可以压缩用户数据报协议(UDP)分组的网络100的一个实施例。一般来说,网络100可以忽略连续分组的分组标识符之间的预定增量的任何改变。忽略这些改变可以节省可用带宽,并且可以减少分组丢失。网络100可以对压缩器和解压缩器之间的上下文标识符(CID)的使用进行同步,这可以减少或消除流变坏。  The block diagram of Figure 1 illustrates one embodiment of a network 100 that can compress User Datagram Protocol (UDP) packets. In general, network 100 may ignore any change in predetermined increments between packet identifiers of successive packets. Ignoring these changes can save available bandwidth and can reduce packet loss. Network 100 can synchronize the use of context identifiers (CIDs) between compressors and decompressors, which can reduce or eliminate stream corruption. the

根据所示实施例,网络100包括第一应用节点10、第一传输节点20、通信链路30、第二传输节点40和第二应用节点50,它们如图1所示耦合。第一应用节点10在网络100中接收并发送呼叫。第一应用节点10可以包括基站发射台(BTS),基站控制器(BSC),路由器,计算机,网络,用于在网络100中接收和发送呼叫的任何其他适当的电信设备,或者前述设备中的某些、全部,或者没有前述设备。根据所示实施例,第一应用节点10包括可操作来向网络100发送和从网络100接收信号的BTS。这些信号可以包括数据通信、语音通信、信令通信、或者任何其他适当类型的通信。  According to the illustrated embodiment, the network 100 comprises a first application node 10 , a first transport node 20 , a communication link 30 , a second transport node 40 and a second application node 50 coupled as shown in FIG. 1 . The first application node 10 receives and sends calls in the network 100 . The first application node 10 may comprise a Base Transmitter Station (BTS), a Base Station Controller (BSC), a router, a computer, a network, any other suitable telecommunications equipment for receiving and sending calls in the network 100, or any of the foregoing Some, all, or none of the aforementioned devices. According to the illustrated embodiment, the first application node 10 comprises a BTS operable to send and receive signals to and from the network 100 . These signals may include data communications, voice communications, signaling communications, or any other suitable type of communications. the

第一传输节点20在网络100中路由分组。数据分组包括以特定方式 组织来发送的一包数据,并且可以承载数字、音频、视频、多媒体或其他类型的信息。第一传输节点20可以通过通信链路30在第一应用节点10和第二传输节点40之间传输分组。第一传输节点20可以包括一个或多个路由器,或者适于接收和发送数据分组的任何其他通信设备。  The first transport node 20 routes packets in the network 100 . A data packet consists of a packet of data organized in a particular way for transmission and can carry digital, audio, video, multimedia, or other types of information. The first transfer node 20 may transfer packets between the first application node 10 and the second transfer node 40 via the communication link 30 . The first transport node 20 may comprise one or more routers, or any other communication device suitable for receiving and sending data packets. the

根据一个实施例,第一传输节点20可以包括具有第三层和第二层实体的路由器。第三层实体可以与诸如分类和排队之类的路由功能相关联。例如,分类功能可以包括根据预定标准对数据分组分类,而排队功能可以包括将分组置于适当的队列中。第二层实体可以包括压缩器、复用器、负载均衡器、本地呼叫许可控制或其他适当的组件。  According to one embodiment, the first transit node 20 may comprise a router having layer-3 and layer-2 entities. Layer 3 entities can be associated with routing functions such as sorting and queuing. For example, a classification function may include sorting data packets according to predetermined criteria, while a queuing function may include placing packets in an appropriate queue. Layer 2 entities may include compressors, multiplexers, load balancers, local call admission control, or other suitable components. the

根据所示实施例,第一传输节点20可以包括压缩器25和解压缩器26。压缩器25压缩在第一传输节点20处接收到的数据分组,并且可以包括可操作来管理压缩的处理器27和可操作来存储分组的缓冲器28。根据一个实施例,压缩器25可以包括可操作来执行压缩操作的算法,并且可以使用适于对诸如RFC 2508之类的IP分组进行压缩的任何压缩操作。解压缩器26对从压缩器45接收到的数据分组解压缩。根据一个实施例,解压缩器26包括可操作来执行解压缩的算法,并且可以采用适于对诸如RFC 2508之类的IP分组解压缩的任何解压缩操作。根据所示实施例,解压缩器26可以与压缩器45同步。  According to the illustrated embodiment, the first transmission node 20 may comprise a compressor 25 and a decompressor 26 . A compressor 25 compresses data packets received at the first transport node 20 and may include a processor 27 operable to manage the compression and a buffer 28 operable to store the packets. According to one embodiment, compressor 25 may include an algorithm operable to perform a compression operation, and may use any compression operation suitable for compressing IP packets such as RFC 2508. Decompressor 26 decompresses the data packets received from compressor 45 . According to one embodiment, decompressor 26 includes an algorithm operable to perform decompression, and may employ any decompression operation suitable for decompressing IP packets such as RFC 2508. According to the illustrated embodiment, decompressor 26 may be synchronized with compressor 45 . the

通信链路30承载到网络100的节点去的和从网络100的节点来的通信信号。通信链路30可以包括与公共交换电话网(PSTN)、公共或专用数据网络、因特网、有线或无线网络、本地或区域或全球通信网络、企业内部网相关联的任何适当链路、其他适当的通信链路、或者前述的任意组合。  Communication links 30 carry communication signals to and from nodes of network 100 . Communication link 30 may include any suitable link associated with the public switched telephone network (PSTN), public or private data network, the Internet, wired or wireless network, local or regional or global communication network, intranet, other suitable Communication link, or any combination of the foregoing. the

根据一个实施例,通信链路30包括第一传输节点20和第二传输节点40之间的多向链路。根据所示实施例,通信链路30可以包括多链路点到点(MLPPP)配置中的一部分。任何适当数目的链路可以包括在通信链路30中,而不脱离本发明的范围。  According to one embodiment, the communication link 30 comprises a multi-directional link between the first transfer node 20 and the second transfer node 40 . According to the illustrated embodiment, communication link 30 may comprise part of a multi-link point-to-point (MLPPP) configuration. Any suitable number of links may be included in communication link 30 without departing from the scope of the present invention. the

根据所示实施例,通信链路30包括第一方向流32和第二方向流34。第一方向流32可以承载从第一传输节点20到第二传输节点40的数据分 组。但是,第一方向流32可以以相反方向操作,而不脱离本发明的范围。第二方向流34可以承载从第二传输节点40到第一传输节点20的数据分组。第二方向流34的方向也可以被反向,而不脱离本发明的范围。  According to the illustrated embodiment, the communication link 30 includes a first direction flow 32 and a second direction flow 34 . The first direction flow 32 may carry data packets from the first transport node 20 to the second transport node 40. However, the first directional flow 32 may operate in the opposite direction without departing from the scope of the present invention. The second direction flow 34 may carry data packets from the second transport node 40 to the first transport node 20 . The direction of the second directional flow 34 may also be reversed without departing from the scope of the present invention. the

可以使用任何适当数目的第一方向流32和第二方向流34,而不脱离本发明的范围。例如,第一方向流32可以代表通信链路30的上行链路方向,而第二方向流34可以代表通信链路30的下行链路方向。网络100中的其他通信链路30可以利用任何其他适当的上行链路和下行链路配置,以承载到传输节点去的和从传输节点来的分组。  Any suitable number of first directional flows 32 and second directional flows 34 may be used without departing from the scope of the present invention. For example, first direction flow 32 may represent the uplink direction of communication link 30 , while second direction flow 34 may represent the downlink direction of communication link 30 . Other communication links 30 in network 100 may utilize any other suitable uplink and downlink configurations to carry packets to and from transport nodes. the

第二传输节点40在网络100中路由分组。第二传输节点40可以在第一传输节点20和第二应用节点50之间传输分组。第二传输节点40可以基本类似于第一传输节点20,并且可以包括路由器。根据所示实施例,第二传输节点40包括压缩器45和解压缩器46。压缩器45可以基本类似于压缩器25。根据所示实施例,压缩器45可操作来通过第二方向流34将压缩后的分组发送到第一传输节点20中的解压缩器26。解压缩器46可以基本类似于解压缩器26,并且可以包括可操作来管理解压缩的处理器47和可操作来存储分组的缓冲器48。解压缩器46可操作来通过第一方向流32接收来自第一传输节点20中的压缩器25的压缩后的数据分组。  The second transport node 40 routes packets in the network 100 . The second transfer node 40 may transfer packets between the first transfer node 20 and the second application node 50 . The second transfer node 40 may be substantially similar to the first transfer node 20, and may include a router. According to the illustrated embodiment, the second transmission node 40 comprises a compressor 45 and a decompressor 46 . Compressor 45 may be substantially similar to compressor 25 . According to the illustrated embodiment, the compressor 45 is operable to send the compressed packets to the decompressor 26 in the first transport node 20 via the second direction flow 34 . Decompressor 46 may be substantially similar to decompressor 26, and may include a processor 47 operable to manage decompression and a buffer 48 operable to store packets. The decompressor 46 is operable to receive the compressed data packets from the compressor 25 in the first transport node 20 via the first direction flow 32 . the

第二应用节点50在操作上可以基本类似于第一应用节点10。根据所示实施例,第二应用节点50包括可操作来在网络100中接收和发送信号的基站控制器(BSC)。  The second application node 50 may be substantially similar to the first application node 10 in operation. According to the illustrated embodiment, the second application node 50 comprises a base station controller (BSC) operable to receive and transmit signals in the network 100 . the

可以对网络100作出各种修改、添加或省略,而不脱离本发明的范围。例如,可以省略第一应用节点10和第二应用节点50。作为另一个示例,可以修改第一传输节点20和第二传输节点40使之包括任何适当数目的路由器。另外,可以使用包括软件、硬件、其他逻辑的任何适当逻辑,或它们的任何适当组合来执行功能。在本文件中所使用的“每个”指一个集合中的每个成员或集合的子集中的每个成员。  Various modifications, additions, or omissions may be made to the network 100 without departing from the scope of the present invention. For example, the first application node 10 and the second application node 50 may be omitted. As another example, first transfer node 20 and second transfer node 40 may be modified to include any suitable number of routers. Additionally, functions may be performed using any suitable logic including software, hardware, other logic, or any suitable combination thereof. "Each" as used in this document refers to each member of a set or each member of a subset of a set. the

网络100与已知技术相比具有某些优点。由因特网协会公布的RFC2508“Compressing IP/UDP/RTP Headers for Low-Speed Serial Links”描述了下述已知技术:该技术用于根据压缩实时传输协议(cRTP)对实时传输 协议(RTP)流进行头部压缩;并根据压缩用户数据报协议(cUDP)压缩用户数据报协议(UDP)流。在分组丢失事件期间,使上下文无效的RFC2508技术可能加剧分组丢失,并且降低带宽可用性。如果流中的完整头部分组丢失,RFC 2508的技术也可能导致流变坏。  Network 100 has certain advantages over known techniques. RFC2508 "Compressing IP/UDP/RTP Headers for Low-Speed Serial Links" published by the Internet Society describes a known technique for compressing Real-time Transport Protocol (RTP) streams according to the Compressed Real-time Transport Protocol (cRTP) header compression; and compressing User Datagram Protocol (UDP) streams according to Compressed User Datagram Protocol (cUDP). During a packet loss event, the RFC2508 technique of invalidating context may exacerbate packet loss and reduce bandwidth availability. The technique of RFC 2508 can also cause a stream to go bad if a complete header packet is lost in the stream. the

根据一个实施例,网络100可以忽略连续分组的分组标识符之间的预定增量的任何改变,并且可以忽略序号跳变,即,容忍分组丢失并继续解压缩,这可以节省可用带宽,并且可以减少分组丢失。下面将参考图2更详细地描述用于在无分组标识符的情况下发送分组的方法的实施例。根据另一个实施例,网络100还可以对压缩器25和解压缩器46之间的上下文标识符的使用进行同步。下面将参考图3更详细地描述用于对压缩器25和解压缩器46之间的上下文标识符的使用进行同步的方法的实施例。  According to one embodiment, the network 100 can ignore any change in predetermined increments between packet identifiers of consecutive packets, and can ignore sequence number jumps, i.e., tolerate packet loss and continue decompression, which can save available bandwidth, and can Reduce packet loss. An embodiment of a method for sending a packet without a packet identifier will be described in more detail below with reference to FIG. 2 . According to another embodiment, the network 100 may also synchronize the use of context identifiers between the compressor 25 and the decompressor 46 . An embodiment of a method for synchronizing the use of context identifiers between the compressor 25 and the decompressor 46 will be described in more detail below with reference to FIG. 3 . the

图2的流程图示出了用于在不保存诸如因特网协议标识符之类的分组标识符的情况下发送分组的方法的一个实施例。根据该实施例,通过忽略连续分组的分组标识符之间的预定增量的改变,即不试图保存分组标识符,可以最优化发送。  The flowchart of Figure 2 illustrates one embodiment of a method for sending packets without storing packet identifiers, such as Internet Protocol identifiers. According to this embodiment, transmission can be optimized by ignoring predetermined incremental changes between packet identifiers of consecutive packets, ie not attempting to preserve packet identifiers. the

该方法开始于步骤200,在该步骤中,第一传输节点20的压缩器25接收到具有分组标识符的分组。分组可以包括任何适当的分组,并且分组标识符可以包括任何可操作来标识分组的标签。例如,分组可以包括用户数据报协议分组,并且分组标识符可以包括因特网协议标识符。连续分组的分组标识符可以按预定增量递增。在步骤204中,压缩器25忽略连续分组的分组标识符之间的预定增量的任何改变。压缩器25可以通过不向解压缩器46通知这些改变来忽略这些改变,这可以提供更多可用带宽。例如,即使存在连续分组的分组标识符之间的预定增量改变,压缩器25也不发送可以认为是预定增量的ΔIP ID,这可以每个分组节省一到三个字节的带宽。  The method starts at step 200, where the compressor 25 of the first transport node 20 receives a packet with a packet identifier. A packet may include any suitable packet, and a packet identifier may include any label operable to identify a packet. For example, packets may include User Datagram Protocol packets, and packet identifiers may include Internet Protocol identifiers. The packet identifiers for consecutive packets may be incremented by predetermined increments. In step 204, the compressor 25 ignores any change in predetermined increments between packet identifiers of successive packets. Compressor 25 can ignore these changes by not notifying decompressor 46 of these changes, which can provide more available bandwidth. For example, even if there is a predetermined incremental change between the packet identifiers of successive packets, the compressor 25 does not send what can be considered a predetermined incremental ΔIP ID, which can save one to three bytes of bandwidth per packet. the

在步骤208中,压缩器25压缩分组,并且在步骤212中第一传输节点20将分组发送到第二传输节点40。在步骤216中,第二传输节点40的解压缩器46接收到这些分组。在步骤220中,忽略这些分组的序号。序号可以包括可操作来以分组顺序放置分组的任何适当标识符,例如cRTP顺 序标识符。可以根据分组的离开顺序对它们编序。不管序号已跳变还是未跳变,该方法都前进到步骤224,在该步骤中,为这些分组生成分组标识符。由于压缩器25不向解压缩器46通知预定增量的任何改变,所以解压缩器46为分组生成的分组标识符可能未必匹配该分组在压缩器25处所具有的分组标识符。因此,进入压缩器25的分组的分组标识符可以不同于正离开解压缩器46的分组的分组标识符。在步骤228中,解压缩器46转发分组。在转发了分组之后,该方法终止。  In step 208 the compressor 25 compresses the packet and in step 212 the first transport node 20 sends the packet to the second transport node 40 . In step 216, the decompressor 46 of the second transport node 40 receives these packets. In step 220, the sequence numbers of these packets are ignored. Sequence numbers may include any suitable identifier operable to place packets in packet order, such as a cRTP sequence identifier. Packets may be sequenced according to their order of departure. Regardless of whether the sequence number has been toggled or not, the method proceeds to step 224 where a packet identifier is generated for the packets. Since compressor 25 does not notify decompressor 46 of any changes in predetermined increments, the packet identifier generated by decompressor 46 for a packet may not necessarily match the packet identifier that the packet had at compressor 25 . Accordingly, the packet identifier of a packet entering compressor 25 may be different from the packet identifier of a packet leaving decompressor 46 . In step 228, decompressor 46 forwards the packet. After the packet has been forwarded, the method terminates. the

由于未被保存的IP ID字段是可能被影响的唯一字段,所以可以接受序号跳变。接受跳变而不是使流无效可以节省带宽,或者减少或消除分组丢失。使流无效要求从解压缩器46发送上下文状态分组到压缩器25,然后从压缩器25发送未压缩的完整头部分组到解压缩器46,而不仅仅是接受跳变。此外,如果链路接近或超出最大利用,则该实施例可以允许只丢弃在压缩器25和解压缩器46之间丢失的压缩后的分组,而不是丢弃根据RFC 2508技术的所有分组。  Sequence number jumps are acceptable since the unsaved IP ID field is the only field that may be affected. Accepting hops instead of invalidating the flow can save bandwidth, or reduce or eliminate packet loss. Invalidating the stream requires sending a context state packet from the decompressor 46 to the compressor 25, and then sending an uncompressed full header packet from the compressor 25 to the decompressor 46, rather than just accepting hops. Furthermore, this embodiment may allow only compressed packets lost between compressor 25 and decompressor 46 to be discarded, rather than discarding all packets according to the RFC 2508 technique, if the link is near or beyond maximum utilization. the

RFC 2508的序号检查过程一般易发生问题。例如,当发生分组丢失时,流中的每个分组或连续分组丢失可能导致下一个接收到的分组被丢弃,这可能使该流的分组丢失加倍。此外,解压缩器向压缩器发送上下文状态消息,这使压缩器在下一次接收到该流的分组时发送完整头部分组。上下文状态和完整头部分组每个都浪费带宽。此外,在解压缩器使流无效时刻和压缩器处理上下文状态时刻之间经过的该流的分组中的任何分组也可能丢失。另外,如果由于链路拥塞而发生分组丢失,则上下文状态和完整头部分组可能导致更多分组丢失,这致使甚至更多链路过量和更多丢失。通过取消序号检查过程,并且在解压缩器处生成外出分组标识符,只有在从压缩器发送到解压缩器期间丢失的分组被丢失,并且没有额外的链路带宽被用于上下文状态和完整的头部。  RFC 2508's sequence number checking process is generally problem-prone. For example, when packet loss occurs, each packet or consecutive packet loss in a flow may cause the next received packet to be dropped, which may double the packet loss for that flow. In addition, the decompressor sends a context status message to the compressor, which causes the compressor to send a full header packet the next time it receives a packet for that flow. Context state and full header packets each waste bandwidth. In addition, any packets in the stream's packets that pass between the time the decompressor invalidates the stream and the time the compressor processes the context state may also be lost. Additionally, if packet loss occurs due to link congestion, context state and full header packets may cause more packet loss, which leads to even more link overload and more loss. By canceling the sequence number checking process, and generating outgoing packet identifiers at the decompressor, only packets lost during transmission from the compressor to the decompressor are lost, and no additional link bandwidth is used for context state and complete head. the

可以对该方法作出修改、添加或省略,而不脱离本发明的范围。另外,可以以任何适当的顺序执行这些步骤,而不脱离本发明的范围。  Modifications, additions or omissions may be made to the method without departing from the scope of the present invention. Additionally, steps may be performed in any suitable order without departing from the scope of the invention. the

图3到图5的流程图示出了用于对压缩器25和解压缩器46之间的上下文标识符的使用进行同步的方法的实施例。上下文标识符可以用来标识 分组流,完整头部分组可以用来指示对新分组流的上下文标识符的使用。根据实施例,只要一个流是活动的(即,当前发送的分组),就为该流保留上下文标识符。压缩器25和解压缩器46监视流的不活动期间,以确定流的不活动时间。一旦流不活动已持续预定的最大允许不活动时间段,则其上下文标识符期满,并且该流必须通过发送完整头部分组来重新开始压缩。期满的上下文标识符可以重用于新的流的压缩。  The flowcharts of FIGS. 3 to 5 illustrate embodiments of methods for synchronizing the use of context identifiers between the compressor 25 and the decompressor 46 . A context identifier may be used to identify a packet flow, and a full header packet may be used to indicate the use of a context identifier for a new packet flow. According to an embodiment, a context identifier is reserved for a flow as long as the flow is active (ie, currently sending packets). Compressor 25 and decompressor 46 monitor the period of inactivity of the stream to determine the inactivity time of the stream. Once a flow has been inactive for a predetermined maximum allowed inactivity period, its context identifier expires and the flow must restart compression by sending a full header packet. Expired context identifiers can be reused for compression of new streams. the

在没有压缩器25和解压缩器46之间的同步的情况下,如果新流的完 整头部分组丢失,则该新流的压缩后的分组可能被解压缩器46不正确地解释为属于老的流,从而导致流变坏。根据该实施例,可以减少或消除流变坏。该方法可以与任何合适的压缩技术一起使用,例如RFC 2508的压缩技术,或者参考图2描述的用于发送分组的方法的实施例。  In the absence of synchronization between compressor 25 and decompressor 46, if a complete header packet for a new stream is lost, the compressed packets of the new stream may be incorrectly interpreted by decompressor 46 as belonging to the old stream. flow, causing the flow to go bad. According to this embodiment, flow deterioration may be reduced or eliminated. The method may be used with any suitable compression technique, such as that of RFC 2508, or the embodiment of the method for sending packets described with reference to FIG. 2 . the

参考图3,图3的方法开始于步骤300,在该步骤中,第一传输节点20的压缩器25接收到分组流。在步骤302中,如果该流未与现有的上下文相关联,则该方法前进到步骤304。在步骤304中,压缩器25检查是否存在可用的上下文标识符。可用的上下文标识符可以指尽管过去曾被使用但是可重用的上下文标识符。如果不存在可用的上下文标识符,则该方法前进到步骤308,在该步骤中,未压缩的分组被发送到第二传输节点40。在发送未压缩的分组后,该方法终止。  Referring to FIG. 3, the method of FIG. 3 starts at step 300, in which step the compressor 25 of the first transport node 20 receives a stream of packets. In step 302 , if the flow is not associated with an existing context, the method proceeds to step 304 . In step 304, the compressor 25 checks whether there is a context identifier available. Available context identifiers may refer to context identifiers that are reusable despite having been used in the past. If there is no context identifier available, the method proceeds to step 308 where the packet is sent to the second transport node 40 uncompressed. After sending the uncompressed packet, the method terminates. the

如果存在可用的上下文标识符,则该方法前进到步骤312,在该步骤中,可用的上下文标识符被分配给分组流。在步骤314中,压缩器25的上下文不活动定时器被启动。该上下文不活动定时器测量上下文的不活动时间。在步骤316中,发送完整头部分组。完整头部分组可以在压缩的分组之前被发送,以指示该上下文标识符正被用于新流。在发送完整头部分组后,该方法终止。  If there are available context identifiers, the method proceeds to step 312 where available context identifiers are assigned to packet flows. In step 314, the context inactivity timer of the compressor 25 is started. The context inactivity timer measures the inactivity time of the context. In step 316, the full header packet is sent. A full header packet may be sent before the compressed packet to indicate that the context identifier is being used for the new flow. After sending the complete header packet, the method terminates. the

在步骤302中,如果该流与现有上下文相关联,则该方法前进到步骤320。如果在步骤320中上下文不活动定时器已期满,则该方法前进到步骤314,在该步骤中,上下文不活动定时器被启动。如果在步骤320中上下文不活动定时器尚未期满,则该方法前进到步骤322,在该步骤中压缩器25压缩分组。在步骤324中,上下文不活动定时器被重启。在步骤330 中,第一传输节点20将压缩后的分组发送到第二传输节点40。在发送压缩的分组之后,该方法终止。  In step 302 , if the flow is associated with an existing context, the method proceeds to step 320 . If in step 320 the context inactivity timer has expired, the method proceeds to step 314 where the context inactivity timer is started. If in step 320 the context inactivity timer has not expired, the method proceeds to step 322 where compressor 25 compresses the packet. In step 324, the context inactivity timer is restarted. In step 330, the first transmission node 20 sends the compressed packet to the second transmission node 40. After sending the compressed packets, the method terminates. the

参考图4,图4的方法开始于步骤400,在该步骤中解压缩器46接收到压缩的分组流,该流具有与上下文相关联的上下文标识符。在解压缩器46处的上下文不活动定时器测量上下文的不活动时间。如果该上下文不活动定时器已期满,则解压缩器46期望获得的是该期满的上下文标识符的完整头部分组,而不是压缩后的分组。由于解压缩器46接收到压缩后的分组,所以解压缩器46确定完整头部分组丢失。因此,如果在步骤410中上下文不活动定时器已期满,则该方法前进到步骤412。在步骤412中,解压缩器46丢弃压缩后的分组,并使上下文无效。在使该上下文无效后,该方法终止。  Referring to FIG. 4, the method of FIG. 4 begins at step 400 in which decompressor 46 receives a compressed stream of packets having a context identifier associated with a context. A context inactivity timer at the decompressor 46 measures the inactivity time of the context. If the context inactivity timer has expired, the decompressor 46 expects the full header packet of the expired context identifier, not the compressed packet. Since decompressor 46 received the compressed packet, decompressor 46 determines that the full header packet is missing. Therefore, if in step 410 the context inactivity timer has expired, the method proceeds to step 412 . In step 412, decompressor 46 discards the compressed packet and invalidates the context. After invalidating the context, the method terminates. the

如果在步骤410中上下文不活动定时器尚未期满,则该方法前进到步骤416,在该步骤中,分组被解压缩。在步骤420中,上下文不活动定时器被重启。在步骤424中解压缩后的分组被转发。在转发分组后,该方法终止。  If in step 410 the context inactivity timer has not expired, the method proceeds to step 416 where the packet is decompressed. In step 420, the context inactivity timer is restarted. In step 424 the decompressed packets are forwarded. After forwarding the packet, the method terminates. the

参考图5,图5的方法开始于步骤500,在该步骤中,解压缩器46接收到一个流的完整头部分组,其中该流具有与上下文相关联的上下文标识符。在步骤504中,根据上下文标识符保存该流的状态数据。在步骤506中,解压缩器46的上下文不活动定时器被启动。在步骤510中,解压缩器46转发分组。转发分组之后,该方法终止。  Referring to FIG. 5, the method of FIG. 5 begins at step 500 in which decompressor 46 receives a complete header packet for a stream having a context identifier associated with a context. In step 504, the state data of the flow is saved according to the context identifier. In step 506, a context inactivity timer of the decompressor 46 is started. In step 510, decompressor 46 forwards the packet. After forwarding the packet, the method terminates. the

概括说来,压缩器25和解压缩器46通过使用同步的期满时间,从而对它们的上下文标识符的重用进行同步。上下文标识符仅在下述情况中被重用:如果解压缩器46期望获得具有上下文标识符的新流,并且压缩器25和解压缩器46知道该上下文标识符可重用于新流。压缩器25和解压缩器46使用同步的期满时间。当上下文标识符期满并且变得在压缩器25处可用时,解压缩器46知道该上下文标识符已期满,并且期望获得指示该上下文标识符正用于新流的完整头部分组。根据一个实施例,可以要求一个流在最大允许不活动时间段结束时重新开始压缩,该压缩发生在期满时间段结束时的上下文标识符期满之前。该要求可以减少这种情况的概率, 即:一个流的上下文标识符期满而分组却在压缩器25和解压缩器46之间传输。  In summary, the compressor 25 and the decompressor 46 synchronize the reuse of their context identifiers by using synchronized expiration times. The context identifier is only reused if the decompressor 46 expects a new stream with a context identifier, and the compressor 25 and decompressor 46 know that the context identifier can be reused for the new stream. Compressor 25 and decompressor 46 use synchronized expiration times. When a context identifier expires and becomes available at the compressor 25, the decompressor 46 knows that the context identifier has expired and expects a full header packet indicating that the context identifier is being used for a new stream. According to one embodiment, a stream may be required to restart compaction at the end of the maximum allowed period of inactivity prior to expiration of the context identifier at the end of the expiry period. This requirement may reduce the probability of a situation where a flow's context identifier expires while packets are in transit between compressor 25 and decompressor 46. the

根据一个实施例,解压缩器46可以使用期满时间段ET、并且压缩器25可以使用由Δ时间dT调节的期满时间段。根据一个实施例,期满时间段ET可以基于RFC 2509的F_MAX_TIME,并且Δ时间dT可以基于分组从压缩器25传输到解压缩器46所花费的平均时间。在压缩器25处,最大允许不活动时间段可以定义为ET-dT,并且上下文标识符期满时间段可以定义为ET+dT。如果在压缩器25处流处于不活动中的持续时间大于最大允许不活动时间段ET-dT,则该流必须重新启动压缩。在压缩器25处上下文标识符在ET+dT后期满。通过允许不活动时间超过ET-dT但短于ET的流在发送完整头部分组的同时继续使用其自身的上下文标识符,可以实现最优化。如果完整头部分组丢失,但是下一个分组仍然在解压缩器46处的上下文标识符期满之前到达解压缩器46,则上下文仍然有效,并且该流的压缩可以继续。  According to one embodiment, the decompressor 46 may use an expiration period ET and the compressor 25 may use an expiration period adjusted by the delta time dT. According to one embodiment, the expiration time period ET may be based on F_MAX_TIME of RFC 2509, and the delta time dT may be based on the average time it takes a packet to travel from the compressor 25 to the decompressor 46. At the compressor 25, the maximum allowed inactivity period may be defined as ET-dT, and the context identifier expiration period may be defined as ET+dT. If a stream has been inactive at the compressor 25 for a duration greater than the maximum allowed inactivity period ET-dT, the stream must restart compression. The context identifier expires after ET+dT at the compressor 25 . Optimization can be achieved by allowing a flow that has been inactive for longer than ET-dT but shorter than ET to continue using its own context identifier while sending full header packets. If a full header packet is lost, but the next packet still arrives at the decompressor 46 before the context identifier at the decompressor 46 expires, the context is still valid and compression of the stream can continue. the

可以对该方法作出修改、添加或省略,而不脱离本发明的范围。另外,可以以任何适当的顺序执行步骤,而不脱离本发明的范围。  Modifications, additions or omissions may be made to the method without departing from the scope of the present invention. Additionally, steps may be performed in any suitable order without departing from the scope of the invention. the

本发明的某些实施例可以提供一个或多个技术优点。一个实施例的技术优点在于可以忽略连续分组的分组标识符之间的预定增量的任何改变,这可以节省可用带宽,并且可以减少分组丢失。一个实施例的另一个技术优点在于可以对压缩器和解压缩器之间的上下文标识符的使用进行同步,这可以减少或消除流变坏。  Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment is that any change in predetermined increments between packet identifiers of successive packets can be ignored, which can save available bandwidth and can reduce packet loss. Another technical advantage of an embodiment is that the use of context identifiers between the compressor and decompressor can be synchronized, which can reduce or eliminate stream corruption. the

尽管详细描述了本发明的实施例及其优点,但是本领域的技术人员可以作出各种替换、添加和省略,而不脱离所附权利要求定义的本发明的精神和范围。  Although the embodiments of the present invention and its advantages have been described in detail, various substitutions, additions and omissions can be made by those skilled in the art without departing from the spirit and scope of the invention as defined by the appended claims. the

Claims (15)

1. method that is used to carry out compression comprises:
Receive the stream that comprises a plurality of groupings at the compressor reducer place, each grouping has a packet identifier, and this packet identifier is associated with predetermined increment;
Ignore the change of the predetermined increment that is associated with said packet identifier;
Compress said a plurality of grouping;
Said stream is sent to decompressor;
The inertia time of confirming to be associated with said stream, said stream had context identifier above the maximum permission inertia time period; And
, confirmed the inertia time of confirming to be associated with said stream that the context identifier of said stream can use in response to having surpassed the maximum permission inertia time period.
2. the method for claim 1 also comprises:
The place receives said stream at said decompressor, and each grouping of said stream has sequence number;
Ignore the saltus step of said sequence number of a plurality of groupings of said stream; And
Acceptance has the said stream of said sequence number saltus step.
3. the method for claim 1 also comprises:
Grouping after said decompressor place confirms to comprise compression in the position of said stream in full header packet; And
Confirm that said full header packet loses.
4. the method for claim 1 also comprises:
The context inactivity timer is set after compressed packet.
5. the method for claim 1 also comprises:
Confirm that said context identifier can use;
Said context identifier is distributed to a new stream;
With adding said stream to corresponding to the full header packet of said context identifier; And
Said stream is retransmitted to said decompressor.
6. system that is used to carry out compression comprises:
Compressor reducer, can operate:
Reception comprises the stream of a plurality of groupings, and each grouping has a packet identifier, and this packet identifier is associated with predetermined increment;
Ignore the change of the predetermined increment that is associated with said packet identifier;
Compress said a plurality of grouping;
Send said stream;
The inertia time of confirming to be associated with said stream that is associated, said stream had context identifier above the maximum permission inertia time period; And
, confirmed the inertia time of confirming to be associated with said stream that the context identifier of said stream can use in response to having surpassed the maximum permission inertia time period; With
Decompressor, it is coupled to said compressor reducer, and can operate the said stream that decompresses.
7. system as claimed in claim 6, said decompressor also can be operated:
Receive said stream, each grouping of said stream has sequence number;
Ignore the saltus step of said sequence number of a plurality of groupings of said stream; And
Acceptance has the said stream of said sequence number saltus step.
8. system as claimed in claim 6, said decompressor also can be operated:
Confirm the grouping said stream comprises compression in the position of full header packet after; And
Confirm that said full header packet loses.
9. system as claimed in claim 6, said compressor reducer also can be operated:
The context inactivity timer is set after compressed packet.
10. system as claimed in claim 6, said compressor reducer also can be operated:
Confirm that said context identifier can use;
Said context identifier is distributed to a new stream;
With adding said stream to corresponding to the full header packet of said context identifier; And
Said stream is retransmitted to said decompressor.
11. a system that is used to carry out compression comprises:
Be used for receiving at the compressor reducer place device of the stream that comprises a plurality of groupings, each grouping has a packet identifier, and this packet identifier is associated with predetermined increment;
Be used to ignore the device of the change of the predetermined increment that is associated with said packet identifier;
Be used to compress the device of said a plurality of groupings;
Be used for said stream is sent to the device of decompressor;
The inertia time that is used for confirming to be associated with said stream, said stream had context identifier above the maximum device that allows the inertia time period; And
Be used for having confirmed the device that the context identifier of said stream can be used above the maximum permission inertia time period in response to the inertia time of confirming to be associated with said stream.
12. system as claimed in claim 11 also comprises:
Be used for receiving at said decompressor place the device of said stream, each grouping of said stream has sequence number;
Be used to ignore the device of saltus step of said sequence number of a plurality of groupings of said stream; And
Be used to accept have the device of the said stream of said sequence number saltus step.
13. system as claimed in claim 11 also comprises:
Be used for confirming the device of the grouping of said stream after the position of full header packet comprises compression at said decompressor place; And
Be used to the device of confirming that said full header packet is lost.
14. system as claimed in claim 11 also comprises:
Be used for after compressed packet, being provided with the device of context inactivity timer.
15. system as claimed in claim 11 also comprises:
Be used to the device of confirming that said context identifier can be used;
Be used for said context identifier is distributed to the device of a new stream;
Be used for the device that adds said stream corresponding to the full header packet of said context identifier to; And
Be used for said stream is retransmitted to the device of said decompressor.
CN200480015972.2A 2003-07-08 2004-07-07 Method and system for performing compression on user datagram protocol packets Expired - Fee Related CN1802567B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US48540503P 2003-07-08 2003-07-08
US60/485,405 2003-07-08
US10/706,640 2003-11-12
US10/706,640 US7065087B2 (en) 2003-07-08 2003-11-12 Performing compression of user datagram protocol packets
US10/735,486 US7317724B2 (en) 2003-07-08 2003-12-12 Performing compression of user datagram protocol packets
US10/735,486 2003-12-12
PCT/US2004/021724 WO2005008262A1 (en) 2003-07-08 2004-07-07 Performing compression of user datagram protocol packets

Publications (2)

Publication Number Publication Date
CN1802567A CN1802567A (en) 2006-07-12
CN1802567B true CN1802567B (en) 2012-04-25

Family

ID=33567776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480015972.2A Expired - Fee Related CN1802567B (en) 2003-07-08 2004-07-07 Method and system for performing compression on user datagram protocol packets

Country Status (1)

Country Link
CN (1) CN1802567B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581033B (en) * 2012-07-27 2016-12-21 重庆重邮信科通信技术有限公司 The method and apparatus of Data Stream Processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035598A1 (en) * 1999-11-05 2001-05-17 Nokia Corporation A method and apparatus for header compression
CN1340255A (en) * 1999-02-17 2002-03-13 诺基亚移动电话有限公司 Header compression in real time services
EP1243118A2 (en) * 1999-12-30 2002-09-25 Nokia Corporation System and method for achieving robust ip/udp/rtp header compression in the presence of unreliable networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340255A (en) * 1999-02-17 2002-03-13 诺基亚移动电话有限公司 Header compression in real time services
WO2001035598A1 (en) * 1999-11-05 2001-05-17 Nokia Corporation A method and apparatus for header compression
EP1243118A2 (en) * 1999-12-30 2002-09-25 Nokia Corporation System and method for achieving robust ip/udp/rtp header compression in the presence of unreliable networks

Also Published As

Publication number Publication date
CN1802567A (en) 2006-07-12

Similar Documents

Publication Publication Date Title
CN100454920C (en) Extended header compression
EP2098035B1 (en) Improved header compression in a wireless communication network
EP1362446B1 (en) Transfer of ip data in communications system, using several logical connections for compressed fields on the basis of different contexts
JP3694241B2 (en) Method and apparatus for telecommunications using Internet protocols
US9125088B2 (en) Dynamic robust header compression
US20040081151A1 (en) Method and system for early header compression
US20040117498A1 (en) Packet transmission system and packet reception system
KR20040019578A (en) Method and apparatus transmitting a header compressed packet data
CA2522877C (en) Performing compression of user datagram protocol packets
WO2008085337A2 (en) Adaptive header compression in a wireless communication network
KR101372064B1 (en) Method of header compression over channels with out-of-order delivery
EP2127298B1 (en) Header supression in a wireless communication network
US7065087B2 (en) Performing compression of user datagram protocol packets
CN1802567B (en) Method and system for performing compression on user datagram protocol packets
US20150016463A1 (en) Media over ip performance enhancement
JP2002094553A (en) Device and method for transmitting packet
JP2004194232A (en) Packet communication equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120425

Termination date: 20200707

CF01 Termination of patent right due to non-payment of annual fee