计算机网络 - 数据链路层

计算机网络 - 数据链路层

一、基本的服务

将源自网络层来的数据可靠的传输到相邻节点的目标机网络

二、功能

最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。

帧编码和误差纠正控制

三、三个基本问题

1、封装成帧

将网络层传送的分组加上首部(SOH start of header)和尾部(EOT end of transmission)即组成了帧

2、透明传输

        无论什么样的比特组合数据,都能够按照原来的样子没有差错的通过数据链路层,即数据链路层相当于透明一样,对数据透明。

        为了解决透明传输的问题,必须设法使数据中出现的控制字符“SOH”和“EOT”在接收端不被解释为控制字符,在数据中的控制字符前面加上转义字符“ESC”(十六进制编码为1B,二进制为00011011)

3、差错控制

       比特传输过程出现错误,如0变为1,1变为0等,即称为比特差错,一段时间内,传输错误的比特所占所传输的比特总数的比率称为误码率,为此广泛使用的技术是循环冗余校验CRC(Cyclie Redundancy Check)的检测技术。

        假定发送K个比特,现假定传送的数据为M=101001 (K=6) ,CRC运算即在数据M后加上差错检测的n位冗余码,然后构成一个大帧发出去,一共发送了k+n位。n位的冗余校验码由模2运算所得。

         这n位冗余码可用以下方法得出。用二进制的模2运算进行2^n乘M的运算,这相当于在M后面添加n个0。得到的(k +n)位的数除以收发双方事先商定的长度为(n +1)位的除数P,得出商是Q而余数是R(n位,比Р少一位)。假定M=101001(即k=6)。假定除数P=1101(即n =3)。经模2除法运算后的结果是:商= 110101(这个商并没有什么用处),而余数R = 001。这个余数R就作为冗余码拼接在数据M的后面发送出去。这种为了进行检错而添加的冗余码常称为帧检验序列FCS(Frame Check Sequence)。因此加上FCS后发送的帧是101001001(即2"M+FCS),共有(k+n)位。

       在接收端把接收到的数据一帧位单位进行CRC校验,把受到的没一个帧都除以相同的除数P(模2运算),然后检查得到的余数R。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值