文章目录
前言:
数据链路层是实现设备之间通信的非常重要的一层
- 网络中的主机、路由器等都必须实现数据链路层
- 局域网中的主机、交换机等都必须实现数据链路层
- 仅从数据链路层观察帧的流动
- 注:不同的链路层可能采取不同的数据链路层协议
数据链路层使用的信道
点对点通信
:使用一对一的点对点通信方式广播通信
:使用一对多的广播通信方式,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
一、使用点对点信道的数据链路层
1.1数据链路和帧
链路
:是一条无源的点到点的物理线路段,中间没有任何其他的交换接结点。- 一条链路只是一条通路的一个组成部分。
数据链路
:除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。- 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
- 一般的适配器都包括了数据链路层和物理层这两层的功能。
数据链路层传送的是帧。
1.2三个基本问题
1.2.1 封装成帧
封装成帧
:就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
- 首部和尾部的一个重要作用就是进行
帧定界
。
- SOH:控制字符,放在一帧的最前面,表示帧的首部开始。
- EOT:控制字符,表示帧的结束。
1.2.2 透明传输
- 如果数据中的某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误地“找到帧的边界”。
解决透明传输问题
:
- 解决方法:字节填充或字符填充。
- 发送端·的数据链路层在数据中出现控制字符SOH或EOT的前面插入一个转义字符“ESC”。
- 如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符ESC。
透明
:指某一个实际存在的事物看起来却好像不存在一样。
1.2.3 差错控制
在传输的过程中可能会产生比特差错:1可能会变成0,而0可能也变成1。
误码率
:在一段时间内,传输错误的比特所占传输比特总数的比特率称为误码率BER。
(1)循环冗余检测CRC
原理:
- 在发送端,先把数据划分成为组。假定每组k个比特。
- 在每组M后面再添加供差错检测用的n位冗余码,然后一起发送出去。
冗余码的计算:
(2)帧检验序列FCS
- 在数据后面添加上的冗余码称为帧检验序列FCS。
- 循环冗余检验CRC和帧检验序列FCS并不等同。
- CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
- FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。
注意:
- “无比特差错”与“无差错传输”是不同的概念。
- 在数据链路层使用CRC检验,能够实现无比特差错的传输,但这不是可靠传输。
- 要做到“无差错传输”(即发送什么就收到什么)就必须加上确认和重传机制。
二、点对点协议PPP
2.1 PPP协议的特点
(1)PPP协议应满足的需求
简单
封装成帧
:必须规定特殊的字符作为帧定界符。透明性
:必须保证数据传输的透明性。多种网络层协议
:能够在同一条物理链路上同时支持多种网络层协议。多种类型链路
能够在多种类型的链路上运行。差错检测
:能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。检测连接状态
:能够及时自动检测出链路是否处于正常工作的状态。最大传送单元
网络层地址协商
数据压缩商
(2)PPP协议不需要的功能
- 纠错
- 流量控制
- 序号
- 多点路线
- 半双工或单工链路
(3)PPP协议的组成
- 一个将IP数据报封装到串行链路的方法。
- 链路控制协议LCP
- 网络控制协议NCP
2.2 PPP协议的帧格式
- PPP帧的首部和尾部分别为4个字段和2个字段
- 标志字段F = 0x7E
- 地址字段A只置为0xFF。地址字段实际上并不起作用
- 控制字段C通常置为0x03
- PPP是面向字节的,所有的PPP帧的长度都是整数字节。
透明传输问题:
- 当PPP用在异步传输时,就使用一种特殊的字符填充法。
- 当PPP用在同步传输链路时,协议规定采用硬件来完成 比特填充。
- 在发送端,发现有5个连续的1,则立即填入一个0
- 在接收端中,当发现5个连续1时,就把5个连续1后的一个0删除。
2.3 PPP协议的工作状态
- 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
- PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)
- 这些分组及其响应选择一些PPP参数,并进行网络层配置,NCP的PC机分配一个临时的IP地址,是PC机成为因特网上的一个主机。
- 通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。
可见,PPP协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。
三、使用广播信道的数据链路层
3.1 局域网的数据链路层
(1)局域网拓扑结构
(2)共享信道带来的问题
- 若使用一对多的广播通信方式
- 问题:若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。
(3)媒体共享技术
- 静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
- 动态媒体接入控制(多点接入)
- 随机接入
- 受控接入
(4)以太网的两个标准
- 可以将
IEEE802.3
局域网简称为“以太网” - 严格来说,“以太网”应当是指符合
DIX Ethernet V2
标准的局域网。
(5)数据链路层的两个子层
逻辑链路控制LLC子层
- LLC子层与传输媒体无关
- 不管采用任何协议的局域网,对LLC子层来说都是透明的。
- 一般不考虑LLC子层
媒体接入控制MAC子层
- 与接入到传输媒体有关的内容都放在MAC子层
(6)适配器的作用
- 网络接口板又称为通信适配器或网络接口卡NIC,或“网卡。
- 适配器的重要功能:
- 进行串行/并行转换
- 对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议
3.2 CSMA/CD协议
在总线上传播如何避免同时发送产生的碰撞?采用CSMA/CD
(1)以太网采取的两种重要的措施
- 采用较为灵活的无连接的工作方式
- 以太网发送的数据都使用了曼切斯特编码。
(2)以太网提供的服务
CSMA/CD
:载波监听多点接入/碰撞检测。- “多点接入”:表示许多计算机以多点接入的方式连接在一根总线上。
- “载波监听”:是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
- “碰撞检测”:就是计算机边发送数据边检测信道上的信号电压大小。
- 所谓“碰撞”就是发生了冲突。因此,“碰撞检测”也称为“冲突检测”。
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要
立即停止发送
,免得继续浪费网络资源,然后等待一段随机时间
后再次发送。
(3)为什么要进行碰撞检测
-
争用期
- 最先发送数据帧的站,在发送数据帧后至多经过时间2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
- 以太网的端到端往返时延2τ称为争用期,或碰撞窗口。
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
(4)二进制指数类型退避算法
(5)10Mbit/s以太网争用期的长度、
- 10Mbit/s以太网取51.2us为争用期的长度。
- 对于10Mbit/s以太网,在争用期内可发送512bit,即64字节
这意味着:以太网在发送数据时,若前64字节没有发生冲突,则后序的数据就不会发生冲突。、
(6)CSMA/CD协议的重要特性
- 使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
- 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
3.3 使用集线器的星形拓扑
集线器
:采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高额的设备,叫做集线器。
(1)集线器的一些特点
- 使用集线器的以太网在逻辑上仍然是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
- 集线器很像一个多接口的转发器,工作在物理层。
3.4 以太网的信道利用率
多个站在以太网上同时工作就可能会发生碰撞。当发生碰撞时,信道资源实际上是浪费了。因此,当扣除碰撞所造成的信道损失后,以太网总的信道利用率并不能达到100%。
(1)参数a与利用率
以太网对a的要求:
- 参数a的值应当尽可能小些
- 当数据率一定时,以太网的连线长度受到限制,否则T的数值会太大。
- 以太网的帧长不能太短,否则T0的值会太小,使a值太大。
(2)信道利用率的最大值Smax
3.5 以太网的MAC层
3.5.1 MAC层的硬件地址
- 在局域网中,硬件地址又称为物理地址,或MAC地址。
注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确的说,这种48位地址应当是某个接口的标识符,
(1)48位的MAC地址
- 唯一扩展标识符必须保证生产出的适配器没有重复地址。
- MAC地址实际上就是适配器地址或适配器标识符EUI-48.
(2)单站地址、组地址、广播地址
- IEEE规定地址字段的第一字节的最低位为I/G位。(Individual/Group)
- 当I/G位 =0时,地址字段表示一个
单站地址
- 当I/G位 =1时,地址字段表示一个
组地址
,用来进行多播。 - 所有48位都为1时,为广播地址。只能作为目的地址使用。
当I/G位分别为0和1时,一个地址块可分别生成223个单站地址和223个组地址。
(3)全球管理与本地管理
- IEEE把地址字段第一字节的最低第2位规定为G/L位,表示Global/Local。
- 当G/L位 = 0时,是全球管理(保证全球没有相同的地址)。
- 当G/L位 = 1时,是本地管理,这时用户可任意分配网络上的地址。
(4)适配器检查MAC地址
-
适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。
- 如果是发往本站的帧则收下,然后再进行其他的处理。
- 否则就将此帧丢弃,不再进行其他处理。
-
“发往本站的帧”包括以下三种帧:
- 单播帧(一对一)
- 广播帧(一对全体)
- 多播帧(一对多)
-
所有的适配器都至少能识别前两种帧
-
只有目的地址才能使用广播地址和多播地址。
3.5.2 MAC帧的格式
- 类型字段用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。
- 数据字段的正式名称是MAC客户数据字段。最小长度64字节-18字节的首部和尾部 = 数据字段的最小长度(46字节)。
- 当数据字段的长度小于46字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧不小于64字节。
(1)无效的MAC帧
- 数据字段的长度与长度字段的值不一致。
- 帧的长度不是整数个字节。
- 用收到的帧检验序列FCS查出有差错。
- 数据字段的长度不在46-1500字节之间。
- 有效的MAC帧长度为64-1518字节之间。
对于检查出的无效MAC帧就简单的丢弃。以太网不负责重传丢弃的帧。
(2)帧间最小间隔
- 帧间最小间隔为9.6us,相当于96bit的发送时间。
- 一个站在检测到总线开始空闲后,还要等待9.6us才能再次发送数据。
- 这样做是为了使刚刚收到的数据帧的站的接收缓存来得及清理,做好接受下一帧的准备。
四、扩展的以太网
4.1 在物理层扩展以太网
使用光纤扩展
- 主机使用光纤(通常是一对光纤)和一对光纤调制解调器连接到集线器。
- 很容易使主机个几公里以外的集线器相连接
使用集线器扩展
:将多个以太网段连成更大的、多级星形结构的以太网。- 使原来属于不同碰撞域的以太网上的计算机能够进行跨域碰撞的通信。
- 扩大了以太网覆盖的地理范围。
- 碰撞域增大了,但总的吞吐量并未提高。
- 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将他们互连起来。
碰撞域
:又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。
4.2 在数据链路层扩展以太网
- 交换式集线器常称为以太网交换机或第二层交换机,强调这种交换机工作在数据链路层。
(1)以太网交换机的特点
- 以太网交换机实质上就是一个多接口的网桥。
- 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
- 以太网交换机具有并行性。
- 相互通信的主机都是独占传输媒体,无碰撞地传输数据。(以太网交换机的每个接口是一个碰撞域。)
(2)以太网交换机的交换方式
- 存储转发方式:把整个数据帧先缓存后再进行处理
- 直通方式:接收数据帧的同时即立即按数据帧的目的MAC地址决定该帧的转发接口。
(3)以太网交换机的自学习功能
(4)生成树协议
生成树协议STP
:不改变网路的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
4.3 虚拟局域网
虚拟局域网VLAN
:是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪个VLAN。
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型的局域网。
(1)虚拟局域网优点
- 改善了性能
- 简化了管理
- 降低了成本
- 改善了安全性
(2)划分局域网的方法
- 基于交换机端口
- 基于计算机网卡的MAC地址
- 属于第二层
- 基于协议类型
- 基于IP子网地址
- 基于高层应用或服务
(3)虚拟局域网使用的以太网帧格式
VLAN标记
:在以太网的帧格式中插入一个4字节的标识符,用来指明该帧属于哪一个虚拟局域网。
- 插入VLAN标记得出的帧称为802.1Q帧或带标记的以太网帧。
五、高速以太网
5.1 100BASE-T以太网
高速以太网
:速率达到或超过100Mbit/s的以太网称为高速以太网
-
100BASE-T以太网的特点
- 在全双工方式下工作时,不使用CSMA/CD协议
- MAC帧格式仍然是802.3标准规定的。
- 保持最短帧长不变,但将一个网段的最大电缆长度减小到100米
- 帧间时间间隔从原来的9.6us改为0.96us
5.2 吉比特以太网
- 允许在1Gbit/s下以全双工和半双工两种方式工作
(1)半双工方式工作的吉比特以太网
- 载波延伸
- 分组突发
5.3 10吉比特以太网(10GE)和更快的以太网
- 只工作在全双工方式
5.4 使用以太网进行宽带接入
- PPPoE:在以太网上运行PPP