数据链路层基本功能:封装成帧,透明传输,差错检测。
封装成帧:是在帧数据的首部和尾部加上帧首部和帧尾部,就是在首部和尾部加上特定的控制字符(SOH,SOT)遇到问题:数据中有相同的比特流;解决方法:透明传输。
透明传输:控制字符在数据中仍当作正常数据进行处理:在相同数据报中加上转义字符,从而使得数据报中的数据进行转义;遇到问题:物理层只管传输比特流,不进行控制是否出错。解决方法:差错检测。
差错检测:
A)奇偶校验码:检测比特流是否出错的方法。例如:
00110010__ (填上奇偶校验码)0+0+1+1+0+0+1+0=3(奇数填写1)
00111010__ (填上奇偶校验码)0+0+1+1+1+0+1+0=4(偶数填写0)
遇到问题:在传输过程中如果偶数个比特位出错则出现传输错误检测不到的情况。
B)循环冗余校验码(CRC校验):
模“2”除法:异或算法
异或特点:0 or 0=0;0 or 1=1;1 or 1=0; 1 or 0=0;
1:选定一个用于校验的多项式G(X),并在尾部添加r个0;
2ÿ