您的位置:首页 > 理论基础 > 计算机网络

计算机网络学习(3)

2015-05-31 22:46 441 查看
数据链路层

数据链路层使用信道主要有两种类型:点对点信道、广播信道。

数据链路的概念:物理线路+通信协议,以及实现这些的硬件和软件

点对点信道的数据链路层通信步骤:

(1)结点A把网络层发下来的IP包加上首部和尾部封装成帧;

(2)A把帧发送到B的数据链路层

(3)若结点B收到帧无差错,则从帧中提取出IP包,发送到网络层,否则丢弃这个帧

无论数据链路层用什么协议,有三个基本问题:封装成帧、透明传输、差错检测

1 封装成帧



MTU最大传送单元,帧的数据部分的长度上限

使用SOH(十六进制0x01)和EOT(0x04)作为帧的起始和结束。

2 透明传输

如果帧的数据中出现EOT或SOH,那么会导致帧检测的错误,无法进行透明传输,解决这个问题的方法就是遇到SOH或EOT时就在前面加ESC转义字符,遇到ESC就前面再加,这样在接收时会检测ESC来保证正确的接收数据。

3 差错检测

传输过程中bit1变成了0,0变成了1,就是bit差错,这就有了误码率的概念,误码率与信噪比相关,信噪比越高误码率越低。

实际通信链路,误码率不可能为0,所以传输时必须采用各种差错检测措施。

目前广泛使用的就是CRC校验。

经过CRC校验后的数据可以认为接收无差错,但是并没有向网络层提供“可靠传输“服务,所谓“可靠传输“就是,数据链路层发送端发什么,接收端就接收到什么,现在解决了bit错误,但还有可能出现传输错误,例如帧丢失、帧重复、帧失序,这些事CRC无法校验的。

OSI的观点是必须保证数据链路层是可靠传输的,这就在CRC的基础上加上帧编号、确认、重传机制,但是现在因特网不使用确认和重传机制,不要求链路层为上层提供可靠传输,因为这样开销太大,改正错误的任务由上层协议(例如TCP)来完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: