Subject: [rohc] Question about IP-ID offset field in UO-1, R-1 and UOR-2 packets in UDP profile

From: Ang Way Chuang <[email-masked]>
Date: Thu, 17 Apr 2008 14:09:55 +0800

Hi all,

	According to section 5.11.4 of RFC 3095, IP-ID2 is for outer IP-ID 
field. I wonder if IP-ID in extension 0 and extension 1 can be used to 
contain IP-ID offset of outer IPv4 header for cases where IP packet that 
contains only one IPv4 header since there is no ambiguity in the 
interpretation.

	Likewise, I think IP-ID field can contain IP-ID for either inner IPv4 
or outer IPv4 header as long as it does lead to ambiguous situation.

	For example, for R-1 packet:

Diagram 1: R-1
   0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
| 1   0 | SN 			|
+===+===+===+===+===+===+===+===+
| X | IP-ID 			|
+---+---+---+---+---+---+---+---+

Diagram 2: Extension 3
       0     1     2     3     4     5     6     7
    +-----+-----+-----+-----+-----+-----+-----+-----+
    |  1     1  |  S  |	 Mode    |  I  | ip  | ip2 |            (FLAGS)
    +-----+-----+-----+-----+-----+-----+-----+-----+
    |            Inner IP header flags        | 0   |  if ip = 1
     ..... ..... ..... ..... ..... ..... ..... .....
    |            Outer IP header flags              |  if ip2 = 1
     ..... ..... ..... ..... ..... ..... ..... .....
    |                      SN                       |  if S = 1
     ..... ..... ..... ..... ..... ..... ..... .....
    /       TS (encoded as in section 4.5.6)        /  1-4 octets,
     ..... ..... ..... ..... ..... ..... ..... .....   if R-TS = 1
    |                                               |
    /            Inner IP header fields             /  variable,
    |                                               |  if ip = 1
     ..... ..... ..... ..... ..... ..... ..... .....
    |                     IP-ID                     |  2 octets, if I = 1
     ..... ..... ..... ..... ..... ..... ..... .....
    |                                               |
    /            Outer IP header fields             /  variable,
    |                                               |  if ip2 = 1
     ..... ..... ..... ..... ..... ..... ..... .....
    |			IP-ID2			   |  2 octets if I2 = 1
     ..... ..... ..... ..... ..... ..... ..... .....

Say, we need to compress such packet
  ---------------------
|IPv4|IPv6|UDP|Payload|
  ---------------------

1) Then it make sense to compress the IP-ID within IP-ID of diagram 1 
instead of placing IP-ID2 of diagram 2. Is this interpretation correct?

2) If IP-ID offset takes more than 7 bits, IP-ID should be placed into 
IP-ID2 field of diagram. Am I right?

3) Since the IP-ID2 and IP-ID in Extension 3 take up 2 bytes, I assume 
IP-ID is sent as, not the IP-ID offset LSB encoding. Is this true?

Say, we need to compress such packet:
  ----------------
|IPv4|UDP|Payload|
  -----------------

4) Since we only have one IP header for this packet. I assume that it 
doesn't make sense to differentiate between inner and outer IP. 
Therefore, it is logical to place IP-ID into IP-ID field of extension 3
if IP-ID offset encoding takes more than 7 bits. Right?

Thank you for reading this lengthy email (and reply too :) )

Regards,
Ang Way Chuang
_______________________________________________
Rohc mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/rohc