Slashdot Mirror


DCC2 Protocol for IRC file transfers

Joe_Hypnol writes "I just noticed this bit of news over at IRC Junkie. Looks like a bunch of irc client authors (and even more) are putting their heads together to come up with DCC2, a replacement for the the poorly designed DCC IRC file transfer specification. The old protocol was basically based on a usenet post, but this new one is looking like it'll be a full-blown standard. It's currently an IETF internet working draft. Read the press release at DCC2.org."

29 of 233 comments (clear)

  1. Where's IRC2? by Anonymous Coward · · Score: 5, Funny

    To replace the poorly designed IRC protocol?

  2. What's the best way to organize? by turnstyle · · Score: 5, Interesting

    Just curious: when a bunch of smart authors get together to hammer out a new protocol, what's the best way to come to a consensus? Mailing lists? Blog? Wiki?

    --
    Here's what I do: Bitty Browser & Andromeda
  3. I got another idea by slash-tard · · Score: 5, Funny

    How about an IETF standard for warez serving bots. I hate learning the different commands for the different bots.

  4. IRC, duh by Anonymous Coward · · Score: 5, Funny

    Everyone just joins #consensus.

  5. DCC2 by Tiberius_Fel · · Score: 5, Insightful

    Well, I for one think this will be quite good. It's very frustrating to try to DCC a document to somebody only to have it fail for a variety of reasons. I look forward to improving this standard. :-)

    On the other hand, this does improve the IRC-for-filesharing thing that I've seen... way back in the day before Kazaa, my friends used to pick up their movies etc. from IRC channels... so this will facilitate that, I suppose... possibly not what the authors have in mind.

    --
    Join the Empire! http://www.empirereborn.net/
  6. I've got an idea by ThisIsFred · · Score: 3, Insightful

    Let's dump DCC (which isn't that bad, except for the TCP ports) and FTP, and come up with a decent transfer file replacement One that doesn't need 10,000 free ports, special firewall tuning, works through a layer of encryption without problems, but still doesn't generate a lot of overhead.

    --
    Fred

    "A fool and his freedom are soon parted"
    -RMS
    1. Re:I've got an idea by Simon+(S2) · · Score: 3, Insightful

      Let's dump DCC (which isn't that bad, except for the TCP ports) and FTP, and come up with a decent transfer file replacement One that doesn't need 10,000 free ports, special firewall tuning, works through a layer of encryption without problems, but still doesn't generate a lot of overhead.

      hey! you are talking about ssh - sftp!

      --
      I just don't trust anything that bleeds for five days and doesn't die.
    2. Re:I've got an idea by undertow3886 · · Score: 5, Informative

      You can get a program called scponly (works with sftp too) and set that as your guest user's shell. It makes it so they can use sftp, but not log on with plain ssh and get a console. It works great for me.

      --
      Sick of people knocking on Gentoo's greatness in completely unrelated .sigs? Me too!
  7. There must be some mistake by PetoskeyGuy · · Score: 3, Funny

    They revamped the whole protocol but Ratios weren't mentioned even once. Are they sure this is for IRC?

  8. PIrates rejoice by toupsie · · Score: 3, Insightful

    Is DCC used by anyone else but file pirates and music traders? I mean really. Come on. Don't lie. Oh sure, you know a guy who has a cousin with a good friend that has a girlfriend whose brother distributes his folk music on IRC but besides that, anyone else using DCC for legit transfers?

    --
    Strange women lying in ponds distributing swords is no basis for a system of government.
    1. Re:PIrates rejoice by Tiberius_Fel · · Score: 5, Informative

      I seriously use DCC for things other than pirating. DCC is commonly used by my particular group to pass along logs, interesting documents, proposals & updates, et cetera. In a sense you might say it's like P2P - it's used by a lot of filesharers / pirates - but it's not the exclusive domain of those types.

      --
      Join the Empire! http://www.empirereborn.net/
    2. Re:PIrates rejoice by DJayC · · Score: 4, Insightful

      Um, yeah. Just about any time I need to send a file to a friend on IRC I would use DCC. For example, "Hey take a look at this logo", or "You need help? Send me your .cc file".

      It seems like you have only been exposed to bots using DCC to send you files. You are talking about someone who distributes music on IRC or whatever, when in reality DCC is more than a means for bots to offer files. Normal users send files too... it's just like sending an email attachment.. you use those don't you?

    3. Re:PIrates rejoice by notamac · · Score: 4, Funny

      Sure people do... it goes something like this:
      boy: hi
      girl: hi
      boy: asl?
      girl: 19/f/someplace
      boy: pic? :)
      girl: [dcc send]

      Of course feel free to replace girl with [boy pretending to be girl]

    4. Re:PIrates rejoice by toupsie · · Score: 3, Insightful
      It seems like you have only been exposed to bots using DCC to send you files. You are talking about someone who distributes music on IRC or whatever, when in reality DCC is more than a means for bots to offer files. Normal users send files too... it's just like sending an email attachment.. you use those don't you?

      If I want to send a file, I am going to use a better method than DCC. Once again, we have the 1% trying to parade around as the majority. Don't insult our intelligence here, a vast majority of the files transfered by DCC are pirated. You log files aren't the size of DVD rips unless you don't know how to get things working.

      --
      Strange women lying in ponds distributing swords is no basis for a system of government.
    5. Re:PIrates rejoice by gnu-generation-one · · Score: 3, Funny

      "Is DCC used by anyone else but file pirates and music traders?"

      Of course. It's used for sending pictures, so people can see who they're chatting with.

      It's used to send drafts of collaborative documents.

      It's used for anything that you'd use email attachments for (when the file is too big to send by email, and you don't want to wait for a carrier-pidgeon or setup an FTP server)

      It's used by terrorists to DCC blocks of semtex to each other without having to meet

      [[ Please do not feed the trolls ]] -- sorry, did I miss that sign earlier?

      IRC is a chat protocol by default, not a file-share protocol. Use GNUNet or BitTorrent or Konspire2B if you want to distribute music efficiently

  9. Insightful AC post, film at 11 by metamatic · · Score: 4, Interesting

    Yeah, that was my thought too. It's very much a case of rearranging the deck chairs on the Titanic.

    The IRC protocol is flawed. Not just superficially broken, but horribly, fundamentally broken in numerous ways. As a result it's unreliable (prone to network splits), puts massively unnecessary load on servers, has problems with contention for nicknames, and so on. It really needs complete replacement.

    Mind you, now that we have XMPP, there's a strong case for just letting IRC slowly die and having XMPP chat rooms take over.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  10. They really should fix IRC instead by lokedhs · · Score: 4, Insightful
    Anyone who ever implemented the IRC procotol knows just how crappy it is. Here's a few reasons:

    Nicknames use SW-ASCII, yes that's right, the swedish variant of 7-bit ascii. That's the reason [ and { are equivalent, as is | and \.

    There are no standard encoding. Most people use 8859-1, other languages use, well, whatever they happen to agree on. A number of other channels use UTF-8 which is the best solution (supports all languages) but is not supported by mirc.

    Takeovers, splits, need I say more?

    Server desync

    I don't think DCC is a problem at all. It's all the other crap that needs to be fixed. Once you do, I'm pretty sure implementing good file transfers will be quite simple.

  11. Re:What's the difference? by Kiriwas · · Score: 4, Funny

    Right now? Considering there is no dcc2 and its still in the works... the same thing that makes Duke Nukem Forever better than original Duke Nukem.

  12. Getting mp3s will be that much easier by RLiegh · · Score: 4, Insightful

    I really, often do wonder why the RIAA (not to mention the MPAA and the BSA) has overlooked IRC for so long. 9/10ths of the channels on any of the reputable networks are dedicated to illegally distributing mp3z, moviez, warez or pr0n (or some combination thereof).

    Now, dcc2 will make all that so much easier; which I guess is a boon for the various networks' profits, but at what moral cost?

    1. Re:Getting mp3s will be that much easier by huphtur · · Score: 5, Funny

      Shhhh! Don't give em any ideas!

  13. DCC isn't so good but by Rosco+P.+Coltrane · · Score: 5, Informative

    It's easy to dismiss DCC as a flawed protocol. Sure it has its shortcomings, but remember, it was designed before the internet started to become firewalled to death. I remember, until perhaps 1997, DCC was just fine and easy to use, and almost never gave us any trouble. Now you have to prep up your firewall, deal with your NAT box, or get the IRC client to take care of it, ...

    Here's a quick overview of how a DCC connection is initiated:

    - The initiator's IRC client opens a TCP socket, then (let's call him Bob) sends a DCC (CHAT, SEND) request through normal messaging. Basically it's a plain-text message starting with ^A, similar to a CTCP request. Then it listens to the socket.

    - The target IRC client (let's call him Joe) gets it, decodes Bob's socket's IP address and port inside the DCC request, and tries to initiate a TCP connection to Bob.

    - Once the connection is established, if it's a DCC CHAT, text is sent as-is across the TCP connection back and forth. If it's a DCC SEND, then the file transfer protocol is used over the connection.

    Of course, the confusing thing for people who aren't familiar with DCC is that it's the initiator's client that temporarily becomes the server for the contacted client, and not the other way round, like most people are used to, with http for example. So basically, it's people who initiate DCC connections who must open one or more inbound TCP ports in their firewalls, and configure their IRC clients to limit themselves to using those ports.

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
  14. Re:What's the difference? by hey · · Score: 5, Informative
    RTFA...


    The current DCC protocol does not address IPv4 vs. IPv6 issues, SSL/
    TLS encryption negotiation, NAT and Firewall traversal, or multiple
    file/directory file transfers....

  15. No mIRC support? by Kjella · · Score: 4, Insightful

    Like it or not, pretty damn many use mIRC. Under community members, there's noone from mIRC there. I would hope that is temporary, because DCC really could use replacement. I'm now firewalled off with no incoming ports, two years ago I was NAT'd with no incoming ports.

    It leads to extremely stupid things like being able to recieve but not send, even though it is obviously possible since once the connection is established, the data should be able to flow either way. The other big alternative is FTP, which also is horrible at dealing with passive mode.

    The hilarious part is that the reason corporations, universities etc. seem to give for it is p2p - when they get around this trivially. On a network, someone will be active and there's no problem. You're only being a major pain in the ass for me when I want to do something with a friend that also has no open incoming ports.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  16. You forget the benefits of an open protocol by CdBee · · Score: 3, Insightful

    IRC may be ugly, but like Windows, it's here because everybody uses it.

    Its massively cross-platform-available and easy to integrate into messaging apps.. That's worth a lot more than the costs incurred by its kludged technology

    --
    I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
  17. As an IRC Admin... by Dunarie · · Score: 4, Insightful

    As an IRC Admin, all I have to say is, just fucking wonderful, all IRC needs is a better file transfer method, to bring in more scum, and drag IRC down even more. IRC Stands for Internet Relay CHAT, and while it's nice to have a way to transfer files (like on most IMs), it's gotten out of hand, and it's doing nothing but hurting us chatters on IRC. I like Kazaa, WinMX, and the like as much as anyone else here, but I also love being able to chat on IRC.

    When I tell people I use IRC, more and more people say something along the lines of "yeah, much better than kazaa" or "I could never figure it out, so I still use kazaa myself", it's quite sad. ISPs hate IRC, and it's hard to find any that will let you host IRC servers, if not because of it's rep for illegal MP3s, warez, ect, it's cause of the DDoS attacks IRC attracts because of the extra scum file transferring brings.

    And now they want to improve DCC, JUST FUCING WONDERFUL!

    1. Re:As an IRC Admin... by liquidsin · · Score: 4, Insightful

      How is dcc bringing down irc as a whole? The only large scale filesharing I ever see on irc is on small networks, usually set up explicitly for filesharing. Even when it's on a major network (efnet, dalnet, undernet) if you're an admin and it pisses you off that much, k-line everyone in a filesharing channel and you'll just be helping your network (more room for chatters to connect). As for the actual file transfers, they don't have any effect on your network. They're sent straight from client to client without the network routing anything more than the original negotiation of finding each other.

      --
      do not read this line twice.
  18. File name and size information ... by dougmc · · Score: 3, Informative
    The current dcc protocol isn't *that* bad -- it's very similar to ftp's protocol. It's biggest problem is that it can't work in both directions (send and receive) through a NAT or a firewall that won't let you open a listening port and have somebody else connect to it. So if you're behind a NAT, you can receive a file but can't send one.

    How dcc works: if you're sending a file, you open a listening port, then send your IP and port to the remote host via a CTCP message. The remote host connects to that IP and port, and accepts the file.

    To fix the send/receive via a NAT problem, one could merely make an extension (or just a seperate sending command) where the sending machine requests that the receiving client open a host and port and then the sender connects to it. It wouldn't be too difficult to implement, but it might require that a ctcp message be sent back from the receving client. We've been talking about this for over a decade. The hardest part would be to talk the other client authors to implemenet it.

    One other, less commnon problem -- that IP that is sent comes from your hostname in many cases, so on a multi-homed box it's often wrong. Here is a pseudo-fix that's just under 10 years old for ircII.

    File name and size information never needs to pass over IRC", the website of the DCC2 protocol reads. Some networks have taken action against channels where music files are being shared over DCC.
    But make no mistake here -- the *only* reason one would need to avoid sending file name and size information over irc would be to avoid censorship or logging done by the irc servers. It's just metadata, and a few bytes of it -- the servers can handle it without any problems.

    In fact, it would be nice if the new dcc protocol (if it's ever completed and widely implemented, which I doubt, based on my experience with how irc stuff is done) could support sending small files directly through the servers with no additional TCP connections. It would be *very* slow (thanks to flood control -- perhaps 100 bytes/second tops) and would put a larger load on the servers, but it would allow two clients behind two different NATs to send files to each other when nothing else would. Wouldn't be practical for .mp3 files, but it would for .ircrc files. Of course, the server admins would hate the mere idea, and if people used it a lot they'd add code to the servers to find and block it, K-line the users, etc.

  19. XMPP Worse Than IRC, IMO by RAMMS+EIN · · Score: 3, Insightful

    Honestly, I don't think XMPP is going to help a lot. I am not an XMPP guru, but from what I've seen it looks less efficient than IRC.

    The main problem with IRC seems to be the enormous load that is put on servers, mainly caused by using the servers to relay client to client messages.

    There is a solution to this problem: DCC. Using DCC, clients connect directly to one another, and thus spare the servers. With a little extension, DCC can also be used to implement chat rooms client-side, so that server relaying of messages is only needed for initially connecting the clients to one another.

    Of course, we could design a protocol specifically for the purpose of connecting clients to one another, and I think that would be a good idea. Jabber and IRC both do a lot more than this, which makes them, in a sense, bloated.

    --
    Please correct me if I got my facts wrong.
  20. Re:What is the point? by iamriley · · Score: 4, Insightful
    It looks like the big thing they are trying to do is simply increase compatability between one user connecting to the other using dcc2.

    The point is to let the protocol decide the best way to connect given several options so the user doesn't have to manually try each of the many variants of the DCC command that have been added to the different clients to overcome the problems with DCC (e.g. dealing with NAT).

    I do not beleive that dcc2 will have a great difference of quality over the regular dcc but it will have more compatibility.

    DCC2 will perform better than DCC in most circumstances. DCC requires ACKs every so often, halting transfer until the ACK is sent from the receiver. Since TCP/IP already guarantees delivery, this part of the protocol is completely redundant, and it can significantly slow down delivery.

    They aim to "incorporate new technologies" but I dont see where they are going with this...

    DCC2 is both simple and extensible, unlike DCC which, though simple, is not at all extensible. Some functionality that DCC2 could help standardize accross clients are whiteboard sharing, voice/video chat, encryption, IPv6 connections, etc.

    --Riley, dIRC developer, Algenta Technical Staff member.

    --

    If you can read this, then I forgot to check "Post Anonymously".