Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Enhancements to CRTP draft-koren-avt-crtp-enhance-01.txt T. Koren, S. Casner, P. Ruddy, B. Thompson, A. Tweedly, D. Wing Cisco Systems John Geevarghese.

Similar presentations


Presentation on theme: "1 Enhancements to CRTP draft-koren-avt-crtp-enhance-01.txt T. Koren, S. Casner, P. Ruddy, B. Thompson, A. Tweedly, D. Wing Cisco Systems John Geevarghese."— Presentation transcript:

1 1 Enhancements to CRTP draft-koren-avt-crtp-enhance-01.txt T. Koren, S. Casner, P. Ruddy, B. Thompson, A. Tweedly, D. Wing Cisco Systems John Geevarghese Motorola India

2 2 Why Enhance CRTP CRTP does not perform well on links with packet loss and long round trip delaysCRTP does not perform well on links with packet loss and long round trip delays –Packet loss causes context invalidation –CRTP error recovery mechanism using CONTEXT_STATE messages is not efficient due to the long round trip delay. The suggested enhancements make CRTP more robust and resilient to packet loss, which in turn will reduce context invalidation.The suggested enhancements make CRTP more robust and resilient to packet loss, which in turn will reduce context invalidation.

3 3 Packet Loss and Context Invalidation When will a lost packet cause context invalidation?When will a lost packet cause context invalidation? –Packet includes changes to context state fields New delta valueNew delta value –Significant packet: its loss causes context invalidation

4 4 Example Audio Stream Sample sent every 10 msSample sent every 10 ms The first talk spurt is 1 second long.The first talk spurt is 1 second long. Then there are 2 seconds silenceThen there are 2 seconds silence Then another talk spurt.Then another talk spurt.

5 5 Shortcuts FH - FULL_HEADER CR - COMPRESSED_RTP CU - COMPRESSED_UDP CS - CONTEXT_STATE T, dT - RTP timestamp (absolute and delta) S, dS - RTP seq# (absolute and delta) I, dI - IP ID (absolute and delta) pt - RTP payload type CC - Number of CSRC identifiers

6 6 ‘Classic’ CRTP Sequence seq# Time pkt type 1 10 FH x 2 20 CR+ dI dT=10 x 3 30 CR 4 40 CR... 100 1000 CR 101 3010 CR+ dT=2010 x 102 3020 CR+ dT=10 x 103 3030 CR 104 3040 CR...

7 7 Remove Dependency seq# Time pkt type 100 1000 CR 101 3010 CR+ dT=2010 x 102 3020 CR+ dT=10 x 103 3030 CR Replace 101, 102 100 1000 CR 101 3010 ?? T=3010 dT=2010 102 3020 ?? T=3020 dT=10 x 103 3030 CR

8 8 Express change in one packet seq# Time pkt type 100 1000 CR 101 3010 CR+ dT=2010 x 102 3020 CR+ dT=10 x 103 3030 CR Replace 101, 102 100 1000 CR 101 3010 ?? T=3010 x 102 3020 CR

9 9 Enhanced CU: CU+ lsb of context ID Delta IPv4 ID UDP data (uncompressed RTP header) CRTP seq # dI000 lsb of context ID UDP Checksum “RANDOM” fields Delta IPv4 ID UDP data (uncompressed RTP header) Delta RTP timestamp CRTP seq # dI0dT msb of context ID IP ID CUCU+ UDP Checksum “RANDOM” fields I

10 10 Enhanced CU: CU* (CR style) CC ptMST lsb of context ID UDP Checksum “RANDOM” fields Delta IPv4 ID Delta RTP timestamp CRTP seq # dI1dT msb of context ID IP ID RTP Seq# RTP Timestamp RTP Payload Type CSRC List RTP Header Extension RTP Data I

11 11 Using CU* with ‘T’ and ‘dT’ seq# Time pkt type 100 1000 CR 101 3010 CR+ dT=2010 x 102 3020 CR+ dT=10 x 103 3030 CR Replace 101, 102 100 1000 CR 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 x 103 3030 CR

