第三章 数据链路层
3.1 概述
数据链路和帧
-
链路(link)
- 一条无源的点到点的物理线路段,中间没有任何其他的交换结点。(也成为物理链路)
-
数据链路(data link)
-
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。(也称为逻辑链路)
-
现在最常用适配器(即网卡)来实现这些协议的硬件和软件
-
在数据链路层,规程和协议是同义语
-
-
数据链路层以帧为单位传输和处理数据
-
数据链路层模型
数据链路层使用的信道
-
点对点信道
- 一对一的点对点通信方式
-
广播信道
- 一对多的广播通信方式
基本问题*3
-
封装成帧
-
在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
-
最大传送单元MTU
- 所能传送的帧的数据部分长度的上限(为了差错控制)
-
帧定界符
-
控制字符SOH
-
控制字符EOT
-
-
-
透明传输
指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样
-
比特填充
- 发送方:报文中5个连续1,插入0
-
字符填充
- 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。
-
-
差错检测
-
处理方法
-
检错重发
- 链路差错率很低
-
前向纠错
- 对时间要求很高
-
-
奇偶校验
- 增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验)
-
循环冗余检验 CRC
-
只能做到无差错接受 (accept),无法做到可靠传输
-
漏错率非常低,广泛应用于数据链路层
-
-
3.2 点对点协议PPP
构成*3
-
封装成帧
- 一个将 IP 数据报封装到串行链路的方法
-
链路控制协议 LCP
-
网络控制协议 NCP
帧格式
-
标志字段F
- PPP帧的定界符,=0x7E
-
地址字段A
- 只置为 0xFF,预留(目前没什么用)
-
控制字段C
- 通常置为0x03,预留(目前没什么用)
-
协议字段P
-
指明帧的数据部分送交那个协议处理
-
0x0021,则信息字段就是 IP 数据报。
-
0x8021,则信息字段是网络控制数据
-
0xC021,则信息字段是 PPP 链路控制数据
-
0xC023,则信息字段是鉴别数据
-
-
透明传输问题
-
异步传输:字符填充
-
每一个 0x7E 字节-> (0x7D, 0x5E)
-
每一个 0x7D字节-> (0x7D, 0x5D)
-
ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变(加上0x20)
-
-
同步传输:零比特填充
- 在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
工作状态
-
PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。
3.3 使用广播信道的数据链路层
局域网的数据链路层
-
局域网拓扑结构
-
总线网
-
环形网
-
星形网
-
-
媒体共享技术
-
静态划分信道
-
频分复用
-
时分复用
-
波分复用
-
码分复用
-
-
动态媒体接入控制(多点接入)
-
随机接入
-
受控接入
- 如多点线路探询 (polling),或轮询。
-
-
-
适配器(网卡)
-
进行串行/并行转换。
-
对数据进行缓存。
-
在计算机的操作系统安装设备驱动程序。
-
实现以太网协议。
-
CSMA/CD协议(载波监听多点接入 / 碰撞检测)
先听后发,边发边听,冲突停止,延时触发
-
多点接入MA
- 许多计算机以多点接入的方式连接在一根总线上。
-
载波监听CS
-
每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据
-
若检测到总线空闲(96比特时间),则发送这个帧;若检测到总线忙,则继续检测并等待总线转为空闲
-
帧间最小间隔:96比特时间
-
使接收方可以检测出一个帧的结束
-
使得所有其他站点都能有机会平等竞争信道并发送帧
-
-
-
碰撞检测CD
-
每一个正在发送数据的站,边发送边检测碰撞,一旦发现总线上出现了碰撞,就要立即停止发送,退避一段随机时间后再次发送。
-
强化碰撞
- 当发送数据的站一旦发现发生了碰撞时:除了立即停止发送数据,还要再继续发送若干比特的人为干扰信号 (jamming signal),以便让所有用户都知道现在已经发生了碰撞。
-
-
争用期/碰撞窗口
-
以太网的端到端往返时延 2
-
争用期长度:512比特时间
-
最短有效帧长
-
64字节,即512比特
-
由于首部和尾部共18字节,所以数据载荷长度不能小于46字节
-
-
-
截断二进制指数退避算法
-
退避时间 = 基本退避时间 * 随机数r
-
基本退避时间:争用期 2。
-
随机数r:
-
从整数集合 [0, 1, … , (2^k-1)] 中随机地取出一个数,记为r,k = Min[重传次数, 10]
-
-
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。
-
重要特性
-
只能进行双向交替通信(半双工通信)
-
每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。 -
不适用于无线网络
-
使用集线器的星型拓扑
-
集线器(sub)
-
只工作在物理层
-
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
-
很像一个多接口的转发器,每个接口仅简单的转发比特,不进行碰撞检测
-
一般都有少量的容错能力和网络管理功能
-
以太网的信道利用率
-
信道被占用情况
-
理想情况下的极限信道利用率 Smax
- 参数a
-
实际:30%已经处于重载
- 分母前面还有n个争用期
以太网的MAC层
-
硬件地址(物理地址/MAC地址)
-
I/G位:第一字节的最低位
-
0
- 单播地址
-
1
- 组地址
-
-
G/L位:第一字节的最低第二位
-
0
- 全球管理
-
1
- 本地管理
-
-
-
MAC帧的格式:以太网 V2 的格式
-
类型字段
- 标志上一层使用的是什么协议
-
当数据字段的长度小于 46 字节时,
应在数据字段的后面加入整数字节的填充字段,
以保证以太网的 MAC 帧长不小于 64 字节。
-
3.4 以太网扩展
在物理层扩展
-
使用光纤
-
使用集线器
-
优点
-
使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。
-
扩大了以太网覆盖的地理范围。
-
-
缺点
-
碰撞域增大了,但总的吞吐量并未提高。
-
如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
-
在数据链路层扩展
-
早期:网桥
-
现在:以太网交换机
-
特点
-
以太网交换机实质上就是一个多接口的网桥。
-
每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
-
以太网交换机具有并行性。
-
相互通信的主机都是独占传输媒体,无碰撞地传输数据。
-
以太网交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存。
-
以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。
-
-
交换方式
-
存储转发方式
- 把整个数据帧先缓存后再进行处理。
-
直通 (cut-through) 方式
-
接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。
-
缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
-
-
-
以太网交换机的自学习功能
-
登记
-
交换机收到一帧后先进行自学习。查找交换表中与收到帧的源地址有无相匹配的项目。
-
如没有,就在交换表中增加一个项目(源地址、进入的接口和有效时间)。
-
如有,则把原有的项目进行更新(进入的接口或有效时间)。
-
-
-
转发帧
-
查找交换表中与收到帧的目的地址有无相匹配的项目。
-
如没有,则向所有其他接口(进入的接口除外)转发(广播)。
-
如有,则按交换表中给出的接口进行转发。
-
若交换表中给出的接口就是该帧进入交换机的接口,则应丢弃这个帧(因为这时不需要经过交换机进行转发)。
-
-
-
生成树协议 STP
- 不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
虚拟局域网VLAN
-
由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。
-
使用的以太网帧格式
-
VLAN 标记 (tag)
-
4字节的标识符
-
指明发送该帧的计算机属于哪一个虚拟局域网
-
- VLAN ID - 唯一的标志了以太网帧属于哪一个VLAN
-
3.5 高速以太网
100BASE-T以太网
-
100BASE-T 在双绞线上传送 100 Mbit/s 基带信号的星形拓扑以太网,仍使用 IEEE 802.3 的CSMA/CD 协议。
-
又称为快速以太网 (Fast Ethernet)。
-
1995 年IEEE已把 100BASE-T 的快速以太网定为正式标准,其代号为 IEEE 802.3u
-
特点
-
可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。
-
MAC 帧格式仍然是 802.3 标准规定的。
-
保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。
-
帧间时间间隔从原来的 9.6 us 改为现在的 0.96 us。
-
吉比特以太网
-
吉比特以太网
-
允许在 1Gbit/s 下以全双工和半双工两种方式工作。
-
使用 IEEE 802.3 协议规定的帧格式。
-
在半双工方式下使用 CSMA/CD 协议,全双工方式不使用 CSMA/CD 协议。
-
与 10BASE-T 和 100BASE-T 技术向后兼容。
-
-
物理层
- 使用两种成熟的技术:一种来自现有的以太网,另一种则是美国国家标准协会 ANSI 制定的光纤通道 FC (Fiber Channel)。
-
半双工方式工作的吉比特以太网
-
载波延伸
- 使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用时间增大为 512 字节。
-
分组突发
- 当很多短帧要发送时,第一个短帧要采用载波延伸方法进行填充,随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,直到达到 1500 字节或稍多一些为止。
-
-
全双工方式工作的吉比特以太网
- 当吉比特以太网工作在全双工方式时(即通信双方可同时进行发送和接收数据),不使用载波延伸和分组突发。
10吉比特以太网(10GE)和更快的以太网
-
10吉比特以太网
-
特点
-
与10Mbit/s、100 Mbit/s 和 1Gbit/s 以太网的帧格式完全相同。
-
保留了 802.3 标准规定的以太网最小和最大帧长,便于升级。
-
不再使用铜线而只使用光纤作为传输媒体。
-
只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。
-
-
-
更快的以太网
-
在 10GE 之后又制订了 40GE/100GE(即 40 吉比特以太网和 100 吉比特以太网)的标准 IEEE 802.3ba-2010 和 802.3bm-2015。
-
40GE/100GE 只工作在全双工的传输方式(因而不使用 CSMA/CD 协议),并仍保持了以太网的帧格式以及 802.3 标准规定的以太网最小和最大帧长。
-
100GE 在使用单模光纤传输时,仍然可以达到 40 km 的传输距离,但这是需要波分复用(使用 4 个波长复用一根光纤,每一个波长的有效传输速率是 25 Gbit/s)。
-
-
以太网从 10 Mbit/s 到 100 Gbit/s 的演进证明了以太网是:
-
可扩展的(从 10 Mbit/s 到 100 Gbit/s);
-
灵活的(多种传输媒体、全/半双工、共享/交换);
-
易于安装;
-
稳健性好。
-
使用以太网进行宽带接入
-
特点
-
可以提供双向的宽带通信。
-
可以根据用户对带宽的需求灵活地进行带宽升级。
-
可以实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率且降低了传输的成本。
-
但是不支持用户身份鉴别。
-
-
PPPoE
-
PPPoE (PPP over Ethernet) 的意思是“在以太网上运行 PPP”,它把 PPP 协议与以太网协议结合起来 —— 将 PPP 帧再封装到以太网中来传输。
-
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了。
-
利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的。
-