Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Better Networking with SCTP 233

5-0 writes to tell us that IBM DeveloperWorks has an interesting look at the key features of SCTP in the Linux 2.6 kernel and the ability to deliver multi-streaming. "SCTP is a reliable, general-purpose transport layer protocol for use on IP networks. While the protocol was originally designed for telephony signaling, SCTP provided an added bonus -- it solved some of the limitations of TCP while borrowing beneficial features of UDP. SCTP provides features for high availability, increased reliability, and improved security for socket initiation."
This discussion has been archived. No new comments can be posted.

Better Networking with SCTP

Comments Filter:
  • Goodbye TCP? (Score:3, Insightful)

    by BadAnalogyGuy ( 945258 ) <BadAnalogyGuy@gmail.com> on Sunday March 05, 2006 @08:43AM (#14853247)
    The article makes SCTP sound like it's the greatest thing since sliced bread. It's as fast as UDP, reliable as TCP, and is not susceptible to SYN floods like TCP. It's amazing! It's the fastest, it's the quickest, it's the best!

    Really?
  • Re:Goodbye TCP? (Score:4, Insightful)

    by Jonner ( 189691 ) on Sunday March 05, 2006 @09:19AM (#14853327)
    It sounds to me like SCTP was designed to allow the same capabilities as both TCP and UDP within the same protocol. The designers had the benefit of seeing the advantages and disadvantages of both protocols over the many years of application implementation. Using SCTP won't necessarily make any particular application better than it could be done with either TCP or UDP or a combination of two, but it will probably make the implementation simpler and easier, especially when you would otherwise need to use both TCP and UDP in the same application or when you need failover.
  • Re:INIT floods (Score:5, Insightful)

    by KiloByte ( 825081 ) on Sunday March 05, 2006 @09:25AM (#14853342)
    Wrong. A connection with a forged source address won't take any more resources than a single incoming packet, a single outgoing packet and the CPU cost of computing a cookie. That's all.

    Flooding using the flooder's true address will still work, but it is trivial to block. Sure, having 100000 zombies flood a single destination will put quite a burden and will force the floodee to maintain a huge list of banned addresses, but, a single hash table on the router will alleviate anything except for bandwidth wasted.
    This is same as a full TCP connect() flood.

    There is a TCP hack named "syn cookies", but this doesn't work very well as TCP wasn't designed to be resistant to SYN floods.
  • Re:How long... (Score:5, Insightful)

    by KiloByte ( 825081 ) on Sunday March 05, 2006 @09:27AM (#14853348)
    OTOH, SCTP requires only a client and a server that want to use it.

    And no overzealous firewalls on the way.
  • Re:INIT floods (Score:5, Insightful)

    by lagfest ( 959022 ) on Sunday March 05, 2006 @09:35AM (#14853364)
    lets change the quote scope a little:

    SCTP protects against this type of attack through a four-way handshake and the introduction of a cookie. In SCTP, a client initiates a connection with an INIT packet. The server responds with an INIT-ACK, which includes the cookie (a unique context identifying this proposed connection). The client then responds with a COOKIE-ECHO, which contains the cookie sent by the server. At this point, the server allocates the resource for the connection and acknowledges this by sending a COOKIE-ACK to the client.

    Funny how things suddenly makes sense when you read the entire paragraph.
  • Re:Cool thing (Score:2, Insightful)

    by autOmato ( 446950 ) on Sunday March 05, 2006 @09:57AM (#14853410) Homepage
    This is what I always wanted, but never had the time or resources to develop...

    What for? Could you give a specific example of an application where such a protocol would be needed? (That is where using TCP or UDP would require a severe overhead in the application layer.)

    If you have always wanted such a protocol, you certainly must have had a specific use in mind.
  • read the RFC (Score:4, Insightful)

    by darthscsi ( 144954 ) on Sunday March 05, 2006 @10:57AM (#14853539)
    A while ago I read the RFC. It is very scary. Multihoming as proposed moves things like name resolution into the kernel.

    I will grant SCTP does some neet stuff, the best is that it allows independent non-mutually-blocking streams over one connection. It also has state cookies, yum.

    SCTP tries to be all things to all people in one protocol. It reads as though they just decided the whole layered protocol thing was overrated and shoved every new feature into this one layer.
  • by ROOK*CA ( 703602 ) on Sunday March 05, 2006 @12:31PM (#14853748)
    What would you like it to do, magically go faster than the bandwidth you have?

    I think the point is to use what you have more effeciently, if real "bandwidth" is measured as the transfer rate of actual payload from point A to point B, then using it more effeciently (less overhead) does actually increase "bandwidth", not magic but it does allow me to go "faster" than I can without utilizing those more effecient technique(s).
  • Re:4-way handshake (Score:3, Insightful)

    by Detritus ( 11846 ) on Sunday March 05, 2006 @12:57PM (#14853834) Homepage
    The denial-of-service attack will not work if the attacker uses forged source addresses, as is common with TCP.
  • by ROOK*CA ( 703602 ) on Sunday March 05, 2006 @01:06PM (#14853861)
    That's great, as long as you're the only one that uses your network.

    What sucks is when some pompous asshat says "no, I can't provide you with a mechanism to accept incoming connections" or "no, you can't open an outgoing ssh connection".


    I feel your pain, however I've found that it makes sense use a simple formula when evaluating an end user request to allow XYZ traffic to traverse a firewall(s) on my organizations network, 1. Is there a business need for it or is it just a user saying "oh this would be nice to have" 2. Is there a more secure and/or functional way to accomplish what the user needs to do? 3. Am I going to open up my network to significant security risks if I do this? do those risks outweigh the business need?

    Characterizing any admin that says to you "no you can't traverse the company firewalls with XYZ traffic because doing so represents a significant security risk to the company network" as a "pompous asshat" is a bit unfair don't you think? perhaps you should attempt to look at it from the "pompous asshats" point of view and ponder what your response would be if the positions were reversed, if your answer is "well I'd let any traffic that any user asks for to traverse my firewalls" then there's a very good reason you're not the one making the determination what crosses company firewalls. ;)
  • by Kadin2048 ( 468275 ) <slashdot.kadin@xox y . net> on Sunday March 05, 2006 @01:37PM (#14853952) Homepage Journal
    In a corporate situation, no you wouldn't be a pompous asshat for doing that, you'd just be doing your job.

    However if you were an ISP, tasked assumedly with providing connectivity to your customers, and did something similar, then yes, you would be, in my opinion. And there are a fair number of really crummy ISPs who, for one specious reason or another, block various ports and protocols.

    And perhaps most unfortunately of all, it's quite common for these ISPs to have regional broadband monopolies, so that a customer doesn't really have the option of just dropping them and switching to a provider that doesn't suck so badly.
  • kitchen sink (Score:3, Insightful)

    by idlake ( 850372 ) on Sunday March 05, 2006 @05:35PM (#14854630)
    SCTP sounds like a kitchen sink solution; it has some nice features and some useless features.

    For example, manually opening multiple connections through different interfaces and then having the SCTP implementation figure out which one to send through is nonsense; if the system has multiple routes to the Internet, then that can be taken care of at the IP level.

    Similarly, preservation of write boundaries is a useless gimmick that is rarely needed, and when it is needed, can be easily implemented in user code.

    The four-way handshake during setup is possibly useful, but you can trivially get the same with TCP in a backwards compatible fashion if you configure your kernel to protect against SYN spoofing.

    Altogether, I'm not quite sure what problem SCTP is supposed to solve. SCTP has made its way into some other standards, so it will probably be unavoidable, but it's not a well-designed protocol in my opinion.
  • Correct, Linux rejected TOE. But they are accepting IB, iWARP, RDMA, and iSER which essentially include the same ideas. You could argue that Linux's method for supporting TCP/IP offload is to support the RMDA APIs and then run sockets direct protocol. So while Linux doesn't support TOE, they support iWARP which includes TOE.
    -Ack

So you think that money is the root of all evil. Have you ever asked what is the root of money? -- Ayn Rand

Working...