局域网设计/局域网简介
外观
< 局域网设计
IEEE 802 工作组将局域网 (LAN) 定义为通过共享介质进行通信的系统,它允许独立设备在有限区域内使用高速且可靠的通信通道进行通信。
- 关键词
- 共享介质: 所有人连接到相同的通信介质;
- 独立设备: 所有人都是对等,也就是说在能够进行通信方面拥有相同的特权(没有客户端-服务器交互);
- 有限区域: 所有人都在同一个本地区域内(例如企业、大学校园),并且彼此之间最多相距几公里(没有公共土地穿越);
- 高速: 当时 LAN 速度以兆比特每秒 (Mbps) 衡量,而 WAN 速度以比特每秒衡量;
- 可靠: 故障很少见→ 检查对性能的益处不那么复杂。
广域网 (WAN) 和局域网的协议在 80 年代之前是独立发展的,因为目的不同。在 90 年代,IP 技术最终允许将这两个世界互连。
- WAN
WAN 出现在 60 年代,用于将远程终端连接到当时为数不多的主机。
- 通信物理介质: 长距离点对点租用线路;
- 物理介质所有权: 网络管理员必须从政府垄断企业租用电缆;
- 使用模式: 平稳,即带宽占用时间较长(例如终端会话);
- 通信类型: 始终是单播,一次允许多次通信;
- 物理介质质量: 故障频率高,速度低,电磁干扰高;
- 成本: 高,包括运营成本(例如电缆租用费);
- 中间通信系统: 需要管理大规模通信(例如电话交换机)→ 交换设备可能出现故障。
- LAN
LAN 出现在 70 年代末,用于在小型工作组(例如部门)之间共享资源(例如打印机、磁盘)。
- 通信物理介质: 短距离多点共享总线架构;
- 物理介质所有权: 网络管理员拥有电缆;
- 使用模式: 突发,即短期数据峰值(例如文档打印)之后是长时间暂停;
- 通信类型: 始终是广播,一次只允许一次通信;
- 物理介质质量: 抵抗故障的能力更强,速度更快,外部干扰更低;
- 成本: 合理,主要集中在网络设置时;
- 中间通信系统: 无需→ 成本更低,速度更快,可靠性更高,添加和删除站点的灵活性更高。
在集线器和网桥出现之前,共享通信介质可以通过两种方式实现
- 物理广播: 基于广播的技术,例如总线: 一台站发送的信号会传播到所有其他站;
- 逻辑广播: 点对点技术,例如令牌环: 一台站发送的信号到达下一台站,下一台站将其复制到之后的站,依此类推。
- 问题
- 隐私: 所有人都可以听到通过共享介质传输的内容→ 应该制定寻址系统(现在: MAC 地址);
- 并发性: 一次只允许进行一次通信
- 冲突: 如果两台站同时传输,一台站发送的数据可能会与另一台站发送的数据重叠→ 应该制定冲突检测和恢复机制(现在: CSMA/CD 协议);
- 信道独占: 在背靠背传输中,一台站可能会占用信道很长时间,从而阻止其他站进行通信→ 应该制定一种统计复用,即通过定义一个称为块的最大传输单元,并在来自一台站的块与来自另一台站的块之间交替,来模拟同时进行多次通信(现在: 以太网帧)。
在 LAN 中,数据链路层被分成两个子层
每张网卡都由一个MAC 地址唯一标识。MAC 地址具有以下格式
24 | 48 |
OUI | NIC ID |
其中各个字段是
- 组织唯一标识符 (OUI) 字段 (3 字节): IEEE 为识别网卡制造商而唯一分配的代码
- NIC 标识符 (NIC ID) 字段 (3 字节): 制造商为识别特定网卡而唯一分配的代码(也称为'网络接口控制器' [NIC])。
媒体访问控制 (MAC) 标头具有以下格式
48 | 96 | 112 | 46 到 1500 字节 | 4 字节 |
目标地址 | 源地址 | 长度 | 有效载荷 | FCS |
其中各个字段是
- 目标地址 字段 (6 字节): 它指定目标 MAC 地址。
- 它位于源 MAC 地址之前,因为这样目标可以更早地处理它,如果它不是针对它的,则丢弃该帧;
- 源地址 字段 (6 字节): 它指定源 MAC 地址(始终是单播);
- 长度 字段 (2 字节): 它指定有效载荷长度;
- 帧控制序列 (FCS) 字段 (4 字节): 它包含整个帧的完整性控制的 CRC 代码。
- 如果 CRC 代码检查失败,则接收到的帧已损坏(例如由于冲突)并且被丢弃;较高层机制(例如 TCP)将负责通过重新发送帧来恢复错误。
当网卡接收到帧时
- 如果目标 MAC 地址与网卡的地址匹配或为广播类型 ('FF-FF-FF-FF-FF-FF'),则它会接受该帧并将其发送到更高层;
- 如果目标 MAC 地址与网卡的地址不匹配,则它会丢弃该帧。
以混杂模式设置的网卡会接受所有帧→ 这对于网络嗅探很有用。
逻辑链路控制 (LLC) 标头具有以下格式
8 | 16 | 24 或 32 |
DSAP | SSAP | CTRL |
其中各个字段是
- DSAP 字段 (1 字节,其中 2 位保留):用于识别目的地的上层协议。
- SSAP 字段 (1 字节,其中 2 位保留):用于识别源的上层协议。
- 控制 (CTRL) 字段 (1 或 2 字节):源自 HDLC 控制字段,但未使用。
- DSAP 和 SSAP 字段的问题
- 有限的值集:只能编码 64 种协议。
- ISO 分配的代码:只有国际公认的标准组织发布的协议对应于代码,而其他机构定义或由一些供应商推出的协议(例如 IP)则被排除在外。
- 代码冗余:没有理由使用两个字段来定义协议,因为源和目标总是使用相同的协议(例如,都是 IPv4 或都是 IPv6)。
子网访问协议 (SNAP) 是 LLC 的一种特定实现,适用于没有标准代码的协议。
LLC SNAP 头部的格式如下
8 | 16 | 24 | 48 | 64 |
DSAP (0xAA) | SSAP (0xAA) | CTRL (3) | OUI | 协议类型 |
其中各个字段是
- DSAP,SSAP,CTRL 字段:LLC 字段固定为指示 SNAP 头部存在。
- 组织唯一标识符 (OUI) 字段 (3 字节):用于识别定义协议的组织。
- 如果它等于 0,则 '协议类型' 字段中的值对应于以太网 DIX 中使用的值。
- 协议类型 字段 (2 字节):用于识别上层协议(例如 0x800 = IP,0x806 = ARP)。
实际上,LLC SNAP 头部使用得不多,因为浪费了字节,而以太网 DIX 中的 'Ethertype' 字段则更受欢迎。