第三章 数据链路层
- 数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
数据链路层使用的信道
主要有两种类型:点对点信道(一对一的点对点通信)、广播信道(一对多的广播通信)。
1.使用点对点信道的数据链路层
数据链路和帧
链路是一条无源的点对点的物理线路段,中间没有任何其他的交换结点。
- 一条链路只是一条同路的一个组成部分。
数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加在链路上,就构成了数据链路。
- 最常用的方法就是使用网卡
三个基本问题
- 数据链路层协议有许多种,但有三个基本问题则是共同的。
- 封装成帧
- 透明传输
- 差错控制
- 封装成帧
- 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
- 首部和尾部的一个重要作用就是进行帧定界。
- 控制字符SOH放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT表示帧的结束。
- 透明传输
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
解决方法:字节填充或字符填充
- 发送端的数据链路层在数据中出现控制字符SOH或EOT的前面插入一个转义字符“ESC”(其十六进制编码是1B)
- 差错检测
差错检测:奇偶校验码、循环冗余校验码CRC
在传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1。
**循环冗余校验码:**可以检错,不能纠错
- 现在k=6,M=101001
- 设n=3,除数P=1101
- 被除数是2^nM=101001000
- 模2运算的结果是:商Q=110101,余数R=001.
- 把余数R作为冗余码添加在数据M的后面发送出去。发送的数据是:2^nM+R
- 即:101001001,共(k+n)位
2点对点协议 PPP
PPP协议有三个组成部分:
- 一个将IP数据报封装到串行链路的方法
- 链路控制协议LCP
- 网络控制协议NCP
PPP协议的帧格式
- PPP帧的首部和尾部分别为4个字段和2个字段
- 标志字段F=0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)
- PPP有一个2个字节的协议字段,其值
- 若为0x0021,则信息字段就是IP数据报。
- 若为0x8021,则信息字段就是网络控制数据(NCP)。
- 若为0xC021,则信息字段就是PPP链路控制数据(LCP)。
- 若为0xC023,则信息字段是鉴别数据。
- PPP是面向字节的,所有的PPP帧的长度都是整数字段
零比特填充
- PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。
- 在发送端,只要发现有5个连续1,则立即填入一个0。
- 接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除。
3.使用广播信道的数据链路层
局域网的数据链路层
- 局域网最主要的特点是:
- 网络为一个单位所拥有
- 地理范围和站点数目均有限
- 局域网具有如下主要优点:
- 具有广播功能
- 便于系统的扩展和逐渐地演变
- 提高了系统的可靠性、可用性和残存性
以太网的两个标准
- DIX Ethernet V2是世界上第一个局域网产品的规约
- IEEE 802.3是第一个IEEE的以太网标准
CSMA/CD协议
-
含义:载波监听多点接入 / 碰撞检测
-
“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。以太网采取了两种重要的措施
-
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
-
“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
-
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
CSMA/CD 重要特性
- 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
争用期
- 最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
- 以太网的端到端往返时延 2τ 称为争用期,或碰撞窗口。
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
二进制指数类型退避算法
-
发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
-
基本退避时间取为争用期 2τ(为2τ的整数倍)。
-
从整数集合 [0, 1, … , (2k-1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
-
参数 k 按下面的公式计算:
k = Min[重传次数, 10]
-
当 k ≤10 时,参数 k 等于重传次数。
-
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。为了通道的简便,以太网采取了两种重要的措施:
-
争用期的长度
- 10 Mbit/s 以太网取 51.2 s 为争用期的长度。
- 对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。
- 这意味着:以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。
最短有效帧长
- 如果发生冲突,就一定是在发送的前 64 字节之内。
- 以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
(1) 准备发送。但在发送之前,必须先检测信道。
(2) 检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
(3) 检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
-
- ①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1)。
- ②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤 (2),继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。
使用集线器的星形拓扑
- 采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器。
- 集线器的一些特点:
- 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
- 集线器很像一个多接口的转发器,工作在物理层。
MAC层的硬件地址
- 在局域网中,硬件地址又称为物理地址,或 MAC 地址。
- 48位的MAC地址
- IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种。
- IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
- 地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
- 具有唯一性
- 生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫做硬件地址 或物理地址。
单站地址,组地址,广播地址
- IEEE 规定地址字段的第一字节的最低位为 I/G 位。
- 当 I/G位 = 0 时,地址字段表示一个单站地址。
- 当 I/G位 = 1 时,表示组地址,用来进行多播(以前曾译为组播)。
- 所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。
适配器检查MAC地址
- 适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址。
- 如果是发往本站的帧则收下,然后再进行其他的处理。
- 否则就将此帧丢弃,不再进行其他的处理。
- “发往本站的帧”包括以下三种帧:
- 单播 (unicast) 帧(一对一)
- 广播 (broadcast) 帧(一对全体)
- 多播 (multicast) 帧(一对多)
以太网V2的 MAC 帧格式
4.扩展的以太网
使用集线器扩展
-
优点:使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。 扩大了以太网覆盖的地理范围。
-
缺点:碰撞域增大了,但总的吞吐量并未提高。
如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
在数据链路层扩展以太网
- 扩展以太网更常用的方法是在数据链路层进行。
- 早期使用网桥,现在使用以太网交换机。
- 网桥工作在数据链路层
- 它根据MAC帧的目的地址对收到的帧进行转发和过滤
交换式集线器常称为以太网交换机
以太网交换机的交换方式
- 存储转发方式
- 把整个数据帧先缓存后再进行处理。
- 直通方式
- 接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,因而提高了帧的转发速度。
- 缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
MAC地址(物理地址、局域网地址)
- MAC地址长度为6字节,48位;
- MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
- 通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
- MAC广播地址:FF-FF-FF-FF-FF-FF。
- 虚拟局域网:虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
虚拟局域网使用的以太网帧格式
- 虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记 (tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。
- 插入 VLAN 标记得出的帧称为 802.1Q 帧 或 带标记的以太网帧。
5.高速以太网(了解即可)
局域网要解决的事情,实现网络内部如何进行传输