What kind of error checking does TCP have? I know that it seems to know when it loses packets, but is there any function to check the validty of packets recieved? If there is faulty hardware (IE switch or router)/connections/wiring, would it detect corrupt packets or just silently accept and try to interpret them? In case you haven't noticed, I am parnoid about data corruption, and yesterday I sneezed on my router so I am freaking out about it possibly being damaged and leading to corrupt downloads/upload/data transfers.