目录
数据链路层的定义
基于OSI七层模型中,数据链路层位于第二层,在TCP/IP五层模型中和物理层一同并入物理接口层,接受从物理层传来的不可靠数据流,建立和释放链路并进行可靠的传输,使用的信道有两种类型:点对点和广播
作用
数据链路层的作用主要有三大类:
一:封装成帧
链路层的协议数据单元----帧,数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出交给网络层。
帧的结构主要分为三部分:首部+数据+尾部
帧首部 | 帧的数据部分 | 帧尾部 |
<=MTU
在每一种的链路层协议中都规定了所能传送的帧的数据部分长度上限---MTU(最大传送单元),默认1500。那在链路层中怎么区分每一个帧呢,我们采用控制字符来进行帧定界,SOH(01 二进制为00000001)表示首部开始,EOT(04 二进制为00000100)表示尾部结束
二:透明传输
透明传输的定义即传输的数据得是完整的
但是如果在数据中出现EOT字符将会出现数据丢失的危险,无法完成可靠性传输,我们可以采用字节填充法来解决。
具体方法:发送端的数据链路层在数据中出现控制字符的前面插入一个转义字符,而在接受端的数据链路层在把数据送往网络层之前删除这个插入的转义字符
三:差错检测
为了提高传输的可靠性,就要在传输过程中进行差错检测保证透明传输,而在数据链路层最常用的方法就是循环冗余检验CRC的检错技术。
被除数;发送方原码 除数:P(X),生成多项式(X^3+X^2+1 ,则P=1101)
CRC步骤:
1.补0(在被除数后补上比除数少一位个数的0)
2.异或(相同为假,不同为真)
3.取余(余数总比除数少一位)
除数越大,检错能力越强。但CRC只能确保传输过程中无差错,但两端是否正确收到不能保证,可能会出现帧丢失、帧重复、帧失序的情况,所有要有确认、重传机制等(后面在传输层TCP协议会具体介绍)
运用的协议
ppp协议(广域网)
下章介绍~~~