第三章:计算机网络之数据链路层微课版

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、数据链路层的概述
    • 1.1 为什么需要数据链路
    • 1.2 数据链路层的基本术语
    • 1.3 数据链路层的三个基本功能
      • 1.3.1 数据链路层的功能
      • 1.3.2 封装成帧
      • 1.3.3 透明传输
      • 1.3.4 差错检测
  • 二、点对点协议 PPP
      • 2.1 PPP 协议要求
      • 2.2 PPP 协议应满⾜的需求
      • 2.3 PPP 协议的组成
      • 2.4 PPP 帧格式
      • 2.5 PPP 协议的同步传输和异步传输
      • 2.6 PPP 协议的透明传输
      • 2.7 可靠传输问题
      • 2.8 PPP 工作状态
  • 三、使用广播信道的的数据链路层
    • 3.1 局域网的数据链路层
    • 3.2 CSMA/CD协议
    • 3.3 使用集线器的星形拓扑
    • 3.4 以太网的信道利用率
    • 3.5 以太网的MAC层
  • 四、扩展的以太网
    • 4.1 物理层上扩展以太网
    • 4.2 数据链路层上扩展以太网
    • 4.3 虚拟局域网
  • 总结


前言

数据链路层是物理层的服务对像,负责传输帧。


一、数据链路层的概述

1.1 为什么需要数据链路

物理层解决了相邻结点透明传输⽐特的问题,用电信号或光信号。
物理层没有解决的问题:

  • 传输错误问题,发送端发送⽐特1,⽽接收端收到⽐特0,接收端⽆法知道接收的是否正确?
  • 谁接收的问题,多个设备连接问题:谁能发送数据?数据发送给谁?谁负责接收和处理?
  • 传输结束问题,如何知道⼀组数据即将到来?这组数据何时结束?
    从协议栈上看数据链路层解决的是直连网络(点对点信道、广播信道)帧的传输问题,在水平层面上看到是帧。

1.2 数据链路层的基本术语

链路: 一段点到点的物理线路段。
数据链路: 一段点到点的逻辑通道,除了物理线路外,还要有通信协议来控制这些数据的传输。
:链路层协议数据单元,封装网络层的数据报。
数据链路层:负责通过一条链路从一个结点向直接相连的相邻结点传送帧。
网卡:实现物理层和数据链路层协议。

1.3 数据链路层的三个基本功能

1.3.1 数据链路层的功能

  1. 在物理层的基础上向网络层提供服务
  2. 加强物理层传送原始比特的功能
  3. 对网络层表现为一条无差错的链路
  4. 将可能出错的物理连接变为逻辑上无差错的数据链路

1.3.2 封装成帧

封装成帧:(framing) 就是在⼀段数据的前后分别添加⾸部和尾部,然后就构成了⼀个帧。⾸部和尾部的⼀个重要作⽤就是进⾏帧定界,确定帧的界限。
在这里插入图片描述
如何成帧:当数据是由可打印的 ASCII 码组成的⽂本⽂件时,帧定界可以使⽤特殊的帧定界符。 控制字符 SOH (Start Of Header) 放在⼀帧的最前⾯,表示帧的⾸部开始,控制字符 EOT (End Of Transmission) 表示帧的结束。
第三章:计算机网络之数据链路层微课版_第1张图片

1.3.3 透明传输

如果数据中的某个字节的⼆进制代码恰好和 SOH 或 EOT ⼀样,数据链路层就会错误地“找到帧的边界”。
第三章:计算机网络之数据链路层微课版_第2张图片
解决办法:字节填充 (byte stuffing) 或字符填充 (character stuffing):

  • 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前⾯插⼊⼀个转义字符“ESC”;
  • 接收端的数据链路层在将数据送往⽹络层之前删除插⼊的转义字符;
  • 如果转义字符也出现在数据当中,那么应在转义字符前⾯插⼊⼀个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中
    前⾯的⼀个。
    第三章:计算机网络之数据链路层微课版_第3张图片

1.3.4 差错检测

在传输过程中可能会产⽣⽐特差错: 1 可能会变成 0 ⽽ 0 也可能变成 1;
在⼀段时间内,传输错误的⽐特占所传输⽐特总数的⽐率称为误码率 BER (Bit Error Rate)。误码率与信噪⽐有很⼤的关系;
为了保证数据传输的可靠性,在计算机⽹络传输数据时,必须采⽤各种差错检测措施。

CRC循环冗余检验(模2运算即异或运算:不同为1,相同为0,两0为0):

  1. 在发送端,先把数据划分为组。假定每组 k 个⽐特;
  2. 假设待传送的⼀组数据 M = 101001(现在 k = 6)。我们在 M 的后⾯再添加供差错检测⽤的 n 位冗余码⼀起发送。

n 位冗余码的计算:
1. ⽤⼆进制的模 2 运算进⾏ 2n 乘 M 的运算,这相当于在 M 后⾯添加 n 个 0;
2. 得到的 (k + n) 位的数除以事先选定好的⻓度为 (n + 1) 位的除数 P,得出商是 Q ⽽余数是 R,余数 R ⽐除数 P 少 1 位,即 R 是 n 位;
3. 将余数 R 作为冗余码拼接在数据 M 后⾯发送出去。

  1. 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept);若余数 R ≠ 0,则判定这个帧有差错,就丢弃。
    第三章:计算机网络之数据链路层微课版_第4张图片
    实例
    第三章:计算机网络之数据链路层微课版_第5张图片
    数据链路层及其下层是不可靠的:这种检测⽅法并不能确定究竟是哪⼀个或哪⼏个⽐特出现了差错,这种差错检测技术只能做到无差错接受,凡是接受的帧,就认为在传输过程中没有产生差错,要做到’可靠传输‘就必须加上序号、确认和重传。

帧检验序列FCS:在数据后⾯添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
循环冗余检验 CRC 和帧检验序列 FCS 并不等同:
CRC 是⼀种常⽤的检错⽅法,⽽ FCS 是添加在数据后⾯的冗余码;
FCS 可以⽤ CRC 这种⽅法得出,但 CRC 并⾮⽤来获得 FCS 的唯⼀⽅法。

二、点对点协议 PPP

2.1 PPP 协议要求

简单:这是⾸要的要求,纠错、流量控制、序号、不支持多点线路。
封装成帧:必须规定特殊的字符作为帧定界符。
透明性:必须保证数据传输的透明性。
多种⽹络层协议:⽀持多种⽹络层协议(IP/IPX)。
多种类型链路:能够在多种类型的链路上运⾏。
差错检测:对收到的帧进⾏检测,并丢弃有差错的帧。

2.2 PPP 协议应满⾜的需求

检测连接状态:能够及时⾃动检测出链路是否处于正常⼯作状态。
最⼤传送单元:必须对每⼀种类型的点对点链路设置最⼤传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。
⽹络层地址协商: 必须提供⼀种机制使通信的两个⽹络层实体能够通过协商知道或能够配置彼此的⽹络层地址。
数据压缩协商:必须提供⼀种⽅法来协商使⽤数据压缩算法。

2.3 PPP 协议的组成

PPP 协议由三个组成部分:

  1. ⼀种将 IP 数据报封装到串⾏链路(同步串⾏/异步串⾏)的⽅法;
  2. 链路控制协议 LCP (Link Control Protocol),⽤来建⽴、配置和测试链路,其最重的功能之⼀是身份验证(PAP,CHAP);
    •配置确认帧:所有选项都能接受;
    •配置否认帧:所有选项都理解但不接受;
    •配置拒绝帧:选项有⽆法识别或不能接受内容,需要协商。
  3. ⽹络控制协议 NCP (Network Control Protocol),⽀持不同的⽹络层协议(IP、OSI的⽹络层、AppleTalk等)。

2.4 PPP 帧格式

第三章:计算机网络之数据链路层微课版_第6张图片

2.5 PPP 协议的同步传输和异步传输

异步传输:⾯向字节的传输,异步传输的单位是字符。 异步传输效率低,⾼速链路开销⼤。
同步传输:⾯向⽐特的传输,同步传输的单位是帧。

同步问题:一点发送同时另一点接收。
同步传输收发双时钟统⼀、字符间传输同步⽆间隔。
异步传输通过字符起⽌的开始和停⽌码进⾏同步,线路空闲时携带着代表着⽐特1的信号,传
输开始位使信号变为0,数据传输结束,停⽌位使信号重新变为1;

2.6 PPP 协议的透明传输

PPP异步传输时透明传输:字符填充
第三章:计算机网络之数据链路层微课版_第7张图片
PPP同步传输时透明传输:0比特填充
第三章:计算机网络之数据链路层微课版_第8张图片

2.7 可靠传输问题

PPP 协议不使⽤序号和确认机制:
在数据链路层出现差错的概率不⼤时,使⽤⽐较简单的PPP协议较为合理;
在因特⽹环境下,PPP 的信息字段放⼊的数据是IP数据报,IP数据报本身不可靠。数据链路层的可靠传输并不能够保证⽹络层的传输也是可靠的;
•帧检验序列FCS 字段可保证⽆差错接收。

2.8 PPP 工作状态

第三章:计算机网络之数据链路层微课版_第9张图片

三、使用广播信道的的数据链路层

3.1 局域网的数据链路层

局域网的特点

  1. ⽹络为⼀个单位所拥有;
  2. 地理范围和站点数⽬均有限。

局域网的优点

  1. 具有⼴播功能,从⼀个站点可很⽅便地访问全⽹。局域⽹上的主机可共享连接在局域⽹上的各种硬件和软件资源;
  2. 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变;
  3. 提⾼了系统的可靠性、可⽤性和残存性。

局域网的拓扑结构

局域网的物理结构

第三章:计算机网络之数据链路层微课版_第10张图片媒体共享技术
在这里插入图片描述

使用一对多的广播通信方式
•问题:若多个设备在共享的⼴播信道上同时发送数据,则会造成彼此⼲扰,导致发送失败。

  1. 静态划分信道:
  • 频分复⽤;
  • 时分复⽤;
  • 波分复⽤;
  • 码分复⽤;
  1. 动态媒体接⼊控制(多点接⼊):
  • 随机接⼊;
  • 受控接⼊ ,如多点线路探询 (polling),或轮询。

以太网的两个标准
DIX Ethernet V2 是世界上第⼀个局域⽹产品(以太⽹)的规约。
•IEEE 802.3 是第⼀个 IEEE 的以太⽹标准:
•DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很⼩的差别,因此可以将 802.3 局域⽹简称为“以太⽹”;
•严格说来,“以太⽹”应当是指符合 DIX Ethernet V2 标准的局域⽹。

•IEEE 802⼜称为LMSC(LAN /MAN Standards Committee, 局域⽹/
城域⽹标准委员会),致⼒于研究局域⽹和城域⽹的物理层和MAC层
中定义的服务和协议,对应OSI⽹络参考模型的最低两层(即物理层
和数据链路层)。
第三章:计算机网络之数据链路层微课版_第11张图片
数据链路层的两个子层

第三章:计算机网络之数据链路层微课版_第12张图片
为了使数据链路层能更好地适应多种局域⽹标准,IEEE 802 委员会就将局域⽹的数据链路层
拆成两个⼦层:
• 逻辑链路控制 LLC (Logical Link Control)⼦层;
• 媒体接⼊控制 MAC (Medium Access Control)⼦层;
• 与接⼊到传输媒体有关的内容都放在 MAC⼦层,⽽ LLC ⼦层则与传输媒体⽆关。不管采⽤何种协议的局域⽹,对 LLC ⼦层来说都是透明的。
一般不考虑LLC子层
由于 TCP/IP 体系经常使⽤的局域⽹是 DIX Ethernet V2 ,⽽不是 802.3 标准中的⼏种局域⽹,因此现在 802 委员会制定的逻辑链路控制⼦层 LLC(即 802.2 标准)的作⽤已经不⼤了。
•很多⼚商⽣产的适配器上就仅装有 MAC 协议⽽没有 LLC 协议。

计算机通过适配器和局域网进行通信
第三章:计算机网络之数据链路层微课版_第13张图片
⽹络接⼝板⼜称为通信适配器 (adapter) 或⽹络接⼝卡 NIC (Network Interface Card),或“网卡”。

适配器的重要功能:

• 进⾏串⾏/并⾏转换;
• 对数据进⾏缓存;
• 在计算机的操作系统中安装设备驱动程序;
• 实现以太⽹协议。

3.2 CSMA/CD协议

早期以太网
最初的以太⽹是将许多计算机都连接到⼀根总线上。易于实现⼴播通信。
当初认为这样的连接⽅法既简单⼜可靠,因为总线上没有有源器件。
第三章:计算机网络之数据链路层微课版_第14张图片
以太网采用广播方式发送
为了实现⼀对⼀通信,将接收站的硬件地址写⼊帧⾸部中的⽬的地址字段中:
仅当数据帧中的⽬的地址与适配器的硬件地址⼀致时,才能接收这个数据帧。

多台设备同时发送数据
总线的缺点: 若多个设备在共享的⼴播信道上同时发送数据,则会造成彼此⼲扰,导致发送失败。

以太网采取的两种措施

  1. 不必先建⽴连接就可以直接发送数据
  2. 以太⽹发送的数据都使⽤曼彻斯特编码

以太网提供的服务
以太⽹提供的服务是不可靠的交付,即尽最⼤努⼒的交付:

  1. 当⽬的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由⾼层来决定;
  2. 如果⾼层发现丢失了⼀些数据⽽进⾏重传,但以太⽹并不知道这是⼀个重传的帧,⽽是当作⼀个新的数据帧来发送。

CSMA/CD协议

含义:带有碰撞检测的载波监听多点接⼊ (Carrier Sense Multiple Access with Collision Detection) 。

  1. 载波监听(CS):是指每⼀个站在发送数据之前先要检测⼀下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发⽣碰撞;但是总线上并没有什么“载波”: “载波监听”是⽤电⼦技术检测总线上有没有其他计算机发送的数据信号。
  2. 多点接⼊(MA):表示许多计算机以多点接⼊的⽅式连接在⼀根总线上;
  3. 碰撞检测(CD):边发送边监听 ,判断发送的数据是否与其他站发送的数据产⽣了冲突。

碰撞检测
“碰撞检测”就是计算机边发送数据边检测信道上的信号电压⼤⼩: 当⼏个站同时在总线上发送数据时,总线上的信号电压摆动值将会
增⼤(互相叠加);
•当⼀个站检测到的信号电压摆动值超过⼀定的⻔限值时,就认为总线上⾄少有两个站同时在发送数据,表明产⽣了碰撞;
•所谓“碰撞”就是发⽣了冲突。因此“碰撞检测”也称为“冲突检测”。

在发⽣碰撞时,总线上传输的信号产⽣了严重的失真,⽆法从中恢复出有⽤的信息来:
每⼀个正在发送数据的站,⼀旦发现总线上出现了碰撞,就要⽴即停⽌发送,免得继续浪费⽹络资源,然后等待⼀段随机时间后再次发送。

为什么要进行碰撞检测:
电磁波在总线上的传播速率是有限的(200m/µs),当某个站监听到总线是空闲时,也可能总线并⾮真正是空闲的。

A 向 B 发出的信息,要经过⼀定的时间后才能传送到 B;
但是B的载波监听检测不到该信息(信息是有在信道里),因为载波监听只能是在自己的位置监听,而从别的主机发送过来的信号需要间。
B 若在 A 发送的信息到达 B 之前发送⾃⼰的帧 ,则必然要在某个时间和 A 发送的帧发⽣碰撞。碰撞的结果是两个帧都变得⽆⽤;
所以需要在发送期间进⾏碰撞检测,以检测冲突。

信号传播时延对载波监听的影响
第三章:计算机网络之数据链路层微课版_第15张图片
A需要单程传播时延的2倍的时间,才能检测到与 B 的发送产⽣了冲突。

争用期
最先发送数据帧的站,在发送数据帧后⾄多经过时间 2τ就可知道发送的数据帧是否遭受了碰撞:
以太⽹的端到端往返时延 2τ 称为争⽤期,或碰撞窗⼝;
经过争⽤期这段时间还没有检测到碰撞,才能肯定这次发送不会发⽣碰撞。
第三章:计算机网络之数据链路层微课版_第16张图片
p的时间内B没有发送信息,那么p的时间内A发送到B的信息有效,在P的时间后B点如果要载波监听,会因为一直收到A的信息而认为信道不空闲,所以不会发送信息。所以当t=2P时,A认为这次广播没有发送碰撞,就会认为发送成功,然后一直发送。
第三章:计算机网络之数据链路层微课版_第17张图片

⼆进制指数类型退避算法

发⽣碰撞的站在停⽌发送数据后,要推迟(退避)⼀个随机时间才能再发送数据:

  1. 基本退避时间取为争⽤期 2τ;
  2. 从整数集合[0,1,…, (2k -1)]中随机地取出⼀个数,记为 r。重传所需的时延就是 r 倍的基本退避时间;
  3. 参数 k 按下⾯的公式计算: k = Min[重传次数, 10]
  4. 当 k ≤ 10 时,参数 k 等于重传次数;
  5. 当重传达 16 次仍不能成功时即丢弃该帧,并向⾼层报告。

争用期的长度
第三章:计算机网络之数据链路层微课版_第18张图片
传统粗缆总线型以太⽹⽹络直径约为3km;
端到端的传播时延约为15µs;
往返时延为30µs;
加上中继器等处理时延,取争⽤期51.2µs。
2p(争用期) = 51.2µs

10 Mbit/s 以太⽹取 51.2 s 为争⽤期的⻓度。对于10 Mbit/s 以太⽹,在争⽤期内可发送 512 bit,即 64 字节。
以太⽹在发送数据时,若前 64 字节没有发⽣冲突,则后续的数据就不会发⽣冲突。
因此以太⽹最⼩有效帧⻓为64字节。⻓度⼩于 64 字节的帧都是由于冲突⽽异常中⽌的⽆效帧。
64字节是为了把信道到占满,不然可能某个结点会检测不到信息,以为信道是空的。

最小帧长计算
第三章:计算机网络之数据链路层微课版_第19张图片
人为干扰信号
发⽣碰撞之后,发送端需强化碰撞 :

  1. ⽴即停⽌发送数据,再继续发送若⼲⽐特的⼈为⼲扰信号 ,让所有⽤户都知道现在已经发⽣了碰撞;
  2. B 也能够检测到冲突,并⽴即停⽌发送数据帧,接着就发送⼲扰信号。
    第三章:计算机网络之数据链路层微课版_第20张图片

CSMA/CD 重要特性
使⽤ CSMA/CD 协议的以太⽹不能进⾏全双⼯通信⽽只能进⾏双向交替通信(半双⼯通信):
每个站在发送数据之后的⼀⼩段时间内,存在着遭遇碰撞的可能性;
这种发送的不确定性使整个以太⽹的平均通信量远⼩于以太⽹的最⾼数据率。

CSMA/CD协议的要点
(1) 准备发送。但在发送之前,必须先检测信道。
(2) 检测信道。若检测到信道忙,则应不停地检测,⼀直等待信道转
为空闲。若检测到信道空闲,并在 96 ⽐特时间内信道保持空闲(保
证了帧间最⼩间隔),就发送这个帧。
(3) 检查碰撞。⽹络适配器要边发送边监听。这⾥只有两种可能性:
① 发送成功:在争⽤期内⼀直未检测到碰撞,发送成功。发送完毕后,其他什么也不做。然后回到 (1);
② 发送失败:在争⽤期内检测到碰撞。⽴即停⽌发送数据,并发送⼈为⼲扰信号,执⾏指数退避算法,
等待 r 倍 512 ⽐特时间后,返回步骤 (2)。
③重传达 16 次仍不能成功,则停⽌重传⽽向上报错。

第三章:计算机网络之数据链路层微课版_第21张图片
先听后说,边说边听,冲突停⽌,延迟重发。

以太网MAC帧发送过程
第三章:计算机网络之数据链路层微课版_第22张图片

3.3 使用集线器的星形拓扑

传统以太⽹最初是使⽤粗同轴电缆,后来演进到使⽤⽐较便宜的细同
轴电缆,最后发展为使⽤更便宜和更灵活的双绞线:
采⽤双绞线的以太⽹采⽤星形拓扑,在星形的中⼼则增加了⼀种可
靠性⾮常⾼的设备,叫做集线器 (hub),用集线器模拟总线。
第三章:计算机网络之数据链路层微课版_第23张图片
10 BASE-T特点
第三章:计算机网络之数据链路层微课版_第24张图片
使⽤⽆屏蔽双绞线,采⽤星形拓扑。
每个站需要⽤两对双绞线,分别⽤于发送和接收。
双绞线的两端使⽤ RJ-45 插头。
集线器使⽤了⼤规模集成电路芯⽚摸拟总线,因此集线器的可靠性提⾼。
10BASE-T 的通信距离稍短,每个站到集线器的距离不超过 100 m。
成本低,性价⽐⾼。

10BASE-T双绞线以太⽹的出现,是局域⽹发展史上的⼀个⾮常重要
的⾥程碑,它为以太⽹在局域⽹中的统治地位奠定了牢固的基础:
从此以太⽹的拓扑就从总线型变为更加⽅便的星型⽹络,⽽以太⽹也就在局域⽹中占据了统治地位。

集线器的特点

集线器是使⽤电⼦器件来模拟实际电缆线的⼯作,因此整个系统仍然
像⼀个传统的以太⽹那样运⾏。

  1. 使⽤集线器的以太⽹在逻辑上仍是⼀个总线⽹,各⼯作站使⽤的还是 CSMA/CD 协议,并共享逻辑上的总线。
  2. 集线器很像⼀个多接⼝的转发器,⼯作在物理层。
  3. 集线器采⽤了专⻔的芯⽚,进⾏⾃适应串⾳回波抵消,减少了近端串⾳。
  4. 可堆叠式、模块式、可管理。
  5. 可使用光纤作为传输媒体(10BASE-F)。
    物理上是星型,逻辑上仍然是总线型。

第三章:计算机网络之数据链路层微课版_第25张图片

3.4 以太网的信道利用率

⼀个站发送⼀个数据帧,可能要经过若⼲个争⽤期,才能发送成功。
假定发送帧需要的时间是 T0,且检测到碰撞后不发送⼲扰信号。
设帧⻓为 L (bit),数据发送速率为 C (bit/s),则帧的发送时间为:
T0 = L/C (s)。
第三章:计算机网络之数据链路层微课版_第26张图片
参数 α 与利用率

要提⾼以太⽹的信道利⽤率,就必须减⼩ τ 与 T0 之⽐。
在以太⽹中定义了参数 α,它是以太⽹单程端到端时延τ与帧的发送
时间 T0 之⽐:
第三章:计算机网络之数据链路层微课版_第27张图片
α →0,表示⼀发⽣碰撞就⽴即可以检测出来, 并⽴即停⽌发送,因
⽽信道利⽤率很⾼。
α 越⼤,争⽤期所占的⽐例增⼤,发⽣⼀次碰撞浪费许多信道资源,
使得信道利⽤率降低。

为提⾼利⽤率,以太⽹的参数 α 的值应当尽可能⼩些。
对以太⽹参数 α 的要求是:
以太⽹的⻓度受到限制,否则 τ 的数值会太⼤;
以太⽹的帧⻓不能太短,否则 T0 的值会太⼩,使 α 值太⼤。

信道利用率的最大值 Smax
在理想化的情况下,以太⽹上的各站发送数据都不会产⽣碰撞(这显然已经不
是 CSMA/CD,⽽是需要使⽤⼀种特殊的调度⽅法),即总线⼀旦空闲就有某
⼀个站⽴即发送数据。
发送⼀帧占⽤线路的时间是 T0 + τ,⽽帧本身的发送时间是 T0。理想情况下的
极限信道利⽤率 Smax 为:
第三章:计算机网络之数据链路层微课版_第28张图片
只有当参数 α 远⼩于1才能得到尽可能⾼的极限信道利⽤率。
当以太⽹的利⽤率达到 30%时就已经处于重载状态。很多的⽹络容量被⽹上的碰撞消耗掉了。

3.5 以太网的MAC层

以太网的MAC地址

在局域⽹中,硬件地址⼜称为物理地址,或 MAC 地址:
如果连接在局域⽹上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。
第三章:计算机网络之数据链路层微课版_第29张图片
48位的MAC地址

以太⽹MAC地址共 6 字节 ( 48 bit):
IEEE 的注册管理机构 RA 负责向⼚家分配MAC地址的前三个字节 (即⾼位 24 位),称为组织唯⼀标识符,简称OUI;
MAC地址的后三个字节 (即低位 24 位) 由⼚家⾃⾏指派,称为扩展唯⼀标识符,必须保证⽣产出的适配器没有重复地址。

第三章:计算机网络之数据链路层微课版_第30张图片
⼀个地址块可以⽣成 224 个不同的地址。这种 48 位地址称为MAC-48,它的通⽤名称是 EUI-48:6 字节的 MAC 地址已被固
化在适配器的 ROM;
因此,MAC 地址也叫作硬件地址 (hardware address)或物理地址;
“MAC地址”实际上就是适配器地址或适配器标识符 EUI-48。

MAC地址分类
单播MAC地址:是指第⼀个字节的最低位是0的MAC地址,代表了⼀块特定的⽹卡。
组播MAC地址:是指第⼀个字节的最低位是1的MAC地址,代表了⼀组⽹卡。
⼴播MAC地址: 是指每⼀位都是1的MAC地址,⼴播MAC地址是组播MAC
地址的⼀个特例,代表了所有⽹卡。
⼴播/组播地址只能作为⽬的地址使⽤。

第三章:计算机网络之数据链路层微课版_第31张图片
全球管理与本地管理

IEEE 把地址字段第⼀字节的最低第 2 位规定为 G/L 位:
当 G/L位=0 时,是全球管理(保证在全球没有相同的地址),⼚商向IEEE购买的 OUI 都属于全球管理;
当 G/L位=1 时, 是本地管理,⽤户可任意分配⽹络上的地址。

第三章:计算机网络之数据链路层微课版_第32张图片
适配器检测MAC地址

适配器从⽹络上每收到⼀个 MAC 帧就⾸先⽤硬件检查 MAC 帧中的 MAC 地址:

  1. 如果是发往本站的帧则收下,然后再进⾏其他的处理;
  2. 否则就将此帧丢弃,不再进⾏其他的处理。

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

单播 (unicast) 帧(⼀对⼀);
⼴播 (broadcast) 帧(⼀对全体);
多播 (multicast) 帧(⼀对多)。

所有的适配器都⾄少能够识别前两种帧,即能够识别单播地址和⼴播地址。
有的适配器可⽤编程⽅法识别多播地址。
只有⽬的地址才能使⽤⼴播地址和多播地址。
以混杂⽅式 (promiscuous mode) ⼯作的以太⽹适配器只要“听到”有帧在以太⽹上传输就都接收下来。

MAC帧的格式

常⽤的以太⽹ MAC 帧格式有两种标准 :
DIX Ethernet V2 标准;
IEEE 的 802.3 标准。
最常⽤的 MAC 帧是以太⽹ V2 的格式。

第三章:计算机网络之数据链路层微课版_第33张图片
第三章:计算机网络之数据链路层微课版_第34张图片
类型字段⽤来标志上⼀层使⽤的是什么协议,以便把收到的 MAC 帧的数据上交给上⼀层的这个协议。

常用协议类型值

IPv4: 0x0800
ARP: 0x0806
PPPoE: 0x8864
802.1Q tag: 0x8100
IPV6: 0x86DD
MPLS Label: 0x8847

MAC客户数据字段
第三章:计算机网络之数据链路层微课版_第35张图片
数据字段的正式名称:MAC 客户数据字段。
最⼩⻓度 64 字节 - 18 字节的⾸部和尾部 = 数据字段的最⼩⻓度(46字节)。
数据部分可以将数据报填充或数据报分片。

第三章:计算机网络之数据链路层微课版_第36张图片当传输媒体的误码率为 1×10-8 时, MAC ⼦层可使未检测到的差错⼩于 1×10-14。

第三章:计算机网络之数据链路层微课版_第37张图片

无效的MAC帧
帧的⻓度不是整数个字节。
⽤收到的帧检验序列 FCS 查出有差错。
数据字段的⻓度不在 46 ~ 1500 字节之间。
有效的 MAC 帧⻓度为 64 ~ 1518 字节之间。

对于检查出的⽆效 MAC 帧就简单地丢弃。
以太⽹不负责重传丢弃的帧。
可靠传输由⾼层负责。
可靠传输的三个要素是确认、序号和重传。

帧间最小间隔

为什么以太⽹MAC帧没有帧结束定界符?

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

分析抓取的以太网MAC帧
第三章:计算机网络之数据链路层微课版_第38张图片

帧的发送与接收

发送⽅:
接收上层数据;
获取⽬的站MAC地址;
封装成数据帧;
发送数据帧;
发送FCS。

接收⽅:
判别帧是否到来;
接收数据帧;
帧检验;
检验正确剥去帧头帧尾上交;
检验不正确丢弃该帧。

四、扩展的以太网

4.1 物理层上扩展以太网

使用光纤扩展
主机使⽤光纤(通常是⼀对光纤)和⼀对光纤调制解调器连接到集线器;
很容易使主机和⼏公⾥以外的集线器相连接。
第三章:计算机网络之数据链路层微课版_第39张图片
使用集线器扩展
第三章:计算机网络之数据链路层微课版_第40张图片
三个独⽴的⼩的碰撞域变成⼀个更⼤的碰撞域

优点:
使原来属于不同碰撞域的以太⽹上的计算机能够进⾏跨碰撞域的通信;
扩⼤了以太⽹覆盖的地理范围。
缺点:
碰撞域增⼤了,但总的吞吐量并未提⾼;
如果不同的碰撞域使⽤不同的数据率,那么就不能⽤集线器将它们互连起来。

4.2 数据链路层上扩展以太网

扩展以太⽹更常⽤的⽅法是在数据链路层进⾏。
早期使⽤⽹桥,现在使⽤以太⽹交换机:
⽹桥⼯作在数据链路层;
它根据 MAC 帧的⽬的地址对收到的帧进⾏转发和过滤;
⽹桥收到⼀个帧时,不是向所有的接⼝转发此帧,⽽是先检查此帧
的⽬的 MAC 地址,然后再确定将该帧转发到哪⼀个接⼝,或把它丢弃;
隔离碰撞域。
第三章:计算机网络之数据链路层微课版_第41张图片

网桥与交换机

1990 年问世的交换式集线器 (switching hub) 可明显地提⾼以太⽹的性能。
•交换式集线器常称为以太⽹交换机 (switch) 或第⼆层交换机 (L2 switch),强调这种交换机⼯作在数据链路层。

以太网交换机的特点
第三章:计算机网络之数据链路层微课版_第42张图片

以太网交换机的优点
⽤户独享带宽,增加了总容量。
共享式以太⽹(10 Mbit/s),若共有 N 个⽤户,每个⽤户的平均带宽只有总带宽 的 1/N。
交换式以太⽹(10 Mbit/s),虽然在每个接⼝到主机的带宽还是 10 Mbit/s,N 个接⼝的交换机的总容量为 2 × N/2 × 10 Mbit/s。
共享总线以太⽹转到交换式以太⽹,所有接⼊设备⽆需任何改动:
向下兼容。
⽀持有多种速率的接⼝。

交换机
第三章:计算机网络之数据链路层微课版_第43张图片
具有 8 ⼝的 10Mb/s 的交换机,可同时⽀持 4 对计算机全双⼯通信。
交换机总容量为80Mb/s,该交机的背板带宽应该 ≥ 80Mb/s。

广播域的概念

是数据链路层的概念,任何⼀个站发送⼀个⼴播帧,所有能够收到这个⼴播帧的设备的集合;
每个端⼝是⼀个独⽴的碰撞域。

以太网交换机的交换方式

存储转发⽅式:
数据帧先缓存,检验正确性,正确转发,错误丢弃。延迟⼤,可靠性⾼,⽀持不同速率的端⼝交换。

直通 (cut-through) ⽅式:
检查数据帧的⽬的 MAC 地址之后⽴即转发,延迟⼩,可靠性低,不⽀持不同速率的端⼝交换;
有可能转发⼀些⽆效的帧。

在某些情况下,仍需要采⽤基于软件的存储转发⽅式进⾏交换,
例如,当需要进⾏线路速率匹配、协议转换或差错检测时。

以太网交换机的自学习功能
第三章:计算机网络之数据链路层微课版_第44张图片
交换机自学习和转发帧的步骤
第三章:计算机网络之数据链路层微课版_第45张图片
交换机收到⼀帧后先进⾏⾃学习。查找交换表中与收到帧的源地址有⽆相匹配的项⽬:
如没有,就在交换表中增加⼀个项⽬(源地址、进⼊的接⼝和有效时间);
如有,则把原有的项⽬进⾏更新并转发帧,同时查找交换表中与收到帧的⽬的地址有⽆相匹配的项⽬:
如没有,则向所有其他接⼝(进⼊的接⼝除外)转发;
如有,则按交换表中给出的接⼝进⾏转发;
若交换表中给出的接⼝就是该帧进⼊交换机的接⼝,则应丢
弃这个帧(因为这时不需要经过交换机进⾏转发)。
第三章:计算机网络之数据链路层微课版_第46张图片
多个主机连接交换机同一接口
第三章:计算机网络之数据链路层微课版_第47张图片
生成树协议
为了防止广播风暴
第三章:计算机网络之数据链路层微课版_第48张图片
交换机使用了生成树协议

IEEE 802.1D 标准制定了⼀个⽣成树协议 STP (Spanning Tree Protocol)。其要点是:
不改变⽹络的实际拓扑,但在逻辑上则切断某些链路,使得从⼀台主机到所有其他主机的路径是⽆环路的树状结构,从⽽消除了兜圈⼦现象。
第三章:计算机网络之数据链路层微课版_第49张图片

总线以太⽹使⽤ CSMA/CD 协议,以半双⼯⽅式⼯作。
以太⽹交换机不使⽤共享总线,没有碰撞问题,因此不使⽤ CSMA/CD 协议,⽽是以全双⼯⽅式⼯作。但仍然采⽤以太⽹的帧结构。

第三章:计算机网络之数据链路层微课版_第50张图片

4.3 虚拟局域网

将大的广播域划分成小的广播域
第三章:计算机网络之数据链路层微课版_第51张图片
虚拟局域⽹ VLAN (Virtual LAN)是由⼀些局域⽹⽹段构成的与物理位置⽆关的逻辑组:

  1. 这些组有共同需求;
  2. 每⼀个 VLAN 的帧都有⼀个明确的标识符,指明发送这个帧的计算机是属于哪⼀个 VLAN;
  3. 由以太⽹交换机实现;
  4. 虚拟局域⽹其实只是局域⽹给⽤户提供的⼀种服务,⽽并不是⼀种新型局域⽹。

第三章:计算机网络之数据链路层微课版_第52张图片
虚拟局域网使用的以太网帧格式

IEEE 802.3ac 标准定义了以太⽹的帧格式的扩展,以⽀持虚拟局域⽹:
•该协议允许在以太⽹的帧格式中插⼊⼀个4字节的标识符,称为 VLAN 标记 (tag),⽤来指明发送该帧的计算机属于哪⼀个虚拟局域⽹;
•插⼊ VLAN 标记得出的帧称为 802.1Q 帧 或 带标记的以太⽹帧。

第三章:计算机网络之数据链路层微课版_第53张图片
第三章:计算机网络之数据链路层微课版_第54张图片
VLAN的优点

便于⽹络管理,具有相似需求的⽤户共享同⼀个VLAN:
增强⽹络的安全性,敏感⽤户与普通⽤户隔离。
减少了不必要的⽹络流量。
限制了⼴播报⽂的洪泛,抑制⼴播⻛暴。
减少⽹络拓扑变更成本。
降低计算机CPU的开销

虚拟局域网划分方法

基于交换机端⼝:
最简单、也是最常⽤的⽅法;
属于在第⼀层划分虚拟局域⽹的⽅法。
缺点:⽤户移动位置固定。
第三章:计算机网络之数据链路层微课版_第55张图片

基于⽤户计算机的MAC地址划分:
属于在第⼆层划分虚拟局域⽹的⽅法;
⽤户位置可以改变。
缺点:需要输⼊和管理⼤量的MAC地址。如果⽤户的MAC地
址改变了,则需要管理员重新配置VLAN。
第三章:计算机网络之数据链路层微课版_第56张图片
基于协议划分:
根据以太⽹帧的第三个字段“类型”字段确定该类型的协议
属于哪⼀个虚拟局域⽹;
属于在第⼆层划分虚拟局域⽹的⽅法。
第三章:计算机网络之数据链路层微课版_第57张图片

基于IP地址划分:
根据以太⽹帧的第三个字段“类型”字段和IP分组⾸部中的
源 IP 地址字段确定该 IP 分组属于哪⼀个虚拟局域⽹;
属于在第三层划分虚拟局域⽹的⽅法
第三章:计算机网络之数据链路层微课版_第58张图片
基于应⽤层划分:
根据⾼层应⽤或服务、或者它们的组合划分虚拟局域⽹;
更加灵活,但更加复杂。
第三章:计算机网络之数据链路层微课版_第59张图片
**实验拓扑及实验过程(基于端口划分)
第三章:计算机网络之数据链路层微课版_第60张图片
第三章:计算机网络之数据链路层微课版_第61张图片
第三章:计算机网络之数据链路层微课版_第62张图片


总结

数据链路层可以采用点对点信道和广播信道,是在局域网下完成点到点传输。

你可能感兴趣的:(#,计算机网络)