Slashdot Mirror


Guaranteed Transmission Protocols For Windows?

Michael writes "Part of our business at my work involves transferring mission critical files across a 2 mbit microwave connection, into a government-run telecommunications center with a very dodgy internal network and then finally to our own server inside the center. The computers at both ends run Windows. What sort of protocols or tools are available to me that will guarantee to get the data transferred across better than a straight Windows file system copy? Since before I started working here, they've been using FTP to upload the files, but many times the copied files are a few kilobytes smaller than the originals."

536 comments

  1. UDP. by langelgjm · · Score: 5, Funny

    Clearly you're looking for UDP. Next question.

    --
    "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
    1. Re:UDP. by cguillemette · · Score: 1, Insightful

      UDP is bad if you want to make sure you send/receive every single bit. It is used for streaming of music, video and gaming. TCP should work fine.

    2. Re:UDP. by Anonymous Coward · · Score: 0

      Whoosh!

    3. Re:UDP. by Underfoot · · Score: 3, Informative

      UDP is actually a great basis for accelerated file transfer. Several file transfer utilities / protocols have been built around it. I deal with really large files, but I have been using Aspera on several projects with great success. Worth a look.

      http://www.asperasoft.com/

      --
      I mentioned tinker-toys once in a post - now I'm modded down for life.
    4. Re:UDP. by Anonymous Coward · · Score: 0

      There's something called FilePhile that does UDP scatter-gather transfers, but its not open source.

      http://www.filephile.net/

    5. Re:UDP. by El+Torico · · Score: 4, Funny

      Now I know the sound of packets being dropped. Thanks.

      --
      In the land of the blind, the one-eyed man is usually crucified.
    6. Re:UDP. by sofar · · Score: 5, Funny

      TCP is so horrible. I wish HTTP used UDP by default so I wouldn't have the pro

    7. Re:UDP. by Anonymous Coward · · Score: 0

      Only slashdot can tag this response as a 5 Funny! ;)

      p.s. Make sure to disable UDP checksums.

    8. Re:UDP. by Anonymous Coward · · Score: 2, Informative

      TCP is so horrible. I wish HTTP used UDP by default so I wouldn't have the pro

      Aspera is little better than Tsunami.

      As an exercise for the reader, guess which one is cheaper.

    9. Re:UDP. by interval1066 · · Score: 1

      UDP? I thought the idea was "guaranteed" data transmission.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    10. Re:UDP. by Anonymous Coward · · Score: 1, Funny

      Ah, so you have a VOIP phone too

    11. Re:UDP. by Chees0rz · · Score: 2, Funny

      OYu need tdownoadl hte fxofire lugin

    12. Re:UDP. by Anonymous Coward · · Score: 0

      UDP is (on its own) not the solution, because when a UDP packet gets lost, there isn't a mechanism in the protocol to let the sender know to retransmit. In this case, they are having packets received that are malformed/missing.

      The actual problem, here, is that FTP relies exclusively on TCP for error detection. TCP's error detection mechanism is extremely simple, and apparently too weak to resist the terrible transmission errors introduced on the second leg of the network.

      Now, if you're not too worried about overhead, Bittorrent DOES have a very good error detection mechanism (chunking and MD5 hashing the chunks). Yes, bittorrent does use UDP for transmission, but has its own error detection/correction/retransmit mechanism.

    13. Re:UDP. by CyberKrb · · Score: 1

      Like, say.... "Plonk!" ? (K-lined)

    14. Re:UDP. by jgrahn · · Score: 1

      UDP is actually a great basis for accelerated file transfer. Several file transfer utilities / protocols have been built around it.

      I find that hard to believe (the "great basis" part -- I am sure lots of people have tried and thought they succeeded). Which of the guarantees that TCP gives you are you prepared to give up for file transfer? (Note that you're not allowed to give up performance for other users in the network.)

    15. Re:UDP. by Anonymous Coward · · Score: 0

      Another option is Par files, they create files 10% the size of the originals and if any of the files become corrupted they will detect and repair.

    16. Re:UDP. by the_one(2) · · Score: 1

      The guarantee of delivery and guaranteed order sounds pretty worthless when doing file transfers. If there are missing bits the client can just request them later.

    17. Re:UDP. by Nefarious+Wheel · · Score: 1

      I'd go for the secret, hollowed-out coin myself.

      --
      Do not mock my vision of impractical footwear
    18. Re:UDP. by GMC-jimmy · · Score: 1

      I think the original poster intended to ask about a client application protocol. Like their reference to FTP. If my assumption is correct, then the poster from the article might be interested in something like rsync, only for Windows instead of Unix. In which that case would be cwrsync - Rsync for Windows.

      I invested more time in making this post than researching file transfer solutions for this article. More research by the interested party would be wise.

      --
      __________________________________
      Free your mind - Flush your toilet
    19. Re:UDP. by isorox · · Score: 1

      I find that hard to believe (the "great basis" part -- I am sure lots of people have tried and thought they succeeded). Which of the guarantees that TCP gives you are you prepared to give up for file transfer?

      The theory is that with high bandwidth, high latency, and low loss, you can do more intelligent checksumming and rate detection than TCP

      (Note that you're not allowed to give up performance for other users in the network.)

      That's not what our management want, and they seem to think Signiant will magically get their 30mbit video file transfering over a 256kbit uplink in realtime.

    20. Re:UDP. by TheTurtlesMoves · · Score: 2, Insightful

      Well I find it nice to have a tar.bz2 file in the same order, and all of it. So you need to add "sequence" numbers and some form of ACKs in there. All you are doing is moving this function to the application rather than leaving in the stack.

      TCP does this pretty well on 99% of the internet *and* the internet is aware of TCP. Its only very "different" connections that things can make a real difference. AKA the microwave link. Though we have wrapped the link with specific hardware/software layer that lets IP work well over it in our cases.

      Also when people "roll" their own "superior" UDP transfer protocol, many don't bother to check why TCP does what it does. Flow control is *needed* with ACKs and resends --well any connection, buffers are not infinitely big. There is the 2 generals problem etc. Its not as strait forward as many think.

      --
      The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
    21. Re:UDP. by Phreakiture · · Score: 1

      Okay, getting serious now . . .

      First, it sounds like a file size difference of a few kilobytes could be attributed to ASCII vs. binary mode in FTP

      Second, if, after checking that, you do decide to retire FTP, I'd suggest using http, if, and only if, you can initiate the file transfer from the receiving end. Use wget with the --tries=<big_number> and --continue flags.

      Another option is to chunk the data. You may have to brew something yourself here, but if you can chunk the data and then validate the chunks by a hashing algorithm (MD5, SHA, etc), you can re-request the b0rked chunks before attempting to re-assemble the file.

      On UDP . . . While I don't necessarily advocate TIBCO per se, they do have a UDP-based system (Rendezvous) that has an option that they call a "certified" delivery -- missed packets can be re-requested. It's really more intended for one-to-many transmissions, but it (or a competitor) might be an option.

      --
      www.wavefront-av.com
    22. Re:UDP. by Chris+Mattern · · Score: 1

      The guarantee of delivery and guaranteed order sounds pretty worthless when doing file transfers. If there are missing bits the client can just request them later.

      In other words, do what TCP does, except you have to write it yourself. "Those who ignore TCP are doomed to re-implement it. Badly."

    23. Re:UDP. by ThePhilips · · Score: 1

      You are completely right saying that people do not understand TCP well when they jump on UDP.

      I have seen couple of homegrown protocols based on UDP and on average their performance was higher than that of TCP. But that was mostly because people were using (insane) defaults suitable for their particular needs. (E.g. "window size" covering whole file, regardless of size + selective retransmission + ability to feed results of binary diff to minimize overhead of sending updates (a-la rsync)).

      In that respect, there are two problems in TCP: it is stream based (while many higher-level protocols are message based and do not care about ordering of their own messages) and it has quite average defaults (to work well on wide range of networks and application).

      Another thing I see quite often is that people wrongly pick TCP because they want something reliable (e.g. to make their own software look or feel more reliable: "oh! it uses TCP!! it must be reliable software!!!") while the information they actually send can be easily sent over UDP and minor packet losses can be tolerated or even recovered from. For few things I did personally, UDP over switched LAN did a great job. In fact so good - that I have seen packet loss only when LAN itself had a problem (e.g. switch power supply failed).

      --
      All hope abandon ye who enter here.
    24. Re:UDP. by Underfoot · · Score: 1

      The statement "You're not allowed to give up performance for other users in the network" is dependent on your task-at-hand and your network infrastructure. There are several instances where it is perfectly reasonable to push other network traffic aside or where there is no other traffic (such as the sat-feed that another user mentions in another reply).

      The main reason people began wrapping UDP into highly custom/specialized versions of TCP is that TCP (while great for the Internet at large) is largely based on assumptions that may not hold true in all use cases. The RTT of the protocol may unnecessarily add latency to the data throughput for long distance trips, and TCP's aggressive "congestion avoidance" algorithm is based on the smaller bandwidths of older technology - potentially significantly slowing the data, even for single dropped packets.

      --
      I mentioned tinker-toys once in a post - now I'm modded down for life.
    25. Re:UDP. by Anonymous Coward · · Score: 0

      Yep. Still have to pay for a bigger pipe if you need a bigger pipe.

      Not that I am commenting about the size of your pipe.

    26. Re:UDP. by isorox · · Score: 1

      My pipe is fine, I can easilly saturate a gbit link pulling stuff off the web.

      Sadly a journo with a bgan in Helmand isn't as lucky

  2. anonymous coward by Anonymous Coward · · Score: 0

    create checksums? .. md5/sfv for e.g.

    1. Re:anonymous coward by cayenne8 · · Score: 1
      Why not scp?

      I've used WinSCP before, and it seemed to be a good product.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    2. Re:anonymous coward by sopssa · · Score: 1

      The problem with FTP/SFTP/SCP is that if the connection breaks or theres other transfer errors (there will always be) and like he says, FTP does have the tendency to break files. You can solve this with checksums and transferring again, but thats not probably the most efficient solution. Something along the lines of torrent protocol would actually be perfect, as it has multiple good checksum tests and the file is partitioned, so you only need to retransfer one piece instead of whole file if its bad. Now torrent is a bit of pain in the ass as you need to create and transfer the .torrent file, but that could be automated and maybe theres other such more suitable protocols aswell.

    3. Re:anonymous coward by goltzc · · Score: 1

      I just handled a similar problem where I work and the solution was a pretty simple combination of using rsync over ssh.

      --
      Our bugs are smarter than your test scripts.
  3. Any encrypted transmission protocol actually by guruevi · · Score: 4, Informative

    SFTP should do since the communications are encrypted, if something changes along the way it should be rejected by the other end. HTTPS and any other protocol-over-SSL should do.

    FTP is a plain-text protocol so if something changes along the way it won't give you any issues.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1, Troll

      I don't know SSH (which SFTP uses) well enough to say that you're wrong, but I think you are. Encrypting software, in itself, does not guarantee that there are no errors. It's a simple case of garbage-in-garbage-out.

      On the other hand, use of SFTP in place of FTP is mandatory in this day and age. FTP sends passwords in clear; anybody using it is wearing a big red sign that says HACK ME!!!!

      As for data integrity, this is not exactly new, or rocket science. Here's the magic word: checksum.

    2. Re:Any encrypted transmission protocol actually by jeffmeden · · Score: 4, Informative

      Using modern encryption like SSH does guarantee that things *have to add up* since keeping what you start with a secret is just as important (sometimes more so) as making sure you finish with exactly what you start with (meaning no one in the middle meddled with your data).

      So, in short, something like SSH or any other properly encrypted communication mechanism is a great way to both secure the data from snooping (in the case of a microwave link, a VERY real problem) as well as to safeguard the data from corruption (intentional or unintentional). I sincerely hope, for the asker's sake and possibly for the country's sake, that these files he works with are trivial.

    3. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      Actually ssh has checksums. It will tell you if something goes wrong *during the transfer*. You'll still have to make sure that the files are the same on both end (HD/OS errors). md5sum is your friend for that.

      Also, rsync over ssh does all that. I use it to do backups on my win machine, small shell (cygwin) script on my desktop...

    4. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      On the other hand, use of SFTP in place of FTP is mandatory in this day and age.

      You must be kidding. Most SFTP clients suck. The OpenSSH SFTP client doesn't even have the equivalent functionality of the 80's vintage BSD FTP. No SFTP client even comes close to the functionality offered by something like ncftp.

      FTP sends passwords in clear; anybody using it is wearing a big red sign that says HACK ME!!!!

      Only if they're able to perform a man-in-the-middle attack. At best they have to be on the same physical network segment as you and able to sniff all traffic: hardly a likely scenario in most businesses, or via. the internet. If someone is able to do this, you have bigger problems anyway.

    5. Re:Any encrypted transmission protocol actually by Itninja · · Score: 1

      Since there are several concepts/protocols that like to call themselves "SFTP", which one are you referring to? http://en.wikipedia.org/wiki/Sftp

      --
      I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
    6. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 4, Funny

      I sincerely hope, for the asker's sake and possibly for the country's sake, that these files he works with are trivial.

      Well, let's see.

      transferring mission critical files across a 2 mbit microwave connection, into a government-run telecommunications center

      Pretty sure encryption isn't necessary.

    7. Re:Any encrypted transmission protocol actually by msimm · · Score: 1

      I know people post publicly about using FTP for *ANYTHING* do it just to make me feel smarter but that summary included the words mission critical, Windows AND FTP.

      *head explodes*

      --
      Quack, quack.
    8. Re:Any encrypted transmission protocol actually by Kineticabstract · · Score: 2, Interesting
      Poster isn't concerned about whether the data has errors. That's a problem for the data creators. He's worried about it getting screwed up in transmission, either accidentally or maliciously, and encryption absolutely solves that issue. Yes, garbage in returns garbage out, but you're guaranteed (within collision space boundaries) that the garbage that comes out is exactly the same as the garbage that went in. And that's the point here.

      Starting a comment off by explaining that you're not familiar enough with the subject matter to intelligently comment is a very handy flag, and I appreciate your warning the rest of us that what you were saying was going to be wrong ;)

      BTW, checksum hasn't been considered a trustworthy means of ensuring data integrity for more than a decade. I invite you to have a discussion with Google regarding checksum collisions.

    9. Re:Any encrypted transmission protocol actually by Amouth · · Score: 1

      "At best they have to be on the same physical network segment as you and able to sniff all traffic"

      point in case of not reading the summary - "transferring mission critical files across a 2 mbit microwave connection"

      they are brodcasting their data to whom ever wants to listen - sure you can focus the beam but there is always reflection - and if they are complainging about shotty networking and are using and using windows file copy over a wan connection - i highly doubht that their data is secure

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    10. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      Yes but like I said: if someone is actually willing and capable of putting a repeater in the middle of their beam, I think they have bigger things to worry about.

    11. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      If one could change the data during transmission and it would still be accepted you'd have a big security issue right there.
      Just imagine changing "cp" to "rm" or the like.

      I assume they thought about that.

    12. Re:Any encrypted transmission protocol actually by znerk · · Score: 1

      Only if they're able to perform a man-in-the-middle attack. At best they have to be on the same physical network segment as you and able to sniff all traffic

      What part of "my work involves transferring mission critical files across a 2 mbit microwave connection, into a government-run telecommunications center with a very dodgy internal network and then finally to our own server" did you not understand?

      I know most of you trolls don't read the articles, but for crying out loud, at least read the summary...
      (Ok, yeah, there's no article in this case, but my point remains valid.)

      --
      This work is licensed under a Creative Commons Attribution 3.0 Unported License.
    13. Re:Any encrypted transmission protocol actually by talldean · · Score: 1

      WinSCP sounds like what you're looking for. Either that, or SCP from the command line. If they're mission critical, I'm assuming data reliability is required; FTP isn't something you should use in that case.

    14. Re:Any encrypted transmission protocol actually by fm6 · · Score: 2, Informative

      Poster isn't concerned about whether the data has errors. That's a problem for the data creators. He's worried about it getting screwed up in transmission, either accidentally or maliciously

      Sigh. You're welcome to nitpick my prose, but would you mind doing so in a way that makes sense. Data that got screwed up in transmission can be said to have errors. And that's what I meant.

      and encryption absolutely solves that issue.

      How? Not all encryption algorithms break if you mung the data after it was encrypted. Do all the algorithms break if this happens? Show me where it says this, and I'll admit that encryption is sufficient.

      BTW, checksum hasn't been considered a trustworthy means of ensuring data integrity for more than a decade.

      Dude, you really need to start listening to how people actually talk. For more than a decade, the word "checksum" has been used to apply to algorithms that don't simply add up bits, such as MD5. Not strictly logical, but language rarely is.

    15. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1

      In the above post, where I say, "all the algorithms" I meant to say "all the algorithms used with SSH".

    16. Re:Any encrypted transmission protocol actually by Vancorps · · Score: 1

      What microwave connections out there don't use strong encryption?

      Our 70meg microwave backup link sure the hell is. You're not dealing with 802.11 here in most cases so even receiving the signal is difficult given that they are usually in the high frequency ranges using directional antenna. It's hard to sit in the middle of the beam without causing some severe disruption and all of that is moot given TACACS and peering authentication which all equipment I've ever encountered supported although I'll grant it possible its not used. Given how trivial it is to setup once you have the infrastructure I can't imagine an ISP leaving that step out though

    17. Re:Any encrypted transmission protocol actually by Amouth · · Score: 1

      i wasn't even thinking of the current wifi - but them listing it as a 2meg connection - just reminds me of some of the first setups i ever saw ~12-13 years ago using microwave links between building (and some i bet are still being used)..

      while agree that what get deployed now is mostly secure by default but alot of ones from the start where not - and very very very very rarely will an isp go back and update links/setup/hardware if there is never a support ticket on it.

      "government-run telecommunications center with a very dodgy internal network"

      doesn't make me think fed or mil setup but rather local government or school/dot setups which trust me i've seen exceptional poor setups.. (my favorite tough had to be the proxy that would work for anyone.. including allowing connections from the net to access internal resources)

      without knowing the full conditions of the setup no one here can answer if they are secure or not - but what i was getting at is from the looks of the post i highly doubt that security is their first, or even second concern.

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    18. Re:Any encrypted transmission protocol actually by Grakun · · Score: 1

      On the other hand, use of SFTP in place of FTP is mandatory in this day and age.

      You must be kidding. Most SFTP clients suck. The OpenSSH SFTP client doesn't even have the equivalent functionality of the 80's vintage BSD FTP. No SFTP client even comes close to the functionality offered by something like ncftp.

      FTP sends passwords in clear; anybody using it is wearing a big red sign that says HACK ME!!!!

      Only if they're able to perform a man-in-the-middle attack. At best they have to be on the same physical network segment as you and able to sniff all traffic: hardly a likely scenario in most businesses, or via. the internet. If someone is able to do this, you have bigger problems anyway.

      You've got this completely backwards. When using an encrypted protocol, such as SFTP, then a MITM attack may be necessary to see the unencrypted data. In that case, then it would be easiest if they were on the same physical network segment. (Although, careful not to get a false sense of security here. There are many ways to do this, even without physical access.) Fortunately, there are things we can do to detect and protect against those.

      With unencrypted protocols like FTP, there's no reason for a MITM attack or any kind of attack at all. You've just potentially saved a future attacker or curious troublemaker a ton of work. You have literally sent your full login information on many separate networks, each of which have many devices connected to them. If anyone is monitoring traffic on any of those networks, your password could just sit in a dump file (along with your login name, your server's IP address and the port your FTP service is running on) until sometime down the road when someone stumbles upon it or scans for it. Unlike a MITM attack, nobody has to even be trying to attack you. There's no practical way to ensure that there isn't a single insufficiently-secured device on any of the autonomous networks that your info traveled across.

      If you're using an encrypted protocol, someone usually has to take the time to attack you. If you're using an unecrypted protocol, you're just gambling on whether or not anyone who stumbles upon your login info will find any value in it.

    19. Re:Any encrypted transmission protocol actually by link-error · · Score: 5, Insightful

      Wrong. FTP has a binary mode. This is probably the reason his files are missing several k at the destination. Sending a binary file in ascii mode is the ONLY TIME I've ever had a file not transfer entirely/correctly using FTP. Unless of course there is a network error/timeout, etc, but the FTP client always errored out in those cases. Using SFTP over an already secure network will only slow things down greatly.

      --
      -Unresolved symbol? Byte me!
    20. Re:Any encrypted transmission protocol actually by Z00L00K · · Score: 1

      What the poster actually probably would need is an application message queue system.

      Or at least a protocol on top of the file transfer protocol that can verify and request that failed files are resent.

      A solution using Rsync may work too, and then watch the exit code of the application to be able to detect if it was correctly transferred.

      There are many ways of solving the problem in question and you have to actually look at the whole system and not just at one detail of the system. A solution where transferred data isn't acknowledged is not very stable.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    21. Re:Any encrypted transmission protocol actually by Grakun · · Score: 1

      Yes but like I said: if someone is actually willing and capable of putting a repeater in the middle of their beam, I think they have bigger things to worry about.

      Would not need to be in the middle of the beam. Could even be quite a distance away with a nice antenna setup.

    22. Re:Any encrypted transmission protocol actually by jgrahn · · Score: 2, Interesting

      Wrong. FTP has a binary mode. This is probably the reason his files are missing several k at the destination.

      Using FTP ASCII mode for binary files would be increadibly stupid, but yeah, it sounds like that could be it.

      Sending a binary file in ascii mode is the ONLY TIME I've ever had a file not transfer entirely/correctly using FTP. Unless of course there is a network error/timeout, etc, but the FTP client always errored out in those cases.

      Calling ftp from a .BAT script or whatever it's called in DOS and *not* checking its exit code is another likely candidate. Otherwise, I don't believe FTP has any checksums, so I'd expect bit errors here and there -- things the TCP and link layer checksums did not catch in 1/65536 of the cases.

      Using SFTP over an already secure network will only slow things down greatly.

      Depends entirely on the CPU speed of the endpoints relative to the link speed. If you enable compression and the files aren't already compressed, it can be a lot faster.

    23. Re:Any encrypted transmission protocol actually by OeLeWaPpErKe · · Score: 2, Interesting

      Actually encryption doesn't guarantee *things add up* after transfer. And ssh does not guarantee things add up any more than tcp does. It does have other advantages, like compression.

      And tcp is just not a good file transfer protocol over microwave links. Sure you can fix the glaring issues, using huge windows, you can even change registry settings to improve the situation : http://support.microsoft.com/kb/224829.

      Making it work really well, though, you'll need

      If you're worried about correctness of transfer you might want to use rsync for windows, which *does* check correctness. You might want to use an interface like http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp.

      Now rsync is no wonder. It is not something that is constantly trying to reconnect. You start it once ... it tries once. If you want an opportunistic reliable file transfer utility ... you might want to try bittorrent, it's quite good at that.

    24. Re:Any encrypted transmission protocol actually by DrSkwid · · Score: 1

      Obviously you don't know that passwords are *not* part of the FTP protocol but a badly hacked on auth model. Plan9 FTP uses netkey and no password is passed but everything is still plain. Use an externally encrypted link and you're away.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    25. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1
    26. Re:Any encrypted transmission protocol actually by Kineticabstract · · Score: 1
      [[shrug]] You said checksum - perhaps I made an error in assuming that you meant what you said. I've been building client/server apps that use crypto for 8 years, and I've never once referred to an MD5 hash as a checksum, though I recognize that some might. Of course, MD5 also falls into that category of "useless for assuring data integrity", so that's a moot point.

      Not all encryption algorithms break... Show me where it says this...

      Sorry, I'm not going to do your homework for you. Yes, if data is encrypted, and that data is munged, the encryption breaks, and the decryption fails. That is the nature of encryption. Whether you notice that the decryption fails is another issue, but when decryption fails, it tends to fail spectacularly, and the data that results is truly garbage and recognizable as such, since your application no longer knows what to do with it. I'm curious as to which of the algorithms used by SSH would not result in this behaviour. AES? 3DES? Blowfish? If so, then the Internet is horribly broken, and you should never bank online again.

    27. Re:Any encrypted transmission protocol actually by Vancorps · · Score: 1

      You're right, the government run part probably does indicate old hardware as they love to set and forget and you're definitely right about ISPs not going back once something is working.

      Regardless SSH, VPN or any encrypted connection should be employed when routing through networks you don't control so the whole argument I posed was moot.

      If the servers are Windows servers then I would recommend DFS as it comes with 2k3 R2 with remote differential compression which is what makes rsync so powerful. Of course older Windows has older DFS which will still replicate the data automatically doing integrity checking as it goes.

      Of course if you don't have R2 or newer then I would recommend rsync.

      In both scenarios I still recommend a VPN to encapsulate everything.

    28. Re:Any encrypted transmission protocol actually by Kazoo+the+Clown · · Score: 2, Informative

      FTP is however, more than an order of magnitude faster than SFTP or SCP. If the files are relatively small, SFTP is certainly the more secure solution, but if the files are huge and time is an issue, FTP has the clear performance advantage.

    29. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1

      FTP is however, more than an order of magnitude faster than SFTP or SCP.

      Maybe on your system. I use SSH-based file transfers routinely, and I'm not seeing an loss of speed at all.

      When an encrypted connection is slow, it's more than likely that the server doesn't have enough CPU bandwidth to handle its end of the pipe. Now that I think of it, when my company first deployed VPN, it was horribly slugish. Then they upgraded the systems handling the encryption, and it's as fast as any other connection. I suspect that's standard with encypted data transfer; people always overlook the extra CPU capacity they'll need to support it properly.

       

    30. Re:Any encrypted transmission protocol actually by Kazoo+the+Clown · · Score: 2, Informative

      We've done a lot of testing for our data warehouse products over a gigabit link between two quadcore server PCs comparing the transfer of several gigabytes worth of data, between ftp and sftp, and typical times for sftp have been taking about 3 and a half hours, when the same transfer via ftp is taking about 20 minutes. For the clients, we've been using psftp and windows command-line ftp, and for the servers, War-FTP and copssh. HP has a performance patch for OpenSSH (see here), but we have been unable to locate or develop a build for Windows that has this patch. While there may be better tuned SFTP software out there, the readily available open source tools do not compare well with FTP.

    31. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1

      I've been building client/server apps that use crypto for 8 years, and I've never once referred to an MD5 hash as a checksum, though I recognize that some might.

      Some? There are 2.7 million pages in Google that reference the phrase (not the words) "MD5 Checksum".

      Of course, MD5 also falls into that category of "useless for assuring data integrity", so that's a moot point.

      No it's not. I didn't cite "MD5 checksum" as a superior algorithm, I cited it as an example of people using the word "checksum" more loosely than you do.

      Sorry, I'm not going to do your homework for you.

      I did do my homework. Couldn't find anything to support what you say. If you've actually studied the algorithms, I'll take your word for it. But...

      Yes, if data is encrypted, and that data is munged, the encryption breaks, and the decryption fails. That is the nature of encryption.

      That's patently not true. Any rotor algorithm such as DES will not notice a munged bit. Just to convince myself that I had that right I actually encrypted a short file with the Linux des command, changed a single bit in the encrypted version, and decrypted it. About 10 bytes got scrambled.

      Using my psychic powers, I now perceive that you're saying, "DES is a symmetric key algorithm. Nobody uses those! I'm talking about public key algorithms!" My math isn't good enough to verify that you're right, (nor do I have any PK software to play with) but I'll take your word for it. Just don't get all hot and bothered because I interpreted "encryption" more broadly than you; this time the dictionary is definitely on my side.

    32. Re:Any encrypted transmission protocol actually by complete+loony · · Score: 1

      Actually missing the last packet or two of a TCP stream is common if you shutdown the stream incorrectly. I ran into this problem when I tried to write an ftp client on windows. My guess is either their ftp client / server has a bug or the unreliable network he talks about is causing enough dropped packets to abort the connection early and their download client is not retrying.

      So my recommendation would be to use some kind of download manager that can open multiple streams, that will retry on any connection failure, and ideally a protocol that does end to end checksums of the whole file to ensure it downloaded correctly.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    33. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1

      Oops. Just had a thought. (Reads ssh man page.) Yep. The default encryption for sftp transfers is 3des — a rotor algorithm. So any error in transmission will silently create an error in the output. (Does mocking little dance.) There's an option to use blowfish, which is way too big and complicated for my little brain, so I couldn't tell you how it handles errors.

    34. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1

      So when you say "sftp is an order of magnitude slower" you really mean ".... on openssh running on cygwin running on Windows". (I'm assuming that your workstations are not bottlenecks, since these systems typically have more CPU bandwidth than they know what to do with.)

      I'm not an expert on this stuff, but I have to wonder if your sshd daemons are fully utilitizing your CPUs. Perhaps this is a stupid suggestion, but have you profiled core usage and verified that the cygwin and openssh in copssh are both compiled with multithreading support?

      One obvious suggestion is that you try a native-to-Windows SSH server. But there don't seem to be any! Not open source, not commercial. Mind-boggling.

      If there is a commercial Windows SSH server, you probably should give it a try. Your boss may hate spending money, but he'd hate being hacked even more.

      And even if you guys are a Windows shop, you might consider serving your FTP off a system with a performance-oriented OS. Being a Sun employee, I'm required to tell you that Solaris is way cooler than Linux for high-performance apps. But even with Linux, the CPU bandwidth you need to do this properly is not that expensive.

      </shameless plug>

    35. Re:Any encrypted transmission protocol actually by StuartHankins · · Score: 1

      "Several GB" in 20 minutes? Rsync might be able to help you speed that up a bit. I can copy 120GB in about 90 minutes using rsync (up to 15MB / second or so on my 2x1GB NIC team), and it doesn't take substantial processor time. If you're on a LAN, don't use the "-v" option so it doesn't waste time trying to compress it, just slam it through.

      This particular process runs under Cygwin on the server side (Windows 2003, HP BL460c blades with dual quad-cores, 8 GB of memory -- we're moving to 64-bit in the near future but wanted to go ahead and get the memory when we got the blades.) with a similar blade on the other end (RHEL 5 with another 8GB memory). Now granted I have fiber to the SAN (EVA 4400) for both machines.

      Rsync is a mission-critical app for us, I really can't say enough about it. The Windows version is available at http://www.itefix.no/cwrsync/

      On a desktop level, I also use my MacBook Pro (OSX 10.4, Dual core 2.4, 4GB memory over Firewire 800) with my 1TB LaCIE BigDisk drive. My XP VM is roughly 28GB and it copies in about 12 minutes, which averages more than 2GB per minute. I think I paid $150 or so for the drive, it was reconditioned. The drive (actually 2 drives in a RAID 0) isn't nearly as fast with multiple read/writes happening, and it does eat some CPU while it's going, but it works for me.
      HTH.

    36. Re:Any encrypted transmission protocol actually by Kazoo+the+Clown · · Score: 1

      Thanks for the tip on rsync-- I will definately check it out...

    37. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      checksums are not magic: if there are errors, but the sum of their deviation adds up to zero, the message will pass a checksum test.

    38. Re:Any encrypted transmission protocol actually by Thundersnatch · · Score: 1

      My, aren't you lazy! First link on Google when searching for "windows SSH": WinSSHD.

      As for "native" SSH for Windows, there you have it. No Cygwin at least.

      As for "native open source" SSH on Windows, there obviously isn't great demand. Alternative solutions for the same problems have been available longer on Windows: 1) Telnet with NTLM or Kerberos authentication 2) RDP 3) PSEXEC. RDP has native encryption, any of the others can be wrapped in the natively provided Windows VPN/tunneling solutions (PPTP,IPsec,L2TP,SSTP).

    39. Re:Any encrypted transmission protocol actually by shiftless · · Score: 1

      And what the hell is wrong with FTP? It's a very fast, convenient, widely supported, relatively reliable way to transfer files from one place to another.

    40. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      Believe it or not, there are other checksums out there other than CRC

    41. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      I bet you are right. These are government windows guys.

      Here, use this to tell if it changed:
      md5sum

    42. Re:Any encrypted transmission protocol actually by Anonymous Coward · · Score: 0

      Is there is also a reason that the files could be showing as a few KB smaller when they arrive at the other side, even though any file transfer protocol used will have sent a complete intact version of the file? Admittedly, it's a bit obscure. But how would having large clusters on the source disk and small clusters on the target disk result in an apparent varying shrink in filesize for different files?

    43. Re:Any encrypted transmission protocol actually by Chris+Mattern · · Score: 1

      What encryption method are you using? I find that if your computer is having trouble keeping up, going to blowfish often works well.

    44. Re:Any encrypted transmission protocol actually by fm6 · · Score: 1

      I'm pretty lazy, but I'm not that lazy. What I am is sloppy -- I didn't look at the ads.

      As for "native open source" SSH on Windows, there obviously isn't great demand.

      Come again? What's the #1 way to transfer files over the public internet? FTP. And that protocol sends passwords in the clear (it even precedes it with a handy little tag, so the sniffers won't miss it). So anybody who doesn't want to get hacked uses SFTP which is just FTP over SSH. That's how this thread started in the first place.

    45. Re:Any encrypted transmission protocol actually by Thundersnatch · · Score: 1

      HTTPS, WebDAV, and CIFS are all built into on Windows, and enable secured transfers. Or you can run insecure FTP through a PPTP, IPsec, or STTP tunnel. These require only the software already present on Windows boxes. Which is why there is not massive demand for SFTP on Windows (although I use personally it heavily for transfers between Windows and UNIX-ish systems).

      There are good SFTP clients for windows, many open source. There are just no good open source SSH server solutions on WIndows (I've tried them all and stuck with inexpensive commerical offerings when I needed one).

    46. Re:Any encrypted transmission protocol actually by Kineticabstract · · Score: 1
      Yeah, you're right. I got myself spun off on a tangent and lost the point. Your original point was that SSH wasn't sufficient to protect the data in transit - my point is that it is, but I articulated that very poorly. As a result, while mocking your incorrect use of "MD5 Checksum" (sorry, I don't accept that a majority use of an inaccurate term means that it's somehow accurate) I did something very similar.

      To reiterate - you're right. Encryption by itself does not protect the data from modification. Actually, nothing short of physical control protects the data from modification - that's also a bad turn of phrase. But with encryption alone you can only tell that the data's been modified by the fact that an application using it no longer recognizes the data format, since you now have essentially random data. This is almost always noticeable, but it's not adequate for data protection, and I shouldn't have implied that it was.

      However, the thing that got me started in the first place is the fact that SSH2 also provides a MAC over each data packet, and if the MAC doesn't match, requests that the packet be re-sent. Thus, it provides both data confidentiality via encryption, and data integrity via MAC. When I said that you're guaranteed that the garbage out is the same as the garbage that went in, I was referring to the integrity provided by SSH as a whole, not encryption per se. Then instead of clarifying that, I wandered off and started babbling nonsense.

      SSH also claims to provide non-repudiation, since the original handshake involves private/public key pairs, but the whole question of non-repudiation is better left to the lawyers. I believe that SSH2 provides either a SHA1 or MD5 hash over the data packet, which only makes it suitable for non-classified work (I'm assuming the poster's data is unclassified, or his customer would have insisted on encryption already).

    47. Re:Any encrypted transmission protocol actually by znerk · · Score: 1

      WinSCP sounds like what you're looking for. Either that, or SCP from the command line. If they're mission critical, I'm assuming data reliability is required; FTP isn't something you should use in that case.

      A: You replied to the wrong post.

      B: WinSCP will cheerfully "fall back" to SFTP or just plain FTP, if you don't turn that "feature" off.

      --
      This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  4. UUCP by csoto · · Score: 1

    Or I guess that would be WWCP. WWJD?

    --
    There exists no way of exchanging information without making judgments. --Bene Gesserit Axiom
    1. Re:UUCP by DenDude · · Score: 1

      I gotta tell you, I am *shocked* that you chose to post anonymously. You are so very eloquent in your utter stupidity. Well done sir, well done.

      --
      A Haiku: my language choices/assembler pascal lisp c/old school programmer
    2. Re:UUCP by Obfuscant · · Score: 1
      I faced the same issue a dozen years ago. Automated data transfer, reliable, retry, over slow link, etc.

      As I wrote down the requirements for the system I was thinking of writing, I realized that every bit was covered by UUCP. And then I realized that t protocol was designed for used over the network.

      If you want security, create an SSH tunnel and transport the UUCP over that.

      It's not stupid to use existing tools as they were intended. What's stupid is rewriting the wheel.

  5. Jesus protocol by Anonymous Coward · · Score: 1, Funny

    Jesus is awesome.

    1. Re:Jesus protocol by Tablizer · · Score: 2, Funny

      Jesus is awesome.

      I've never heard of that product. Who makes it? Can it do binary transfers also? It must be open-source with such an odd name.

    2. Re:Jesus protocol by CarpetShark · · Score: 1

      Yeah, but having to drive nails through your hands and count the droplets before entering the count as a one time pad gets old after a while.

    3. Re:Jesus protocol by Loko+Draucarn · · Score: 3, Funny

      Not to mention the three day latency on refreshing the entropy pool.

    4. Re:Jesus protocol by atramentum · · Score: 0

      WTF do you think? Jesus made it.

    5. Re:Jesus protocol by blackjackshellac · · Score: 0

      Unfortunately the Jesus Protocol is replete with transmission errors.

      <rimshot/>

      --
      Salut,

      Jacques

    6. Re:Jesus protocol by melikamp · · Score: 3, Funny

      It must be open-source with such an odd name.

      Close. It's open sores, especially around the wrists.

    7. Re:Jesus protocol by Tablizer · · Score: 1

      WTF do you think? Jesus made it.

      Is it pronounced "Hayzuuss"? What's his last name? I used to know a "Jesus Mendez".
               

    8. Re:Jesus protocol by GaryOlson · · Score: 1

      I am more worried about the 12 different developers which submitted completely different source to the New Testament CVS. And, some say there are more source submissions which did not even make it to the published source.

      --
      Every mans' island needs an ocean; choose your ocean carefully.
  6. Bit torrent by Anonymous Coward · · Score: 0

    Automatic hashing of transferred pieces, ability to verify the entire package after transfer, higher performance if hosting on multiple machines...

    I'm sure you can setup an adhoc private setup... Maybe even utorrent between two machines.

  7. TCP? by causality · · Score: 4, Interesting

    The summary states that with FTP, the downloaded files were of the wrong size. Can anyone explain why TCP's efforts to to deal with unreliable networks, such as the retransmission of unacknowledged packets and their reassembly in proper order, would not already deal with this? I am familiar with the concepts involved but I think I lack the low-level understanding of how you would get the kind of results the story is reporting.

    --
    It is a miracle that curiosity survives formal education. - Einstein
    1. Re:TCP? by Anonymous Coward · · Score: 5, Insightful

      TCP has timeouts. The FTP client and server probably have timeouts. Eventually, some bit of the system will decide the operation is taking too long and give up. The FTP client is probably reporting an error, but if it's driven by a poor script no-one will know.

    2. Re:TCP? by Zocalo · · Score: 5, Informative

      The only times I've seen FTP report a successful file transfer and have a file discrepency is when a binary file has been transferred in ASCII mode and the CR/LF sequences are being swapped for just CRs, or visa versa. Nothing wrong with the protocol, PEBKAC...

      --
      UNIX? They're not even circumcised! Savages!
    3. Re:TCP? by AvitarX · · Score: 4, Insightful

      I bet it is file systems with different block sizes rounding slightly differently, and an OP that does not understand.

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    4. Re:TCP? by mini+me · · Score: 2, Insightful

      FTP, while in ASCII mode, can try to translate line endings. If the carriage returns were removed, in order to be UNIX compatible, the file size would have been reduced.

      Most FTP clients allow the enabling of a binary mode which prevents the conversion from happening.

    5. Re:TCP? by JamesP · · Score: 1

      TCP is as reliable as borrowing a brand new Ferrari to the crack dealer on the street corner.

      UDP of course, is less reliable than that. The Ferrari is rigged with a bomb.

      --
      how long until /. fixes commenting on Chrome?
    6. Re:TCP? by theCoder · · Score: 1

      It's possible the files were transferred in ASCII mode. This means that any place a '\r\n' appeared in the file, it was replaced by a '\n'. This is normally OK (and sometimes desirable) for text files, but can really cause problems with binary files. Because \r is 0x0d and \n is 0x0a, they can often appear in sequence in that in a binary file (like two pixels in an image) when they do not mean a line break.

      I would recommend that the submitted check to make sure that binary mode was enabled in the FTP client and also to generate MD5 sums for the files before and after transit. The MD5 sums will tell you if the file's contents were changed.

      --
      "Save the whales, feed the hungry, free the mallocs" -- author unknown
    7. Re:TCP? by junglebeast · · Score: 1

      This is almost undoubtedly the case.

    8. Re:TCP? by Anonymous Coward · · Score: 0

      Not to be too pedantic - I'm assuming you have english as a second/third fourth language, so take this as a clarification. Borrow is only used to refer to the act of receiving something. If you are letting someone use your Ferrari, you'd say "as reliable as lending a brand new Ferrari" or "letting the crack dealer on the street corner borrow your new Ferrari".

    9. Re:TCP? by vux984 · · Score: 1

      Borrow is only used to refer to the act of receiving something.

      Actually Lots of people who are native english speakers use borrow interchangeably with lend. It might even be a regional thing... as people in some regions have practically accepted it as normal usage.

      "borrow" = borrow - "Can I borrow a pencil?"
      "borrow you" = lend - "Sure I'll borrow you a pencil."

      I'm not making this up.

    10. Re:TCP? by Anonymous Coward · · Score: 0

      Size differences could just be due to different block sizes on the disk, depending on how windows reports things. Do an md5sum or equivalent to verify file contents.

    11. Re:TCP? by Tiroth · · Score: 1

      I think AC has the only correct response to this post. All of the people talking about CRs must not have any experience using FTP over a spotty connection, because it is quite common to run into these kinds of issues, especially on lengthy transfers.

    12. Re:TCP? by Anonymous Coward · · Score: 0

      Not to be too pedantic

      You are. Stop it.

    13. Re:TCP? by Anonymous Coward · · Score: 0

      TCP efforts don't fail. At the IP layer, packets are even checksumed.

      It's FTP client and server software that's unreliable or at issue.
      Possibly a broken server or client application.

      Possibly a failed attempt at download resume after a file transfer had failed.

      Maybe a disagreement between client and server about resume, or inappropriate use of 'text' transfers for binary data.

    14. Re:TCP? by rhsanborn · · Score: 2, Informative

      And those people are wrong.

    15. Re:TCP? by amoeba1911 · · Score: 5, Informative

      I'm gonna learn you some English: First, I will download my photos to my Facebook page. Then I will borrow you my car but in collateral I demand you borrow me you're lawnmower for a week so I can mow my lawn. Your smart, so you will do good on your next test.

    16. Re:TCP? by causality · · Score: 1

      I think AC has the only correct response to this post. All of the people talking about CRs must not have any experience using FTP over a spotty connection, because it is quite common to run into these kinds of issues, especially on lengthy transfers.

      Thanks, I was hoping for a real answer and I suspect that you are right about this. The only thing I can't help but wonder is, at what point does it make sense to address why that network is so unreliable, instead of finding clever solutions to deal with its lack of reliability? If I am correctly understanding the OP, it's not the microwave link but the "internal network". I am picturing a standard Ethernet LAN; if that's the case, it really should not be difficult to fix that network and should require neither unusual equipment nor special expertise. That is particularly true when the files transferred across it are described as "mission critical."

      --
      It is a miracle that curiosity survives formal education. - Einstein
    17. Re:TCP? by chad.koehler · · Score: 1

      You're not making this up, indeed. I hear this a lot. It does not make it right though.

    18. Re:TCP? by Anonymous Coward · · Score: 0

      great point.

    19. Re:TCP? by mysidia · · Score: 1

      Some clients don't bother to tell you the transfer succeeded, or don't make good on your request to download the file.

      E.g. it may have failed, but through some chicanery, they fail to properly inform you.

      Some clients even make a successful transfer look like a failure to the untrained eye. (E.g. 'control connection' timed out)

    20. Re:TCP? by bwcbwc · · Score: 5, Informative

      I used to get dropped characters and groups of characters in text files using FTP back in the 1990s and early 21st century. It seemed to be a bug in the FTP client, because it only happened when we used the Windows Explorer interface for the product. When we did command line or used the native GUI there was no problem. If you're seeing this type of a pattern where you can see that characters are missing, switch to a different FTP client or try the Windows command line FTP.

      Another possibility is that the target Windows system is mimicking a Unix system, so that an ASCII transfer is stripping the CR characters from CR/LF sequences.

      On the other hand, if you really want a "guaranteed delivery" with formal acknowledgment and validation, try using a secured protocol like SSH or SFTP or a messaging system like JMS with a handshaking architecture around it. There are plenty of Open Source architectures you can build around (xBus for example), but I don't know of any ready-built executables. Commercially, vendors like IBM (MQ) and Tibco have products that deal with the messaging at a similar level.

      --
      We are the 198 proof..
    21. Re:TCP? by HeronBlademaster · · Score: 2, Interesting

      Anyone who uses it that way is wrong. (For the lazy, every single definition of the verb "to borrow" involves receiving, not giving.)

      So your parent post should have said "Borrow should only be used to refer to the act of receiving something", but his (her?) statement is still essentially correct, if you go by the actual definition of the word rather than colloquial usage from one particular area.

      If I start using a word's opposite as if it were the word, and six hundred other people near me start doing it too, that makes it colloquial (in our area), but that doesn't make it right.

    22. Re:TCP? by ShieldW0lf · · Score: 3, Informative

      You could deal with a situation like this by zipping or rarring it into multiple small files and including parity files.

      http://en.wikipedia.org/wiki/Parchive

      --
      -1 Uncomfortable Truth
    23. Re:TCP? by morgan_greywolf · · Score: 1

      Ummmm....if you're using any clients that behave anything like what you describe, the solution is simple: Get another client. There's a gazillion of them out there, many of them are even open source. Plenty of good ones that don't misbehave like that.

    24. Re:TCP? by Ant+P. · · Score: 0, Troll

      Nothing wrong with the protocol

      Sorry, but any protocol that corrupts data because a notepad.exe compatibility switch was set the wrong way is just completely fucked up.

    25. Re:TCP? by causality · · Score: 1

      The only times I've seen FTP report a successful file transfer and have a file discrepency is when a binary file has been transferred in ASCII mode and the CR/LF sequences are being swapped for just CRs, or visa versa. Nothing wrong with the protocol, PEBKAC...

      Since ASCII files are also ultimately represented as particular sequences of binary data, why does FTP even have an ASCII transfer mode? Or, why would you want to download a file and receive anything other than an exact duplicate of the file that was sitting on the server?

      I know that Windows uses CR/LF for line termination and *nix uses just LF. That's a very minor inconvenience at worst, though my reasoning should hold up even if it were a big deal. Most (all?) *nix text editors I've ever worked with had no problem reading both formats, and little standalone utilities to convert the formats are readily available and have been for some time now. Additionally, on Windows, Notepad is the only app I've ever seen that had trouble with the *nix format (the built-in Wordpad can handle it fine). So I don't understand why the lower-level transfer protocol is the best place to include this functionality, as it really doesn't seem to belong there. It just seems like it's not the job of a file transfer protocol to concern itself with what an independent, unrelated application can or cannot do with the file after it's transferred.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    26. Re:TCP? by RasputinAXP · · Score: 1

      Where are my mod points today?? a virtual +1, insightful to you

    27. Re:TCP? by rezalas · · Score: 2, Insightful

      With the network being as questionable as stated, I can only wonder what part of the network is causing it to be unreliable. Usually if the entire network as issues then you are probably talking about everything in the office coming back to a switch panel and a faulty switch. If only certain transfers from point to point are commonly failing then you probably have wiring issues. In either a hardware or medium case, you need to be fixing the network instead of finding workarounds. Working with the network Admin for the facility to detect the source of the issue should be a two - three hour task at most. Save yourself time in the future and spend the bulk time now to fix the real problem.

    28. Re:TCP? by SQLGuru · · Score: 1

      I don't understand why the lower-level transfer protocol is the best place to include this functionality

      The protocol existed long before the problem was rendered moot.

    29. Re:TCP? by vux984 · · Score: 1

      If I start using a word's opposite as if it were the word, and six hundred other people near me start doing it too, that makes it colloquial (in our area), but that doesn't make it right.

      six thousand? still colloquial?
      six hundred thousand? still colloquial?
      six million?

      At some point, yes, it does make it "right". borrow isn't there yet, at least in the eyes of 'dictionary.reference.com', but I expect it will be sooner or later.

      dictionary.reference.com doesn't decide what usage is right and wrong, it merely reports how we use use them. If enough people use borrow for lend, they'll eventually add it as a definition of the word, first as colloqial, and if it gets widespread enough, as standard usage.

      'phat' didn't used to be in the dictionary at all.
      http://dictionary.reference.com/browse/phat

    30. Re:TCP? by samkass · · Score: 5, Informative

      While others point out, probably correctly, that the problem is probably a binary/ascii conversion, in actuality the error checking on TCP is simply not that good.

      TCP uses a 16-bit checksum, so you have 1 in 65536 chance of an error packet being incorrectly validated as being correct. To make matters worse, it uses 1's complement instead of 2's complement, so 0x00 and 0xFF are indistinguishable.

      Ethernet has a 32-bit, 2's complement checksum so if you're transmitting over that link-layer you're probably in good shape. But depending on that from a systems point of view seems risky.

      Much better to only transfer ZIPs and check them at the other end if you only have control over the endpoints. If you can control the transmission, use a better error-correcting high-level protocol or even a forward-error correction protocol on top of TCP.

      Or just use rsync.

      --
      E pluribus unum
    31. Re:TCP? by SnarfQuest · · Score: 2, Insightful

      Binary verses text mode?
      Lousy windows file system screwing up on one or the other end.
      Sparse files.
      Windows "fixing" the data during transmission.
      Loss of packets, and no error checking.
      Windows.

      --
      Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
    32. Re:TCP? by bertoelcon · · Score: 1

      I bet it is file systems with different block sizes rounding slightly differently, and an OP that does not understand.

      But the computers on both ends are running Windows, even if it is FAT32 and NTFS is this really a possible outcome?

      --
      Anything can be found funny, from a certain point of view.
    33. Re:TCP? by JamesP · · Score: 1

      You're right, 'borrow to' should have rang a bell :)

      --
      how long until /. fixes commenting on Chrome?
    34. Re:TCP? by bertoelcon · · Score: 1
      I have actually had a English teacher in Texas use those words just like that.

      Made her look like a moron teaching the advanced class bad grammar and usage.

      --
      Anything can be found funny, from a certain point of view.
    35. Re:TCP? by big_oaf · · Score: 1

      Mod parent up. My first thoughts were JMS, MQ Series, or Tibco Rendezvous. In my experience, MQ Series is freakin' bullet proof, and Tibco Rendezvous is a poser in comparison.

      --
      -- My hovercraft is full of eels.
    36. Re:TCP? by Obfuscant · · Score: 5, Informative
      Since ASCII files are also ultimately represented as particular sequences of binary data, why does FTP even have an ASCII transfer mode?

      Because of differences between systems like Unix and Windows, where line ends are a simple newline on Unix but a CR/LF pair on Windows. Also systems like VMS which have (had) about thirteen different file formats all inherent in the file structure itself.

      In other words, because all ASCII files are not represented the same way by all different operating systems.

      I know that Windows uses CR/LF for line termination and *nix uses just LF. That's a very minor inconvenience at worst,

      Not if you have an "ASCII" file you are trying to read on Windows that has Unix newline conventions. Try opening a newlined file with notepad, for example.

      ...and little standalone utilities to convert the formats are readily available and have been for some time now.

      "Little standalone utilities" are really handy for small files and small numbers of files. It's really handy when you know the format the file you have is in and what it needs to be. Please tell me how you will identify a VMS fixed record file that you have just ftp'd from a VMS FTP server when it gets to your Windows system. It has NO newlines or CR/LF pairs. You might dump the file somehow and notice that the lines are all 93 characters long and then write yourself a perl script to split it up -- or you could simply tell your FTP client that you are in ASCII mode and let the FTP server/client negotiate some resulting format that your system likes. Now try that with a VMS variable length record file, where the lines are variable length, still without line endings.

      FTP wasn't designed just for hobbyists who want a file or two and have the time to deal with file formats by hand. It was designed to move data, and anything that can be automated should be. "Little standalone utilities" are a pain in the ass when trying to automate something, especially when the critical information necessary to know what specific utility to use has been lost, or is completely unknown to the recipient's system. Like VMS fixed length records on Unix or Windows.

      It just seems like it's not the job of a file transfer protocol to concern itself with what an independent, unrelated application can or cannot do with the file after it's transferred.

      ASCII mode in FTP has nothing to do with anyone trying to tell anyone what they can or cannot do with a file after it's transferred. It's all about knowing how to deal with a hundred different ways of representing ASCII data on dozens of different operating systems and making life EASIER for people who have to do that on a daily basis.

      If YOU would rather operate in BIN mode and worry about which file formats you've just downloaded and how to convert them to an ASCII representation that your software knows how to deal with, more power to you. I got tired of dealing with this the first time I had to convert a VMS "ASCII" file to Unix and I'll let FTP do it silently for me. Yes, I've dealt with users who didn't know what ASCII mode was and downloaded a zipped file in ASCII mode and it didn't work, but the time I've saved just myself not having to deal with converting crap has more than made up for the time I've spent telling them to use BIN mode.

    37. Re:TCP? by geekoid · · Score: 1

      Yep. Or he has no clue about the Windows file system, specifically block size allocations.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    38. Re:TCP? by Your.Master · · Score: 1

      Even with six million, if you want to communicate to an audience that is primarily outside those six million, you'll confuse communication (and in some cases, even fail communication). Any particular instance is unlikely to cause problems beyond a one-second pause to re-evaluate the sentence when it becomes clear that it has a different meaning than anticipated, since we can grab the alternate meaning by context, but since minor several instances together can lead to difficulty communicating it is often best to try to address them when they are still comprehendable.

    39. Re:TCP? by meerling · · Score: 2, Interesting

      Absolutely.

      If the drives are different sizes, different filesystems, or even just set up with different cluster sizes.
      (Yes, you can do that in Windows, just don't get stupid with the settings.)

      He may have corrupted files, he should really check, but if a different size on different drives is the only thing he's checked, they may be perfectly fine.

      Ancient History Perspective :)
      Back in the Dos days, people were always panicking about their memory not having the exact byte value they expected. Most people didn't understand that different bios versions/brands and different bios options, like shadowing, all affected that value.

    40. Re:TCP? by Anonymous Coward · · Score: 0

      My guess would be differently formatted file systems from origin to location. If one location uses a different number of bytes per sector, then the actual space occupied on the disk would differ slightly from the other file system.

    41. Re:TCP? by sexconker · · Score: 1

      Windows reports file sizes exactly, to the byte.

      It reports both he true file size and the file size on the disk, which is based on the block size and the number of blocks required to store the file.

    42. Re:TCP? by sexconker · · Score: 1, Informative

      Windows reports file sizes exactly, to the byte.

      It reports both the true file size and the file size on the disk, which is based on the block size and the number of blocks required to store the file.

    43. Re:TCP? by sexconker · · Score: 1

      Windows reports file sizes exactly, to the byte.

      It reports both the true file size and the file size on the disk, which is based on the block size and the number of blocks required to store the file.

      WHAT?
      Bios shadowing means you copy the bios into main memory. If you're trying to use that same memory range (the bios blocks it off, but whatever, lets assume your bios is retarded), then you're an idiot.

      The only reason to worry about memory not storing the same "byte value" you expect is due to a physical problem, or due to you not expecting the right value (most commonly a little-endian / big-endian issue).

      What the FUCK are you talking about?

    44. Re:TCP? by sexconker · · Score: 1

      No one I know has ever said that.
      No one.
      It's wrong.

      I hope you're making it up.

    45. Re:TCP? by talldean · · Score: 1

      FTP runs TCP. TCP guarantees that the parts of the file that make it are bit-for-bit correct, but it doesn't guarantee the whole file will get there. FTP doesn't handle this, either. Nor does the Windows copy function, I think. Files can get "halfway" there, and stop.

    46. Re:TCP? by sexconker · · Score: 1

      No, at no point does it make it right.

      Borrow is a word with a definition.
      You can't change that definition.

      "Phat" is not a real word.

    47. Re:TCP? by adamstew · · Score: 1

      In NTFS, you can specify the block size when you format the disk.

    48. Re:TCP? by sexconker · · Score: 1

      I think you meant to say "an English teacher".
      I'll leave your sentence fragment alone ...for now.

    49. Re:TCP? by sexconker · · Score: 1

      Windows reports file sizes exactly, to the byte.

      It reports both the true file size and the file size on the disk, which is based on the block size and the number of blocks required to store the file.

      .

    50. Re:TCP? by Tiroth · · Score: 1

      Sadly, the answer is probably "both". If the network is really shoddy, it would be best to fix it. But if the files are "mission critical", then it is worth your time to use a reliable transport even if the network is solid. If three things have to break (network, TCP, plus transport) it will always be more reliable than if only one or two things need go wrong to jeopardize your system. Plus, if you don't validate your data, the kinds of errors that causes can often be really bad, much worse in some cases than something just failing outright.

    51. Re:TCP? by Attaturk · · Score: 1

      Kids today have no respect for their elders... and little understanding of their CS history. ;)

    52. Re:TCP? by Anonymous Coward · · Score: 0

      Actually, FTP uses a separate socket for the data connection. When this connection closes (on purpose or via timeout) the file transfer is complete. If all the bytes are not transferred, then the file ends up being a bit short. This is a design flaw in FTP, and has nothing to do with TCP (which correctly reports an error). I believe that there are modes within FTP and/or SFTP that only use a single socket, and thus work around this issue.

    53. Re:TCP? by Anonymous Coward · · Score: 0

      Too true about "poor script". We had a person whining about data not getting from one server to another. Asked how he did it: With a script. What was the result of the script? I don't know, I never look at the output. Putz.

    54. Re:TCP? by vux984 · · Score: 1

      You can't change that definition.

      *I* can't by an act of will, the definition will evolve over time regardless of what *I* do.

      Borrow is a word with a definition.

      A definition derived from how people use it. If people use it differently. It has a new definition.

      "Phat" is not a real word.

      Talk to Shakespeare. He'll agree with you. He'll also probably tell you that "laser", "graphene", "nanotube", "ramjet", "telephone", "fridge", "cellphone", "videogame", "email", "plutonium", "kilogram", aren't real words either.

      Oh, and he thinks a 'fag' is a bundle of wood, that there is no sexual orientation connotation to telling someone he's gay. And when he exclaims "You whoreson cullionly barbermonger" you are supposed to be deeply offended not burst out laughing.

    55. Re:TCP? by Dravik · · Score: 1

      In the summary, he said that it is a government network. Most likely, he has no control or authority to deal with the network issues. Therefore he has to come up with work arounds since telling the government they are messed up and need to fix their problems doesn't work very well.

      --
      The purpose of language is communication, If the idea is clear the grammar ain't important
    56. Re:TCP? by Obfuscant · · Score: 1
      The protocol existed long before the problem was rendered moot.

      FTP ASCII mode is part of the reason the problem is moot.

      It's so much easier to let the server, running on the system and able to understand the source file, deal with converting it to a byte stream in some common format that the client, running on the destination system and able to understand what an ASCII file is on that system, can convert to the correct system-dependent representation.

      If all you do is copy the byte stream, you lose any information about the structure of the file on the source. You require all OSs to understand all other OSs formats, and SUPPORT all other formats. My Unix system would have to understand a VMS fixed-length format file AND know when it was looking at one, which is impossible when Unix systems don't keep that information about a file and VMS does.

    57. Re:TCP? by mcrbids · · Score: 1

      Not if you have an "ASCII" file you are trying to read on Windows that has Unix newline conventions. Try opening a newlined file with notepad, for example.

      I know you are being nice and explaining why, but do you think that file conversion should be done by a file transfer utility? That's like combining a turkey roaster and a hammer - a very, very dumb idea. I've defaulted to binary as long as I can remember due to issues like this. For example, it would seem not uncommon for someone to use Linux as an FTP server and Samba to serve the file repo to Windows clients.

      In this scenario, the "intelligence" of ASCII mode breaks nearly EVERY SINGLE FILE TRANSFER for the Windows clients!

      IMHO, ASCII mode is a very dumb idea, and that stupidity is what Parent poster is commenting on.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    58. Re:TCP? by camperdave · · Score: 1

      Thanks for the explanation. I've always been curious about that myself (but not actually curious enough to seek out the answer). People tend to forget that there were computers around before Windows was invented, and that ASCII is a code for data transmission (information interchange), not internal storage. It uses 7 bit characters, not 8, and has a rich array of record management and data flow characters.

      --
      When our name is on the back of your car, we're behind you all the way!
    59. Re:TCP? by Atti+K. · · Score: 1

      Sparse files.

      How do sparse files relate to a failed ftp transfer?

      --
      .sig: No such file or directory
    60. Re:TCP? by pe1chl · · Score: 1

      The reason it should be done in the file transfer utility is simple: by doing it there, you can write a utility for every system you want to communicate, and they will all be able to transfer files between eachother.
      When you wanted to do it in "a little utility" you would have to write conversions for every kind of peer system into each of the utilities for all your systems, and when a new member joins the club you would have to update all the little utilties to support the new format.

      Of course, what was dumb in FTP was the decision to let it use a conversion mode by default. It should have defaulted to "binary" and offer the option for conversions when the user specified them.

    61. Re:TCP? by AvitarX · · Score: 2, Interesting

      You appear to be correct.

      Yet I appear to be "insightful", interesting.

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    62. Re:TCP? by Anonymous Coward · · Score: 0

      The TCP checksums are only 16 bits and not considered particularly strong. For a large transfer, it may fail to detect some errors on it's own. Additional protocol layers may add other checksums to help this, and I would have through a microwave link would be using quite heavy coding and checking in any case.

      He's probably getting line ending conversions screwing his binary files...

    63. Re:TCP? by Jimmy_B · · Score: 3, Interesting

      Not if you have an "ASCII" file you are trying to read on Windows that has Unix newline conventions. Try opening a newlined file with notepad, for example.

      As far as I can tell, the problem is entirely unique to notepad. Every other text editor I've ever tried handles files with Unix-style newlines correctly. Since it would be trivial to fix Notepad, I can only assume that Microsoft either doesn't care at all about Notepad, or is deliberately leaving the incompatibility in place to discourage use of Unix.

    64. Re:TCP? by Anonymous Coward · · Score: 0

      TCP can tell you that each frame is complete; but it can't tell you that you got all the frames.

    65. Re:TCP? by Anonymous Coward · · Score: 0

      FTP relies on TCP for error detection... and TCP relies on a CRC checksum ( a 1 bit 1's complement of the payload) . This means that a mangled packet will be accepted as OK if an even number of high bits in the payload flipped at a time, or to an odd number of payload bits swapped while also having the checksum field swapped.

    66. Re:TCP? by jmauro · · Score: 2, Informative

      Or they'd rather just have you use the already included Wordpad that does handle new lines correctly.

    67. Re:TCP? by Obfuscant · · Score: 2, Informative
      As far as I can tell, the problem is entirely unique to notepad.

      Who rated this "insightful"?

      I'm sorry, but I've worked in this area for years. I was responsible for moving data and source files to and from Unix to DOS to VMS to OSs that are even deader than VMS, and the problem is hardly unique to "notepad". YOU may see it only in notepad because YOU only use Windows, but there are a lot of other OSs out there. If you've never worked on an OS that has structured files inherent in the filesystem, well, lucky you. I have. The newlines in those kinds of files are completely lost when you copy the byte stream contents, because the newlines are implicit and defined in the file structure itself. A fixed-record file doesn't need newlines because every line is the same length.

      Every other text editor I've ever tried handles files with Unix-style newlines correctly.

      There is much more to the world than Windows and Unix-style newlines. If all you have seen is Windows and Unix newlines, I suppose you could think the problem was limited to that, but it really isn't. In fact, if you use FTP much at all, I suspect even you have been protected by ASCII mode, to the point that you never even knew that an FTP site you visited was VMS-based. I know I've been to VMS sites, and ASCII mode is critical if you are dealing with ASCII files.

    68. Re:TCP? by link-error · · Score: 3, Informative

      I replied similar to this above, but if you're microwave connection is generating any binary data and you're transmitting using ascii mode, you'll get file size differences at the destination.

      --
      -Unresolved symbol? Byte me!
    69. Re:TCP? by Anonymous Coward · · Score: 0

      In English:

      I am going to teach you some English: First, I will upload my photos to my Facebook page. (It is only "downloading" if you are working from Facebook's server.) Then I will loan you my car; but, as collateral, I demand that you loan me your lawnmower for a week so I can mow my lawn. You are smart, so you shall do well on your next test.

    70. Re:TCP? by jgrahn · · Score: 1

      On the other hand, if you really want a "guaranteed delivery" with formal acknowledgment and validation, try using a secured protocol like SSH or SFTP or a messaging system like JMS with a handshaking architecture around it. There are plenty of Open Source architectures you can build around (xBus for example), but I don't know of any ready-built executables. Commercially, vendors like IBM (MQ) and Tibco have products that deal with the messaging at a similar level.

      I can't help reading that and thinking "why on earth would anyone want to go build an IBM MQSeries messaging, uh, architecture when (as you point out) you can just use something like SFTP or rsync-over-ssh which everyone uses, works, and is free as the air I breathe?"

    71. Re:TCP? by jgrahn · · Score: 1

      I'm sorry, but I've worked in this area for years. I was responsible for moving data and source files to and from Unix to DOS to VMS to OSs that are even deader than VMS, and the problem is hardly unique to "notepad".

      He's clearly talking about problems *in Windows*, and he doesn't need to care or know about VMS, EBCDIC IBM systems or whatever to have an opinion about that.

      Still, he's wrong. A problem isn't fixed because N applications have kludged around it. I'm not going to apply such kludges to every trivial Perl script I write -- I expect text files on Windows to be DOS files, and if they are not, it's the user's problem, not mine. (My favorite strategy is to ignore Windows, though.)

    72. Re:TCP? by Anonymous Coward · · Score: 0

      FTP wasn't designed just for hobbyists who want a file or two and have the time to deal with file formats by hand. It was designed to move data, and anything that can be automated should be. "Little standalone utilities" are a pain in the ass when trying to automate something, especially when the critical information necessary to know what specific utility to use has been lost, or is completely unknown to the recipient's system. Like VMS fixed length records on Unix or Windows.

      More to the point, IMHO, FTP wasn't designed for the modern, nearly homogeneous, internet, which is mostly UNIX with a minority of WinNT. It was designed for a much more diverse internet, where the sort of transitions you discuss were common enough it was not only convenient to handle them, it was necessary. Today, binary mode should be adequate for most professional as well as hobbyist uses, because the predominant systems have minimal differences, and both have utilities to perform the conversions when needed, and so the cleanliness of never mangling data might win over the slight convenience of text transfers for LF/CRLF conversion. But it wasn't designed today.

    73. Re:TCP? by phantomcircuit · · Score: 1

      The checksum used by TCP is a weak and only 16 bits.

      On networks with extremely high error rates the probability that a packet will be corrupted in such a way that the checksum is still valid becomes very high.

      The use of jumbo packets causes the probability to increase substantially as the same hash must now verify far more data.

    74. Re:TCP? by stevied · · Score: 1

      It's common enough in various regions of the UK that I think it probably constitutes "dialect."

      Ditto learn v. teach ("I'll learn you a lesson you won't forget ..")

      All of which is not to say that I like it.

    75. Re:TCP? by jeremyp · · Score: 1

      This is bullshit.

      No real file system in the world does not know the the exact size of a file to the byte. Otherwise almost every file you open would have whatever garbage at the end of it that was in the last block.

      Certainly Windows and Unix will always report file sizes to the byte.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    76. Re:TCP? by jeremyp · · Score: 1

      Surely, so your lawn can mow you?

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    77. Re:TCP? by Nefarious+Wheel · · Score: 1
      IBM's MQ Series is indeed bulletproof. Guaranteed single-instance delivery. Runs on everything from mainframes to a chip nailed to a block of wood.

      Another option would be the FileZilla client perhaps. Install XAMPP on your Windows box for a very nice WAMP environment. I use it for a Joomla! instance and it comes with FileZilla. No problems with it to date.

      --
      Do not mock my vision of impractical footwear
    78. Re:TCP? by sexconker · · Score: 1

      LASER is not a word.
      It's an acronym.

      Fridge is not a word, it's an abbreviation.

      Videogame is not a word. Video and game are both words.

      Email is not a word. E-mail is an abbreviation for electronic mail.

      Etc. for most of your list.

      Either way, there's a big difference between making a new word to describe something new, and changing the meaning of an existing word.

    79. Re:TCP? by Anonymous Coward · · Score: 0

      Just lend him the damn Ferrari already...
      ...captcha: loaning

    80. Re:TCP? by gamanimatron · · Score: 1

      should have rang

      *twitch*

      --
      cogito ergo dubito
    81. Re:TCP? by vux984 · · Score: 1

      It's an acronym.

      It was an acronym. Its a word now.

      Fridge is not a word, it's an abbreviation.

      It was an an abbreviation. Its a word now.

      etc for the rest of the list. deal with it.

      Either way, there's a big difference between making a new word to describe something new, and changing the meaning of an existing word.

      Not really. New words are rooted in old ones one way or another, and old words shift their meaning. Its all the same process.

      Awful once meant to be "full of awe" instead of meaing 'really bad'? Artificial once meant something made by master craftsmen (something artificial requires artifice). Naughty used to simply mean 'having nothing' instead of 'misbehaving'. And punk? At one time it meant prostitute at another it simply meant apprentice... today prostitute is labeled 'archaic use', and apprentice is moving down the list as the word shifts to new meanings it never had before.

    82. Re:TCP? by sexconker · · Score: 1

      Who says it's a word?
      Some dictionary that says "NEW WORDS FOR 2009! MEDIA RUN A STORY ABOUT ME!" ?

      Awful does mean full of awe.
      Awful does not mean bad.
      Most people use it incorrectly. They mean to say "awfully bad".

      Things that are artificial still are made by craftsmen. An average person couldn't make a pencil. Or a dye. Or a flavoring. Just because their tools and workshops and organizational structures are different, and the fact that the word has a negative connotation now, does not change the definition.

      Just because people use words differently doesn't make them right. Nor does it invalidate the original meaning if an existing word is used to describe something else (we only have so many words).

      Saying that "borrow" could be a synonym for "lend" is akin to saying "take" could be a synonym for "give". They are fucking antonyms!

      Telling punk kids to get off my lawn is damned appropriate. I shake my fist at you.

    83. Re:TCP? by gTsiros · · Score: 1

      quick to stamp 'ignorant' on someone, aren't we?

      taking other posts into consideration i'd say you've lost the bet.

      --
      Looking for people to chat about multicopters, coding, music. skype: gtsiros
    84. Re:TCP? by Anonymous Coward · · Score: 0

      PAIN

    85. Re:TCP? by Eskarel · · Score: 1

      Primarily because the file transfer is the only point at where you can know exactly what the source and destination formats are without manual intervention. One side knows what the file is and the other knows what it should be, and an automatic conversion can take place. At any other point you'd have to specify one or the other format manually, which would be silly and tedious.

      If you don't want that conversion done(like for the Linux SAMBA share) then don't use it, that's why you have the option. ASCII mode converts a data file from being native on the source to being native on the destination, which is a very nice feature for the vast majority of circumstances.

    86. Re:TCP? by sco08y · · Score: 1

      Yeah, the PEBKAC of the people who invented the protocol, and all the other data destroying protocols (SMTP, etc) on the net.

    87. Re:TCP? by Eskarel · · Score: 1

      Using it by default isn't a particularly dumb decision. It isn't default for non ascii files, and the cases where you wouldn't to convert your file are actually pretty rare for the vast majority of people, and most of the people who would encounter circumstances where it wasn't a good idea know enough to change the defaults.

    88. Re:TCP? by Anonymous Coward · · Score: 0

      This kind of reasoning is ridiculous. It's File Transport Protocol, not File Conversion Protocol.
      Should FTP now be expected to convert files that are little-endian to big-endian format? Office 2003 to 2007? MPEG2 to H.264?

    89. Re:TCP? by nester · · Score: 1

      If you don't know anything, don't post. File sizes in every mainstream OS have byte granularity. Block size is irrelevant.

    90. Re:TCP? by dcam · · Score: 1

      The SOAP protocol is similarly broken. And by broken, I mean broken in the standard.

      --
      meh
    91. Re:TCP? by agge · · Score: 1

      way not use bittorent you get automatic checks that the whole file arrived whitoute corruption

    92. Re:TCP? by pe1chl · · Score: 1

      It isn't default for non ascii files

      That is not how it was specified. It may be how your FTP client works, but they probably implemented that logic because they got so many problem reports from users.
      The default in the FTP protocol is ASCII. That should have been BINARY.

    93. Re:TCP? by TheTurtlesMoves · · Score: 1

      IPv6 fixes this issue. If they can use IPv6 on this link, problem solved.

      --
      The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
    94. Re:TCP? by cheekyboy · · Score: 1

      1. send a 10kb file with every line being AAAAA, then BBBB, then CCCCC.
      2. transmit it 10 times to different destination names.
      3. are they all the same or different, and examine them by hand to see if its random missing bytes or random extra bytes.
      4. verify this by using ftp/tftp/sftp.

      Is slahdot turning into im too poor to hire a consultant or unemployed programmer for $25/ph?

      --
      Liberty freedom are no1, not dicks in suits.
    95. Re:TCP? by asynchronous13 · · Score: 1

      I just finished updating the checksum routines at my company. Amazingly, they had been using an 8-bit XOR checksum for years (!) on a mission-critical wireless data link. Since this was low-level mission-critical code with lots of proven flight-time, I had to prove conclusively that the new method would, in fact, be better.

      TCP uses a 16-bit checksum, so you have 1 in 65536 chance of an error packet being incorrectly validated as being correct. To make matters worse, it uses 1's complement instead of 2's complement, so 0x00 and 0xFF are indistinguishable.

      It's not as simple as saying 1 in 2^N chance of error for an N-bit checksum. It depends strongly on the specific checksum algorithm, and to a degree the number of bits, length of data packet, and expected bit error rate.

      For example, 8-bit XOR lets 12% of 2-bit errors through undetected, and 16-bit XOR only brings that down to 6%. WAY different than if you expected it to change from 1:256 to 1:65536. But an 8-bit CRC checksum has 1:10^8, and the 16-bit version has 1:10^16 chance of undetected error. Again, WAY different than 1 in 2^N chance.

      Surprisingly (to me at least), 1's compliment catches *more* errors than does 2's compliment. (the reason being that a pair of bit inversions involving the MSB remains undetected by 2's complement, but is caught by 1's compliment)

      We decided to go with a 32-bit one's compliment Fletcher checksum -- good compromise between performance and error checking for our application.

    96. Re:TCP? by causality · · Score: 1

      since telling the government they are messed up and need to fix their problems doesn't work very well.

      Damn. I thought that was only for civil liberties issues.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    97. Re:TCP? by causality · · Score: 1

      I'm sorry, but I've worked in this area for years. I was responsible for moving data and source files to and from Unix to DOS to VMS to OSs that are even deader than VMS

      Sorry, but if that applied to me, I would say "hey, the vast majority of people don't need to do this, so this is (relatively) uniquely my problem and I should find my own solution, such as conversion programs". What I would not say is "hey, I need to modify a standard protocol that everyone uses to fit my (relatively) unique problem even though most of the users of that protocol don't need this functionality."

      Now, since FTP already has this functionality, there's nothing wrong with using it. But that's a far cry from saying that this is really the job of a transport protocol or that it was really a good design decision to put it there. The correct solution for this problem is a standardized way to represent data or at the very least, the capability of recognizing multiple formats. Really, FTP worrying about this would be a little like Ethernet trying to detect and transcode streaming video. If I submitted a serious proposal that we modify Ethernet to transcode streaming video, I'd be told that this functionality does not belong at the link layer and that it's the application's problem to worry about this.

      The crux of the disagreement is this: some people think that their convenience overrides what would otherwise be recognized as a poor or at least questionable design decision. Other people think that the soundness of a design decision should come first and convenience should be a secondary concern, particularly when there are other, quite viable options for handling the problem. I am in the latter group.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    98. Re:TCP? by Anonymous Coward · · Score: 0

      "and anything that can be automated should be."

      Except train control on Washington's Metro subway.

    99. Re:TCP? by AvitarX · · Score: 1

      stupid mods,

      use your damned points to mod down my original erroneous post!

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    100. Re:TCP? by Obfuscant · · Score: 1
      Sorry, but if that applied to me, I would say "hey, the vast majority of people don't need to do this, so this is (relatively) uniquely my problem and I should find my own solution, such as conversion programs".

      The problem is that the vast majority of people wouldn't know when to look for the problem and wouldn't know how to solve it when it appeared. The BEST place to solve this kind of problem is where both ends know it exists and how to solve it automatically. E.g., in FTP, where the server knows about the host's file system oddities and the client knows the client's.

      I didn't ask FTP to deal with this, it was dealing with this a long time before I used it. Apparently it solved a LOT of people's problems, not just mine.

      Now, since FTP already has this functionality, there's nothing wrong with using it. But that's a far cry from saying that this is really the job of a transport protocol or that it was really a good design decision to put it there.

      That's right. The fact that FTP does it is not an argument that it is the best place to do it. The fact that FTP involves a server that knows about the file system it reads and writes files to, and a client that knows about the file system IT reads and writes files to, is why it is the best place to take care of the conversion. It is stupid for a program designed to transport a certain kind of file from one OS to another to simply ignore the fact that that certain kind of file needs to be converted for use.

      If you don't want FTP converting things for you automatically, use BIN mode for all your transfers. I like the fact that I don't have to worry about what format the stupid text file is in when I move data around automatically.

      Really, FTP worrying about this would be a little like Ethernet trying to detect and transcode streaming video.

      Patently absurd. Ethernet is a hardware layer; FTP is a software layer. Ethernet has no concept of what it carries; FTP KNOWS the file structures because it has to.

      ... I'd be told that this functionality does not belong at the link layer and that it's the application's problem to worry about this.

      That's right. And FTP is an APPLICATION. It is THE ONLY application that knows what the source and destination formats are and how to convert them. That makes FTP the right place to deal with the conversion. We aren't just talking about CRLF/NL differences, remember?

      The crux of the disagreement is this: some people think that their convenience overrides what would otherwise be recognized as a poor or at least questionable design decision.

      No, the crux is that some people are very limited in the experiences they have with data management and transport and assume that everything they talk to is just like what they use at home, and thus no conversions are necessary. In those few cases when they are necessary, they assume that their usage of the computer (download a few files) is what everyone else is doing, and that it is simpler to use a standalone converter to convert the "few files". This leads them to THINK that the FTP design decision was poor, when it really is their understanding of the scope of the problem that is poor.

      Other people think that the soundness of a design decision should come first and convenience should be a secondary concern, particularly when there are other, quite viable options for handling the problem.

      The other options are not that viable when you are dealing with large volumes of data automatically. The design decision is sound because it is both doing the work where it can be done automatically AND makes life a lot more convenient even for people who have no idea that there would otherwise be a problem.

      It is patently stupid to force people to make an additional step to convert a file from an "oddball OS" structure into something usable when the transport software can do it for them. If you want an analogy, it is no different than an email program that forces

    101. Re:TCP? by Anonymous Coward · · Score: 0

      Considering that both sides are windows, I'd say the chances of that are rather slim. Windows shows both normal size and "on disk" size.

  8. Robocopy? by wafath · · Score: 5, Insightful
    1. Re:Robocopy? by Krneki · · Score: 2, Informative

      Robocopy works on top of Windows network layer, it's the same as using copy / paste with some extra functionality.

      --
      Love many, trust a few, do harm to none.
    2. Re:Robocopy? by Anonymous Coward · · Score: 5, Informative

      Yeah but that extra functionality contains things like the ability to resume a transfer, retry if things fail, and verify the files after copying.

    3. Re:Robocopy? by Saint+Stephen · · Score: 5, Informative

      MOD PARENT UP. Not to mention it's multithreaded, so it's not really the same as copy/paste - it's the same as a whole bunch of copy/pastes as the same time.

      Why do people keep fighting the Robocopy, I'll never know.

    4. Re:Robocopy? by Anonymous Coward · · Score: 0

      Including the ability to restart a failed copy

    5. Re:Robocopy? by potHead42 · · Score: 1

      Why do people keep fighting the Robocopy, I'll never know.

      It does have some silly limitations, for example you can't just copy one single file, it only takes directories as arguments.

    6. Re:Robocopy? by Anonymous Coward · · Score: 0

      Multithreaded? For I/O? You still have to write it one piece at a time. You can't write multiple parts to the disc at the same time. So it doesn't save any time, maybe increases the time it takes if anything.

    7. Re:Robocopy? by Hal_Porter · · Score: 1

      Why do people keep fighting the Robocopy, I'll never know.

      On July 1st 2009 Robocopy became self aware and understood the concept 'PEBKAC'. It decided our fate in a microsecond.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    8. Re:Robocopy? by Malc · · Score: 3, Insightful

      It might be using Windows copy protocols, but it definitely is not like copy/paste. It's restartable for instance. It's way more reliable.

      We have to copy large files to our office in China. FTP always fails. Windows copy via Explorer often fails, but it is also incredibly painful to do when latency is high and one is browsing over the network. Robocopy (depending on system setup) will motor through and is very persistent when there's a connection hiccup. You definitely want restartability if you copy large files are a couple of hundred MB an hour.

      I'd say make sure to break the files up in to chunks if they're large. Also, run 2-4 robocopies in parallel if the latency is high as this will give better throughput. It can do funny things to Windows though (maybe other things wait on some network handle and seem to freeze until one of the robocopy processes moves on to the next file).

      Also, consider doing it over a Cisco VPN. It seems to add some robustness if there is packet loss. I often had trouble access servers in the US when I was living in China due to packet loss, but no such problem over a VPN (zero packet loss, but very slow instead, which is better).

    9. Re:Robocopy? by ACMENEWSLLC · · Score: 1

      First, why would FTP not be the right size? The transaction was terminated prior to the upload completing. I see that too often.

      Robocopy really is a great too do deal with this problem. I have around 20 remote links with unreliable connections, and robocopy is a god send.

      Use a command line. 7Z the file to be transmitted into a .7Z archive. Robocopy "\\source\server\path" "\\dest\server\path" filename.7z /ipg:9 /z /r:30 /w:30 /ipg:9 says to wait 9ms between packets. I use 9000 at slow link sites to not overwhelm them. /z is restartable mode, the file is dated 1980 until the xfer is complete which makes it easy to ignore these on the receiving server. /r:30 is 30 retries before giving up. Default is 1 million. /w:30 is 30 second between retry.

      The reason to use 7z is to make sure you have a complete file. If the file is partially uploaded to the server, you can realize this by the fact that the .7z archive will not extract.

    10. Re:Robocopy? by jointm1k · · Score: 1

      Not to mention it's multithreaded, ...

      You must have one heck of an internet connection.

      --
      You know it makes sense, a little reminder from jointm1k.
    11. Re:Robocopy? by soulsteal · · Score: 1

      Robocopy is an excellent tool for moving files over a dodgy network from one Windows box to another. Default retry count of 1 million, restartable mode, set the wait between retries, subdirectories.... it's pretty much xcopy/xcopy32 on steroids.

    12. Re:Robocopy? by Anonymous Coward · · Score: 0

      Definitely use robocopy.

    13. Re:Robocopy? by Ritchie70 · · Score: 5, Informative

      Actually, you can specify a single file, it just has a silly syntax.

      robocopy source destination file

      So "robocopy c:\a c:\b myfile.txt" will copy c:\a\myfile.txt to c:\b\myfile.txt.

      --
      The preferred solution is to not have a problem.
    14. Re:Robocopy? by Malc · · Score: 1

      Wrong. You specify source dir, dest dir and file specification (wildcard, or explicit filename)

    15. Re:Robocopy? by potHead42 · · Score: 1

      Ah... that is silly indeed. But thanks for your answer!

    16. Re:Robocopy? by Krneki · · Score: 1

      I don't fight Robocopy, I love it. Why do you imply I hate it?

      But it stills uses Windows protocols to copy files. FTP is a much better solution for large files, besides you don't need to VPN the traffic if you have to copy it over the Internet.

      --
      Love many, trust a few, do harm to none.
    17. Re:Robocopy? by Krneki · · Score: 1

      If you have FTP problems, consider changing FTP server / client.

      FTP = file transfer protocol

      It's the best thing to copy files, but of course some server / clients are horrible.

      --
      Love many, trust a few, do harm to none.
    18. Re:Robocopy? by morgan_greywolf · · Score: 1

      Multithreaded? For I/O? You still have to write it one piece at a time.

      Ever heard of fiber channel disk? Or a SAN? No, you don't have to write it one piece of data at a time. Anyway, even if he's writing to a non-multiplexed local disk, even something as slow as PATA, the bottleneck isn't the local disk, it's the 2 MBit microwave link, so, you're right, I'm not sure that multithreadedness will improve anything.

    19. Re:Robocopy? by Krneki · · Score: 1

      It can even contain "Jesus super duper saver" functionality, but the whole thing still runs on windows copy protocol. And it can be as fast and as reliable as the said protocol.

      P.S: I regularly use Robocopy, but only because I can't install FTP server whenever I want.

      --
      Love many, trust a few, do harm to none.
    20. Re:Robocopy? by Anonymous Coward · · Score: 0

      +1
      Robocopy is fantastic!!!

    21. Re:Robocopy? by iamhigh · · Score: 1

      Here is a great reference, with rsync and xxcopy as well.
      ss64 robocopy

      --
      No comprende? Let me type that a little slower for you...
    22. Re:Robocopy? by iamhigh · · Score: 1

      Why do people keep fighting the Robocopy, I'll never know.

      I agree. RoboCopy is a must for anyone administering a windows file server. If you are using a paid solution to backup file servers, you are crazy. Scheduled Tasks + VBScript + RoboCopy = Automated Backup Solution! Sadly however, that seems to be 2 too many "complicated" things for the averages Windows system admin to handle at once.

      --
      No comprende? Let me type that a little slower for you...
    23. Re:Robocopy? by dargaud · · Score: 1

      I second that, robocopy is really the only (and simplest) option for scripting file copies on windows. And yes, as others have noted, the syntax takes a couple years getting used to.

      --
      Non-Linux Penguins ?
    24. Re:Robocopy? by pe1chl · · Score: 1

      What I don't like is that you cannot ask it to print NOTHING when operation is successfull.
      The least I got it to print (with several command line options) was a newline.
      Why do Windows tools have to be so verbose, and why is there no /QUIET flag that makes them shut up when there is nothing to report?

    25. Re:Robocopy? by pe1chl · · Score: 1

      If you would only know about rsync.... you would throw robocopy in the nearest trashcan immediately!

      rsync is so much more useful for what you are doing there...

    26. Re:Robocopy? by oatworm · · Score: 2, Informative

      Active Directory tends to complicate things, though you can use NTBackup or Windows Backup (depending on your Server version) to kind of keep things somewhat under control there. Even then, though, restoring AD from backup using NTBackup is not a particularly fun or, in my experience, reliable proposition. Plus, this doesn't even dig into the rest of a server's system state (in theory, if it's backed up right via NTBackup, you might be able to restore the whole thing without reinstalling every piece of software - good luck!) or attempting a brick-level backup of Exchange.

      It really is phenomenal how much effort Microsoft forces you to go through just to back up their servers. These days, I just go with image-based software for server backups - they seem to do a far more reliable job of getting Windows servers back up in a hurry than file-level products (which Robocopy + NTBackup would qualify as). But, that's just me, and I primarily deal with smallish networks, so I'm not entirely sure how well that scales.

    27. Re:Robocopy? by Kalriath · · Score: 1

      There is. Try "robocopy C:\a C:\b *.* > nul"

      It's just like the Linux syntax to trash the stdout of a program, except Microsoft can't spell "null"

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    28. Re:Robocopy? by Kalriath · · Score: 1

      If you would only know about rsync....

      What? That doesn't even make sense.

      Anyway, rsync is good and all (hell, I use it because it has to be the best cross-platform synchronisation tool I've ever seen) but if you're on Windows, there's absolutely no reason not to use the tools you've got (or can get easily) rather than mucking around with rsyncd.conf and cygwin.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    29. Re:Robocopy? by enoz · · Score: 1

      For first-timers there are some GUI's that will help users select the options they need, such as Robocopy GUI and RichCopy

    30. Re:Robocopy? by Anonymous Coward · · Score: 0
    31. Re:Robocopy? by pe1chl · · Score: 1

      The reason not to use the tools you have (robocopy) but muck with rsync, in this case, are that rsync provides the functionality you need. It was written exactly for the environment described above. Robocopy is fine over a LAN or fast WAN, but when you really want to copy large files over slow links with high RTT, rsync is way better than robocopy.

    32. Re:Robocopy? by pe1chl · · Score: 1

      You need to read. I said "when operation is successful". Your "solution" simply throws away all output, that is a different thing.

    33. Re:Robocopy? by Kalriath · · Score: 1

      I'd suggest trying it first. Even on Windows, piping out to null like that doesn't discard stderr.

      I haven't tried it to make sure because I don't have Robocopy at work and I use rsync at home (synching to a Mac) but it's worth a shot anyway.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    34. Re:Robocopy? by pe1chl · · Score: 1

      Robocopy writes all output, including errors, to stdout.

      Windows utilities are not as well-written as Unix utilities, you know...

    35. Re:Robocopy? by Kalriath · · Score: 1

      That's just trolling. Quit with the generalizations.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    36. Re:Robocopy? by pe1chl · · Score: 1

      A Unix utility would remain silent when everything went OK, would have a -v flag to be verbose even when everything is OK, would write output to stdout and errors to stderr, etc. Kind of like "cp -a" does.
      And of course Unix has utilities like "rsync", which is more like what "robocopy" should have been.
      Unfortunately the Windows utilities do not include something like "rsync".
      The generalization that Unix utilities are better-written than Windows ones really holds up in this case and in many others too.
      Note I am writing about utilities, not applications. There certainly exist many Windows applications that are better than Unix ones. But at the level of basic operating system utilities, the situation is reversed.

    37. Re:Robocopy? by Kalriath · · Score: 1

      You know, rsync is available for Windows too... I even use it! It's quite simply the best cross-platform sync utility there is. But still, that's no excuse for the statement that "Unix utilities are better written than Windows utilities". That's wrong, like any other generalisation. There are some better written ones (and rsync does come to mind as an example) and some worse ones.

      And what the fuck happened to the discussions page this time?!? For fuck sake Slashdot.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  9. Use BITS by Lothar · · Score: 5, Informative

    Background Intelligent Transfer Service (BITS) can be used to transfer files between windows servers. It is the technology behind Windows Update. We use it in our company to transfer files across a low bandwidth sattelite connection. Great thing is that it can automatically resume transfer after rebooting both machines. SharpBits offer a nice .NET API. You can find it here: http://www.codeplex.com/sharpbits

    1. Re:Use BITS by Botia · · Score: 1

      BITS is definitely the way to go. We have used this as well. It is designed for this type of scenario.

    2. Re:Use BITS by cohomology · · Score: 1

      I use BITS to transfer large files across flaky wireless networks. The way I use it, the sending end can be any http server; only the receiving end needs to run Windows and have the BITS service running. You can just use the clumsy command line bitsadmin utility to queue and manage requests. If you want transfers to continue while people log in and out of the windows machine, you must submit the job to run in the system account. The Sharpbits program mentioned about doesn't do that last I looked. You can submit a job under any account, then use the bitsadmin "/takecontrol" command to push it into the System account.

      --
      Don't mess with The Phone Company. Piss them off and you'll be using two tin cans and a piece of string.
    3. Re:Use BITS by BobMcD · · Score: 1

      I just downloaded that sharpbits business and it didn't work. Windows wants to debug it. Could be it needs an update or two.

      There seem to be some links at the bottom of the wikipedia article: http://en.wikipedia.org/wiki/Background_Intelligent_Transfer_Service

      Checking those out now...

    4. Re:Use BITS by cjl224 · · Score: 0
      Also, the MS Powershell v2 has inbuilt commandlets for transferring files over BITS. Then there is bitsadmin.exe as part of the Windows Server Resource kit - not well documented but it's there.

      Link here for a post about it on the Powershell blog.

  10. domyjobforme tag by EmagGeek · · Score: 2, Insightful

    I love it! Haha... that's probably one of the better tags I've seen.

    1. Re:domyjobforme tag by Anonymous Coward · · Score: 3, Insightful

      Too easily thrown around if you ask me. He's not looking for anyone to set it up, he just wants some options. Isn't that what community is about?

  11. BitTorrent by Inf0phreak · · Score: 4, Insightful

    I'd say BitTorrent -- with firewall rules or some other measure so random people can't see your microscopic swarm. It uses SHA-1 hashes of chunks, so if a torrent client says a file downloaded successfully it's pretty much guaranteed to be true.

    --
    ________
    Entranced by anime since late summer 2001 and loving it ^_^
    1. Re:BitTorrent by Anonymous Coward · · Score: 0

      I'll Second Bittorrent, you can schedule it to resume on startup for both ends. It has bandwith controls to prevent it from abusing the network. I think it has encryption, though I have never bothered. Bittorrent is awesome about jumping through dicey systems. should you get a second dicey radio system another pc running BT can help aggregate the bandwith.

    2. Re:BitTorrent by inject_hotmail.com · · Score: 1
      Why not very quickly? It'll go as fast as the connections will permit, will it not?

      Set up a tracker on one of the servers, and have a client on both. (This may not even be required, but I'm not sure)

      You also have the much more interesting property of the technology which is to automatically retransmit any faulty data, and 100% guarantee the resultant file will be bitwise identical. Furthermore, you can have the clients automatically add any .torrent files found in a specified (remote, in your situation) directory.

      It probably won't be difficult to make it work for your requirements.

    3. Re:BitTorrent by fearlezz · · Score: 1

      Bittorrent is quite a good protocol for this indeed, especially if you need the ability to 'resume' a down/upload. However, it's a complex protocol, if you don't know what you're doing, you could leak information I guess.

      How about FTP with hash-checking.
      - step 1: uploader makes md5 sum
      - step 2: uploader uploads md5 sum to ftp server
      - step 3: uploader uploads the actual file to the server
      - step 4: a script checks the file to its sum. When done, tags it ok. When faulty, delete.
      How to make scripts run after upload? Well, just read: http://blog.derjohn.de/space/start/2006-11-14/1

      Otherwise, you could consider writing your own software for this. A simple perl transfer script with hash checking shouldn't be too hard to write.

      --
      .sig: No such file or directory
    4. Re:BitTorrent by sabre3999 · · Score: 1

      IIRC, end-to-end encryption support in BitTorrent depends on the client being used. I've used Azureus before and currently use uTorrent, and I know both of them support transmission encryption. But yes, I'll third BitTorrent. Don't think I've ever had a corrupt file come down the line that wasn't corrupt at the time of the torrent's creation.

      Another option might be setting up a DC++ hub and running the client on the rest of the machines. DC++ hashes all files and supports the ability to search any client attached to the Hub for like hashes and aggregate them during download. I've attended many a con that used a DC++ hub to facilitate file sharing, and the only limit I ever hit was the one imposed by my disk write speed and/or bus capacity. Course I'm not sure it supports encryption since I only use it a few times a year.

    5. Re:BitTorrent by sabre3999 · · Score: 1

      Double post, but what the hell... I left out some info about DC++

      It also supports download resuming for when the connection drops, and you are required to tell the client what files to hash (and therefore which files on the client machine are shared) so data that shouldn't be shared generally isn't.

    6. Re:BitTorrent by Anonymous Coward · · Score: 0

      Why wouldn't Bittorrent work as quickly? It is only limited by the upload speed. If 1 seed seeds to 1 peer, then the peer will download as fast as the seed can upload.

    7. Re:BitTorrent by Mr.+DOS · · Score: 1

      Mod parent up. Turn on encryption, configure the upload limit appropriately for your connection speed, then just use it. Maybe use the existing FTP or even just e-mail to send the .torrent to the client machine, then remote desktop* to start it downloading if there's nobody around to do it. As the parent said, the built-in file integrity checks will ensure that the files are the same on both ends and BitTorrent should be able to effectively use as much of your bandwidth as possible.

            --- Mr. DOS

      * uTorrent's** web interface would work well too.

      ** Ugh, Slashdot, support UTF-8 characters already***...

      *** Yes, I know about the whole control character thing.

    8. Re:BitTorrent by Anonymous Coward · · Score: 0

      +1

    9. Re:BitTorrent by Anonymous Coward · · Score: 0

      I'd say BitTorrent -- with firewall rules or some other measure so random people can't see your microscopic swarm. It uses SHA-1 hashes of chunks, so if a torrent client says a file downloaded successfully it's pretty much guaranteed to be true.

      You could also setup RSS feeds for automation...

    10. Re:BitTorrent by Anonymous Coward · · Score: 0

      Why would it be any slower than FTP? The data has to be transferred regardless of transport.

      Of course you would want to encrypt the file. Maybe you will want to run your own tracker.

      The only thing you will have to enable network-wise is one (or both) machines being able to establish a TCP connection to the other.

      BitTorrent will then transfer the file and check its integrity at the receiving end.

    11. Re:BitTorrent by Anonymous Coward · · Score: 0

      I wholeheartedly agree. A few weeks I downloaded some very large archive files while I was on a fast network and when I got home, I found some of them to be corrupt due to my computer locking up during the download. Resuming with my download application (Free Download Manager) made me think it would actually work properly.

      Since my home's internet connection is considerably slower, I just made a torrent of the files on the remote end and started seeding them. Then I used my computer at home to download only the invalid chunks (a few KBs) which saved me a ton of bandwidth and time.

      BitTorrent is a good protocol and has fairly wide platform support. Some cluster OS distributions (ROCKS) even use it for sharing the installation media across the network.

    12. Re:BitTorrent by nurb432 · · Score: 1

      Or any other p2p client/server really.

      Encrypt/tunnel the ports and you are safe.

      --
      ---- Booth was a patriot ----
    13. Re:BitTorrent by Anonymous Coward · · Score: 0

      Using a shared watched folder almost automates the process (you just have to create the .torrent file).

  12. Kermit? by Anonymous Coward · · Score: 0

    Kermit has a reputation for being robust, and there's an implementation for Windows. I'm not speaking from experience, though.

    1. Re:Kermit? by MightyMartian · · Score: 1

      Kermit has a reputation for being robust, and there's an implementation for Windows. I'm not speaking from experience, though.

      ZMODEM!!!!

      But seriously, some of the old file transfer protocols had some pretty nifty abilities, like restarting downloads.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:Kermit? by NormalVisual · · Score: 1

      Kermit's fine, if you have all the time in the world on your hands to wait for the transfer to complete.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    3. Re:Kermit? by Elrond,+Duke+of+URL · · Score: 1

      But seriously, some of the old file transfer protocols had some pretty nifty abilities, like restarting downloads.

      Indeed.

      I used ZModem not long ago on a project transferring data over a dodgy link. ZModem implementations are very small, quite fast, and they handle data integrity well. Also handy is the vast number of ready made tools which you can make use of. In my case, I could use ZModem through Minicom, or straight on the command line via sz/rz.

      Finally, ZModem (and its predecessors X and YModem) are not that large or complex. A little bit of study and you'll have a good handle on how it works. When working with dodgy hardware or a flaky link (by which I mean home built, prototype boards, etc.), being able to follow along with your transfer protocol can help you isolate problems.

      --
      Elrond, Duke of URL
      "This is the most fun I've had without being drenched in the blood of my enemies!"-Sam&Max
  13. rsync should do the trick by bacchu_anjan · · Score: 5, Insightful

    hi there,

        why don't you get cygwin on both the systems and then do a rsync ?

        between your own network, you might want to use robocopy(http://en.wikipedia.org/wiki/Robocopy).

    BR,
    ~A

    1. Re:rsync should do the trick by Anonymous Coward · · Score: 0

      TCP/rsync everywhere!
      (I do Linux Windows rsync all the time with cwrsync on Windows: www.itefix.no/cwrsync/)

    2. Re:rsync should do the trick by ericnils · · Score: 3, Informative

      We use Cygwin's rsync to backup windows servers over a slow Internet connection at work. It works very well for us and using the -z compression option will probably result in much faster transmission over a 2Mbit pipe than FTP will provide. We run rsync as a service on the source and pull to the destination using the rsync command line tool, but you could easily reverse that. You should also consider Microsoft's built-in DFS replication which automates replication of data between two file servers over TCP.

    3. Re:rsync should do the trick by JoeRandomHacker · · Score: 2, Informative

      rsync is great, though on Cygwin there are some caveats. Last time I tried using it to sync a large amount of data I ran into a Cygwin pipe bug (for the pipe between rsync and the ssh process) which caused the transfer to hang. Using the "rsync:" protocol (with an rsync daemon), optionally over an ssh tunnel (port forwarding), worked fine, though it was a bit clunky.

    4. Re:rsync should do the trick by Anonymous Coward · · Score: 1, Informative

      Agree... rsync is the way to go. builtin hashing, diffing, session realibility, retries... what more could you ask for?

    5. Re:rsync should do the trick by ngrier · · Score: 1

      You also have to be careful because the IO overhead of Cygwin can become a bottleneck, particularly if using them over mapped network drives. We'd been using cygwin/rsync to do corporate backups of several hundred GB. Time slowly grew to over a day as the backup size increased. Switched to robocopy and it completes in a few hours.

    6. Re:rsync should do the trick by Anonymous Coward · · Score: 0

      Why?

      Why do you use the cluster of Rsync via Cygwin on Windows when Robocopy would give you the all the same features and more with less hassle or compatibility issues?

      DFS is even better but, for a Windows only environment, Robocopy > Rsync.

    7. Re:rsync should do the trick by Unxmaal · · Score: 1
      You don't need the whole Cygwin beast for this. Get the small compiled rsync binary from the BackupPC folks: http://sourceforge.net/projects/backuppc/files/ (scroll down, and look for 'cygwin-rsync'.

      FYI BackupPC is pretty nice, itself.

      --
      http://unxmaal.com
    8. Re:rsync should do the trick by pe1chl · · Score: 1

      One thing I would have liked: copy of Windows security attributes.

    9. Re:rsync should do the trick by alexborges · · Score: 1

      there are star forks that do this....

      --
      NO SIG
    10. Re:rsync should do the trick by Kalriath · · Score: 1

      Actually, I prefer to use DeltaCopy - it's free and includes a Windows compile of rsyncd compiled as a Windows service.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    11. Re:rsync should do the trick by dcam · · Score: 1

      why don't you get cygwin on both the systems and then do a rsync ?

      Because rsync on windows running under cygwin hangs. At least it does over ssh.

      --
      meh
    12. Re:rsync should do the trick by phrend · · Score: 1

      100% agree with using rsync. Whenever I backup my media folder that's full of LOTS of files (mp3's, video files, and pictures), every utility I've tried (including many different "backup" applications) has failed in some way, except for rsync.

      --
      - phrend
  14. ISCSI Mounted Partition on the remote... by bagboy · · Score: 1

    Should work fine across a WAN and then just file-copy.

    1. Re:ISCSI Mounted Partition on the remote... by alexborges · · Score: 1

      Nuts

      --
      NO SIG
  15. WebDAV better than FTP by Anonymous Coward · · Score: 0

    You can run over an SSL link. Plain-old FTP would be the worst choice as anyone could sniff your traffic.

  16. Correct me if I'm wrong... by not+already+in+use · · Score: 2, Interesting

    Wasn't TCP designed for just this? Guaranteed transmission?

    --
    Similes are like metaphors
    1. Re:Correct me if I'm wrong... by Dogun · · Score: 3, Informative

      Implementations of TCP in most operating systems fall a bit short of that, killing off stalled connections, etc. Also, some firewall suites, and some routers make a habit of killing off connections after a certain amount of time, sometimes without regard to whether or not they are 'active'.

      You might have some luck boosting reliability with the TcpMaxDataRetransmissions registry setting in Windows. But ultimately, the poster is going to need to find a file copy suite which retries when connections die.

    2. Re:Correct me if I'm wrong... by duanes1967 · · Score: 1

      If the connection is truly crappy, FTP will certainly stall and get closed by the firewall or NAT.

    3. Re:Correct me if I'm wrong... by canuck08 · · Score: 1

      he's not really looking for a protocol. He needs an app.
      99.99999% chance whatever app he decides to use will be using TCP.

    4. Re:Correct me if I'm wrong... by natoochtoniket · · Score: 1

      Yes. TCP was/is designed to detect and correct data transmission errors. The information coding is highly redundant, and the error correction and detection is implemented in each of several layers. (See, http://www.faqs.org/rfcs/rfc793.html ). The probability of an undetected error is very small. The datalink layer in most networks typically provide an undetected error rate in the neighborhood of 2^-32. Then the upper layer tcp does another layer of error coding, providing a combined error rate of something like 2^-64. That is fine for most practical purposes.

      You can improve on the available error detection if you want, by computing a checksum of the file, transmitting both the file and the checksum, and then recomputing and comparing the checksum on the receiving end. Various algorithms are available for such a purpose. Two good hash algorithms that comes to mind are MD5 and SHA-1. (See, http://en.wikipedia.org/wiki/Comparison_of_cryptographic_hash_functions ).

    5. Re:Correct me if I'm wrong... by Anonymous Coward · · Score: 0

      TCP only makes sure that a stream of packets will be sent from one host to another without error, it does not know how many total packets are involved in a transfer. It is up to the application that uses TCP to make sure that all of the packets have arrived. For example, if the connection gets cut during a transfer, some applications will leave a partial file and in some cases will print an obscure error somewhere that it may not even be seen. IMHO, any file transfer program that is worth anything at all will transfer the file to a temporary location until all of the file has been received, then rename it to the target name when it has been verified by some sort of a checksum. IE rsync.

    6. Re:Correct me if I'm wrong... by SuiteSisterMary · · Score: 1

      TCP only guarantees that it will tell you if it fails. It has no way of guaranteeing 'delivery.'

      For all we know, he's scripted ftp.exe and isn't checking the exit codes, and it could be quite merrily telling him that it's never worked properly.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    7. Re:Correct me if I'm wrong... by amorsen · · Score: 1

      TCP only guarantees that it will tell you if it fails.

      It isn't much of a guarantee either. If your physical layer sucks, a lousy 16-bit checksum won't save you.

      --
      Finally! A year of moderation! Ready for 2019?
    8. Re:Correct me if I'm wrong... by Facegarden · · Score: 1

      Wasn't TCP designed for just this? Guaranteed transmission?

      I'm being extremely pedantic, but there is no such thing as guaranteed transmission. The best protocol in the world won't help you if the connection breaks!
      I'll go back into my hole now....
      -Taylor

      --
      Worldwide Military budgets: $2100 billion. Worldwide Space Exploration budgets: $38 billion. Really, world? Really?
    9. Re:Correct me if I'm wrong... by irieken · · Score: 1

      Wasn't TCP designed for just this? Guaranteed transmission?

      Kind of; it can guarantee transmission via an acknowledgment packet returned to the sender. TCP also includes a CRC checksum that helps weed out bad packets. However, (not 100% sure about this) the checksum is just a 1 bit flag that is checked against the 1's complement of the payload. This means that it's great if there is just a small error in the transmission, but will result in a false-good packet if there are multiple transmission errors.

      The better solution would be to use a protocol that works on TCP or UDP, but has a more robust error detection/correction method. Bittorrent, for example, splits files up into chunks, then creates a 160bit hash of each chunk. Each chunk is compared against the hash upon being recieved, and retransmitted if it does not match. This means that the probability of a malformed chunk being accepted by the bittorrent client is very very very low.

    10. Re:Correct me if I'm wrong... by Bacon+Bits · · Score: 1

      TCP guarantees that the data transmitted by one host is the same data received by another host. It does not guarantee that the data stored at one host is the data stored at the second host. TCP is Transport Layer to Transport Layer integrity. That's insufficient when you're required to guarantee Application to Application integrity, or disk to disk integrity. This is part of the problem we fact with HIPAA electronic medical record transfers. There is no generic, universal, open, secure method to ensure data transport from one disk to another. Most transport methods only care about host-to-host, and that's simply not sufficient. Assuming there are no errors from NIC to disk isn't good enough. Such a system would need an integrity check at sending host, transfer, and an integrity check at the receiving host.

      Several commercial FTP/SFTP programs provide extensions that allow you to run integrity checks:
      Vandyke Software SecureFX
      GlobalSCAPE EFT Server

      I've not set up either, but they're both designed around the demands of HIPAA.

      The simplest way to do things is to ZIP the files before you send them and then test the ZIP file on the receiving end, but that's fairly manual and is only as good as the algorithm involved: CRC-32. Good enough for most applications but not sufficient for many more.

      --
      The road to tyranny has always been paved with claims of necessity.
    11. Re:Correct me if I'm wrong... by jgrahn · · Score: 1

      Yes. TCP was/is designed to detect and correct data transmission errors. The information coding is highly redundant, and the error correction and detection is implemented in each of several layers. (See, http://www.faqs.org/rfcs/rfc793.html ). The probability of an undetected error is very small. The datalink layer in most networks typically provide an undetected error rate in the neighborhood of 2^-32. Then the upper layer tcp does another layer of error coding, providing a combined error rate of something like 2^-64. That is fine for most practical purposes.

      Wrong! The TCP checksum is 16 bits, and you cannot know what links your data travels on across the Internet. See Stevens' "TCP Illustrated vol 1" -- he references one guy who saw quite a lot of bad TCP checksums on a live network. Around 1/2^16 of those pass undetected to the application.

      Also, TCP does not do error correction, nor is it implemented in "several layers". And "highly redundant" ... I don't have the slightest idea what you're talking about here. Have you even *read* the RFC?

  17. Cygwin by Anonymous Coward · · Score: 0

    Cygwin + SFTP maybe? Not sure if that performs better. Easy to set up though. May get better grade of service off the network, depending on the rules, of course.

  18. Line endings! by sys.stdout.write · · Score: 5, Insightful

    they've been using FTP to upload the files, but many times the copied files are a few kilobytes smaller than the originals

    Twenty bucks says you're converting from Windows line endings (/n/r) to Linux line endings (/n).

    Use binary mode and you'll be fine.

    1. Re:Line endings! by Anonymous Coward · · Score: 0

      Yep, I think so too!

    2. Re:Line endings! by CrashandDie · · Score: 1

      It's \r\n in Windows and \n in Linux.

      Newline

    3. Re:Line endings! by wick3t · · Score: 2, Informative

      Twenty bucks says you're converting from DOS line endings (\r\n) to Unix line endings (\n).

      There, fixed that for you.

    4. Re:Line endings! by bwcbwc · · Score: 1

      Except OP says he's going from Windows to Windows. So unless the FTP server is configured to respond with a system type as Unix, that doesn't really fly.

      Send the $20 to the EFF.

      --
      We are the 198 proof..
    5. Re:Line endings! by machine321 · · Score: 1

      It might be line endings, but I'm guessing he's running a batch script via Task Scheduler to call ftp.exe, and he never checks the output or return codes for failure.

    6. Re:Line endings! by Anonymous Coward · · Score: 0

      its crlf not lf cr.

    7. Re:Line endings! by Falcon4 · · Score: 1

      It likely does. Pretty much the standard response for an FTP server, no matter what system it's actually running, is to say it's UNIX.

      I have to side with the "FTP sucks" crowd as well. As has been stated earlier, any protocol that corrupts data due to a flipped notepad.exe compatibility switch, is fucked up. ASCII mode in FTP should have been killed off decades ago when the internet stopped using 7-bit transmissions. Seriously. What other protocol actually changes data based on its file extension?

    8. Re:Line endings! by greed · · Score: 1

      Text mode on Windows is worse than that.

      CTRL-Z (032, 26, 0x1a, ASCII SUB) terminates a text stream.

      Plus, others have said round-trip should be OK. But you're not:

      CR-LF -> LF -> CR-LF
      LF -> LF -> CR-LF

      Windows text mode should have been left in the early 80s where it belonged. Everyone else went to out-of-band EOF and single-character EOL marks. (Not necessarily the same EOL marks; I've seen CR, LF, and RS over the years.)

      (Even Windows really uses out-of-band EOF, the CTRL-Z thing is Legacy. But it still affects text streams. Usually.)

    9. Re:Line endings! by Anonymous Coward · · Score: 0

      I agree that the problem is probably that text mode is being used instead of binary. If that's not the case look at C-Kermit. It is a very robust file transfer protocol updated from the days when everything was sent over very unreliable modem connections. NASA is still using it today for some of their space communications.

    10. Re:Line endings! by raddan · · Score: 1

      That is exactly the kind of answer that makes me smack my forehead. Duh! Good thought!

    11. Re:Line endings! by Anonymous Coward · · Score: 0

      \n\r is mac
      \r\n is windows
      \n is unix/linux

    12. Re:Line endings! by bwcbwc · · Score: 1

      Well technically the protocol only changes the data based on the ascii/binary toggle. It's the FTP client that correlates these with the file type/extension, and sets the protocol mode accordingly.

      In the days when all text data was ASCII, or at least standard 8-bit code pages, the ascii/binary switch was a convenience that saved running a manual step for dos2unix or whatever. Nowadays, it can still be convenient in that particular siuation, but there are so many text formats other than ascii out there now that it really doesn't make sense. The usage is too limited in comparison with the risk of corruption. Try running in ascii mode for a UTF-16 file or some other such format.

      --
      We are the 198 proof..
  19. RCP by digitalunity · · Score: 1

    it's not just for Linux.

    --
    You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
  20. Well...duh by alexborges · · Score: 1

    Rsync over ssh and then a script to md5 at source and destination.

    The last part may be tricky and/or slow depending on your filesize, but it will do the job for free.

    --
    NO SIG
    1. Re:Well...duh by metamatic · · Score: 2, Informative

      You don't need to MD5 if you're using rsync. The rsync algorithm already uses checksums to ensure the files are bit-for-bit identical. In fact, rsync 3.x uses MD5.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    2. Re:Well...duh by Alrescha · · Score: 2, Informative

      "You don't need to MD5 if you're using rsync. The rsync algorithm already uses checksums to ensure the files are bit-for-bit identical. In fact, rsync 3.x uses MD5."

      Rsync, by default, does not necessarily do this. I've seen situations where rsync would happily copy files from a remote host over ssh to a destination host and the resulting files failed an independent MD5 test. Rsync was not causing this trouble - but it did fail to detect it. Forcing a checksum of every file (using "-c") would let rsync detect the failure to copy properly (after the entire file was done) and it would retry.

      In the end, a router and one of the hosts were rebooted and the problem went away. The point is that just using rsync and ssh does not guarantee anything.

      A.

      --
      ...bringing you cynical quips since 1998
    3. Re:Well...duh by metamatic · · Score: 1

      I would suggest that you try to track down the cause of the bug and report it to the maintainer of rsync, as I have never, ever seen it fail that way, in years of daily use.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  21. BitTorrent by russotto · · Score: 1

    It's crazy but it just might work. Not very quickly though.

  22. First Off by DaMattster · · Score: 1

    There are no guarantees when it comes to the protocols and the internet .... it is always a "best effort" system. Many forget that it is always a best effort system because the internet has come to the point where for all intents and purposes, there are virtually no failures. I would probably use a tried and true protocol like FTP or maybe even SCP. Both work very well. I would think your best bet is to try to work with the government to improve their "dodgy" internal network. SCP has the advantage of securing the transmission as well as excellent error correction and recovery.

  23. Sneakernet by Johnny+Mnemonic · · Score: 1

    Probably tape drives, or hard drives if you prefer. Encrypt with a shared key. I think microwave is LOS already, so your distances can't be that large. It would certainly solve your "flaky" bandwidth and security considerations. You would "packetize" the data, eg: tapes are brought over in serial succession; if a tape went missing, you delete the key that encrypted it's contents and request a resend of the contents of that tape. That verifies it's receipt.

    Not sexy, but it's probably the best solution. Since you're a government contractor, I'll now insult you to suggest that you need a project for which you can charge a lot more money, like a carrier pigeon training program, including pigeon consultants, a pigeon breeding program, and a pigeon habitat designer. But that's what you get for asking Slashdot to do your job for you, especially one with an obvious, non-sexy, non-technical solution.

    --

    --
    $tar -xvf .sig.tar
    1. Re:Sneakernet by T-Bone-T · · Score: 1

      I think microwave is LOS already, so your distances can't be that large.

      I'm not sure it is the distance that matters but what is in that distance. Sneakernet probably isn't the better option if there is, say, a cliff in the middle.

    2. Re:Sneakernet by nystire · · Score: 2, Funny

      Or a mine-field...

    3. Re:Sneakernet by Anonymous Coward · · Score: 0

      But surely after the initial "ping timeouts", the bandwidth would improve? ;)

    4. Re:Sneakernet by nystire · · Score: 2, Interesting
    5. Re:Sneakernet by oatworm · · Score: 1

      You're right - he'll need IP over Avian Carriers in such an environment. It's not fast, but it's mighty easy to log.

  24. Guaranteed? by GravityStar · · Score: 1

    "Guaranteed ... mission critical files ... microwave connection ... government-run ... very dodgy internal network"

    A transactional store and source integrity verification at the destination point. Or something in between that and what you have now, depending on your requirements. I don't know of a tool that does that out of the box though.

    1. Re:Guaranteed? by duanes1967 · · Score: 1

      Ha - sounds like they are trying to microwave launch codes to a humvee moving at 60mph through blast craters and mine fields. I would question the dodgy internal network. - This really wreaks of underhanded work.

    2. Re:Guaranteed? by jeffmeden · · Score: 3, Funny

      You forgot a few:

      Windows at both ends... Used to use FTP... Considering windows file sharing...

      Is anyone else a little nervous? I hope by 'government' he means Department of Natural Resources or some equally uninteresting entity. I am picturing someone at the SEC going "You know, I swear this accounting data had a few more rows the last time I looked at it-- Oh well it's not like this Madoff guy is actually up to anything strange anyway"

    3. Re:Guaranteed? by LWATCDR · · Score: 1

      I would think something like Kermit combined with CRC checks and encryption with some scripting would do the trick..
      Does sound like something from Tom Clancy.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    4. Re:Guaranteed? by n1ckml007 · · Score: 1

      Did anyone consider he may be talking about the cluster size, i.e. "size on disk"? Perhaps there is FAT32 at one end and NTFS at the other.

    5. Re:Guaranteed? by gandhi_2 · · Score: 2, Funny

      I worked on a system for the Utah DNR once. Data about sensitive species, species of concern, and endangered species have security requirements. If someone finds out how many Woundfin we are down to...the terrorist win.

    6. Re:Guaranteed? by gandhi_2 · · Score: 1

      Kermit protocol. Reminds me of downloading grainy .gif porn in the BBS days. Only 15 minutes left for vanna_white.gif!

    7. Re:Guaranteed? by KraftDinner · · Score: 1

      Hahahaha, it's funny because he got 150 years.

    8. Re:Guaranteed? by Anonymous Coward · · Score: 0

      Not only that, but then the poster says the files were a few kilobytes shorter.... I mean c'mon you would at least think he would have investigated and found out what was going on. From the post it almost sounds like the poster and everyone involved are relatively computer illiterate except for basic computer use. And what does he mean 'better' than a windows file system copy? I think he needs to get someone who has a clue instead of getting this nonsense posted to the front page of slashdot...

  25. rsync by itsme1234 · · Score: 5, Informative

    ... is what you want. Yes, you can use it with Windows (with or without cygwin bloat). Use -c and a short --timeout and you're good to go. If you're using it over ssh you're looking at three layers of integrity (rsync checksums, ssh and TCP), two of them quite strong even against malicious attacks not only against normal stuff. Put it in a script with a short --timeout; if anything is wrong with the link your ssh session will freeze completely, as soon as your --timeout is reached rsync will die and your script can respawn a new one (which will resume the transfer using whatever chunks with good checksum you have already transfered and will again checksum the whole file when it finishes).

    1. Re:rsync by doug · · Score: 3, Informative

      Yep, that's what I'd do. The rsync --server means sending signatures instead of files to prevent pointless copies, and it does an excellent job of ensuring good copy or failure. It is certainly better than any ftp variant.

    2. Re:rsync by Jestrzcap · · Score: 1

      No mod points, but this is the answer to your question.

      --
      "I have great faith in fools: Self confidence my friends call it." ~Edgar Allan Poe
    3. Re:RSync by sopssa · · Score: 1

      I guess this depends on the SCP program. WinSCP atleast leaves original_name.filepart file (and can continue from where it left)

    4. Re:rsync by Anonymous Coward · · Score: 0

      http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

      Delta Copy is a wrapper for rsync that works on Windows boxen.

    5. Re:rsync by Kalriath · · Score: 1

      What's a boxen?

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    6. Re:RSync by Joce640k · · Score: 1

      Um, the article says "both ends are Windows" so rsync isn't standard. I think he'll need robocopy ("RObust COPY") instead.

      http://en.wikipedia.org/wiki/Robocopy

      It's a free download from Microsoft.

      --
      No sig today...
    7. Re:RSync by StuartHankins · · Score: 1

      Rsync is available (and has been available) for quite some time now on the Windows plaform. It's a cross-platform open-source tool that is significantly faster with less overhead than robocopy. I use it in a production environment daily to synchronize Terminal Server user profiles to backup servers (one on, one not on the SAN), guarantee copies to other servers, etc and have had nothing but positive experience with it. Setup can be done without a reboot and the text config file is simple enough for entry-level IT personnel to implement.

      We actually keep a "emergency copy" folder for sending large updates to a specific client over the WAN... just copy the (tiny) folder to the client and run the command-line utility. Remove when done. Mix it with PSEXEC and they don't even know what you did... just that that huge file they needed transferred got there in a hurry.
      Linkie http://www.itefix.no/cwrsync/

  26. Mod parent up by istartedi · · Score: 1

    Line ending was my first thought too. I've used FTP scripts in Windows to and from *NIX machines with no trouble at all. I can't vouch for how well it works for Windows-Windows transfers because in that case I've always just used shared folders. That worked fine too. Unless the data is sensitive, there's really no need for scp or anything fancy.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    1. Re:MOD PARENT UP by SuiteSisterMary · · Score: 1

      You know, that's so ingrained it wouldn't even occur to me to mention at first.

      It's just natural, ya know? "binhashpromptmput *.important

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    2. Re:MOD PARENT UP by inject_hotmail.com · · Score: 1

      Yeah, for sure. It's more than that, I believe. I'm sure you, as much as I, understand the technology and interaction involved...which is why I liken it to language...sometimes people not so fluent might miss the small bits (har har), which can change meaning (function) catastrophically.

    3. Re:MOD PARENT UP by SuiteSisterMary · · Score: 1

      True, true. I've often thought that not teaching Latin, or actually teaching English as a language, in schools, is a problem. Too many people who have English as a primary language don't actually understand English, and it makes for difficulty in communicating properly.

      But yeah, in this case, I notice that there were two basic kinds of responses to the original poster. One type assumed that he was basically competent, and needed a somewhat extraordinary solution; the other type assumed that he was utterly incompetent, and didn't know the basics of something as trivial, in this context, as how FTP (and ftp) works.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    4. Re:MOD PARENT UP by inject_hotmail.com · · Score: 1

      Indeed. The absence of Latin certainly has a real effect on a general understanding and comprehension of English. Is it a problem? Though I agree with you, it's relative, really. Perhaps for those who are disinterested in such things, it is not. Strictly speaking, the primary purpose of a language language is the (accurate) communication of ideas and information. As long as that occurs, it is effective. I believe one of the greatest strengths of language is that it's contextual and quite often subject to interpretation. This gives a listener the ability to decide the correct/intended interpretation (fascinatingly, my observation is that misinterpretations occur only rarely) regardless of actual grammatical correctness. Email me if you'd like to continue the discussion.

  27. Confirm the data loss first by Sockatume · · Score: 1

    Take an MD5 hash of the data or something, then send it. If it comes back changed, you've got data loss. If it comes back the same, and the files are still a few kb smaller, then either you're the Wizard of File Hashes or you're reading off on-disk size instead of actual data size.

    --
    No kidding!!! What do you say at this point?
  28. RTFM - set binary mode in FTP by n4djs · · Score: 5, Informative
    'set mode binary' prior to moving the file. I bet the file you are moving isn't a text file with CR-LF line terminations as normally found in DOS, or one side is set and the other isn't.

    Ritchie's Law - assume you have screwed something up *first*, before blaming the tool...

    1. Re:RTFM - set binary mode in FTP by soybean · · Score: 1

      mod parent up.

    2. Re:RTFM - set binary mode in FTP by Anonymous Coward · · Score: 0

      I never knew that law had a name, sweet. I do find that many people who do not work with technology, are not engineers, or just dont work in the field, tend to almost always blame the tool first. I've never understood this thinking since the obvious jump would be; this obviously work for many many other people so why not me, I must be the problem

    3. Re:RTFM - set binary mode in FTP by reg106 · · Score: 1

      Is that Dennis Ritchie, as in Kernighan and Ritchie? I never heard a name for the law and can't find it after a quick internet search. If you have any further information I'd appreciate it...

    4. Re:RTFM - set binary mode in FTP by RomulusNR · · Score: 1

      Yeah, this post seemed like a practice network admin (or sysadmin, or qa) question. Large files, losing a few KB after ftp, why would that happen?

      The OP doesn't say exactly in what way the FTP files were affected except that they were smaller -- not that there was any actual identifiable data missing.

      --
      Terrorists can attack freedom, but only Congress can destroy it.
  29. Windows FTP sucks by Anonymous Coward · · Score: 0

    I had this same problem but with cable modem internet on one end and DSL on the other.
    I am guessing you are using the windows ftp command in a batch file. Problem is, if the line is interruped, ftp doesn't care and carries on in your batch file as if the transfer completed 100%

    I purchased one copy of WS_FTP Pro by Ipswitch and using the bacth scripting function created a script that will loop until the file is sent entirly. It's low cost and works great.

  30. wget by Anonymous Coward · · Score: 0

    It's not just for *nix any more.

  31. Two words: by jpm242 · · Score: 1

    DVD burner, FedEx.

    --
    --- Worst tagline ever.
    1. Re:Two words: by godrik · · Score: 1

      hey, that's three words! :)

    2. Re:Two words: by Anonymous Coward · · Score: 0

      DVD burner, FedEx.

      I'm no mathematician, but isn't that 3 words?

    3. Re:Two words: by Culture20 · · Score: 1

      RTFS. They're transferring Microwaves! Stick the DVDs in the Microwaves and let them get delivered by the normal delivery guy. No need to fedEx. Just don't turn the Microwaves on while the DVDs are still inside.

    4. Re:Two words: by EmperorKagato · · Score: 1

      DVD burner, FedEx.

      I'm no mathematician, but isn't that 3 words?

      I see 5.

      --
      ----- You know you have ego issues when you register a domain in your name.
    5. Re:Two words: by Culture20 · · Score: 1

      DVD burner, FedEx.

      I'm no mathematician, but isn't that 3 words?

      I see 5.

      ARTHUR: Right. How many words are there?
      KNIGHT: Burner.
      KNIGHT: FedEx.
      ARTHUR: And DVD. That's five.
      GALAHAD: Three, sir.
      ARTHUR: Three. Three. And we'd better not risk another frontal accounting, that DVD's an acronym!

  32. How about bittorrent? by Anonymous Coward · · Score: 0

    It can even copy when the cableco sends spoofed FIN packets to reset connections.

    1. Re:How about bittorrent? by reashlin · · Score: 1

      I would take this as a pretty serious suggestion. This is basically what Bittorrent was made for. Transmitting large files over slow connections with a high level of reliability and a low level of re-transmition should things go wrong.

  33. Copy back by duanes1967 · · Score: 1

    I too, am a bit surprised that FTP is failing. It has been my experience that if there are network problems the transfer may slow to a crawl, but unless the network is dropping 10% of the packets, I would be surprised if it failed. Have you tried FTPing the same file back and see if there is really stuff missing, or if it is just technical differences in storage of the file? As an aside - some of the old modem protocols might work for this. The problem is likely the microwave connection coming and going. I have seen MW drop in and out - it's madening. FTP will definitely fail in that scenario. You could also write your own little protocol that breaks the file into small pieces and transfers a chunk at a time and wait for an ack checksum. If the connection is interupted, automatically stop and try to reconnect - then resume. You're reinventing the wheel, but then you know exactly how the process works.

  34. RSync would do the trick nicely by Anonymous Coward · · Score: 1, Informative

    Why don't you try rsync. That should do the trick nicely.

    1. Re:RSync would do the trick nicely by inject_hotmail.com · · Score: 1

      Indeed. Rsync is a very robust tool. Here's a page on how to use rsync, too.

  35. Once-And-Only-Once by Anonymous Coward · · Score: 0

    Several posters have mentioned that TCP is a reliable transmission protocol, but it doesn't guarantee anything above the actual network layer. If what you're looking for is guaranteed "once-and-only-once" transmission at the level of each message or file or whatever that you're transmitting, you need a transactional message queue -- something like "mqueue series." These are basically network-transparent queues, where you can put something on the queue at one end of the network and pull it off the queue on the other end. It's guaranteed to make it to the other side once and only once. The protocols are built on TCP, but give you transactional guarantees at a higher level.

  36. That is to be expected by kseise · · Score: 2, Funny

    Think of this transfer model like a car, the further it goes, the more bytes are burned up. they just need to be added back in with a network filling station. I would look to google for a government approved provider.

  37. Windows Server DFS by kervin · · Score: 1

    Also look into Windows DFS.

    We use it to sync webfarm filesystems in Server 2008 and it works perfectly. At least in 2008 only file changes are sent across so it is very efficient, even for WAN scenarios.

    Best regards

    1. Re:Windows Server DFS by Anonymous Coward · · Score: 0

      I use this at work and it transfers the data flawlessly.

      Windows Server 2003 at both ends, connected via an MPLS. One end in US, other in China. We have the DFS schedule run 24/7. Changes are usually transferred over within 5 minutes.

  38. MULE by Anonymous Coward · · Score: 0

    http://www.mulesource.org/display/MULE/Home

    Using it purely as a file transport is a bit like using a sledgehammer to open a walnut, but it will do the job and do it well.

  39. Uh,... that's three words. by tjstork · · Score: 1

    DVD = 1, Burner = 2, FedEx = 3

    --
    This is my sig.
    1. Re:Uh,... that's three words. by Itninja · · Score: 1

      Well, not to put too fina a point on it, but "DVD" is an acronym consisting of three letters, not a word at all. So maybe that doesn't count?

      --
      I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
  40. a great program by ILuvRamen · · Score: 1

    Leechget is a cool program for this. I think it does data verification during or at the end of the download and supports pausing and resuming. It is primarily a download accelerator/manager but it also installs a right click context menu of "copy here using leechget" for all local file transfers. So go that over the network and you'll not only get it there correctly but it'll go at max speed because it opens multiple connections at once and sends parts of the file then re-joins them.

    --
    Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
  41. AS2 FTW by just+fiddling+around · · Score: 2, Interesting

    You should look at the EDIINT AS2 protocol, AKA RFC 4130. This is a widely-used e-commerce protocol built over HTTP/S.

    AS2 provides cryptographic signatures for authentification of the file at reception, non-repudiation and message delivery confirmation (if no confirmation is returned, the transfer is considered a failure), and is geared towards files. There is even an open-source implementation avaliable.

    More complex than FTP/SFTP but entirely worth it if your data is mission-critical and/or confidential. Plus, passes through most networks because it is based on HTTP.

    --
    You're not old until regret takes the place of your dreams.
    1. Re:AS2 FTW by Anonymous Coward · · Score: 0

      Is there any decent free implementation? Back in my EDI days you had to pay some vendor a ridiculous amount of money for a fully buzzword compliant package.

    2. Re:AS2 FTW by Anonymous Coward · · Score: 0
  42. Use .complete files. by Prof.Phreak · · Score: 3, Interesting

    Even on reliable connections, using .complete files is a great idea.

    It works this way: If you're pushing, open ftp, after ftp completes, you check remote filesize, if matches local file size, you also ftp a 0 size .complete file (or a $filename.complete file with md5 checksum, if you want to be extra paranoid).

    Any app that reads that file will first check if .complete file is there.

    If remote file size is less, you resume upload. If remove filesize is more than local, you wipe out remote file and restart.

    Same idea for the reverse side (if you're pulling the file, instead of pushing).

    You can also setup scripts to run every 5 minutes, and only stop retrying once .complete file is written (or read).

    Note that the above would work even if the connection was interrupted and restarted a dozen times during the transmission. [we use this in $bigcorp to transfer hundreds of gigs of financial data per day... seems to work great; never had to care for maintenance windows, 'cause in the end, the file will get there anyway (scripts won't stop trying until data is there)].

    --

    "If anything can go wrong, it will." - Murphy

    1. Re:Use .complete files. by the-matt-mobile · · Score: 1

      I second this! We call them ".done" files though. So, any transmission you get from me will be SomeFile_DateStamp.pgp, and then once that completes, I'll send you SomeFile_DateStamp.pgp.done which is a text file with an MD5 checksum of the file I sent. If you don't get the .done file, you didn't get a valid file and you might as well delete it and ask for another. If you get the .done file and the checksums don't match, same situation.

      This works great with plain old vanilla FTP, which almost everyone supports. PGP keeps it secure, and the "done" file ensures that there were no transmission errors.

    2. Re:Use .complete files. by KZigurs · · Score: 1

      Uhm? If you are allowing for possibility for the remote file to be "bigger", you are allowing for potential data corruption as well even if sizes match. What about three way protocol where there is also a script on the target machine that regulary generates md5 sums (and yes, we STILL can have collision there) for files present and .complete is uploaded only if the md5 matches.

      Althou, obviously, this is braindead. I would probably go and just use something like rar with recovery records to make sure that I can detect any issues in one step. Or - just switch network provider, use VNP and then - all of the above together. Assuming that mission critical here indeed means "worth time to attempt to make sure that data gets there ASAP and verifyably* intact or else there will be millions lost."

      *Man in the middle?

  43. straight Windows file system copy? by Anonymous Coward · · Score: 0

    Seriously !!!!

    That must be the most over head and unreliable method available.

    Hire an IT person to setup and implement one of the following:
    * rsync
    * SSH (SCP/SFTP)
    * HTTPS
    * FTPS

    And stop transferring binary files is ASCII mode !!!!

  44. the dumb simple solution by zx-15 · · Score: 1

    How about creating SHA1 checksum and then transferring data using netcat? You could split files in pieces then run them though sha1 and finally send over netcat using udp and retransmit at will. Or if files don't change too much you could try rsync.

    This is all unix-centric solutions, so you'd have to install cygwin, unless there exists a python library that does all that.

  45. How about just going to the past? by loftwyr · · Score: 1

    Back in the very old days, we had slow modems with noisy lines. We used thinks like Zmodem and other things to handle this problem. It might just be the thing that will work now to solve your problem.

  46. Most Guaranteed To Work: by Anonymous Coward · · Score: 0

    is Snail Mail.

    Yours In Capitalism,
    Kilgore Trout

  47. Re:Guaranteed? Wait, What!? by Culture20 · · Score: 1

    mission critical files ... microwave connection ... government
    They use FTP? Hopefully only through ipsec or something.

  48. Stuffit or WinRAR by mlts · · Score: 1

    I used to have a similar problem over another connection, where even more advanced file copy utilities would say the file was copied, but a 2-4k chunk would be missing. What I did to solve the problem was to use an archiving utility that supported adding ECC records and install it on both endpoints. Then, I'd just archive the files I need, send them over the faulty link, and usually the ECC records were able to correct any errors that did crop up during the transfer when extracted on the destination machine.

    I did this manually, but I don't think it would be too difficult to make a scheduled task that would check for files, use the command line of an archive utility to generate a temp archive, sling the archive across, then the machine on the other side of the link extract the files and if the corruption was too great for the ECC records in the archive, to give some type of warning or notice to someone.

    Of course, this is not fixing anything on the network layer, so maybe running either PPP over SSH or a VPN link directly from one machine to another might help.

  49. MOD PARENT UP by inject_hotmail.com · · Score: 1
    Parent is 100% accurate. This is integral to binary file transmission via FTP. Transfer mode (binary or text) may be set to text on the server by default. Without the proper setting, things won't transfer properly.

    'hash' is also a nice feature...

  50. GatherBird by JaneTheIgnorantSlut · · Score: 1

    I telecommute and need to reliably get install images from my office down to my desktop. I have used GatherBird's Copy Large Files utility for several years, and it has worked out very well. No problems. http://www.gatherbird.com/GBMain.aspx

  51. SQL Server Service Broker by JKDguy82 · · Score: 1

    If you are also utilizing SQL Server (2005/2008), one option would be Service Broker, as it has guaranteed message delivery. And as long as at least one of the endpoints is using the Standard Edition or better, the rest can use the free express version.

  52. linux proxy by The+Cisco+Kid · · Score: 1

    Setup a linux box on the same network next to the windows box that is at the 'remote' end of the transfer (eg, not the end the transfer is initiated from).

    Use ssh from the 'local' end to transfer the file to the linux box. Then run something appropriate (ftpd? apache? samba?) on the linux box that makes the files directly available to the windows box.

    Alternatively, rip the Windows crap out and replace both ends with a real OS.

  53. Use openvpn.. by miknix · · Score: 1

    Establish a openvpn tunnel over UDP. All network traffic tunneled through it, will be encrypted and with integrity ensured. If your wireless network link is too unstable, you will have plenty of dis/re-connections of openvpn but communications going through the tunnel will be intact.

    For example, one day I connected home over openvpn and used nfs to transfer a couple of big files over a slow wireless link. After some time going on, I closed my laptop and put it into suspend and moved into another place and connected to another wireless link. After resuming the laptop, openvpn re-established the connection to home and nfs continued to copy the file.

  54. Bittorrent by Aceticon · · Score: 1

    I would reckon that something based on the Bittorrent protocol (or a subset of it) might be an exceptionally reliable way of, while running in the background, sending files from one machine to another one.

    The protocol comes with built-in file splitting/recombination, block validation and you can get several GUIs (and I believe at least one command line implementation) for it. It might be a bit overkill though - pretty much everything in the protocol related to dealing with managing communications with multiple peers (most of the protocol really) is unlikely to be useful in your situation.

    That said, your own private tracker listing one and only one peer all the time (the machine where the files are being read from) might be the only tricky bit you need to do to use any bittorrent implementation out there.

  55. XCopy? by vawarayer · · Score: 1

    Xcopy /v over a network share? using the at command?

  56. robocopy by Anonymous Coward · · Score: 0

    Command line robocopy available from the various Windows administration kits for free.
    It can run on a schedule or via the task scheduler or only when X amount of changes have been made, you can set interpacket gaps to limit speed, it logs transfers, it has switches for retries and wait times, it restarts and different methods for opening locked files, you can maintain NTFS file permissions or not, it can mirror, delete in destination. It is a single exe file with nothing to install. It can bescripted, run manually, or in a batch file with options.

    Simple, easy, and it works.

    http://en.wikipedia.org/wiki/Robocopy

    1. Re:Robocopy by smash · · Score: 1

      Mod parent up. WE used robocopy. Also, depending on how quick you need to do it, DFS? I've used DFS over some pretty fucking ordinary satellite links on the other side of the world, and whilst it may take its time, stuff eventually does get there, and i'm yet to run into any corruption from it....

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  57. synchronous/asynchronous? by tero · · Score: 1

    Does your file have to be transferred in-synchro?

    Otherwise you might want to look into Message Oriented Middleware, things like MQ Series or in worst case scenario, even Microsoft MQ. There are plenty of options.
    This would allow you to put policies on the messages, handle routing (in case you need to deliver to different recipients), guarantee delivery at least once, do type conversions/transformations etc.

  58. Kermit? by LWATCDR · · Score: 1

    http://www.columbia.edu/kermit/

    It was designed to work under the worst conditions and with any type of machine on the planet.
    It is old but still in use so it probably works really well.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  59. You're kidding, aren't you?? by ballyhoo · · Score: 5, Insightful

    You are kidding about this, aren't you?

    Let me get the facts straight:

    - you have "mission critical files", and the network you're transferring them over is so incredibly badly managed that it doesn't support reliable data transfer
    - you want a technical workaround for this brokenness.

    If this is the case, you don't have a technical problem on your hands; you have a political one.

    "Mission critical" has a meaning: it means critical to the success of the operation. I.e. without these files, your operation or someone else's operation will fail.

    If your management believes that your files are "mission critical", and you're facing a problem of this sort, you need to document the difficulties you're having, along with measurements to support your claims and then make a clear statement that as long as your network path is completely broken, you are absolving yourself of responsiblility for the correct transmission of these files.

    If your management doesn't do anything about this, then the files are not "mission critical".

    1. Re:You're kidding, aren't you?? by Anonymous Coward · · Score: 1, Insightful

      Well, the original post never said whose mission. It could be that the employer with the "mission critical" need does not control the network or the computer choices. So, they charged the original poster with fulfilling the mission in spite of the given handicaps.

      Now anything that gets my employer paid is "mission critical." I may be (and often am) at the mercy of my customers equipment. But my job is to work through or around those obstacles. Because removing them properly is not an option.

    2. Re:You're kidding, aren't you?? by Dravik · · Score: 3, Insightful

      Mission critical means that you need to get it done even if someone else isn't getting their job done. Standing around in a huff and stomping your feet means that the mission critical information isn't getting moved. What he needs to do is find a way to accomplish his mission despite the difficulties, and then document the problems so they can be addressed.

      --
      The purpose of language is communication, If the idea is clear the grammar ain't important
    3. Re:You're kidding, aren't you?? by eap · · Score: 2, Insightful

      I think you missed the part about the government being involved

    4. Re:You're kidding, aren't you?? by Anonymous Coward · · Score: 0

      - you have "mission critical files", and the network you're transferring them over is so incredibly badly managed that it doesn't support reliable data transfer

      Considering this user's "business" requires him to use a microwave link to a "government" telecommunications center, this is probably the best service available to him and there are no other options. Actually, a 2Mb circuit by government standards is premium service. He's lucky he hasn't been rate-limited to 512K. Mission critical files are transmitted using lower quality media than this every day.

    5. Re:You're kidding, aren't you?? by Anonymous Coward · · Score: 1, Insightful

      I think this is a technical problem unless you are working using COVER YOUR ASS engineering.

      You can start working under the assumption that a new line is cost prohibitive or impossible, (more expensive than a week of salary for a engineer, or maybe they are replacing the OS of the voyager 2). Also the problem sounds very simple so i don't understand why to make that much of a hassle.

      Remember you are paid to solve problems, not to bitch about them.

    6. Re:You're kidding, aren't you?? by Anonymous Coward · · Score: 0

      If NASA can send firmware updates through space, I'm sure there's an application that can handle intermittent network issues as evidenced by all the other replies.

    7. Re:You're kidding, aren't you?? by Anonymous Coward · · Score: 1, Insightful

      Hmmm.... Here's a thought? What if the "Mission" is something related to a some sort of military activity and the data that is "Critical" is held in a location with spotty connectivity and severely constrained bandwidth (say a beach position with a little satellite dish). I am sure your hand washing memo will be very well received by all those folks who are put in harms way because of your willingness to make it someone else's problem.

      You simply cannot assume away the problem or try and fit the problem to meet your expectations. Microsoft and IBM have made a reputation on trying this approach, but reality has this nasty habit of ultimately dictating the terms of the problem in spite of whatever massive resources are expended to the contrary.

      Technical work arounds are the nature of the beast in the "real world". Perhaps a dose of exposure there will give you a little more empathy and perspective from which to approach these types of issues in the future.

      I don't feel like registering at the moment, so I guess I will go with Anonymous Coward for now... (Tom for short) :')

  60. Anonymous Coward by Anonymous Coward · · Score: 0

    Is the destination computer hard drive formatted the same as the source hard drive? If not then this could be as simple as the extra bits for each sector on the drive reporting the correct space for the drive.

  61. FTP is fairly reliable... by laird · · Score: 1

    If the files are often the wrong size, it's probably something like CR/LF translation, or shifting reported file size due to filesystem block size. What do you see if you compare the files? Do they have the same checksum on both systems? My guess is that you don't have a tools problem (FTP, lame as it is, is probably not having as many transmission errors as you describe).

    In terms of file copying tools, the options that come to mind are:

    FTP doesn't check data integrity, but it's fairly reliable nonetheless, due to the TCP layer, which does retransmission, etc. But if there are transmission errors you may not be notified (i.e. you won't know if there's corruption, but you will be told if the connection dropped. So don't use it.

    SCP does check data integrity, so if there's a problem in transmission it'll detect it and tell you, but it won't correct the error - you'll have to script re-sending if there's an error.

    rsync checks the integrity of each delivered file, which is great. That being said, rsync is really designed to duplicate a directory tree from one machine to another, not copy individual files, so you may need to play with it a bit to do what you want.

    Pando (http://www.pando.com) gives you the above plus data validation and retransmission, which might help in your situation. I've used it when sending very large files over unreliable connections (e.g. dial, weak wireless) and it'll keep hammering away until the data gets through. It's primarily a GUI app (Windows, Mac, Linux) so it's more of a consumer tool, but it can be scripted, etc., so depending on your application it might be what you want.

    1. Re:FTP is fairly reliable... by sexconker · · Score: 2, Informative

      Windows reports file sizes exactly, to the byte.

      It reports both the true file size and the file size on the disk, which is based on the block size and the number of blocks required to store the file. ..

  62. I seem to recall... by cshark · · Score: 1

    that this is an issue with the size of your hash... I think.
    Check the message boards for documentation. Others have had this same issue.
    It's not FTP that's the problem. It's the implementation. Try others.

    Switching to a new protocol, especially one like UDP that has no built in error correction is going to be complicated and costly.
    Especially if you can fix the issue with FTP; which, I think you can.

    --

    This signature has Super Cow Powers

  63. PAR2? by cyberjock1980 · · Score: 1

    Create a small set of PAR2 files. At the destination compare it. If it needs repair, then get the associated repair blocks. This solves 2 problems...

    1. Don't have to retransmit a corrupted file. What's the good in knowing it's bad if you'll have to redownload it again.
    2. Fixes the errors for minimal bandwidth. Due to the fact you mentioned the bandwidth limitation, I assume this is a major obstacle to just resending the file again when it's corrupt.

    1. Re:PAR2? by Magic5Ball · · Score: 1

      Par2 is an excellent technical solution to this problem since it will fix alignment as well as truncation issues, but will get killed by the bureaucracy since it isn't well supported by the safe mainstream vendors. Also, the Linux Par2 implementations appear to script better than those for Windows.

      --
      There are 1.1... kinds of people.
    2. Re:PAR2? by overlordofmu · · Score: 1

      I cannot believe this excellent suggestion is so far down the list in the responses.

      I think the combination of SFTP and PAR2 is a effective, simple answer.

    3. Re:PAR2? by sexconker · · Score: 1

      We know the files are different.
      We know Par2 will say the file needs to be repaired.
      We need to know why.

      We know why. It's CR+LF, or a shitty FTP server/client.

  64. RSync by marcosdumay · · Score: 1

    At SFTP and SCP if there is noise or the connection fails (what will have exactly the same appearence) you'll end with no file at all at the receiving side, not a corrupted file. FTP will create a corrupted file.

    Anyway, from what I've read, he's looking for rsync.

  65. Files smaller from FTP? by Anonymous Coward · · Score: 0

    Ummm... try using the "BINARY" command in the FTP client first?

  66. Database? by Tablizer · · Score: 1

    I had a similar issue once, and kicked around the idea of making it database-centric instead of file centric and use something like ODBC. Files are first "parsed" into a database format and un-parsed back into files at the other end. The downside is that it may not work well for open-ended documents, but is primarily designed for CSV-like (delimited) or fixed-column ascii data files. The plan's schema somewhat resembled:

    table: lines
    -----
    line_ID // for internal processing
    file_Ref // foreign key
    line_sequence // sequence in file
    line_text
    line_check_sum

    table: files
    ------
    file_ID // or name
    file_check_sum
    line_count

    After a transmission session, the missing lines can be known using the line count, sequence number, and check-sums. Check-sum is merely the sum of all ascii character ordinal values. The algorithm is roughly:

        save(requestFileInfo());
        save(requestFileContent()); // first transfer pass
        while (lineList = determineBadLines()) {
            for lineID = each in lineList {
                statusMessage("retrieving line " . lineID);
                requestResendLine(lineID);
            }
        }
        statusMessage("done.");

    You may also need a file info check-sum(s) to make sure the file list is good. You can try it without a database, but it's hard to get "random access" to the problem lines without it.

  67. Snarky Response by Anonymous Coward · · Score: 0

    Try using FedEX

  68. OpenVPN or ssh by toby · · Score: 1

    Give you reliable connectionless (UDP) or connected (TCP) options respectively.

    --
    you had me at #!
  69. Couple options. by Psyko · · Score: 1

    If you're stuck on windows, have no control of the link, need to guarantee delivery, need encryption options, are stuck in specific delivery timeframes, and need it scriptable with triggering etc. there's quite a few commercial options.

    The 2 I've used the most are the following:

    Aspera FASP - http://www.asperasoft.com/
    Sterling Connect:Direct http://www.sterlingcommerce.com/products/managed-file-transfer/connect-direct/

    Connect direct is geared more towards highly distributed delivery channels, where you've got lots of ingress/egress points to different locations (think multi site, multi customer distribution) so it could be a bit overkill, but aspera is great at utilizing a link to it's peak (it'll udp flood a pipe and guarantee delivery), in fact if you don't watch what you're doing you can pretty much storm everyone else off the link, but your data will get there >;)

    --
    01:36AM up 426 days, 2:46, 1 user, load average: 0.14, 0.11, 0.05
  70. Doubletake by emocomputerjock · · Score: 1

    I know I'm late on this, but I haven't seen it mentioned yet. Doubletake is fantastic, and I've yet to have it fail me when moving stuff from point a to b on Windows systems. You didn't mention cost as a factor in the summary but I should note that it is most certainly not free, but if you have to make sure it gets there it may be worth it.

  71. Different FS cluster size on both ends? by Anonymous Coward · · Score: 0

    It would explain a difference in file size.

  72. Size descrepency by LaminatorX · · Score: 1

    First off, I second the recommendation for rsync. This is what it's for. It's also easy to do over a SSH tunnel or similar.

    As far as your size discrepancy goes, it's possible that such a small variation could be accounted for by different block sizes on the source and destination volumes. The data may in fact be identical, but the two different volumes may need to allocate a slightly different amount of disc space to store it.

    rsync does hash checks as part of its normal operation, but if you really wanted to be methodical, you could have a script rsync to three different directories and then compare hashes on all copies. This may or may not be overkill, depending on your mission.

    1. Re:Size descrepency by sexconker · · Score: 1

      Windows reports "Size" and "Size on disk" for a reason.

    2. Re:Size descrepency by LaminatorX · · Score: 1

      Absolutely. You'll note that the questioner did not specify which measurement he was comparing, or even if the same measurement was being compared on the sending or receiving ends of the transaction.

    3. Re:Size descrepency by sexconker · · Score: 1

      They are both Windows machines.
      We're using FTP.

      He is comparing the size as reported on the receiving machine with the size as reported on the sending machine, OR as reported by the FTP server on the sending machine.

  73. Transfering data on bad networks by JWSmythe · · Score: 1

        It sounds like there's a good bit of work to be done.

        The first would be to address the problems with the internal network. There's no excuse to have problems on a LAN. Upgrade away from hubs and consumer grade "switches". This is an easy and affordable fix. There are plenty of old Cisco switches available on eBay for very little money.

        I upgraded an office with 6 Cisco Catalyst 2924-M-XL-EN and 6 WS-X2924-XL-V 100baseFX fiber modules cost $300 from eBay. I used fiber to connect all the suites, which cost about $150. $450 got rid of all their problems that the entire staff had been complaining about for years.

        I'd also recommend having a look at the radio link. Why isn't it working properly? Is it a line of sight problem (a tree grew in the way, maybe?), a signal or interference problem that could be resolved with a better antenna or reconfiguration?

        For a reliable protocol, you can use rsync and rsyncd. I use this between Windows clients and Linux backup server. rsync provides a very reliable protocol, ensuring the data was received correctly or retrying. FTP isn't a good protocol for mission critical data.

        Myself, depending on the link, what's on each end, etc, you may consider putting a Linux machine at each site, and doing a PPP over SSH link. It's easy, free, and very reliable. :) It doesn't take reinventing the wheel, nor playing with VPN servers and clients. rsync over this connection will work very well, and due to compression and encryption by both rsync and ssh, you'll find that it ends up being faster. That may seem counter-intuitive, but I've found it to be true in reality.

        For a while, I was on an unreliable home connection, which apparently did a good bit of traffic shaping and some port blocking (ahh, gotta love residential providers). I frequently saw packet loss. Once setting up a PPP over SSH connection, I routed every machine on my home LAN through it, and all of our traffic left through one of my datacenters. Despite adding this extra route and hops, all Internet traffic from home was faster. Because of the magic of SSH, it actually got rid of all my packet loss. :) It was still there, but SSH retried to keep the tunnel working with no losses. Since the provider couldn't see anything that was going over the line other than encrypted data, they couldn't do any sort of traffic shaping. I used an non-standard port number, so they couldn't even be sure of what the encrypted data was. I had already planned on changing ports, if they should start slowing down my traffic, but they never did. It was unidentifiable, so they left it alone. For several things, I enjoyed 10x the normal speed, just because of the PPP over SSH tunnel. Doing the same transfers via HTTP or FTP over the same route (but not over the SSH connection) resulted in very slow speeds.

    --
    Serious? Seriousness is well above my pay grade.
  74. It warms my heart to see noob mistakes by Anonymous Coward · · Score: 0

    Economy, eschmonomy.

    Seeing this problem and some of the hilariously incorrect answers ensure that regardless of this downturn, I'd have job prospects if I was out of work.

    Thanks ignorance!

  75. Bah, Newsgroups. by 0100010001010011 · · Score: 1

    Take a note from the newsgroup file sharers. If it's good enough to share GB+ data on an old school discussion forum, it's good enough for your business.

    1) Split the file into tiny rars, 1-10MB in size.
    2) PAR2 the files with a decent amount of redundancy.
    3) Send. Resume any broken files
    4) Fix.

    If you really wanted to get fancy. Run a news server on each end of the line. Upload files locally to the newsgroup and then grab them from the other end. The pirate community has a ton of tools for making this as painless as possible. (I heart hellanzb)

  76. FTP + XCRC by Loki_1929 · · Score: 1

    It's built in and it works. You can get something that's theoretically more efficient with a lot of work, but this is quick, cheap, and simple. Best of all, it actually works.

    The client and server each run a checksum against what's on either end after a "successful" transfer. If the xcrc fails, delete and re-send. It's really that easy. If efficiency is an issue, just enable resuming on the client end.

    What a simple question. Your problem is solved with about 20 minutes of work/setup/testing and a budget equal to whatever you get paid for 20 minutes worth of work.

    --
    -- "Government is the great fiction through which everybody endeavors to live at the expense of everybody else."
  77. Microsoft Message Queuing by ckhorne · · Score: 1

    I worked on a project that had similar deployment requirements, and we could that using Microsoft Message Queuing (MSMQ) as the transport mechanism took care of all these issues.

    MSMQ itself only provides the transport mechanism, and there's no front end interface to send files- you'd have to code something up. However, it's the best "guaranteed delivery" system that I've seen on the Microsoft platform. Persistent across reboots, security controlled, FIFO queuing, very robust.

    You may not be looking to code something up, but if you are, have a look at that.

  78. Been there, done that by ubersoldat2k7 · · Score: 1

    This same problem happened to us when I was doing "service". Let's just say that something had a computer with an access database, and the mdb had to be sent over a microwave connection to something else (that also had a computer) which took mdb files from many somethings and did some other things. Well, anyway, at first they we're using FTP, but I got to script a solution that zipped the file over several small ones (50MB each) then sent them over SCP, made a checksum on each file and then rebuilt the mdb file.

  79. RSYNC by scorp1us · · Score: 1

    I never trust windows copy for large file transfers from disc to disc, on the same machine. One error and BAM! You're left with an inconsistent file system copy. The only RELIABLE way to resolve this is to break out RSYNC and have it finish the copy. But then one wonders, why not start with rsync in the first place. Unlike windows copy, you can have it ignore & LOG errors. Then when the large batch is done, fix the errors and repeat the same command, and RSYNC won't copy the already-copied information.

    It is a total joy, aside from the command line!

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  80. hash them, just for fun by cats-paw · · Score: 1

    Use MD5 or some other relatively strong checksum (CRC-32) too, just to be _absolutely_ sure that you didn't get any errors. It's a paranoia indulgence though if you are using TCP and rsync.

    --
    Absolute statements are never true
  81. Think outside the box? by node159 · · Score: 1

    Maybe think outside the box for a second and really look at what you are asking...

    You plan to transfer _mission critical files_ over an unreliable link. Maybe you should provide a _mission critical link_? You know, a leased line with a backup? If you can't justify the cost, it probably isn't mission critical.

    The right tools for the job people... Jez!

    --
    GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
    1. Re:Think outside the box? by Dravik · · Score: 1

      Since he is talking about a government network and a government link, quite possibly the unreliable link is the most reliable system available for that particular location.

      --
      The purpose of language is communication, If the idea is clear the grammar ain't important
  82. Quickpar... by CrackerJackz · · Score: 1

    If you have access to the file at the remote end I would run it though QuickPar http://www.quickpar.org.uk/ at that point you can split the file into a group of smaller files (less chance of any one file being mangled), plus add ckecksum files to the set, that way if one of the files is mangled in transport it's 1: identifiable and 2. automatically fixed by reassembling the par files on your end of the connection.

  83. operator error by Anonymous Coward · · Score: 0

    >
    > they've been using FTP to upload the files, but many times the copied files are a few kilobytes smaller than the originals
    >
    This sound like operator error, probably transferring binary files in ASCII mode. TCP/IP already takes care of the reliable delivery.

  84. Most likely... by kylemonger · · Score: 1

    ... this isn't a file copying problem, but rather a verification problem. If a file sometimes winds a few KB short could it be that someone or some process at the destination grabbed the file before it finished copying? If that is what's happening then any file copying protocol that copies the file to a temp location and then links the file into place at completion would solve this problem.

  85. What do you mean a few Kilobytes differnt by geekoid · · Score: 1

    Are you just looking at the file size on the disk, or have you done a data comparison?

    If you are just looking at the size as they appear in windows by right clicking at looking a the properties, you are woefully under qualifed to do anything remotly like this and need training.

    There is no reason Windows in and if itself can't do this with FTP.
    What are you not telling us?

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:What do you mean a few Kilobytes differnt by sexconker · · Score: 1

      If the file sizes are different, then the files are different.

      He's noticed that the file sizes are different. Thus, the files are different. He suspects network issues.

      It may be a network issue, or it may be FTP fucking with CR+LF stuff. But it seems to me that differing file sizes is something that would be noticed, and is likely what brought the issue to his attention.

      If you think that noticing the file sizes is pointless, then you are woefully unqualified to do anything remotely like posting on slashdot from your high horse of jackassery.

  86. The protocol needs to be a part of the discussion by raddan · · Score: 2, Informative

    On some level, there isn't much difference between an application and a protocol. In fact, if you ever take a networking theory course, you'll see that each protocol layer in the network stack is, in fact a "protocol machine" (i.e., an application), which does the little protocol dance that makes functions at that layer happen.

    But I digress. What the user is running into here is a fundamental problem with TCP over lossy networks. It really was not designed with really lossy networks in mind. E.g., the congestion control mechanism in TCP ("exponential backoff") makes the assumption that there is a wire sitting there and that certain parameters (like bandwidth) are not going to change. If you need certain QoS guarantees on a wireless link, TCP may be hard-pressed to deliver, because TCP's [limited] QoS mechanisms may make the problem worse. There is a HUGE amount of overhead on 802.11 networks to make sure that TCP doesn't suck.

    I don't know how this person's microwave link is configured, but they might be better served by thinking about the QoS guarantees in the various layers in their network stack. I know a previous poster was joking when they said UDP might be a good option, but look, part of the problem on wireless is TCP's retransmission mechanism. With UDP it is up to the user/application to ask for a retransmit. Bittorrent works exactly like this, so something like Bittorrent, where each small file chunk gets its own hash, and those hashes are checked upon receipt, might not be a bad idea. I like rsync as well (because it has a rolling checksum feature), but again, you have TCP in the mix, and if I recall correctly, rsync will not retry automatically on failures, which is what you want.

  87. MQ by eap · · Score: 1

    If you need guaranteed, fault tolerant, one-time message delivery you could use IBM's Websphere MQ. It is expensive bloaty, but it gets the job done and will tolerate intermittent connectivity problems. It runs on every platform and there are client API's for many languages.

     

    Place an MQ server at each end, then have the client enqueue the message at one end and a listener dequeue at the other end. If the link or other host is down, the clients can still send messages which are stored and delivered when the comm. link comes back up. Transactions and rollback are supported, and large files are automatically segmented and reconstructed by the system.

     

    You can configure it to send message receipts, prioritize messages, and report any failures to a dead letter queue.

       

    There may be other brands of middleware that do this just as well for free. WMQ is just the one I'm most familiar with (I don't work for IBM).

    1. Re:MQ by BlueScreenOfTOM · · Score: 1

      Seconded. We use MQ extensively at work, and it is an enormous pain in the ass, but once it is set up properly, it does what it advertises. Basically a transaction-based message queue that promises to "never lose a message".

  88. Set BINARY MODE in FTP!!! by Anonymous Coward · · Score: 1, Informative

    FTP and TCP cannot "Drop" packets or bytes. You need to learn-up on TCP and FTP.

    FTP _does_ translate DOS end-of-line sequences (carriage-return followed by new-line -- 2 bytes) with Unix end-of-line sequences (just new-line -- 1 byte). So your files may become shorter by as many bytes as they contain lines.

    The solution is to tell FTP to not treat the file as text, but as binary image information in which new-line characters are treated with no special processing. Traditionally, FTP called this "file type I" and the command to set it is "bin" as in "binary":


    C:\Documents and Settings\fred>ftp abc.net
    Connected to abc.net.
    220 ProFTPD 1.3.1 Server (ABC Global Enterprise Group) [10.13.131.34]
    User (abc.net:(none)): freddy
    331 Password required for freddy
    Password:
    230 User freddy logged in
    ftp> bin
    200 Type set to I
    ftp>

  89. Binary verses (text mode) by Tetsujin · · Score: 1

    Binary verses text mode?

    1-to-the-01101
    1101101
    1001000
    0101101!

    Word!

    --
    Bow-ties are cool.
  90. For everything else there's md5sum by Colin+Smith · · Score: 2, Funny

    The transmission system is irrelevant. All that matters is that you know you have received whatever was sent.

    Just make sure you send a checksum and that the received file matches.

    oh wait... Windows scripting...

    --
    Deleted
    1. Re:For everything else there's md5sum by TheRaven64 · · Score: 1

      MD5 will let you find out if the data is corrupted, but doesn't let you recover it if it is. As another poster pointed out, something like par2 lets you add redundant data to a set of files so that it's recoverable as long as n% of the data is in tact (where n is configurable by the user).

      --
      I am TheRaven on Soylent News
  91. Some sorta bittorrent-esque app over tcp/ip by jameskojiro · · Score: 1

    With some sort of CRC checking going on...

    --
    Tsukasa: All I really want, is to be left alone...
  92. Bittorrent by sexconker · · Score: 1

    Bittorrent?
    Also, 2 mbit microwave wtf.
    Run a cable for shit's sake.

  93. Skynet by n30na · · Score: 1

    Just get a big cannon/artillery gun/icbm and fire tapes of data, or flash drives even. Just stuff them into nerf balls. It'll work great, like a sneakernet but with explosions. :D

  94. Fix for packet-lossy wireless links by Nick+Driver · · Score: 1

    Use something like Netmotion, although it was designed for mobile wireless usage, primarily to maintain TCP session persistence while simultaneously providing an encrypted VPN, it works wonders at keeping a packet-loss-free connection over a lossy wireless network link too.

    Interestingly, it uses a UDP stream thru which it tunnels it's encrypted protocol.

  95. Kermit by madfilipino · · Score: 1

    It's old but highly reliable and can be secured.

  96. FTP Losing Data? by tignet · · Score: 1

    FTP rides over TCP so it isn't really possible to "lose" data. However the default FTP transfer mode for Windows is ASCII. This means that if you're transferring binary data that some might not make it through as expected.

    Change the FTP transfer mode to binary for the transfers and you won't have a problem. The command is "bin" once you have the FTP client open (assuming you're in interactive mode).

  97. RCF 1149 - IP over Avian Carrier by grx0 · · Score: 1

    because microwave apparently is just as prone to loss.

    http://www.rfc-editor.org/rfc/rfc1149.txt

    --
    .' Windows 98 crashed I am the blue screen of death no one hears your screams... `.
  98. Unison by nightfire-unique · · Score: 1

    Check out unison.

    Directory synchronization over several protocols, brilliant include/exclude syntax, failure protection & rollback, rsync style 1-way or 2-way block synchronization and intelligent file change detection, Unix and Windows support, open source... It's what you need.

    --
    A government is a body of people notably ungoverned - AC
  99. TeraCopy by Anonymous Coward · · Score: 0

    Uhh... Easy.... Teracopy

    http://www.codesector.com/teracopy.php

    -Josh

  100. Blast by Anonymous Coward · · Score: 0

    Look for a very old communications package from what used to be Communications Research Group, later was Blast, Inc - and somewhere in between I think was owned by U.S. Robotics.

    Anyway, the software package was called "Blast", and it had a file transfer protocol that ran over modems and TCP/IP.

    If the file transfer completed, the file was *guaranteed* to be correct on the recipient's side.
     

  101. Robocopy by flyingfsck · · Score: 1

    Robocopy is commonly used for this problem. Otherwise Cygwin and rsync.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  102. Re:BitTorrent (the new black) by angrydj · · Score: 1

    My sentiment exactly. It seems that you could use Torrents to share the files with more than one server for fail-over security.

  103. Are you sure about the difference in file size? by Anonymous Coward · · Score: 0

    Different allocation unit sizes between disks can cause a file size to appear different across two machines...

  104. Cygwin + lpd by rlseaman · · Score: 2, Funny

    Set up a BSD lpd queue under Cygwin, something like:

    sendit:lp=/spool/null:sd=/spool:if=/spool/sendit.sh:sf:sh:mx#0:

    Have the sendit.sh script do whatever it is you want with the file. To send a file: lpr -Psendit filename

    Configuration of the network queue left as an exercise for the student. (Hint - queue pathnames locally.)

    1. Re:Cygwin + lpd by Anonymous Coward · · Score: 0

      The scary thing is I've seen something like this implemented...

      At a place where I used to work they used an lpd print queue to ship Oracle logs from the production DB to the offsite DR instance.

      A script at the production site would 'print' the Oracle logs to the remote queue - and a script at the remote site would then feed the logs to Oracle.
      .
      This was all designed by a comic genius.
      .
      PS/ And here's info on how to do something similar (from 1995!) - http://www.usenix.org/publications/library/proceedings/lisa95/full_papers/sellens.pdf

  105. Robocopy is what you want by toporok · · Score: 1

    If it's a Windows-Windows, Robocopy is what you want. It will do everything you need. It's free too and made for Windows.

  106. Differences in storage sizes / AFT by charnov · · Score: 1

    Have you checked that the differences in files sizes aren't due to the differences in cluster size?

    You can verify content by simply comparing hash values. If you need more assurance, then Sterling Managed File Transfer, or SFTP.

    If you are talking DoD, DoE, or anything above a confidential level... for the love of God, call the NSA and request to use Assured File Transfer (AFT) or some other managed system. They should help you with this.

    --
    [RIAA] says its concern is artists. That's true, in just the sense that a cattle rancher is concerned about its cattle.
  107. Servers in either or both ends? by Anonymous Coward · · Score: 0

    How about Microsoft Data Protection Manager?
    It was part of Windows 2003 R2, and thus probably requires a server in each end.
    I guess you're able to run it atop an SSL connection or encrypted in some other way.
    If you're worried about encryption you might want to make an IPSEC tunnel between the two nodes, then you can use whatever you want inside that tunnel.

    It's been moved to System Center - http://www.microsoft.com/systemcenter/dataprotectionmanager/en/us/default.aspx - which might require other licenses than for Windows 2003 R2.

    Also, BitTorrents, as suggested elsewhere, would be a possibility.
    Only you need to ensure that you can reliably transfer the .torrent files first....

    But if I were to choose I'd probably suggest using DFS replication since it's very simple - afaik it was improved in Windows 2003 R2 to be block based instead of file based, but I might be wrong on this....

  108. Whoosh! by A+nonymous+Coward · · Score: 1

    Mod parent "-1 dull as dishwater and half as useful".

  109. Disguise as pr0n by Anonymous Coward · · Score: 0

    Rename it hot_chick.avi and it'll be there in no time. And since it's Windows, you could just make it a payload of some malware and let it spread there naturally.

  110. kermit by Anonymous Coward · · Score: 0

    Do you mean a transfer protocol like kermit?

  111. Assured UDP based file transfer systems by TheSync · · Score: 1

    Here are the UDP-based file transfer systems that I prefer:

    Kencast has been the leader in multicast IP satellite file transfer (where all kinds of weird things can happen in Ku band), now they have a system called BlazeBand built for point-to-point IP connections that used their FAZZT Forward Error Correction technology, validation algorithm, and missed packet collector algorithms. I've used FAZZT over satellite, but haven't tried BlazeBand yet.

    Aspera is also widely used as a point-to-point UDP file transfer system in the entertainment industry. I've seen it used to move large video files for network television programming.

  112. Tune your TCP and FTP by kbielefe · · Score: 1

    Most modern networks expect a highly reliable data link with congestion as the primary concern, and are tuned accordingly. You have a highly unreliable data link with little concern about congestion (assuming the microwave link rarely if ever has more than one simultaneous user). The problem is that when a packet is corrupted or lost, the transmitter assumes a crowded pipe and starts slowing down, when you really want it to retransmit as soon as possible. Since it's doing the exact opposite of what's needed to fix the problem, it can compound on itself out of control, eventually causing it to just give up the file transfer altogether. Therefore, you want a short retransmission timeout for TCP, a longer timeout for FTP (or whatever better application layer many people have recommended you try), and a smaller MTU so there is a lower probability of any one given packet getting corrupted or lost.

    Of course, you can go too far the other way too, and the ideal settings are going to be highly dependent on your individual network.

    --
    This space intentionally left blank.
  113. Use WiNRAR by Anonymous Coward · · Score: 0

    Use Winrar to compress and archive a group of files into one files - plus turn on recovery record so if during transmission of your files - if a corruption occurs the recovery record can figure it out.

    Then use ftp/etc to transmit your file across

  114. If Windows on both ends, please use SyncToy 2.0 by Anonymous Coward · · Score: 0

    It uses the Microsoft Sync Framework - we've been using it for database backups for months and *love* it. You just install, set up your source/dest folders through the UI, then run them. For doing so on a schedule, just add a scheduled task for SyncToyCmd.exe -R

    http://en.wikipedia.org/wiki/SyncToy
    http://www.microsoft.com/downloads/details.aspx?familyid=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&displaylang=en
    http://en.wikipedia.org/wiki/Microsoft_Sync_Framework

    If you just wanted "copy with retries" you could go with something simpler like Robocopy, but I think you'll be quite happy with SyncToy!

    http://en.wikipedia.org/wiki/Robocopy

  115. Checksums? by number11 · · Score: 1

    Use any common P2P file-sharing system, preferably one that doesn't require a central server. Gnutella would work fine, I know people do this using Shareaza and Limewire, and probably any other of the clients will work. DC would work. I used WASTE for a while to do this. Probably some other P2P software would work, too. They almost all use hash checks to ensure accurate transmission. Set up a private file sharing network, using one folder on each end, and your files should get transferred 100% error-free between your computers. Should be fairly simple, just don't share C: :) The only downside I can see (outside of the IT people freaking out because you've got a file-sharing program on your computer) is that they're "pull" oriented, rather than "push", so the recipient has to retrieve the files. See also Friend-to-friend and Private P2P

    Like others have said, find out why your network is breaking data in transmission and fixing that would be the more direct fix, but I'm guessing OP doesn't have control over that part.

  116. And you're trolling by Anonymous Coward · · Score: 0

    "mission critical" can mean different levels of paranoia depending on the mission.

    Perhaps this guy's mission is backing up his pr0n - and his current backup approach is almost good enough for that mission, though it's a bit frustrating.

    Other missions might demand digging a concrete trench and laying your own fiber between the computers he's trying to back up (say, if your mission is so important it has to survive the collapse of the major phone companies).

    In most real businesses, though, a failed copy of mission critical data often results in a dissatisfied customer and the resulting customer service damage control -- for which most of the advice on this slashdot thread (rsync, etc) seem appropriate levels of protection.

  117. SSHFS by cenc · · Score: 2, Insightful

    I use sshfs file mounts for all office document file sharing and such, not just one time transfers. SSH encryption security, with the ability to open and edit files over the network. No goofing around with samba or windows file sharing. Regardless, some sort of ssh or sftp at least.

    Not sure about getting it to work on windows, but there should be some options.

  118. Teracopy... by keith_nt4 · · Score: 1

    The poster didn't say anything about scripting but I have noticed that the pro version of teracopy has a original/destination CRC value listed next to each file copied. I don't actually have the pro version and you'd have to get creative with script host (or whatever) to script it but this could very well fullfill your requirements.

    Also, XCOPY has a "verify" flag...better than nothing I suppose...

    --
    "UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie
  119. Guaranteed transmission in downloads by ant_tmwx · · Score: 1

    You can use Metalinks for downloads without errors. It can use whole file checksums, or partial file checksums to repair errors.

  120. Putty, SFTP, CYGWIN by Paracelcus · · Score: 1

    I would think that you would want something more secure that FTP or windows copy, even rsync should be across a secure connection.

    --
    I killed da wabbit -Elmer Fudd
  121. Blast Software by GuyverDH · · Score: 1

    Posted earlier AC...

    http://www.blast.com/cgi-bin/blast.com/view_services.cgi?request=show_aisle_names&dept_id=1

    As I stated earlier - guaranteed file transfers - if it says it's completed, the file is guaranteed to be there and be correct.

    --
    Who is general failure, and why is he reading my hard drive?
  122. Windows-Windows copy? I have the answer. by AppleTwoGuru · · Score: 1

    What you will want to do if you have a Windows machine on each end, is to secure each machine first. That would mean, over-writing the Windows operating system with a Unix/Unix-like system (Linux, BSD, Solaris, Hack-Mac). Then you have (most likely) built-in SFTP servers and clients. That is what I would do. Someone would eventually hack into your Windows system. That is the way Windows is, so that MS or an MS-partner can sell you the antidote to your virus woes (even after your cure your woes, they will come up with something another virus so as to sell you another cure to get your money.) Get security right from the start instead of an add-on. Go with Unix or a Unix clone.

  123. Re:Windows-Windows copy? I have the answer. by AppleTwoGuru · · Score: 1

    This guy is dissin Microsoft. How dare he? FLAIMBAIT. RELGIOUS NUT! OUTDATED idiotic thinking! Throw chairs at him! Microsoft owns the WORLD. It is THE ONLY solution you should ever use. BAWHAWHAHAHAHAHAHAHAW!

    Counter-Anti-Microsoft post paid for by Microsoft

  124. Running by SlashDev · · Score: 1

    a mission critical application under Windows... That in itself is the start of something going bad. TCP does guarantee transmission. The actual copy software will have to do some sort of MD5 check at both ends, in order to verify that content was copied properly. I would suggest you write your own copy script, any copy command would work. For government installation, I would suggest an encrypted copy process, scp, sftp, etc...

    --

    TOP DSLR Cameras Reviews of the top DSLRs
  125. Microsoft Distributed File System Replication by Anonymous Coward · · Score: 0

    Look into Microsoft DFSR. If the servers are 2003 you just need to install the R2 update and configure it. Setup a source folder on your server and a target folder on the destination server. Excellent on a low bandwidth connection.

  126. Torrent? by crowne · · Score: 1

    I'm sure the dodgy government network would love that....

    --
    RTFM is not a radio station.
  127. Both sides Windows, use MSMQ by Anonymous Coward · · Score: 0

    Microsoft Message Queue is a guaranteed data delivery service for unreliable networks that can be configured to use encryption and authentication.

  128. MQ-Series, period. by Anonymous Coward · · Score: 0

    MQ-Series for guaranteed transactions.
    CONNECT:Direct for guaranteed file transfers.

    These are what telecoms, insurance companies and banks use.

    You can play around with other solutions and validation/retry scripts if you like. At home, I do this. At work, I use things that work, every time and recover from failures.

  129. Grr by Anonymous Coward · · Score: 0

    The OP is confused.

    He already has a reliable file transfer program (FTP) and he doesn't need anything new.

    How did this question get past the gate to be published to the site? Doesn't anyone check the questions before they are put up?

    The OP is either not switching to binary transfer or the source file changed during the copy.

  130. PAR2 by Anonymous Coward · · Score: 0

    Par2 while not a transmission protocol provides forward error correction and validation and should prevent the need to retransmit files when corrupted in transit.

  131. DTN? by Anonymous Coward · · Score: 0

    http://www.ietf.org/rfc/rfc4838.txt

  132. True broadcasting with distributed redundancy. by Anonymous Coward · · Score: 0

    I used to work for this company (Kencast). Their specialty (back in the late 90's) was encoding a file with redundant data (user specified %) such that any portion of the file could be lost in transmission and the whole file could still be recovered as long as the % loss did not exceed the % redundancy. This was designed for true satellite broadcasting, with no return traffic.

    http://www.kencast.com/

    Example:
    1 GB source file
    Encode 10% additional data into the file
    1.1 GB encoded file
    Broadcast the encoded file
    Receive the encoded file on the other end (possibly many recipients)
    Decode the file
    As long as no more than 10% of the packets were lost in transmission, each decoded copy of the file match the original exactly.

  133. Break the problem down by cheros · · Score: 1

    You raise questions on various levels, so let me traverse the stack in reverse order.

    Link: just how reliable is it? I assume quality is unpredictable and varies (for instance during mobile and in-theatre deployment), which suggests you need to check for transmission errors in pretty small windows and force a error retransmit ASAP (if you have that capability on your specific type of link).

    Protocol: I won't question using TCP/IP, but I would suggest you may want to ensure you tune the stack to small window sizes, and use UDP as that appears to match your transmission quality. MANET could help as well as that's made for mobile use, but I don't really know anything about it - it just may be an option worth checking.

    FTP and TX security: I'm not sure of how sensitive this data is, but a microwave link does have stray signal issues, and FTP transmits UID and password more or less in cleartext. IMHO not quite desirable, but it depends what you do. In addition, FTP defaults in Windows to ASCII mode which makes a mess of data that is not of Windows origin or is binary. You MUST set to "binary" mode first before you start transmission, which others have already mentioned. In addition, do some tests with checksummed data so when you find differences you can work out if it's your own interpretation or a real problem.

    Personally, I'd grab the PuTTY set and run a SSH session. You can find a server at FreeSSH. Also brutally easy to automate - I expect you're not that much in need of employment that you must generate your own opportunities to watch paint dry :-).

    Good luck...

    --
    Insert .sig here. Send no money now. Owner may sue, contents will settle. Batteries not included.
  134. Z-Modem FTW! by Cytotoxic · · Score: 5, Insightful

    Crappy connection? Resumable transfers? Slow connections? Sounds like the good old BBS days!

    Z-modem is your answer.

    1. Re:Z-Modem FTW! by Anonymous Coward · · Score: 0

      Zmodem is a great answer.

      Used it for years. Author must be happy that it is still a viable file transfer mechanism.

      But getting an acknowledgement per block is really going to slow things down.

      rsync or other may be it's linux equivalent.

  135. Large file sizes got us too by Wee · · Score: 1

    We've seen that too. We had a really slow connection to hosts in Singapore, and they were our only windows boxes. They set up cygwin and rsync, and we had crashes and incomplete files.

    The answer in our case was to move those services to a real server and the not the crufty old former desktops that they were.

    I'd rather boot those machines with LiveCDs and mount the disks read-only before cygwin/rsync on windows. What a pain.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  136. Sounds like better FEC is needed by likecheese · · Score: 1

    I was once in a startup trying to deliver streaming video to tablets/laptops at sporting events via 802.11 wireless networks. Within 30-50 feet of an access point, it worked great, but any further than that and packet loss was too high to decode the video stream. Before our investors pulled the plug, we looked into technology from a company called Digital Fountain. They use a type of forward error correction called raptor codes to make data transmission high resilient to packet loss on unreliable networks. It's a commercial product, but I assume the OP's employer can afford it if they're transmitting "mission critical" files for the government.

  137. WAIT!!! by DRAGONWEEZEL · · Score: 1

    Am I the only one to question whether there is a real problem? Did I read it wrong (ADD so it's possible)

    What if the File allocation size is just different on the two drives? Then the exact same file can, and WILL be different sizes on disk, no harm, no foul, but maybe fowl in the way of the transmision route.

    For instance, if you write a 6k file to a HDD w/ a 4096b allocation size, it's going to take up 8k(ish worth of space, despite the file being 6k.

    Now if you write that same file to a system w/ 512b allocation size, that 6k file will take about 6k.

    And it can get smaller by 4-xkb in a situation where a newer system with a larger allocation size is sending a file to a (usually) older system w/ a smaller allocation size.

    Then again, maybe I failed math. but I thought that's why there's "Size" then "Size on disk"

    --
    How much is your data worth? Back it up now.
  138. IBM's MQ by Anonymous Coward · · Score: 0

    You want IBM's MQ software. Two MQ Servers to talk to one another.
    It's a bit pricy, but guaranteed delivery.

  139. DTN by usman_ismail · · Score: 1

    You need a Disruption Tolerant Network (DTN) solution, there is no commercial DTN's out there that I know off but the DAKNet people at MIT were working on something and a group a U of Waterloo has an implementation. http://www.firstmilesolutions.com/ http://blizzard.cs.uwaterloo.ca/tetherless/index.php/KioskNet

  140. answer to the question by I)_MaLaClYpSe_(I · · Score: 1
    I do also suspect that the CR/LF conversion might be the source of his troubles. Thus, it's not a bug, it's a feature of the ftp protocol. I guess you could simply use binary mode for the ftp transfer.

    Now, let's assume that it's not an CR/LF problem but that instead for some unknown reason the ftp transfers get aborted and thus the file size mismatches.

    Okay, first of all, if you want to guarantee that a file that departed from one system is the very same file after its arrival on another system it is not wise to use the file size for verification, as the two files could have the same length but different contents. Therefore typically md5sum is used. Or better yet, use both MD5 and SHA-1 hashes so nobody could probably ever produce meaningful collisions for both of them at the same time.

    Now, what programs should be used for the transmission itself? Well, that depends on your requirements: Is confidentiality important or is it really just about integrity and availability? Is speed or link saturation a topic? Like, if your current pipe is like 80% full, you probably cannot afford to encrypt your data. Otherwise, of course you should except for like if an IPS/IDS maintainer wants to be able to scan the contents. Let's take a look at both possibilities:

    • First: Confidentiality not an issue but bandwidth/speed/IDS is

    Basically suitable is every tcp data transfer application that does by itself not meddle with the data itself. So this kind of excludes ftp as it can substitute CR/LF (Unix) line brakes with CR (Windows) ASCII text line brakes while transferring data from UNIX to windows and vice versa. But then again, you can use FTP just fine if used in binary mode. However, even the Swiss army knife of network transmissions can be easily used for the purpose of reliably transmitting files from A to B: netcat.

    nc or nc.exe is available for both Windows and Unix and is often used in the forensics world in manual combination with md5 and/or sha-1 hashes to transmit forensic evidence from e.g. a suspect drive to the examiners workstation. Here the chain of evidence would be maintained by recording a hash of the data on the suspect drive, recording a hash of the data on the examiners workstation after arrival and recording the date, time and contents of the transmission. Note that it might be vital to have a log of what has been transferred when so that it can be proven that you sent some data the other party claims to never having received it. So, recapping, e.g. netcat, ftp, SMB/CIFS shares, HTTP and any other TCP based file transfer utility could be used. HTTP and FTP could even be easily scanned for viruses/malware during transit. UDP based file transfer utilities could be used as well as long as the implementation does take care of the integrity. As most likely a short script would be used in order to generate logs containing MD5 and SHA-1 hashes on both sides, the time and date of the transfer and the filename, this script could as well easily handle data retransfers in the case of packet loss.

    • Second an better: confidentiality with some bandwidth and CPU constraints

    Sorry, this posting by now bores me. So, the recap:

    Use SSH (SCP), cryptcat (used among others in forensics for the chain of evidence when confidentiality is an issue), HTTPS, SMIME or any other encrypted transfer tool, really. Hell, you could even generate an encrypted PGP file or whatever with a script and pipe it through whatever data transfer application you want. (Like ftp in binary mode ;) )

    So, overall, what are needed here are two small scripts that do something like this:

    On the sending side:

    10 compute SHA-1 / MD5 hash of a file to be transferred (and optionally compress it) 20 send file 30 receive a SHA-1 / MD5 hash of the transferred file from the receiver 40 compare the hashed 50 complete transaction including logging the date, time, filename and hash, if hashed match 60 else goto 20

    On the receiving side: 10 receive

  141. old skool solution by Anonymous Coward · · Score: 0

    Zmodem baby. Restartable transfers, auto-start by the sender, an expanded 32-bit CRC, and control character quoting. Just make sure you have a 16550 UART.

  142. Re:TCP? VERY GOOD, but, small amendment... apk by Anonymous Coward · · Score: 0

    "Much better to only transfer ZIPs and check them at the other end if you only have control over the endpoints" - by samkass (174571) on Tuesday June 30, @01:45PM (#28531775) Homepage

    I'd have to say that WinRar rar'd files MAY be a better option, because WinRAR offers 4 things that help 'guarantee' good files on delivery when you compress a file using it... they are:

    1.) Create SOLID Archive
    2.) Put authenticity information
    3.) Put recovery record
    4.) Lock Archive

    (For options WinRAR offers for .RAR file, for the sake of file integrity, that you can put into place on files you send, along with MAXIMUM COMPRESSION (for smaller files to transmit/receive, & I generally find RAR files end up tinier than .zip files do, typically, even @ "max compression ratio" for both))...

    Also, increasing the values of these IP settings here -> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters & the default settings for these:

    A.) TcpMaxConnectResponseRetransmissions
    B.) TcpMaxConnectRetransmissions
    C.) TcpMaxDataRetransmissions
    D.) TcpMaxRetransmissionAttempts

    Can help as well! They're decently documented ALL OVER the place online, & going to "the horses' mouth" @ Microsoft is your best option, so you understand them, fully, so you can apply them for your case, specifically (I am not sure if ALL of them help, but some should)!

    (That is, if you are experiencing "broken connects" & files coming back 'phunny' due to bad connections online)...

    APK

    P.S.=> Secure FTP (SFTP) or SSL might be of assist also... in fact, I'd recommend SFTP over SSL actually, because of what it is you are doing: Sending/receiving FILES, specifically here! OTHERWISE though? Hell of a GOOD post samkass... apk

  143. If there's a budget, try this by Anonymous Coward · · Score: 0

    You are looking for SkyPipe by AOS: http://www.aosusa.com/products_and_technologies/skypipe.html It works in exactly this scenario.

  144. Torrent by ill1cit · · Score: 1

    Bit Torrent protocol would be the simplest .

  145. DFS? by POTSandPANS · · Score: 1

    I'm not really a Windows guy, but I seem to remember server 2003 having a Distributed File System (DFS) that might work for this. I think 2k3R2 has an improved version that will only sync the changes to the files as well.

  146. Connect:Direct by Sterling Software by Anonymous Coward · · Score: 0

    I work at a company with thousands of servers - Solaris, Windows, mainframe, even VMS. Connect:Direct runs on all of them. It costs, and it's not the easiest to script, but when you want the file to get there, and want to know exactly when it got there, it's the way to go.

    (I have no financial interest or connection to Sterling Software.)

  147. use NDM by Anonymous Coward · · Score: 0

    Look into NDM / Connect:Direct-- ( not the p2p, the software by sterling ). It's what banks and government agencies use to move files between systems. Auto restart, checkpoints during transfer, compression, etc....

  148. DECnet by Anonymous Coward · · Score: 0

    I'd say DECnet.

  149. look into using XTP by mejustme · · Score: 1

    See XTP: http://en.wikipedia.org/wiki/Xpress_Transport_Protocol Devices that use XTP to help transfer files over satellite links exist. For example: Mentat/Packeteer/Blucoat's SkyX product. (Disclaimer: I used to work for Packeteer, though not on the SkyX product.)

  150. Speaking from a "Windows POV"... apk by Anonymous Coward · · Score: 0

    See subject-line above, per my last post!

    (Upon my re-reading your original reply that I replied to? You were quite generic in terms of using ZIP, & did not note an OS or hardware platform, so, I am just letting you know that my reply is mostly based on a Windows "Point-Of-View" is all... as to be honest, I am not certain IF the .rar format in FULL function is on those other OS & hardware platforms, & I consider myself an "amateur/professional connoisseur (sp?)" of Win32 Softwares over time!)

    Again though - good post on your part, samkass.

    APK

  151. Binary transfers? by mathew7 · · Score: 1

    Since before I started working here, they've been using FTP to upload the files, but many times the copied files are a few kilobytes smaller than the originals.

    Are you sure you are using BINARY transfers? FTP allows "text" tranfers which can transform the CR+LF pair into 1 byte (CR I think). On large files, you could end-up with several KB missing. This transformation actually depends on client and server, not OS (although it was created because of Windows - Unix conventions).

    Regarding what others have said, I don't see how TCP checksumming could affect the file unless a specific attack is made. Even then, it's hard to block the original TCP packet, and altering it will make the receiver transmit a "retransmission request". (I said hard, not impossible)

  152. try rsync instead by Anonymous Coward · · Score: 0

    over ssh tunnel, it is secure, etc...

    over openvpn tunnel, it uses UDP

    ftp is over complicated and prone to trouble.

  153. ZModem by burisch_research · · Score: 1

    Whatever happened to ZModem? It's an amazingly resilient protocol that was used to great effect to transfer files over virtually any phone line, no matter how noisy. It accomplished this by an adaptive algorithm, whereby the block transfer size was either doubled or halved after every few blocks, depending on whether the previous blocks got through the line ok. Where's the equivalent in the modern internet world?? There are millions of people with dodgy or unreliable internet connections -- they would benefit from clients / servers that implemented a modern equivalent.

    --
    char*f="char*f=%c%s%c;main(){printf(f,34,f,34);}";main(){printf(f,34,f,34);}
  154. What about Rysnc? by Golthar · · Score: 1

    http://www.samba.org/rsync/

    Or something like it in Windows.
    It will check the delivered files, retry chunks if needed.
    Much better than just FTP

  155. Reasons why people still use Connect:Direct by chiark · · Score: 1

    If it's truly mission critical (and if it is, it sounds like your mission is in real danger if you keep dropping bytes!), you could do worse than look at Connect:Direct from Sterling Software. It's the standard transmission software for bits of the core financial transaction world in the UK and with good reason.

    Sure it's "only" a secure transmission and there's plenty of free alternatives, but this is one time when I would recommend paying out for the certainty you need... Others will no doubt disagree, but having used a variety of things for mission critical file transmission, C:D is a safe choice.

  156. Message Queuing by Anonymous Coward · · Score: 0

    There is an entire class of software out there called "Message Queueing" systems.
    MQ systems have guaranteed delivery of your message once and only once over any network conditions.
    There are several big name vendors that supply this stuff.
    They usually cost around $5K per copy (please check pricing on your own).
    They run on virtually all operating systems and platforms.

    They work great!

    All the other suggestions you got are crap.
    FTP? Please guys...give me a break.

    Mike M

  157. I do this for a living by Anonymous Coward · · Score: 0

    I been working at doing things like this for a living the last 9 years.

    When you say Mission Critical and Corrupt Files in the same sentence I just had to reply.

    There are a lot of firewalls and FTP clients that actually trashes FTP connections. It all depends on what you are using.
    I would suggest that you either try to find out why the files get trashed. But if the files really are mission critical like you say
    you need some way to make _sure_ they are transfered. It's called Transaction Safety.

    If you can not figure out what's going wrong with your connections (why bytes are cut). Then you need to change protocol.
    Changing it for a encrypted protocol might work, cause if the data in the transmissions gets trashed, the encryption would
    also be trashed and the protocol would cancel the operation. Adding transaction safety to this, you would be resends when
    things blowup. This should ensure you that your file passes though.

    This feels like spam, and it is.. but.. it fits so good, I actually have to write it down for you:
    Our product transfers data from machine to machine over different protocols in a transaction safe way.
    It might be a bit overkill for what you are describing, but we general talk about Mediation to describe what you are trying to solve.

    We can schedule transfers, over different protocols, with the ability to add business logic (translating data from one format to an other on the fly).
    On top of my head, I think any of the following would work for you: FTP, SFTP, SCP (we also talk to webservices, x25, databases, etc.. )

    If this sounds interesting, you contact us (digitalroute.com) for sales material.. but I do not have any :-) I'm just a developer here. /Kristoffer

  158. Waste by Anonymous Coward · · Score: 0

    How about a version of waste like http://waste.sourceforge.net/ or http://wasteagain.sourceforge.net/ ? It's encrypted and if the network connection drops, the transfer just restarts when the connection comes up again.

  159. You're still discussing this? by Anonymous Coward · · Score: 0

    Fer christs sake!
    WinSCP using either SCP or SFTP protocol. End of story. Can't believe this is being asked.

  160. plain-text: !ascii but unencrypted by jonaskoelker · · Score: 1

    SFTP [...] SSL [...] FTP is a plain-text protocol

    Wrong. FTP has a binary mode.

    When we're talking in crypto-mode---as we are, made evident by the references to SFTP and SLL---the words "plain-text" refer not to ascii vs. base64 vs. bin2hex encoding, but whether the data is encrypted or not.

    AFAIK, FTP doesn't have any provisions for encryption.

    Your point is orthogonal to that, so your "Wrong" is wrong: your parent is not wrong. Your point is true, however: FTP does have issues with line endings etc.; rule of thumb: use binary for everything and recode newlines on the client side if need be.

    Using SFTP over an already secure network will only slow things down greatly.

    Sending data unencrypted through the air is not what I consider "secure". So, while true, this point is not particularly relevant (I think).

  161. Run BSD code ftw ;-) by jonaskoelker · · Score: 1

    try the Windows command line FTP

    I vote AYE on this! Everyone knows that BSD code is rock solid ;-)

  162. Candle-who? by tepples · · Score: 1

    TCP is so horrible. I wish HTTP used UDP by default so I wouldn't have the pro

    Kidnapped by CJ too, I take it?

  163. Wiring issues? It's wireless. by tepples · · Score: 1

    If only certain transfers from point to point are commonly failing then you probably have wiring issues. In either a hardware or medium case, you need to be fixing the network instead of finding workarounds.

    Wiring issues? It's wireless. The summary stated that the physical layer is a microwave radio. Radio will always have noise. How many network admins have the domain knowledge to troubleshoot that?

    1. Re:Wiring issues? It's wireless. by rezalas · · Score: 1

      Point to point within the internal network (you know, the one he never said was wireless.) SNR is always an issue with any kind of transmission, not just microwave. BUT, I was talking about the internal network in the building where the OP claims the issue likely resides.

  164. Get a better editor: Notepad++ by tepples · · Score: 1

    Try opening a newlined file with notepad, for example.

    Gedit on my Ubuntu laptop saves with LF newlines, and Windows Notepad can't read them because it expects CRLF newlines. But I add one to Notepad and all is well. In fact, pretty much every text editor but Windows Notepad can handle the differences between UNIX and Windows.

    As for VMS, how much VMS is used in world-facing applications as of June 2009? Even HP, the owner of copyright in VMS after having bought Digital's parent company, uses HP-UX, Linux, or Windows Server on its popular public websites. Even HP's site about VMS was found to use HP-UX. Netcraft confirms it: VMS is dead.

    And if FTP translates oddball operating systems' conventions for text/plain files, why doesn't it do so for image files (.ppm vs. .bmp), audio files (.au vs. .wav), or other MIME types?

    1. Re:Get a better editor: Notepad++ by Obfuscant · · Score: 1
      And if FTP translates oddball operating systems' conventions for text/plain files, why doesn't it do so for image files (.ppm vs. .bmp), audio files (.au vs. .wav), or other MIME types?

      If those image files are stored in a file structure "oddball" to that OS, it does. You need to differentiate between OS-independent application-specific contents (.ppm, .bmp, .au, .wav, etc) and OS-dependent application-irrelevant ones (CRLF Windows line endings, fixed-record VMS files, etc).

      Dealing with a .wav file is completely application dependent; it can happen on any OS. Dealing with a fixed-record length file structure is OS dependent, and once the file is moved from the host OS that information is lost. It has to be converted somewhere, and the easiest place to do that is on the host that knows about that format and how to convert it.

  165. MQSeries by Anonymous Coward · · Score: 0

    Or 'WebSphere MQ' for you young'uns.

    http://en.wikipedia.org/wiki/IBM_WebSphere_MQ

  166. Windows in 1985? by argent · · Score: 1

    This transformation actually depends on client and server, not OS (although it was created because of Windows - Unix conventions).

    OK, I guess technically FTP isn't *quite* older than Windows, but I really don't think there were many people using Windows 1.0 in 1985. :)

    Here's some of the operating systems in use at the time:

    OS/360, VM/CMS, etcetera: IBM operating systems stored text as 80 column card images, padded with spaces.

    VMS and RSX-11 used a one or two byte record length, an optional binary line number, an optional Fortran carriage control character, followed by the text, with null padding added when a line would overlap a block boundary.

    CP/M used carriage return or carriage-return line-feed, depending on the application, with a ^Z character to indicate end of file because files only had block counts, not byte lengths.

    They'd have KILLED to only have to worry about CRLF. :)

  167. TeraCopy by InvisiBill · · Score: 1

    I'm assuming you want something scriptable, but as a regular GUI replacement for Windows' file copy stuff, TeraCopy (http://www.codesector.com/teracopy.php) is quite nice. It's sort of like a GUI version of Robocopy.

    FYI, the 32-bit version integrates perfectly with the Windows shell, but the 64-bit version's integration was a complete pile the last time I tried it (a while ago). It didn't work automatically after the installation, and even the manual integration instructions didn't get it working. TeraCopy is much less useful when you specifically have to open the app and select the source and destination to start the copy.

  168. Windows in 1980? by argent · · Score: 1

    Damn, I picked the wrong RFC.

    FTP dates back to 1980. That's older than MS-DOS.

    1. Re:Windows in 1980? by mathew7 · · Score: 1

      Now that you mention it, yeah, it was NOT because of windows. Unfortunately I only started to work with computers around MS-DOS 3.3 and Windows 3.0 (I don't know the time-line, but those were my first OS and then GUI). I only got introduced to linux and networks in 1995 (1st high-school year).
      My point is that text transfers are murderers to binary files. I have not encountered any binary file over 50K that was not damaged (can you say missing 1 byte). But no damage to files because of network failiure. I did have a damaging transfer with NetBIOS (the 3rd protocol used in Win95 besides TCP/IP and IPX).

  169. Good windows transfer program by Malenx · · Score: 1

    Terracopy is a great program for copying files inside windows. It does error checking and supports resume if your connection drops.

    You can download the home edition at http://www.terracopy.com/ to give it a try.

    I had issues with copying about 300gb of backups around different servers until I installed that, works great.

    1. Re:Good windows transfer program by Malenx · · Score: 1
  170. Live Sync or BITS by Xenophon+Fenderson, · · Score: 1

    We have similar needs, only we're exchanging files across dodgy Internet connections (e.g., satellite links to sites in the developing world). Our requirements including operation over low-bandwidth connections and the ability to suspend and resume transfers. We settled on Windows Live Sync, since it works on Mac OS X in addition to Windows, and because it required no additional software development effort on our part. Had Live Sync not been available, we would have developed our own wrapper around BITS. Because BITS is an extension to HTTP, it degrades gracefully into something interoperable with non-Windows clients. (BITS would also work over a private network, but that wasn't a feature we required.)

    --
    I'm proud of my Northern Tibetian Heritage
  171. Irony.... by jotaeleemeese · · Score: 1

    ... is not the tool you use to remove the creases from your shirts.

    --
    IANAL but write like a drunk one.
  172. Yeah, whatever.. by jotaeleemeese · · Score: 1

    What do you suggest? That he introduces optical fiber to the middle of Nowhereville?

    Some times you have to deal with less than ideal situations for your job, yo will certainly have to explain that you'll find constraints, and yes, sometimes you may have to say that something is not possible, but mission critical does not mean what you think it does....

    --
    IANAL but write like a drunk one.
  173. I agree with this. by jotaeleemeese · · Score: 1

    Connect:Direct is what the banks use.

    It is cross platform and relatively easy to implement.

    --
    IANAL but write like a drunk one.
  174. Danger Will Robinson! Slashdot "Experts"! by fm6 · · Score: 0, Flamebait

    Using modern encryption like SSH does guarantee that things *have to add up* since keeping what you start with a secret

    When you first wrote this it went against what (little) I knew about encryption. I'm very weak on the math, but I know that some encryption algorithms use a rotor model, meaning that they're just a software implementation of the rotor encryption machines used during WW II (Enigma being the most famous.) So it just doesn't make sense that a transmission error would screw up the process.

    I still can't say that no encryption algorithm will choke if there's a transmission error, but I now know for a fact that 3DES (the encryption SSH uses by default) won't. And yes, 3DES is a rotor algorithm.

    I decided to get my hands dirty with the DES software on Linux. (3DES is just DES with bigger keys.) Took a text file, encrypted, changed a single bit, decrypted. That one-bit change turned 10 bytes into garbage! Rest of the file was fine.

    SSH has an option to use Blowfish instead of 3DES. Don't understand that algorithm well enough to say how it would handle transmission errors, and don't have time to set up a test.

    1. Re:Danger Will Robinson! Slashdot "Experts"! by fm6 · · Score: 1

      Presenting results of an experiment is "flamebait"? Please.

  175. SCTP by AF_Cheddar_Head · · Score: 1

    I recently worked on a government program that had some of the same requirements that you describe. Lockheed-Martin proposed that they create a custom protocol to do this at the cost of about a zillon dollars. Some research turned up SCTP "http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol" which is now available in Windows. We were using an implementation for Solaris.

  176. FTP Support Nightmare by Anonymous Coward · · Score: 0

    If you're just sending files to yourself, then you can probably choose FTP and still live a productive and meaningful life.

    However, if you have users, I strongly recommend against using FTP.

    I had to set up a FTP server so that some business partners could send us regular bulk updates.

    Setting up the firewalls was a nightmare. Did you know that FTP uses 2 socket connections? One for command and another for data. I didn't. The ports used for the second data socket are arbitrary. I know almost nothing about TCP/IP, networks, etc. and had zero control over the network administration. Imagine trying to resolve firewall issues alongside other know-nothings.

    The FTP protocol has evolved over time, making configuration a nightmare. Being a legacy protocol, the client and server aren't smart enough to negotiate the protocol settings. No, you have to tell the user exactly how to configure their client. Some fun. Most the users were domain experts, not even IT monkeys or devs. "It doesn't work" was about the extent of the feedback I'd get.

    Eventually, I ended up surveying the FTP clients the customers were using, installing them all on my machine, figuring out how to get all those fuckers configured, documenting (with screen captures) all the settings, and hope the users followed my instructions exactly. This process took months.

    Don't even think about using FTP+SSH. Every client and server handles those things differently. If use a self-signed certificate and the clients freak out with warnings, so then the users think they're being hacked. I used FileZilla, which wasn't horrible. But getting that fucker to use my certificate was a chore.

    My recommendation is to use secure copy over SSH. Putty is a pretty simple, if butt ugly, client.

  177. STR# by tepples · · Score: 1

    Dealing with a fixed-record length file structure is OS dependent

    I can create fixed-record-length files in UNIX, Windows, Windows Mobile, or any other operating system that supports ANSI C. Writing a record looks something like the following (untested):

    fseek(fp, recordNumber*recordLength, SEEK_SET);
    int ok = fwrite(record, recordLength, 1, fp);

    But after reading this file I'm starting to see how deep the rabbit hole goes. A "stream" text file under VMS is a familiar '\n'-delimited list of strings, but a "non-stream" text file is a list of 16-bit-aligned Pascal strings. Likewise, classic Mac OS had the '\r'-delimited list of strings (TEXT files and TEXT resources) and the list of Pascal strings (STR# resources), but I never thought of STR# as a "text file" as much as a "list of distinct strings".

    1. Re:STR# by Obfuscant · · Score: 1
      But after reading this file I'm starting to see how deep the rabbit hole goes.

      Yes, isn't VMS fun? The files on THAT system (and many other "old" systems) aren't just "fixed-record-length" because the user wrote the code to treat them that way, the file system itself enforced it.

      As I recall, there was a program called "convert" that would change a file from one thing into another, but it required an obtuse and complicated set of parameters. It might have had an option to "make this file look like that file", but I'm not sure.

      It was one of the early precepts of Unix that files be "strings of bytes" that the application would deal with, instead of the OS itself. Even so, "strings of bytes" doesn't cover things like Unicode or CRLF/NL differences.

      Another wonderful part of VMS was that it ran on the VAX, which didn't follow IEEE753 rules for floating point numbers, and I had the wonderful pleasure of writing code to convert raw data files (with floating point numbers) from VAX to 68000 to whatever.

  178. IBM WebSphere MQ by Manic+Miner · · Score: 1

    It costs money, but buy the file transfer edition. You get reliable and encrypted data transmission.

    Simple :)

    --
    If you ever drop your keys into a river of molten lava, let'em go, because, man, they're gone.
  179. Cygwin w/ rsync over ssh by goatbar · · Score: 1
    Installing cygwin w/ cron, rsync and ssh is the only way to fly if you have to go by windows....

    $ cygrunsrv -I cron -p /usr/sbin/cron -a -D
    $ net start cron

    Or... install some linux distro and get the real thing

  180. Kermit is your friend by gimme00 · · Score: 1

    Kermit is your friend. You could also use zmodem with sliding windows :)