12 12 Using CU* with flag ‘T’ seq# Time pkt type 100 1000 CR 101 3010 CR+ dT=2010 x 102 3020 CR+ dT=10 x 103 3030 CR Replace 101, 102 100 1000 CR 101 3010 CU* T=3010 x 102 3020 CR

13 13 The N Scheme: Repeat When to use:When to use: –At most N adjacent packets may get lost How to useHow to use –Repeat change N+1 times

14 14 Using the N scheme (T, dT) seq# Time pkt type 100 1000 CR 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 x 103 3030 CR N=1 100 1000 CR 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 b 103 3030 CU* T=3030 dT=10 b 104 3040 CR

15 15 Using the N scheme (T) seq# Time pkt type 100 1000 CR 101 3010 CU* T=3010 x 102 3020 CR N=1 100 1000 CR 101 3010 CU* T=3010 b 102 3020 CU* T=3020 b 103 3030 CR

16 16 N Can Be Learned Increase / decrease N according to the number of invalidated contextsIncrease / decrease N according to the number of invalidated contexts

17 17 The ACK Scheme: Repeat until ACK’d When to use:When to use: –Avoid context invalidation How to useHow to use –Repeat change until ACK’d

18 18 ACK Packet Format Context Count RTP Sequence # Type code=4: ACK, 8-bit CID Session Context ID RTP Sequence # Session Context ID...

19 19 ACK Packet Format Context Count RTP Sequence # Type code=5: ACK, 16-bit CID RTP Sequence #... Session Context ID

20 20 Using the ACK Scheme (T,dT) seq# Time pkt type 100 1000 CR 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 x 103 3030 CR ACK Scheme 100 1000 CR 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 Receive: ACK 101 103 3030 CU* T=3030 dT=10 Receive: ACK 102 104 3040 CR

21 21 Using the ACK Scheme (T) seq# Time pkt type 100 1000 CR 101 3010 CU* T=3010 x 102 3020 CR ACK Scheme 100 1000 CR 101 3010 CU* T=3010 102 3020 CU* T=3020 Receive: ACK 101 103 3030 CR

22 22 Bandwidth Overhead when using the N scheme ‘Classic’ : 3 101 3010 CR+ dT=2010 x 102 3020 CR+ dT=10 x Enhanced with (T, dT) : 2*5 + N*6 overhead 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 b 103 3030 CU* T=3030 dT=10 b Enhanced with (T) : 5 + N*5 overhead 101 3010 CU* T=3010 b 102 3020 CU* T=3020 b

23 23 Bandwidth Overhead when using the N scheme Enhanced CRTP with N schemeEnhanced CRTP with N scheme –(T, dT) transition: 10 + N*6 bytes –(T) transition: 5 + N*5 bytes Average talk spurt length: 1 secondAverage talk spurt length: 1 second

24 24 Bandwidth Overhead when using the ACK scheme Calculate same as in N scheme, select: N = round trip delay (ms) / sample length (ms)Calculate same as in N scheme, select: N = round trip delay (ms) / sample length (ms) ACK packet size: 6 bytesACK packet size: 6 bytes

25 25 Refresher Packet (CU+ Usage) seq# Time pkt type N=1 100 1000 CR 101 3010 CU* T=3010 dT=2010 102 3020 CU* T=3020 dT=10 b 103 3030 CU* T=3030 dT=10 b 104 3040 CR … 108 3080 CU+ I dI dT=10 <-- refresh all context state parameters

26 26 The Random IP ID (CU* Usage) dI is not constantdI is not constant Either dI or I must be included in each packetEither dI or I must be included in each packet –If dI is included in each packet, each lost packet invalidates the context –Conclusion: it’s better to include I Use CU* with I flag instead of CR+Use CU* with I flag instead of CR+

27 27 Sequence with changing dI seq# Time pkt type 1 10 FH x 2 20 CR+ dI dT=10 x 3 30 CR+ dI x 4 40 CR+ dI x... Enhanced sequence: 1 10 FH x 2 20 CU* I dT=10 x 3 30 CU* I 4 40 CU* I

28 28 Including IP ID in the UDP Checksum UDP checksum is used to verify validity of reconstructed packetsUDP checksum is used to verify validity of reconstructed packets Reconstructed IP ID cannot be verifiedReconstructed IP ID cannot be verified Include IP ID in UDP checksumInclude IP ID in UDP checksum

