Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
01-26-2014, 12:26 PM
|
#1
|
Senior Member
Registered: Jul 2009
Posts: 1,303
Rep:
|
If OSI layers correct errors, how can an http download still fail md5sum?
Just downloaded a 3 GB iso image using http and tested it with md5sum. It failed. Downloaded the file again and the md5 sum tests ok now
Errors are supposed to be handled by some of the layers of the OSI model and not just the physical layer, in order to provide a reliable service over an unreliable physical medium.
Why might such a thorough scheme have failed to correct the error in the download above?
Last edited by Ulysses_; 01-26-2014 at 03:00 PM.
|
|
|
01-26-2014, 04:09 PM
|
#2
|
Senior Member
Registered: Jan 2012
Distribution: Slackware
Posts: 3,348
Rep: 
|
The error most likely occurred at one of the endpoints.
As you say, both TCP data and IP/TCP headers are protected by checksums. While these are not foolproof, the chance of a datagram with a random error generating the same checksum as the uncorrupted version of that same datagram is very slim indeed.
However, bit errors occurring before the web server served the data, or after the data was received by the client, could still go unnoticed. This would include: - errors generated by the hard drive(s) on the server (not terribly likely as the data are checksummed, but it has been known to happen)
- errors on the SATA bus or SATA chipset (the latter is not all that uncommon, while the former is usually caught by parity checking)
- faulty RAM on the server, especially if non-ECC RAM is used
- faulty server NIC (especially if the NIC supports TCP checksum offloading)
- NIC/PCIe bus/RAM/SATA chipset/hard drive errors on the client
- and last but not least: bugs in the web browser, especially with regards to cache handling
Considering the vast number of components involved in such a seemingly simple transaction, it's really remarkable that we don't see errors like that more often.
|
|
|
01-27-2014, 02:19 AM
|
#3
|
Senior Member
Registered: Jul 2009
Posts: 1,303
Original Poster
Rep:
|
Thanks. If server hardware produces errors, then wouldn't that be noticed and fixed? Or is a mean time between errors of a few hours acceptable and common?
|
|
|
01-27-2014, 02:30 AM
|
#4
|
Senior Member
Registered: Jan 2012
Distribution: Slackware
Posts: 3,348
Rep: 
|
If the errors occur before the data is segmented by the IP stack, and if no other mechanism detect those errors, they won't be noticed nor corrected. The most common scenario is bad non-ECC RAM; unless programs segfault of kernels crash, you'll never know it happened unless you verify the data (as you did).
Buggy or faulty chipsets can also introduce errors. Parity checking on the Hypertransport bus or the PCIe bus is of no use if the data corruption occurs before the data is put on the bus.
No, a mean time of a few hours between errors is not acceptable, it indicates faulty hardware or seriously buggy software. On servers with ECC memory I see perhaps one correctable error per year.
|
|
|
01-27-2014, 07:31 AM
|
#5
|
Senior Member
Registered: Jul 2009
Posts: 1,303
Original Poster
Rep:
|
Now I'm getting worried about my PC ram and other hardware too. How do I know all existing files are ok? Or whether new ones I create myself are corrupted?
|
|
|
01-27-2014, 07:44 AM
|
#6
|
Senior Member
Registered: Jan 2012
Distribution: Slackware
Posts: 3,348
Rep: 
|
Run memtest86+ overnight. If there are no errors, you can be reasonably sure your RAM is OK.
|
|
|
All times are GMT -5. The time now is 06:54 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|