SCTP Discussions

Text archives Help


Re: [SCTP-Discussion] please give me yours feedback.


Chronological Thread 
  • From: Michael Tuexen <Michael.Tuexen AT micmac.franken.de>
  • To: discussion AT sctp.de
  • Cc: dillip <dillip55 AT yahoo.com>
  • Subject: Re: [SCTP-Discussion] please give me yours feedback.
  • Date: Thu Jun 6 22:07:03 2002
  • List-id: SCTP Discussions <discussion.sctp.de>

Dear Dillip,

see my comments below.

Best regards
Michael

On Thursday, June 6, 2002, at 09:22 AM, from dillip wrote:

Dear Sir !
I have some query on SCTP. Please help me regarding
this issue .

I gone through RFC#2960 for implementing SCTP stack
and found some problem related to Gap-Ack-Ack . I am
writing details of the problem below here and please
reply me back .

Accoridng to RFC:::
3.3.4 Selective Acknowledgement (SACK) (3):
Gap Ack Block Start: 16 bits (unsigned integer)

Indicates the Start offset TSN for this Gap Ack
Block. To
calculate the actual TSN number the Cumulative
TSN Ack is added to
this offset number. This calculated TSN
identifies the first TSN
in this Gap Ack Block that has been received.

Gap Ack Block End: 16 bits (unsigned integer)
Indicates the End offset TSN for this Gap Ack
Block. To calculate the actual TSN number the
Cumulative TSN Ack is added to this offset number.
This calculated TSN identifies the TSN of the last
DATA chunk received in this Gap Ack Block.

Scenario-1>>>>>>>>
------------------
----------
| TSN=17 |
----------
| | <- still missing
----------
| TSN=15 |
----------
| TSN=14 |
----------
| | <- still missing
----------
| TSN=12 |
----------
| TSN=11 |
----------
| TSN=10 |
----------

then, the parameter part of the SACK MUST be
constructed as follows (assuming the new a_rwnd is set
to 4660 by the sender):

+--------------------------------+
| Cumulative TSN Ack = 12 |
+--------------------------------+
| a_rwnd = 4660 |
+----------------+---------------+
| num of block=2 | num of dup=0 |
+----------------+---------------+
|block #1 strt=2 |block #1 end=3 |
+----------------+---------------+
|block #2 strt=5 |block #2 end=5 |
+----------------+---------------+

This example above is from RFC 2960 and therefore correct. See page 36.

Here the actual TSN number should calculated by :::
actual_tsn = cumulative_tsn + offset_number ;
If this is correct then for the above scenario result
will be :::

I do not understand what you mean here. The formula above
is correct and results in the SACK above. Please note: For
the cumulative_tsn you use the value from the SACK chunk.
You are reporting the TSN you have received. From the RFC:
Gap Ack Blocks:

These fields contain the Gap Ack Blocks. They are repeated for
each Gap Ack Block up to the number of Gap Ack Blocks defined in
the Number of Gap Ack Blocks field. All DATA chunks with TSNs
greater than or equal to (Cumulative TSN Ack + Gap Ack Block
Start) and less than or equal to (Cumulative TSN Ack + Gap Ack
Block End) of each Gap Ack Block are assumed to have been received
correctly.
+--------------------------------+
| Cumulative TSN Ack = 12 |
+--------------------------------+
| a_rwnd = 4660 |
+----------------+---------------+
| num of block=2 | num of dup=0 |
+----------------+---------------+
|block #1 strt=1 |block #1 end=1 |
+----------------+---------------+
|block #2 strt=4 |block #2 end=4 |
+----------------+---------------+
This is wrong.

Scenario-2>>>>>>>>
------------------
If the scenario looks::::::::::::::
----------
| TSN=17 |
----------
| | <- still missing
----------
| TSN=15 |
----------
| |
----------
| | <- still missing
----------
| TSN=12 |
----------
| TSN=11 |
----------
If this is correct then for the above scenario result
will be :::
It is wrong.
+--------------------------------+
| Cumulative TSN Ack = 12 |
+--------------------------------+
| a_rwnd = 4660 |
+----------------+---------------+
| num of block=2 | num of dup=0 |
+----------------+---------------+
|block #1 strt=1 |block #1 end=2 |
+----------------+---------------+
|block #2 strt=4 |block #2 end=4 |
+----------------+---------------+

correct would be:
+--------------------------------+
| Cumulative TSN Ack = 12 |
+--------------------------------+
| a_rwnd = 4660 |
+----------------+---------------+
| num of block=2 | num of dup=0 |
+----------------+---------------+
|block #1 strt=3 |block #1 end=3 |
+----------------+---------------+
|block #2 strt=5 |block #2 end=5 |
+----------------+---------------+



Is it correct or I need to folow some other algorithm
to calculate the gaps ??

I hope this helps.
Regards ,
Dillip


=====
regards ,
DP
Alliance Computer Telephony Inc .
Tel +91 6784 30418 (O)
+91 6782 365252 (R)

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
_______________________________________________
discussion mailing list
discussion AT sctp.de
http://www.sctp.de/mailman/listinfo/discussion


Michael.Tuexen AT micmac.franken.de





Archive powered by MHonArc 2.6.19+.

Top of page