概念
在学习TCP之前,我们需要推敲一下可靠的字面意思。
解释
下面是百度百科对“可靠”的解释:
1. 可以信赖依靠。 清 史致谔《禀左宗棠》:“至属吏中结实可靠之员,职道於十月中旬曾具禀加考密陈。” 老舍 《四世同堂》四七:“她看出来朋友们确是比瑞丰还更亲近,更加可靠。”
2. 真实可信。 鲁迅《书信集·致台静农》:“最可恨地是所闻的多不可靠。” 曹禺《日出》第二幕:“你怎么知道谣言一定可靠?”
我觉得两个解释已经可以涵盖了通信的两个问题了。
- 真实可信
你接收的信息是否是真实的可以被信任的? 信息会被完全或近似的复现吗?-信息差错
- 可以信赖依靠
你的通信过程可以完全信任依赖下层的传输吗?下层会丢失你传送的信息吗?-信息丢失
可靠可以描述计算机或者其他事物,毕竟信息传递任何事物都是一样的。
问题
不可靠性的来源:信道的噪声。因为信息传递过程中总会被各种各样的噪声干扰,所以信息传递是不可靠的。
例子
现实世界
- 人与人的对话。
人与人讲话会听不清楚,比如:你在一个KTV包间中,你用平时的音量向另一个人讲话,另一个人可能根本听不到或清不清楚或断断续续等等各种情况。因为你的信息在信道传播时被噪声干扰导致信息由差错或信息丢失。
- 领导对下属安排工作。
领导对下属说明了一系列的任务列表:A、B、C、...、Z二十六个任务,下属可能只得到A、B、D、Z四个。因为领导的信息在员工这个信道中丢失。
计算机世界
- 手机打电话。手机打电话信息传递使用的是波,波在空中传播,传播过程中可能会被屏蔽或其他东西干扰,导致电话双方听不到信息或听到断断续续的信息。因为你的信息在信道传播时被噪声干扰导致信息由差错或信息丢失。
- 电脑通信
你的电脑在和其他电脑通信过程中可能由于你的网卡故障、网线松动、路由器故障、路由器丢包等等一系列原因导致信息由差错或信息丢失。
- 黑客攻击。
综上:信息传递主要会有信息差错和信息丢失。
解决方案
信息差错
- 差错检测
知道此次收到的信息是否有差错就需要一个检测手段,通过了检测就被认为信息没有差错,没有通过就被认为信息有差错。
- 信宿反馈
检测到了信息由差错,直接反馈这个错误给信源,由信源来根据场景解决这个差错。
- 重新发送信息
收到了差错反馈,信源一般会选择重新发送这个信息或者有其他解决方案。
信息丢失
- 信息多个副本
传送信息的时候,将一个信息发N遍(就像一句话说N遍一样)。
- 重传
重传需要检测是否丢失,丢失了就重新发送。
参考
- https://baike.baidu.com/item/%E5%8F%AF%E9%9D%A0/3444426
- 计算机网络-自顶向下方案(原书第七版)