RE: Why do we have or should have keep-alive packets?

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

 



Hi Gorry,

See inline...

Tom P.

-----Original Message-----
From: Gorry Fairhurst [mailto:gorry@xxxxxxxxxxxxxx] 
Sent: Tuesday, March 27, 2007 10:58 AM
To: Arjuna Sathiaseelan
Cc: dccp@xxxxxxxx
Subject: Re:  Why do we have or should have keep-alive packets?

Arjuna Sathiaseelan wrote:
> Dear Tom,
> 
> 
>>OK, so at least two of us agree that DCCP SHOULD NOT generate
DCCP-Data
>>packets on its own (zero length or otherwise) :-).
> 
> 
> :)
So nobody has yet explained why DCCP can't do this for it's own purpose 
(although I am not advocating this).

[Tom P.] I'm not saying that DCCP can't do keep-alives, just that it
shouldn't use zero-length DCCP-Data packets for that purpose.  DCCP-Data
packets are supposed to be for user data, usurping them for
DCCP-specific uses corrupts that.

> 
> 
>>Therefore it seems to me that applications MAY use zero-length packets
>>as they see fit.  The question left is "is RTP an application?"  To
me,
>>RTP has many more of the characteristics of a transport protocol than
an
>>application, but it is consistently used over some transport protocol,
>>so what is it?
> 
> 
> I think this has two perspectives:
> 
> 1) From the RTP's point of view, it has characteristics of a transport
> protocol, and infact RTP is a transport protocol for real-time
applications.
> 
> 2)From the underlying transport protocol which carries the RTP
packets, RTP
> would be considered as an application layer entity?
> 
> 
>>So, the model I think that Colin has in mind for RTP over DCCP (chime
in
>>if I get it wrong, Colin) is that a real-time application gives data
to
>>RTP, RTP wraps that data in RTP packets and gives that to DCCP, who
>>wraps the RTP packets in DCCP packets.  So from DCCP's point of view,
>>RTP is the application, and the (real) application has no way of
>>directly sending DCCP packets.  That says that RTP MAY send
zero-length
>>packets.
> 
> 
> True. I think so too.
> 
I got all that, until the last sentence, which didn't seem to make any 
sense at all. HOW can an application (or upper layer) send zero bytes of

data ... AFAIK, we no interfaces to do this, even if it were sensibel, 
which I doubt.

[Tom P.] Well, one way would be to have an ioctl or sockopt to do it.
Another, riskier, way is to interpret a write with zero length as a
command to send a zero-length packet.  The protocol has the capability,
making an API for doesn't seem like a big deal :-).

> 
>>One question that I still have is who is responsible for recognizing
>>idle and sending something?  Is it the RTP stack?  Or should the app
>>send a NOP packet that the RTP stack translates to a zero-length
packet?
No!

[Tom P.] No what?  App send a NOP that gets translated?  That seems
silly to me too.

> 
> 
> I am trying to find answers to these questions too. Maybe Colin is the
right
> person who can shed some light :).
> 
> Regards
> Arjuna
> 
> [snipped]
?


Gorry






[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux