【MOOC】计算机网络与通信技术笔记(北交)(3)数据链路层


授课老师:北京交通大学 刘彪

三、数据链路层

1、数据链路层概述

数据链路层使用的信道

  • 点对点信道(网线)这种信道使用一对一单播的点对点通信方式。
  • 广播信道(无线局域网)这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

数据链路层的简单模型

路由器有传输层应用层,但用不到
在这里插入图片描述

链路和帧

  • 链路 (link) 是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。又称为“物理链路”。一条链路只是一条通路的一个组成部分。
  • 数据链路 (data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件(适配器、网卡)加到链路上,就构成了数据链路。又称为“逻辑链路”。
    现在最常用的方法是
    使用适配器(即网卡 )来实现
    这些协议的硬件和软件。
    一般的适配器都包括了数据链路层和物理层这两层的功能。

  • 网络层 IP数据报
    数据链路层 首部+IP数据报+尾部 = 帧
    物理层 比特流
    在这里插入图片描述
  • 数据链路层不必考虑物理层如何实现比特传输的细节。也就是说物理层对数据链路层是透明的,不会让链路层知道比特流传输细节。

2、三个基本问题

封装成帧

  • 封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
  • 首部和尾部的一个重要作用就是进行**帧定界。**确定帧从哪开始到哪结束
    在这里插入图片描述

透明传输

  • 当传输的数据均为ACSII码的文本文件时,没有问题;
  • 当传输的数据为非ACSII码的文本文件时,用做帧定界的控制字符时;
    SOH:01(ACSII码)
    EOT:04(ACSII码)
    在这里插入图片描述
  • 解决方法:字节填充 (byte stuffing) 或字符填 充 (character stuffing):发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符 “ESC” (其十六进制编码是 1B)。接收端删去再转义字符。
  • 若如果转义字符也出现在数据当中,那么应在转义字符前面再插入一个转义字符 ESC
  • 字节填充法
    在这里插入图片描述
  • 比特填充法
    每五个 1 后面加一个 0

差错检测

  • 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
  • 在一段时间内,传输错误的比特占所传输 比特总数的比率称为误码率 BER (Bit Error Rate)(常用来判断信道好坏)。
  • 误码率与信噪比有很大的关系。
  • 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施:纠错和检错
  • 纠错码举例—— 海明码
  • 检错码举例—— 校验和(单片机,几个数据加起来求和)、奇偶校验(奇校验:有奇数个0)、循环冗余码(CRC)(检错能力强、开销小、编码器。检测电路)
  • 循环冗余检验(CRC) 检错思想:
    收发双方约定一个生成多项式P(x)(其最高阶和最低阶系数必须为1),发送方在信息帧的末尾加上校验码R(x) ,使带校验码的帧的多项式能被P(x)整除;接收方收到后,用P(x)除多项式,若有余数,则传输过程有错(无法确定错误位置和数量)。若余数为零,有错的可能性很小。
  • 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受 (accept)
  • CRC计算
    —— 注意需添加的位数为多项式位数减一;
    —— 每次运算只向后移1位,也即每次被除数与多项式位数相同,此时最高位为1则商1,为 0则商0;
    —— 最后余数不足n(添加的位数)位的前面需要补充0
    —— 注意模二运算(异或,相同为0,不同为1)
  • 差错检测只能实现比特错误检测,不能实现传输错误检测(帧重复、丢失、失序),因此无法实现“可靠传输”,须加上确认和重传机制。

3、点对点协议PPP

PPP协议

  • 对于点对点的链路,目前使用得最广泛的数 据链路层协议是点对点协议 PPP (Point-to- Point Protocol)
  • 用户使用拨号电话线接入互联网时, 用户计算机和 ISP 进行通信时所使用的数据链路层协议就是 PPP 协议。
  • PPP 协议在1994年就已成为互联网的正式标准。
  • 不是可靠传输

PPP协议应满足的需求

  • 简单 —— 这是首要的要求。
  • 封装成帧 —— 必须规定特殊的字符作为帧
    定界符。
  • 透明性 —— 必须保证数据传输的透明性。
  • 差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
  • 支持多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
  • 支持多种类型链路 —— 能够在多种类型的链路上运行。
  • 检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。
  • 设置最大传送单元 —— 必须对每一种类型的 点对点链路设置最大传送单元 MTU (1500B)的标准默认值,促进各种实现之间的互操作性。
  • 网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
  • 数据压缩协商 —— 必须提供一种方法来协商 使用数据压缩算法。

PPP协议不需要的功能

• 纠错
• 流量控制(传输层实现)
• 序号
• 多点线路(只支持一对一)
• 半双工或单工链路,PPP协议“只支持全双工链路”

PPP协议的组成

  • 一个将IP数据报封装到串行链路的方法,能够支持同步和异步链路。
  • 链路控制协议LCP(LinkControl Protocol),用来建立、配置和测试数据链 路连接。
  • 网络控制协议NCP(NetworkControl Protocol),满足对网络层协议的支持。

PPP协议的帧格式

在这里插入图片描述

  • PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。
  • 标志字段 F = 0x7E (二进制表示是 01111110)。表示帧的起始和结束
  • 地址字段 A 只置为 0xFF,控制字段 C 通常置为 0x03 ,实际这两个字段上并不起作用。
  • PPP 有一个 2 个字节的协议字段。其值
    —— 若为 0x0021,则信息字段就是 IP 数据报。
    —— 若为 0x8021,则信息字段是网络控制数据NCP。
    —— 若为 0xC021,则信息字段是 PPP 链路控制数据LCP。
    —— 若为 0xC023,则信息字段是鉴别数据。
  • 尾部第一字段2个字节,是使用CRC的帧校验序列 FCS
  • PPP 是面向字节的,所有的 PPP 帧的长度都是整数 字节。

PPP协议的透明传输问题

  • 为了避免信息段中出现标志字段0x7E
  • 当 PPP 用在同步传输链路时,协议 规定采用硬件来完成零比特填充。(插入一个比特)在发送端,只要发现有 5 个连续 1,则立即在后面填入一个 0,否则会被误认为是标志字段 F(0111 1110)。
  • 当 PPP 用在异步传输时,就使用一 种特殊的字符填充法。(插入一个字节)
    (1)将信息字段中出现的每一个 0x7E 字节转变 成为 2 字节序列 (0x7D, 0x5E)
    (2)若信息字段中出现一个 0x7D 的字节, 则将其 转变成为 2 字节序列 (0x7D, 0x5D)
    (3)若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变(RFC1662中有详细的规定)。
    总之就是在0x7D, 0x5E之前加一个0x7D 字节

PPP 协议不使用序号和确认机制

  • 数据链路层出现差错的概率不大时,使用 比较简单的 PPP 协议较为合理。
  • 在因特网环境下,PPP的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的
  • 帧检验序列FCS字段可保证无差错接受
  • 总结:链路层出差错几率不大,又有CRC进行检错保证比特传输,就算可靠传输了也无法保证到了网络层不出错,因此没必要。

PPP 协议的工作状态

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

PPP协议的状态图

在这里插入图片描述

4、局域网的数据链路层(广播)

局域网

  • 在较小的地理范围内,利用通信线路将许多数据设备连接起来,实现彼此之间的数据传输和资源共享的系统称为局域网。
  • 特点:网络为一个单位所拥有;地理范围和站点数目均有限。
  • 主要优点
    具有广播功能,从一个站点可很方便地访问全 网。局域网上的主机可共享连接在局域网上的 各种硬件和软件资源。
    便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
    提高了系统的可靠性、可用性和残存性

以太网的两个标准

• 70年代中期由施乐公司( Xerox )提出,数据率为2.94Mb/s,称为Ethernet(以太网)( 最初人们认为电磁波是通过“以太”来传播的)
• 经DEC(美国数字设备公司), Intel 和 Xerox公司改进为10Mb/s标准(DIX标准)
– DIX V1(1980)、DIX V2(1982)-Ethernet II
– 特征:基带传输、总线拓扑、CSMA/CD、同轴电

DIX Ethernet V2 是世界上第一个局域网产品( 以太网)的规约。
IEEE 802.3 是第一个 IEEE 的以太网标准。
• 将 802.3 局域网简称为“以太网”。严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网 。
• 定义速率为10Mb/s的以太网为“传统以太网 ”, 100Mb/s的以太网为“快速以太网” 。

IEEE 802

  • 参考模型
    在这里插入图片描述
  • 系列标准
    在这里插入图片描述

数据链路层的两个子层

IEEE 802 委员会将局域网的数据链路层拆成两个子层:
—— 媒体接入控制 MAC (Medium Access Control)子层。
—— 逻辑链路控制 LLC (Logical Link Control) 子层
与接入到传输媒体有关的内容都放在 MAC 子层,而 LLC 子层则与传输媒体无关。由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了。很多厂商生产的适配器上就仅装有 MAC 协议而没有 LLC 协议。

适配器

  • 网络接口板又称为通信适配器 (adapter)网络接口卡 NIC (Network Interface Card),或“ 网卡”。
  • 适配器的重要功能:
    – 进行串行/并行转换。
    – 对数据进行缓存。
    – 在计算机的操作系统安装设备驱动程序。 – 实现以太网协议。
    在这里插入图片描述

5、CSMA-CD协议

以太网的连接

用广播的形式实现一对一单播。计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数 据帧。
在这里插入图片描述

以太网的两种措施

为了通信的简便,以太网采取了两种重要的措施:

  • 采用较为灵活的无连接的工作方式,以太网提供的服务是不可靠的交付,即尽最大努力的交付。
    —— 不必先建立连接就可以直接发送数据。
    —— 对发送的数据帧不进行编号,也不要求对方
    发回确认。
    —— 这样做的理由是局域网信道的质量很好,因 信道质量产生差错的概率是很小的。
  • 以太网发送的数据都使用曼彻斯特 (Manchester) 编码(整跳变为1,负跳变为0)

媒体共享技术

  • 静态划分信道:频分复用、时分复用、波分复用、码分复用(不适合计算机)
  • 动态媒体接入控制(多点接入):随机接入(CSMA/CD)、受控接入,如多点线路探询(polling) ,或轮询。

CSMA/CD

CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。电磁波在总线上总是以有限的速率传播。只能进行半双工通信。这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

  • 载波监听”Carrier Sense:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
  • 多点接入”Multiple Access:许多计算机以多点接入的方式连接在一根总线上。
  • 碰撞检测”Collision Detection:[kəˈlɪʒən dɪˈtɛkʃən] 就是计算机边发送数据边检测信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大 (互相叠加)。 当一个站检测到的信号电压摆动值超过一 定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
  • 一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

争用期

又叫碰撞窗口,最先发送数据帧的站,在发送数据帧后至多经过时间 2τ (往返时延,两倍的端到端传播时延)就可知道发送的数据帧是否遭受了碰撞
检测到碰撞——数据失真——停发,退避一段时间——重传

  • 截断二进制指数类型退避算法
    —— 确定基本退避时间,一般是取为争用期2τ – 定义重传次数k,k≤10,即k = Min[重传次数, 10]
    —— 从整数集合[0,1,2,3, …,(2^k-1)]中随机地取出 一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
    —— 当重传达16次仍不能成功时即丢弃该帧, 并向高层报告。
  • 争用期:10 Mbit/s 以太网(传统以太网)取 51.2 μs 为争用期的长度。
  • 最短有效帧长:对于 10 Mbit/s 以太网(传统以太网) ,在争用期内可发送 512 bit,即 64 字节。 这意味着:以太网在发送数据时,若前 64 字节(2τ时间内)没有发生冲突,则后续的数据就不会发生冲突。
  • 如果发生冲突,就一定是在发送的前 64 字节之内。
    由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。
    以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
  • 先听再发
  • 边发边听
  • 碰撞停止
  • 随机延发

6、使用集线器的星形拓扑

采用双绞线的以太网采用星形拓扑,在星形的中心可以利用一种可靠性非常高的设备,叫做集线器 (hub)

10BASE-T双绞线以太网

1990 年,IEEE 制定出星形以太网 10BASE-T 的标准 802.3i
在这里插入图片描述

集线器

集线器是多端口的中继器,属于物理层设备。
功能进行信号整形和放大
使用集线器的以太网在逻辑上仍是一个总线网, 各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。

双绞线的连接标准

主机和路由器相连接,使用直连方法。
当两个同类连接时,要使用交叉连接方法。

7、以太网的MAC层

MAC地址

在局域网中,硬件地址又称为物理地址 ,或 MAC 地址。 802 标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符——网卡地址。
IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种。生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM。
6字节6x8=48 位的 MAC 地址一个地址块可以生成 2^24 个不同的地址。(前三字节区分生产厂家,后三字节3x8=24位位扩展唯一标志符)

单站地址/组地址/广播地址
  • 地址字段的第一字节的最低位为 I/G 位。I/G 表示 Individual / Group。
    —— 当 I/G位 = 0 时,地址字段表示一个单站地址。
    —— 当 I/G位 = 1 时,表示组地址,用来进行多播(或组播)。此时,IEEE 只分配地址字 段前三个字节中的 23 位。
    —— 所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。
适配器检查 MAC 地址

适配器从网络上每收到一个 MAC 帧就首先用硬件检查(不通过CPU) MAC 帧中的 MAC 地址。如果是发往本站的帧则收下,否则就将此帧丢弃。
所有的适配器都能够识别单播地址和广播地址(全1)。有的适配器可用编程方法识别多播地址。
只有目的地址才能使用广播地址和多播地址。

MAC 帧的格式

1、 DIX Ethernet V2 标准
2、 IEEE 的 802.3 标准
在这里插入图片描述
最常用的 MAC 帧是以太网 V2 的格式。
首部6+6+2,IP数据报46~1500,尾部4
目的地址和源地址:MAC地址6字节;类型:标志上一层所用协议;尾部FCS
首部和尾部共18字节,最小帧长为64字节,所以数据部分最小为64-18=46字节,不够46字节的要填充
在这里插入图片描述
以太网用的是曼彻斯特编码,其特点是每一位都进行跳变。 为了达到比特同步,MAC帧在实际传输时,要加一个8字节。前 7 个字节是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符, 表示后面的信息就是 MAC 帧。

无效的 MAC 帧

帧的长度不是整数个字节;
用收到的帧检验序列 FCS 查出有差错;
数据字段的长度不在 46 ~ 1500 字节之间。
(只丢弃,不重传)

8、以太网的拓展

在这里插入图片描述

物理层扩展

  • 使用光纤扩展:主机使用光纤(通常是一对光纤)和一对光纤调制解调器连接到集线器。
  • 使用集线器扩展:使用多个集线器可将多个独立的以太网连成更大的、多级星形结构的以太网。
    在这里插入图片描述
    缺点:碰撞域增大了,但总的吞吐量并未提高。

数据链路层扩展

早期使用网桥,现在使用以太网交换机。

  • 网桥工作在数据链路层,根据 MAC 帧的目的地址对收到的帧进行转发和过滤
交换机

交换式集线器常称为以太网交换机 (switch)第二层交换机 (L2 switch) 。
• 多端口
• 全双工
• 并行工作

存储转发: 以太网交换机的接口有存储器, 能在输出端口繁忙时把到来的帧进行缓存。
• 以太网交换机是一种即插即用设备,其内部 的帧交换表(又称为地址表)是通过自学习算法(自行记录主机MAC地址对应接口)自动地逐渐建立起来的。
查找交换表中与收到帧的目的地址有无相匹配的项目。如没有,则向所有其他接口(进入的接口除外)转发,也即广播。
在这里插入图片描述
• 以太网交换机使用了专用的交换结构芯片, 用硬件转发,其转发速率要比使用软件转发的网桥快很多。
集线器:10M总带宽要分给每个人,用交换机的话每个用户都可以独享10M

9、虚拟局域网

VLAN

利用以太网交换机可以很方便地实现虚拟局域网 VLAN (Virtual LAN)。他是由一些局域网网段构成的与物理位置无关的逻辑组。虚拟局域网其实只是局域网给用户提供的一种服务, 而并不是一种新型局域网。虚拟局域网是用户和网络资源的逻辑组合。虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息 (即“广播风暴”)而引起性能恶化。
在这里插入图片描述

虚拟局域网的以太网帧格式

在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记 (tag)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值