User: Password:
|
|
Subscribe / Log in / New account

How not to get a protocol implementation merged

How not to get a protocol implementation merged

Posted Jan 13, 2011 2:28 UTC (Thu) by busterb (subscriber, #560)
Parent article: How not to get a protocol implementation merged

I find it amazing how telco gear seems to reinvent basic transport-level protocols for seemingly no particular reason. Does anyone know what problem this protocol even solves that couldn't be done with TCP, SCTP or DCCP (especially SCTP, which is already used in some telecom infrastructures like LTE)

Note that this protocol appears to provide no method to close a connection, for instance. Wow! Seems like OBSAI SIG had a case of NIH syndrome.


(Log in to post comments)

How not to get a protocol implementation merged

Posted Jan 13, 2011 8:36 UTC (Thu) by dmk (subscriber, #50141) [Link]

>Note that this protocol appears to provide no method to close a connection, for instance. Wow! Seems like OBSAI SIG had a case of NIH syndrome.

It's udp based. UDP is a stateless protocol. No Close() is necessary. ?

How not to get a protocol implementation merged

Posted Jan 13, 2011 13:43 UTC (Thu) by busterb (subscriber, #560) [Link]

It appears to be UDP only in the sense that SCTP and other reliable protocols can also be tunneled over UDP, presumably just to make it easier to get through firewalls and initial user-space implementations easier to build on existing socket apis (excluding raw sockets.)

However, it is definitely stateful because of the reliable transport it provides on top of UDP. DoS issues have been discussed on the mailing list, where spoofed UDP packets can flood the connection table:

http://marc.info/?l=linux-netdev&m=129404690806820&...

How not to get a protocol implementation merged

Posted Jan 13, 2011 11:20 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

That's actually a bit frustrating. Stream-oriented protocols like TCP and STCP are by now pretty solid and work fine (most of time).

However, that's not true for UDP-based transport protocols. They are often not stable or do not have desired characteristics. For example, DCCP does not have support for packet merging and preserves message boundaries. And sometimes the converse is necessary. Also, it doesn't support priorities.

There's just too much combinations. So everyone just invents their own UDP protocol :(

Oh yes, NIH is also present in copious quantities in telecoms.

How not to get a protocol implementation merged

Posted Jan 13, 2011 20:07 UTC (Thu) by fredrik (subscriber, #232) [Link]

I'm not arguing for inventing new protocols. I just want to point out that one reason to base a protocol on udp instead of tcp is reduced latency. This is especially important, and noticable, in current mobile networks like GSM and UMTS.

How not to get a protocol implementation merged

Posted Jan 13, 2011 21:54 UTC (Thu) by job (guest, #670) [Link]

Wouldn't SCTP suffice?

How not to get a protocol implementation merged

Posted Jan 20, 2011 10:22 UTC (Thu) by renox (subscriber, #23785) [Link]

Well I'm not an expert but SCTP has an initial handshake which require at least one roundtrip before sending data, so the connection initiation isn't low latency..

I wonder why they did it this way?
Me I would have authorised the initiation of the connection (INIT) with a data filed with the possibility of the server (INIT ACK) replying that it dropped the data (either to simplify its implementation or because it is overloaded in case a cracker try to spoof IPs) thus requiring the client to re-send the data.
With this simple design, you have low-latency(*) and security..

*: only if the server isn't overloaded though.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds