- 数据链路层的地位:网络中的主机、路由器等都必须实现数据链路层
- 信道类型
- 点对点信道:使用一对一的点对点通信方式
- 广播信道
- 使用一对多的广播通信方式
- 必须使用专用的共享信道协议来协调这些主机的数据发送
使用点对点信道的数据链路层
数据链路和帧
- 链路:从一个节点到相邻节点的一段物理线路(有线或无线),中间没有其他交换节点
- 数据链路:把通信协议和软件加到链路中,如网络适配器
- 帧:数据链路层的协议数据单元
三个基本问题
- 封装成帧
- 在一段数据的前后分别添加首部和尾部,构成一个帧
- 首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)
- 最大传送单元 MTU:规定了所能传送的帧的数据部分长度上限
- 控制字符 SOH:放在一帧的最前面,表示帧的首部开始
- 控制字符 EOT:放在一帧的末尾,表示帧的结束
- 透明传输
- 含义:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层
- 字节填充/字符填充:发送端的数据链路层在数据中的控制字符SOH/EOT前插入转义字符"ESC"(十六进制编码为1B,二进制为00011011)
- 差错检测
- 比特差错: 1 → 0 、 1\to0、 1→0、 0 → 1 0\to1 0→1
- 误码率BER:传输错误的比特占所传输比特总数的比率
- 循环冗余检测CRC
- 在发送端,先把数据划分为组。假定每组 k 个比特
- CRC 运算在每组 M 后面再添加供差错检测用的 n 位冗余码,然后构成一个帧发送出去。一共发送 (k + n) 位
- 帧检验序列 FCS:在数据后面添加上的冗余码
- 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受
点对点协议PPP
PPP协议的特点
- PPP协议应满足的需求
- 简单:首要要求
- 封装成帧:必须使用特殊的字符作为帧定界符
- 透明性:如果数据中碰巧出现了和界定符一样的比特组合时,就要采取有效的措施来解决这个问题(详见3.2.2)
- 多种网络层协议:在同一条物理链路上同时支持多种网络层协议
- 多种类型链路:能够在多种类型的链路上运行
- 差错检测:对接收端收到的帧进行检测,并立即丢弃有差错的帧
- 检测连接状态:能够及时自动检测出链路是否处于正常工作状态
- 最大传送单元:必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性
- 网络层地址协商:必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址
- 数据压缩协商:必须提供一种方法来协商使用数据压缩算法
- PPP协议的组成
- 一个将IP数据报封装到串行链路的方法
- 链路控制协议LCP
- 网络控制协议NCP
PPP协议的帧格式
- 各字段的意义
- 标志字段F:0x7E,首部的第一个字段和尾部的第二个字段,标志一个帧的开始或结束,连续两帧之间只需要用一个标志字段
- 地址字段A:0xFF
- 控制字段C:0x03
- 协议字段
- 0x00221:PPP帧的信息字段为IP数据报
- 0xC021:信息字段是PPP链路控制协议LCP的数据
- 0x8021:网络层控制数据
- 尾部第一个字段:使用CRC的帧检测序列FCS
- 字节填充
- 当PPP使用异步传输时,把转义字符定义为0x7D,使用字节填充
- 把每个0x7E字节转变为2字节序列(0x7D,0x5E)
- 把每个0x7D字节转变为2字节序列(0x7D,0x5D)
- 在每个ASCLL控制字符(数值小于0x20)前加入一个0x7D字节
- 零比特填充
- 当PPP使用同步传输时,使用零比特填充
- 5个连续1后填入0
PPP协议的工作状态
使用广播信道的数据链路层
局域网的数据链路层
- 局域网的主要特点
- 网络为一个单位所拥有
- 地理范围和站点数目均有限
- 局域网的主要优点
- 具有广播功能,从一个站点可很方便地访问全网
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变
- 提高了系统的可靠性、可用性和生存性
- 局域网按网络拓扑分类
- 星形网:由于集线器的出现和双绞线大量用于局域网中,星形以太网/多级星形结构的以太网获得广泛应用
- 环形网
- 总线网
- 媒体共享技术
- 静态划分信道
- 频分复用、时分复用、波分复用、码分复用
- 动态媒体接入控制(多点接入)
- 随机接入:所有用户可随机地发送信息
- 受控接入:用户必须服从一定的控制,如探询(轮询)
- 静态划分信道
- 以太网的两个主要标准
- DIX Ethernet V2:世界上第一个局域网产品的规约
- IEEE 802.3:第一个IEEE的以太网标准
- 局域网数据链路层
- 逻辑链路控制LLC:与传输媒体无关
- 媒体接入控制MAC:与传输媒体有关
- 适配器的作用
- 计算机与外界局域网的连接是通过适配器
- 重要功能
- 进行串行/并行转换
- 对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议
CSMA/CD协议
- 最早的以太网:计算机连接到一根总线上
- 总线
- 优点:易于实现广播通信,简单、可靠
- 缺点:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败
- 为通信的方便,以太网采取了两种措施
- 采用较为灵活的无连接的工作方式
- 不必先建立连接就可以直接发送数据
- 对发送的数据帧不进行编号,也不要求对方发回确认
- 以太网发送的数据都使用曼彻斯特编码的信号
- 缺点:所占的频带宽度比原始的基带信号增加了一倍
- 采用较为灵活的无连接的工作方式
- CSMA/CD协议(载波监听多点接入/碰撞检测)
- 多点接入:总线型网络
- 载波监听:即“边发送边监听”。不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道
- 碰撞检测:适配器边发送数据,边检测信道上的信号电压的变化情况。电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞(或冲突)
- 电磁波在1km的电缆的传播时延约为5μs
- 争用期(碰撞窗口)
- 以太网的端到端往返时延 2τ(τ为单程端到端的传播时延)
- 具体争用期时间为51.2μs
- 10Mbit/s的以太网
- 以太网最大端到端单程时延必须小于争用期的一半 (即 25.6 μs),相当于以太网的最大端到端长度约为 5 km
- 碰撞后的重传机制
- 采用截断二进制指数退避确定
- 发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据
- 基本退避时间2τ
- 从整数集合 [ 0 , 1 , … , ( 2 k − 1 ) ] [0, 1, … , (2^k - 1)] [0,1,…,(2k−1)] 中随机地取出一个数,记为 r
- 重传所需的时延 r ∗ 基本退避时间 r*基本退避时间 r∗基本退避时间
- 参数 k = Min[重传次数, 10]
- 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告
- 强化碰撞:人为干扰信号
- 发送站检测到冲突后,立即停止发送数据帧,接着就发送 32 或 48 比特的人为干扰信号
- 以太网还规定了帧间最小间隔为 9.6 μs
使用集线器的星形拓扑
- 每个站到集线器的距离不超过100 m
- 特点
- 使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行,使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线,同一时刻至多只允许一个站发送数据
- 很像一个多端口的转发器
- 工作在物理层,每个端口仅仅简单地转发比特,不进行碰撞检测
- 采用了专门芯片,进行自适应串音回波抵消,减少了近端串音
以太网的信道利用率
- 成功发送一个帧需要占用信道的时间是 T 0 + τ T_0 + τ T0+τ ,比帧的发送时间要多一个单程端到端时延 τ
- 要提高以太网的信道利用率,就必须减小 τ 与 T 0 T_0 T0 之比
- 在以太网中定义了参数 a 以太网单程端到端时延 τ 与帧的发送时间
T
0
T_0
T0 之比:
a
=
τ
/
T
0
a=τ/T_0
a=τ/T0
- a → 0 a \to 0 a→0,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高
- a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低
- 为提高利用率,以太网的参数 a 的值应当尽可能小些
- 当数据率一定时,以太网的连线的长度受到限制,否则 t 的数值会太大
- 以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大
- 极限信道利用率
S
m
a
x
S_{max}
Smax:
S
m
a
x
=
T
0
T
0
+
τ
=
1
1
+
a
S_{max}=\frac{T_0}{T_0+τ}=\frac{1}{1+a}
Smax=T0+τT0=1+a1
- 只有当参数 a 远小于 1 才能得到尽可能高的极限信道利用率
以太网的MAC层
- MAC层的硬件地址
- 硬件地址又称物理地址,或MAC地址
- IEEE 802 标准为局域网规定了一种 48 位的全球地址(简称为地址)
- IEEE 注册管理机构 RA 负责向厂家分配前 3 个字节 (即高 24 位),称为组织唯一标识符 OUI(公司标识符)
- 厂家自行指派后 3 个字节 (即低 24 位),称为扩展标识符
- 必须保证生产出的适配器没有重复地址
- 地址被固化在适配器的 ROM 中
- IEEE 规定地址字段的第 1 字节的最低位为 I/G 位
- 单个站地址:I/G 位 = 0
- 组地址:I/G 位 = 1,用来进行多播
- 广播地址:所有 48 位都为 1(全 1)。只能作为目的地址使用
- IEEE 把地址字段第 1 字节的最低第 2 位规定为 G/L 位
- 全球管理:G/L 位 = 0,厂商向 IEEE 购买的 OUI 都属于全球管理
- 本地管理:G/L 位 = 1,这时用户可任意分配网络上的地址
- 适配器具有过滤功能
- 每收到一个 MAC 帧,先用硬件检查帧中的 MAC 地址
- 如果是发往本站的帧则收下,然后再进行其他的处理
- 发往本站的帧
- 单播帧(一对一)
- 广播帧(一对全体)
- 多播帧(一对多)
- 发往本站的帧
- 否则就将此帧丢弃,不再进行其他的处理
- 以混杂方式工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来
- MAC帧的格式
- 常用的以太网 MAC 帧格式
- DIX Ethernet V2 标准
- IEEE 的 802.3 标准
-
- 目的地址:6字节
- 源地址:6字节
- 类型:2字节,用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议
- 数据(MAC 客户数据):46-1500字节
- 当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节
- FCS:4字节
- 由硬件在帧的前面插入 8 字节。第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧
- 无效的MAC帧
- 数据字段的长度与长度字段的值不一致
- 帧的长度不是整数个字节
- 用收到的帧检验序列 FCS 查出有差错
- 数据字段的长度不在 46 ~ 1500 字节之间
- 有效的 MAC 帧长度为 64 ~ 1518 字节之间
- 对于检查出的无效 MAC 帧就简单地丢弃
- 以太网不负责重传丢弃的帧
- IEEE 802.3 MAC 与以太网 V2 MAC 帧格式的区别
- 当“长度/类型”字段值大于 0x0600 时,表示“类型”;小于 0x0600 时,表示“长度”
- 当“长度/类型”字段值小于 0x0600 时,数据字段必须装入逻辑链路控制 LLC 子层的 LLC 帧
- 在 802.3 标准的文档中,MAC 帧格式包括了 8 字节的前同步码和帧开始定界符
- 常用的以太网 MAC 帧格式
扩展的以太网
在物理层扩展以太网
- 使用光纤扩展
- 主机使用光纤和一对光纤解调器连接到集线器
- 使用集线器扩展
- 用多个集线器连成更大的以太网
- 优点
- 使原来属于不同碰撞域(冲突域)的计算机能够跨碰撞域通信
- 扩大了以太网覆盖的地理范围
- 缺点
- 碰撞域增大了,总的吞吐量未提高
- 如果使用不同的以太网技术(如数据率不同),那么就不能用集线器将它们互连起来
在数据链路层扩展以太网
- 早期使用网桥,现在使用以太网交换机
- 网桥:根据 MAC 帧的目的地址对收到的帧进行转发和过滤。或者转发,或者丢弃
- 以太网交换机:多端口的网桥;可明显地提高以太网的性能
- 以太网交换机的特点
- 实质上是一个多接口网桥:通常有十几个或更多的接口
- 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式
- 以太网交换机具有并行性
- 能同时连通多对接口,使多对主机能同时通信
- 相互通信的主机都独占传输媒体,无碰撞地传输数据
- 每一个端口和连接到端口的主机构成了一个碰撞域
- 接口有存储器,能在输出端口繁忙时把到来的帧进行缓存
- 即插即用。其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。这种交换表就是一个内容可寻址存储器CAM
- 使用专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多
- 以太网交换机的自学习功能
2. 消除回路:生成树协议STP
1. 不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象 - 从总线以太网到星形以太网
- 早期
- 采用无源的总线结构
- 使用CSMA/CD协议,以半双工方式工作
- 现在
- 以太网交换机为中心的星形结构
- 不使用共享总线,没有碰撞问题,不使用 CSMA/CD 协议,以全双工方式工作。但仍然采用以太网的帧结构
- 早期
虚拟局域网
- 以太网存在的问题
- 广播风暴:一个以太网是一个广播域,交换机之间的冗余链路形成广播风暴
- 安全问题:交换机每个接口都处于一个独立的碰撞域(或冲突域)中,但所有计算机都处于同一个广播域中
- 管理困难
- 虚拟局域网VLAN
- 利用以太网交换机可以很方便地实现虚拟局域网 VLAN
- IEEE 802.1Q 对虚拟局域网 VLAN 的定义:虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN
- 虚拟局域网其实只是局域网给用户提供的一种服务,并不是一种新型局域网
- 虚拟局域网优点
- 改善了性能
- 简化了管理
- 降低了成本
- 改善了安全性
- 划分虚拟局域网的方法
- 基于交换机端口
- 最简单、也是最常用的方法
- 属于在第 1 层划分虚拟局域网的方法
- 缺点:不允许用户移动
- 基于计算机网卡的 MAC 地址
- 根据用户计算机的 MAC 地址划分虚拟局域网
- 属于在第 2 层划分虚拟局域网的方法
- 允许用户移
- 缺点:需要输入和管理大量的 MAC 地址。如果用户的 MAC 地址改变了,则需要管理员重新配置VLAN
- 基于协议类型
- 根据以太网帧的第三个字段“类型”确定该类型的协议属于哪一个虚拟局域网
- 属于在第 2 层划分虚拟局域网的方法
- 基于 IP 子网地址
- 根据以太网帧的第三个字段“类型”和 IP 分组首部中的源 IP 地址字段确定该 IP 分组属于哪一个虚拟局域网
- 属于在第 3 层划分虚拟局域网的方法
- 基于高层应用或服务
- 根据高层应用或服务、或者它们的组合划分虚拟局域网
- 更加灵活,但更加复杂
- 基于交换机端口
高速以太网
100BASE-T 以太网(快速以太网)
- 在双绞线上传送 100 Mbit/s 基带信号的星形拓扑以太网
- 仍使用 IEEE 802.3 的 CSMA/CD 协议
- 1995 定为正式标准:IEEE 802.3u
- 特点
- 可在全双工方式下工作而无冲突发生
- 在全双工方式下工作时,不使用 CSMA/CD 协议
- 使用 IEEE 802.3 协议规定的 MAC 帧格式
- 保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 米
- 帧间时间间隔从原来的 9.6 ms 改为现在的 0.96 ms
吉比特以太网
- 特点
- 允许在 1 Gbit/s 下以全双工和半双工 2 种方式工作
- 使用 IEEE 802.3 协议规定的 MAC 帧格式
- 在半双工方式下使用 CSMA/CD 协议,而在全双工方式不使用 CSMA/CD 协议
- 与 10BASE-T 和 100BASE-T 技术向后兼容
- 吉比特以太网的物理层
- 自有以太网
- 美国国家标准协会ANSI制定的光纤通道FC
- 半双工方式工作的吉比特以太网
- 半双工时采用 CSMA/CD,必须进行碰撞检测
- 为保持 64 字节最小帧长度,以及 100 米的网段的最大长度,增加了 2 个功能
- 载波延伸:将争用时间增大为 512 字节。凡发送的 MAC 帧长不足 512 字节时,就用一些特殊字符填充在帧的后面
- 分组突发:当很多短帧要发送时,第 1 个短帧采用载波延伸方法进行填充,随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,直到达到 1500 字节或稍多一些为止
10吉比特以太网(10GbE)和更快的以太网
- 特点
- 万兆比特
- 与 10、100 Mbit/s 和 1 Gbit/s 以太网的帧格式完全相同
- 保留了 IEEE 802.3 标准规定的以太网最小和最大帧长
- 只使用光纤作为传输媒体
- 只工作在全双工方式,没有争用问题,不使用 CSMA/CD 协议
- 端到端的以太网传输
- 以太网的工作范围已经扩大到城域网和广域网,实现了端到端的以太网传输
- 好处
- 技术成熟
- 互操作性很好
- 在广域网中使用以太网时价格便宜
- 采用统一的以太网帧格式,简化了操作和管理
使用以太网进行宽带接入
- 特点
- 可以提供双向的宽带通信
- 可以根据用户对带宽的需求灵活地进行带宽升级
- 可以实现端到端的以太网传输,中间不需要再进行帧格式的转换
- 不支持用户身份鉴别
- PPPoE
- 在以太网上运行 PPP
- 将 PPP 帧封装到以太网中来传输
- 现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入
- 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间的连接也使用 RJ-45 和 5 类线,也使用 PPPoE