第三章 数据链路层

目录

 数据链路

数据链路层信道

链路与数据链路

数据链路层解决的问题

封装层帧

透明传输

差错检测

两种情况下的数据链路层

1. 点到点通信数据链路层协议

PPP协议

PPP协议帧格式

 字节填充-实现透明传输

零比特填充法-实现透明传输

 不使用序号和确认机制

PPP协议的工作状态

2. 使用广播信道的数据链路层 CSMA/CD协议(学习笔记丢失)

MAC层的硬地址(MAC地址)

无效的MAC帧

帧间最小间隔

如何扩展以太网

使用网桥和交换机优化以太网


 数据链路

 数据链路层接受到数据后查看帧头和帧尾,进行差错检验,交给网络层,然后再回到链路层,重新分装,更改MAC地址,加上帧头和帧尾, 加上校验和,交给物理层传输。数据链路层不关心物理层的事,不关心是模拟信号还是数字信号,只关心从哪里开始收,到哪里结束,以及是否出现了错误。

数据链路层信道

点对点信道:使用一对一的点对点通信方式

广播信道:使用一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。

链路与数据链路

链路:一条点到点的物理线路段,中间没有任何其他的交换结点。

数据链路:除了物理线路外,还必须有通信协议来控制数据的传输。若把实现这些协议的硬件和软件都加到链路上,就构成了数据链路,

  • 现最常见的方法是使用适配器(即网卡)来实现这些协议的硬件和软件
  • 一般的适配器都包括了链路层和物理层这两层的功能。

 帧头 帧尾 物理层地址  校验值

数据链路层解决的问题

封装层帧

确定帧的界限 帧界定(首部和尾部)

 用控制字符进行帧界定的方法举例

 

问题:如果帧还未发送完,发送端出现了问题,只能重发此帧。接收端收到了前面的"半截子帧",它会抛弃码?为什么?

  • 若传输的数据是ASCII码中的"可打印字符(共95个)"集时,一切正常。
  • 若传输的数据不是仅由"可打印字符"组成时,就会出现以上的问题。

透明传输

解决方式

  • 发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"(其十六进制编码是1B)
  • 字节填充和字符填充--接受端的数据链路层在将数据送往网络层之前删除插入的转义字符
  • 如果转义字符也出现在数据中,那么应在转义字符前插入一个转义字符当接受端收到连续的两个转义字符时,就删除其中前面的一个。

在发送的时候插入额外的一些字符,在收的时候删除这些字符。

差错检测

传输过程中可能会产生比特差错:1可能会变成0,0可能会变成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER

误码率与信噪比有很大的关系

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采取各种差错检测措施。数据链路层只负责接受正确的数据帧,错误的直接丢弃,不进行可靠的传输控制,可靠传输控制由传输层进行控制,通常使用CRC循环冗余检验

 原本需要传递的数据时101001,然后还需要加上余数001(FCS,帧检验序列),最终传输的数据会是101001001.

接受方如何检查有没有错误呢?

还是作除法,除数还是1101,如果余数为0,则说明没错,否则表明出错,需要扔掉,不进行接受。但这种检测方法并不能确定是哪一个或哪几个比特出现了差错,只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小

注意:循环冗余校验CRC和帧检验序列FCS并不等同

  • CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
  • FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。

两种情况下的数据链路层

1. 点到点通信数据链路层协议

现在全世界使用得最多的数据链路层协议是点对点协议(PPP协议),用户使用拨号电话线接入因特网时,一般都是使用PPP协议。

PPP协议

 由三个部分组成

  • 数据链路层协议可用于异步串行或同步串行介质
  • 使用LCP(链路控制协议)建立并维护数据链路连接,具有身份验证和计费的功能,如果ADSL拨号至ISP失败,意味着链路层无法使用,只有链路层协议通了,网络层才能通。
  • 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议,如图:

PPP协议帧格式

A字段是固定的,因为是点到点的协议,不需要使用地址。

 字节填充-实现透明传输

 如果PPP协议里封装的不是字节流,而是二进制流。

零比特填充法-实现透明传输

 不使用序号和确认机制

  • 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理
  • 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
  • 帧检验序列FCS字段可保证无差错接受

PPP协议的工作状态

  • 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
  • PC向路由器发送一系列的LCP分组(封装成多个PPP帧)
  • 这些分组及其响应选择一些PPP参数和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC成为因特网上的一个主机
  • 通信完毕后,NCP释放网络层连接,收回原来分配出去的IP地址。
  • 接着,LCP释放数据链路层连接。
  • 最后释放的是物理层的连接。

2. 使用广播信道的数据链路层 CSMA/CD协议(学习笔记丢失)

MAC层的硬地址(MAC地址)

  • 在局域网中,硬件地址又称为物理地址,或MAC地址
  • IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(即高位24位)
  • 地址字段中的后三个字节(即低位24位)由厂家自行指派,称为扩展标志符号,必须保证生产出的适配器没有重复地址。
  • 一个地址块可以生成2^{24}个不同的地址。这种48位地址称为MAC-48,它的通用名称时EUI-48
  • “MAC"地址实际上就是适配器地址或者适配器标识符EUI-48

适配器检查MAC地址

适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址

  • 如果是发往本站的帧则收下,然后再进行其他的处理
  • 否则就将此帧丢弃,不再进行其他的处理

"发往本站的帧"包括以下三种帧:

  • 单播帧(一对一)
  • 广播帧(一对全体)
  • 多播帧(一对多)

无效的MAC帧

  • 帧的长度不是整数个字节
  • 用收到的帧检验序列FCS查出有差错
  • 数据字段的长度不在46~1500字节之间
  • 有效的MAC帧长度位64~1518字节之间
  • 对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧

帧间最小间隔

  • 帧间最小间隔位9.6\mu s,相当于96bit的发送时间
  • 一个站在检测到总线开始空闲后,还要等待9.6\mu s才能再次发送数据,这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接受下一帧的准备。

如何扩展以太网

使用网桥和交换机优化以太网

在数据链路层扩展局域网使用网桥

网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发,

网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口。

然后网桥的接口越来越多,所有的计算机都直接连在交换机上就可以,不用再连接在集线器上,也就成了现在的交换机。交换机也能自己学习MAC表,交换机连的网是存储转发的。用交换机连的网可以是全双工通信。

 

以太网(集线器) 》 网桥设备 》 交换机 端口带宽独享 安全  基于MAC地址转发  通过学习构建MAC地址表 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值