29 29 Including IP ID in the UDP Checksum (cont.) When UDP checksum is present (nonzero)When UDP checksum is present (nonzero) –The compressor will 1's complement subtract the IP ID value from the UDP checksum before compression –The decompressor will 1's complement add the IP ID value to the UDP checksum after any validation operations and before delivering the packet further downstream.

30 30 Headers Checksum UDP Checksum used to validate reconstructed packets, especially when ‘twice’ was usedUDP Checksum used to validate reconstructed packets, especially when ‘twice’ was used When UDP checksum is not present, CRTP may add Headers Checksum (HDRCKSUM)When UDP checksum is not present, CRTP may add Headers Checksum (HDRCKSUM)

31 31 HDRCKSUM HDRCKSUM includes:HDRCKSUM includes: –Pseudo-IP Header –UDP Header –Fixed part of RTP Header (first 12 bytes) –IP ID Does not include:Does not include: –The extended part of the RTP header –RTP data

32 32 HDRCKSUM (cont.) Calculated in the same way as a UDP checksumCalculated in the same way as a UDP checksum Placed in the COMPRESSED_UDP or COMPRESSED_RTP packets where a UDP checksum would have beenPlaced in the COMPRESSED_UDP or COMPRESSED_RTP packets where a UDP checksum would have been The decompressor MUST zero out the UDP checksum field in the reconstructed packetsThe decompressor MUST zero out the UDP checksum field in the reconstructed packets

33 33 NON-RTP stream flag Notifies the decompressor that this stream is not an RTP streamNotifies the decompressor that this stream is not an RTP stream Decompressor can enter flow in negative cache without RTP compression attemptsDecompressor can enter flow in negative cache without RTP compression attempts Less CID thrashingLess CID thrashing Useful for application nodes where compressor has hints from application layer.Useful for application nodes where compressor has hints from application layer.

34 34 NON-RTP stream flag in the FULL_HEADER packet CID 0 Generation 01 U New FULL_HEADER length fields format: For 8-bit context ID: For 16-bit context ID: Seq # CID Generation 11U 0 Set U = 1 to indicate a non-RTP stream

35 35 Rejecting a new compressed stream Decompressor implementations may share resources across multiple linksDecompressor implementations may share resources across multiple links Decompressor may over commit decompression resources in RFC 2509 negotiationDecompressor may over commit decompression resources in RFC 2509 negotiation Decompressor may REJECT a compressed steam when out of resourcesDecompressor may REJECT a compressed steam when out of resources

36 36 session context ID Reject packet (Using CONTEXT_STATE opcode ) context count CRTP seq# 0110 1 =CS, Reject 8-bit CID session context ID generation 00 context count CRTP seq # 0110 2 =CS, Reject 16-bit CID generation 00 CID, CRTP sequence# and generation are taken from the FULL_HEADER

37 37 Negotiating usage of enhanced-CRTP and ACK scheme RFC 2509 specifies how the use of CRTP is negotiated on PPP links using the IP Compression Protocol option of IPCP:RFC 2509 specifies how the use of CRTP is negotiated on PPP links using the IP Compression Protocol option of IPCP: –IPCP option 2: IP compression protocol –protocol 0x61 indicates RFC 2507 header compression –sub-option 1 enables use of COMPRESSED_RTP, COMPRESSED_UDP and CONTEXT_STATE as specified in RFC 2508

38 38 Negotiating usage of enhanced-CRTP and ACK scheme (cont.) For the enhancements defined in this document, two new sub-options are added:For the enhancements defined in this document, two new sub-options are added: –sub-option 2 (length=2) : enables use of all CRTP enhancements except for the ACK scheme –sub-option 3 (length=2) : enables use of all CRTP enhancements including the ACK scheme

39 39 END


Download ppt "1 Enhancements to CRTP draft-koren-avt-crtp-enhance-01.txt T. Koren, S. Casner, P. Ruddy, B. Thompson, A. Tweedly, D. Wing Cisco Systems John Geevarghese."

Similar presentations


Ads by Google