Re: Question related to ROHC-TCP Profile

Carl Knutsson <[email protected]>
Newsgroups gmane.ietf.rohc
Message-ID <[email protected]>
Igor, Raffles,

First, thank you Raffles for answering Igor's question and explaining
ROHC-FN. It is a tough subject, but think you guys did a great job on
RFC4997.

Igor, the binding between attributes that Robert explained below is
called two-way matching. It is one of the key concepts of ROHC-FN. I
advise you to study the RFC4997(ROHC-FN) before you start implementing
RFC4996. Implementing RFC4996 without understanding RFC4997 will be very
difficult.


Best Regards

/Carl Knutsson


Finking, Robert wrote:
> Hi Igor,
> 
> Thanks for the post and apologies for any lack of clarity in the RFCs.
> A key concept to understand when reading ROHC-FN is the idea of binding.
> You are right that the line you have quoted below only specifies the
> ULENGTH (32 bits).  However, if you look at the next line, you will find
> that the UVALUE is also bound by means of the field_scaling encoding
> method:
> 
>      seq_number_scaled                    [ 32 ];
>      seq_number_residue =:=
>          field_scaling(payload_size, seq_number_scaled.UVALUE,
>                        seq_number.UVALUE) [ 32 ];
> 
> The field_scaling encoding method is defined as follows:
> 
>  field_scaling(stride_value, scaled_value, unscaled_value)
>  {
>    UNCOMPRESSED {
>      residue_field [ 32 ];
>    }
> 
>    COMPRESSED no_scaling {
>      ENFORCE(stride_value == 0);
>      ENFORCE(residue_field.UVALUE == unscaled_value);
>      ENFORCE(scaled_value == 0);
>    }
> 
>    COMPRESSED scaling_used {
>      ENFORCE(stride_value != 0);
>      ENFORCE(residue_field.UVALUE == (unscaled_value % stride_value));
>      ENFORCE(unscaled_value ==
>              scaled_value * stride_value + residue_field.UVALUE);
>    }
>  }
> 
> So, the seq_number_scaled.UVALUE is bound to scaled_value within the
> field_scaling encoding method.  Assuming the stride_value (i.e. the
> payload_size) is non-zero, this binds the scaled_value (i.e. the
> seq_number_scaled.UVALUE) in an expression with stride_value,
> residue_field.UVALUE and unscaled_value (i.e. seq_number.UVALUE). This
> is done in such a way the scaled value is the unscaled_value divided by
> the stride_value. In short, the UVALUE of seq_number_scaled is set by
> the field_scaling encoding method (which also calculates the
> modulus/residue from the scaling and encodes it in 32 bits).
> 
> I am not sure if that has helped, it is often hard to put these things
> in words. Feel free to ask further questions if this does not answer
> your question.
> 
> Thanks for using ROHC-FN
> 
> Regards
> 
> Raffles 
> 
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On 
>> Behalf Of eggor
>> Sent: 11 March 2009 12:41
>> To: [email protected]
>> Subject: [rohc] Question related to ROHC-TCP Profile
>>
>> Hi,
>>
>> I've just started working on implementation of the ROHC-TCP 
>> profile, and I needed some clarifications.
>>
>> Question about "seq_number_scaled" field defined in the 
>> CONTROL format of the tcp(payload_size, ack_stride_value, 
>> ip_inner_ecn) encoding method.  It is defined as:
>>
>> CONTROL {
>>      seq_number_scaled                    [ 32 ];
>>      ...
>>    }
>>
>> and isn't appeared in other formats.  If I truly understood 
>> ROCH-FN, this definition specifies only ULENGTH attribute of 
>> this field, so the question is: where compressor can get its 
>> UVALUE?  And the second question is how decompressor can restore it?
>>
>> Thanks in advance,
>> Igor.
>> _______________________________________________
>> Rohc mailing list
>> [email protected]
>> https://www.ietf.org/mailman/listinfo/rohc
>>
> _______________________________________________
> Rohc mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/rohc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.