TCP不一定可靠

TCP不一定可靠。

TCP保证可靠的机制是对数据进行checksum计算并传输校验值。

然而有时候就是会出现数据错误却通过校验值检验的奇葩情况。比如

Amazon S3 在2008年7月就遇到过,单bit反转导致了一次严重线上事故,所以他们吸取教训加了 check sum。见http://status.aws.amazon.com/s3-20080720.html

因此TCP不一定可靠。有条件的话可以在通信协议中增加自己的校验机制。

另外在05年年代,本人当时使用1GHz左右的AMD CPU,彼时发生一系列奇怪的时间,双系统其中之一不断崩溃,下载的文件校验出错,那时我还怪下载软件对BT下载下来的数据没校验。最后直到一次编写了一个算法,固定的输入参数产生不固定结果的时候,才发现原来是CPU有问题,所以导致了TCP下载下来的软件可能和源数据不同。

阅读更多
个人分类: 杂文
上一篇笔记-各处理器乱序模型
下一篇某次面试谈到无锁双向链表
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