计算机网络-3.数据链路层


3.数据链路层

3.1 概述

  • 链路:从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
  • 数据链路:把实现通信协议的硬件和软件加到链路上。
  • 数据链路层以帧为单位传输和处理数据。
  • 数据链路层要解决的三个问题:封装成帧、差错检测、可靠传输。

3.2 封装成帧

  • 封装成帧:将上层交付的协议数据单元添加帧头和帧尾使之成为帧。其中帧头和帧尾包含有重要的控制信息,作用之一是帧定界。
  • 透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。

面向字节的物理链路使用字节填充法实现透明传输;面向比特的物理链路使用比特填充的方法实现透明传输。

  • 为了提高帧的传输效率,应当使帧的数据部分尽可能大些。
  • 每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU(Maximum Transfer Unit)。

3.3 差错检测

  • 比特在传输过程中可能会产生差错,1变成0,0变成1,这称为比特差错。
  • 奇偶校验:在待发送的数据后面添加1位奇偶校验位,使整个数据中1的个数为奇数或偶数。有奇数个位发生误码,可以检查出误码;偶数个位发生误码,检查不出误码。
  • 循环冗余校验CRC(Cyclic Redundancy Check):收发双方预定好一个生成多项式,发送方基于发送数据和生成多项式计算出差错检测码,将其添加到待传输的数据后面一起传输;接收方通过生成多项式来计算收到的而数据是否产生了误码。
  • 检错码只能检测出是否出现差错并不能定位差错,因此无法纠正错误。

3.4 可靠传输

3.4.1 基本概念

  • 不可靠传输:仅仅丢弃有误码的帧。
  • 可靠传输:想办法实现发送端发送什么,接收端就收到什么。

  • 一般情况有线链路误码率较低,无须实现可靠传输;无线链路误码率高,必须实现可靠传输。

  • 传输差错:比特差错、分组丢失、分组失序、分组重复。
  • 可靠传输并不仅局限于数据链路层,其他各层均可选择实现可靠传输。

3.4.2 停止-等待协议SW(Stop-and-Wait)

思想很简单,发送端收到接收端发来的上一帧确认信号才可以发送下一帧,并且加入了超时重传机制。

3.4.3 回退N帧协议GBN(Go-Back-N)

设置一个窗口,在窗口内的分组可以发送通过流水线的方式发送出去。接收方的通过一个窗口大小为1的接收窗口来接收。接收方每接收一个分组就向发送方发回一个对应分组的ACK。只有当发送窗口内所有分组的ACK都接收到,发送窗口才可以向前滑动。

3.4.4 选择重传协议SR(Selective Request)

和回退N帧类似,但是接收方的接收窗口可以大于1。

3.5 点对点协议PPP

  • 主要由三部分组成:1.对各种协议数据报的封装方法(封装成帧)2.链路控制协议LCP,用于建立、配置以及测试数据链路的连接。 3.一套网络控制协议NCPS,其中的么额欸一个协议支持不同的网络层协议。

3.6 媒体接入控制 Media Access Control(MAC)

3.6.1 基本概念

  • 共享信道要考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制。
  • MAC分为两种:
    • 静态划分信道:频分多址、时分多址、码分多址
    • 动态接入控制:受控接入(已淘汰)、随机接入

3.6.2 静态划分信道

  • 频分复用FDM:

  • 时分复用TDM:

  • 波分复用WDM:

  • 码分复用CDM:

每一个比特时间再划分为m个短的间隔,称为码片(Chip)。通常m取64或128,简单起见我们m取8。

一个站如果要发送比特1,则发送它自己的m bit码片序列;一个站如果要发送比特00,则发送他自己的m bit码片序列的二进制反码。

分配给每个站的码片序列必须各不相同;分配给每个站的码片序列必须相互正交(规格化内积为0)。

3.6.3 动态接入控制-随机接入

  • 要解决的问题是在信道复用时, 信道上发送信息冲突的问题。
  • 载波监听多址接入/碰撞检测 CSMA/CD(Carrier Sense Multiple Access/Collidion Detection)

多址接入MA:多个站连接在一条总线上,竞争使用总线。

载波监听CS:每一个站在发送帧之前要检测一下总线上是否有其他站点在发送帧。

碰撞检测CD:每一个正在发送帧的站边发送边检测碰撞。

  • 载波监听多址接入/碰撞避免 CSMA/CA(Carrier Sense Multiple Access/Collidion Avoidance),一般用于无线局域网。

3.7 MAC地址、IP地址以及ARP协议

3.7.1 MAC地址

  • 属于数据链路层的地址,当多个主机连接在同一个广播信道上,要想实现两个主机之间对的通信,则每个主机必须有一个唯一标识,即一个数据链路层地址。
  • 在每个主机发送的帧中必须携带标识发送主机和接收主机的地址,由于这类地址是用于媒体接入控制MAC,因此这类地址被称为MAC地址。也称硬件地址,一般被固化在网卡中。
  • 严格来说,MAC地址是对网络上个接口的唯一标识,而不是对网络上各设备的唯一标识。
  • IEEE 802局域网的MAC地址格式:

3.7.1 IP地址

  • IP地址属于络层的地址,是因特网上的主机和路由器所使用的地址,用于标识两部分信息:1.网络编号,标识因特网上数以百万计的网络。2.主机编号,标识同一网络上的不同主机(或路由器各接口)。
  • IP地址和MAC地址的区别?

1.IP地址和MAC地址都可以区分设备,但是MAC地址不具备区分各网络的功能,而IP地址可以。

2.数据包转发过程中源IP地址和目的IP地址保持不变;而源MAC地址和目的MAC地址逐个链路或逐个网络改变。

3.7.3 ARP协议

  • ARP协议用于解决知道IP地址,如何求出MAC地址的问题。

3.8 集线器与交换机

3.8.1 集线器

  • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议;并且只工作在物理层;一般有少量的容错能力和网络管理能力。

使用双绞线和集线器HUB的星型以太网:

使用集线器HUB在物理层扩展以太网:

3.8.2 以太网交换机

  • 和集线器的区别在于,集线器给所有设备发送信息,交换机只给目标地址发送信息。交换机比集线器的优势很大,因此集线器基本被淘汰了。

以太网交换机通常有多个接口,每个接口可直接与一台主机或另一个以太网交换机相连,一般以全双工方式工作。

具有并行性,能同时连通多对接口,使多对主机能同时通信,无碰撞(不适用CSMA/CD协议)。

工作在数据链路层(也包括物理层),它收到帧后,在帧交换表中查找目的MAC地址所对应的接口号,然后通过该接口转发帧。

3.9 以太网交换机自学习和转发帧的流程

  • 以太网交换机工作在数据链路层(也包括物理层)。
  • 以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
  • 以太网交换机是一种即插即用设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法逐渐建立起帧交换表。
  • 帧交换表中的每条记录都有自己的有效时间,到期自动删除,这是因为MAC地址与交换机接口的对应关系并不是永久性的。比如交换机的接口改接了另一台主机或者主机更换了网卡。

3.10 以太网交换机的生成树协议STP

  • 本节讲的是如何提高以太网的可靠性。
  • 通过添加冗余链路可以提高以太网的可靠性,但是同时带来了问题—形成了网络环路。网络环路会带来以下问题:广播风暴、主机收到重复的广播帧、交换机的帧交换表震荡(漂移)。
  • 因此,使用以太网交换机的生成树协议STP可以既增加冗余链路又避免网络环路。

3.11 虚拟局域网VLAN

3.11.1 概述

  • 当广播域过大时会带来很多问题,比如广播风暴、难以管理和维护以及潜在的安全问题。因此需要分割广播域。
  • 分割广播域的方法:

使用路由器可以隔离广播域,但是路由器的成本较高。

使用虚拟局域网VLAN(Virtual Local Area Networl)技术也可以分割广播域。VLAN将局域网内的设备分成与物理位置无关的逻辑组,这些逻辑组有某些共同的需求。

3.11.2 实现机制

  • IEEE 802.1Q帧(也称Dot One Q帧)

通过对以太网的MAC帧格式进行扩展,加入4字节的VLAN标记:

当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变成802.1Q帧,称为“打标签”;

当交换机转发802.1Q帧时,可能会删除其4字节的VLAN标记转变为普通以太网帧,称为“去标签”。

  • 交换机的端口类型:Access、Trunk、Hybrid

Access端口一般用于连接用户计算机,并且只能属于一个VLAN。

Trunk端口一般用于交换机之间或交换机与路由器之间的互联,可以属于多个VLAN。

Hybrid端口既可用于交换机之间或交换机与路由器之间的互联(同Trunk),也可用于交换机与用户计算机之间的互联(同Access),可以属于多个VLAN。


文章作者: foursevenlove
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 foursevenlove !
 上一篇
计算机网络-4. 网络层 计算机网络-4. 网络层
4. 网络层4.1 概述 主要任务:实现网络互连,进而实现数据包在各网络之间的传输。 需要解决的问题: 网络层向运输层提供怎样的服务(可靠传输还是不可靠传输)。 网络层寻址问题。 路由器选择问题。
下一篇 
计算机网络-2.物理层 计算机网络-2.物理层
2.物理层2.1 基本概念 传输媒体: 导引型传输媒体:双绞线、同轴电缆、光纤 非导引型传输媒体:微波通信(2~40GHz) 物理层协议的主要任务: 机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置。 电气特性
  目录