[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [dccp] A question about CCID 3



I'm using Lulea University implementation for ns-2.
(a slightly modified version)

Sampo


On Thu, 4 Aug 2005, Ian McDonald wrote:

> Hi there,
>
> Quick question. Which implementation of DCCP/CCID3 are you using?
>
> The reason I am asking is to know whether to look at my code or not :-)
>
> Regards,
>
> Ian
>
> Sampo K I Luukkainen wrote:
> > Hi,
> >
> > I encountered a situation where CCID 3 behaves in a strange way as far
> > as I understood how it should work. The situation is here:
> >
> > There is a single half connection between DCCP sender and DCCP receiver
> > using CCID 3. ECN is not used. Packets are sent in the following way
> > during the connection:
> >
> >     DCCP sender                                 DCCP receiver
> >     -----------                                 -------------
> > 1.  DCCP-Data (seqnum n)   ---> lost
> > 2.  DCCP-Data (seqnum n+1) --->
> > 3.  DCCP-Data (seqnum n+2) --->
> > 4.                                         <--- DCCP_Ack (seqnum p)
> > 5.  DCCP-Ack  (seqnum n+3) --->
> > 6.                                         <--- DCCP_Ack (seqnum p+1)
> >
> >
> > 1. DCCP sender sends a data packet which is lost.
> > 2. and 3. DCCP receiver receives a packet
> >    (DCCP-Data, DCCP-DataAck or DCCP-Ack)
> > 4. DCCP receiver sends an ACK to the DCCP sender
> > 5. DCCP receiver receives a DCCP-Ack.
> >    * now DCCP receiver detects a new loss event as three packets with
> >      a higher sequence number have reached the destination after the
> >      lost packet (seqnum n).
> >      (RFC 3448 states that:
> >      "The loss of a packet is detected by the arrival of at least three
> >       packets with a higher sequence number than the lost packet.")
> > 6. DCCP receiver sends a DCCP-Ack to the DCCP sender, because a new
> >    loss event was detected.
> >    (RFC 3448 states that:
> >    "A feedback packet should also be sent whenever a
> >     new loss event is detected without waiting for the end of an RTT")
> >
> >    Profile for DCCP Congestion Control ID 3 states about Receive Rate
> >    Option that:
> >     "This option MUST be sent by the data receiver on all required
> >      acknowledgements.  Its four data bytes indicate the rate at which
> >      the receiver has received data since it last sent an
> >      acknowledgement, in bytes per second."
> >    and
> >     "The feedback packets from the receiver contain a Receive Rate
> >      option specifying the rate at which data packets arrived at the
> >      receiver since the last feedback packet."
> >
> >    In the example no data packets have been received by the DCCP
> >    receiver since the last sent acknowledgement (seqnum p).
> >    My question is that should the value of Receive Rate Option really
> >    be 0 in the DCCP-Ack (seqnum p+1)? This means practically that
> >    the DCCP sender must stop sending data as a result of a single packet
> >    loss. Or have I misunderstood something?
> >
> > My second question is that what is included in the packet size in TCP
> > throughput equation? Is it only the size of user data segment of
> > DCCP-Data packet or are DCCP and IP packet headers also included in?
> > And the same question about receive rate calculation in the DCCP
> > receiver. Are DCCP and IP packet headers included in when calculating
> > receive rate?
> >
> >
> > Sampo Luukkainen
> >
>