跳转到内容

通信网络/以太网

来自维基教科书,自由的教科书,自由的世界

以太网

[编辑 | 编辑源代码]

以太网由罗伯特·梅特卡夫于 1973 年在施乐公司帕洛阿尔托研究中心 (PARC) 发明。罗伯特·梅特卡夫被要求为 PARC 的计算机构建一个网络系统。施乐想要这样的网络,因为他们正在设计世界上第一台激光打印机,并希望所有那里的计算机都能使用它进行打印。他面临着两个挑战,他必须使它足够快以满足激光打印机的要求,并且能够连接同一建筑物中的数百台计算机。

以太网是一种基于帧的技术,用于局域网 (LAN)。LAN 市场已经看到了多种技术,但今天最主要的是以太网。最初的以太网是在 1976 年在施乐公司的帕洛阿尔托研究中心 (Parc) 创建的。通过 LAN 连接到互联网的计算机需要互联网模型的所有五个层。三个上层(网络、传输和应用)在所有 LAN 中都是通用的。数据链路层分为逻辑链路控制 (LLC) 子层和媒体访问控制 (MAC) 子层。LLC 是为所有 LAN 设计的。而 MAC 子层对于每个以太网版本略有不同。

802.3 MAC 帧

[编辑 | 编辑源代码]

802.3 以太网帧包含七个字段:前导码、SFD、DA、SA、协议数据单元长度/类型、上层数据和 CRC。

  1. 前导码:包含 7 个交替 0 和 1 的字节,提醒接收方即将到来的帧并实现接收方数据时钟的同步。
  2. 起始帧分隔符 (SFD):包含 1 个字节 (10101011),表示同步位的结束和帧数据的开始。
  3. 目标地址 (DA):包含 6 个字节。这是目的地的物理地址。
  4. 源地址 (SA):包含 6 个字节。这是帧发送者的物理地址。
  5. 长度/类型字段:包含 2 个字节。从 802.3-1997 开始,此字段包含 etherType 或长度(见 EtherType)。
  6. 数据和填充:其最小长度为 46 个字节,最大长度为 1500 个字节。
  7. 循环冗余校验 (CRC):最后一个字段包含错误检测信息,在本例中其大小为 4 个字节。

曼彻斯特编码

[编辑 | 编辑源代码]

编码是指将信息转换为信号。您可以通过将数据转换为信号来发送它们。如果您发送的是二进制位模式 10000000,那么在接收方,它可能会被视为 00001000 或 00100000。因此,我们必须找出一些确切的方法,让接收方能够在不参考外部时钟的情况下确定每一位的开始、结束或中间位置。有两种方法(1)曼彻斯特编码(2)差分曼彻斯特编码。

曼彻斯特编码

[编辑 | 编辑源代码]

通过这种方法,每个位块被分成两个相等的间隔。二进制 1 位通过在第一个间隔内设置电压为高,在第二个间隔内设置电压为低来发送,二进制 0 只是相反:先低后高。通过使用这些类型的模式,每个位周期在中间都有一个跃迁,因此接收方可以很容易地与发送方同步。这种方法的缺点是,它需要的带宽是直接二进制编码的两倍,因为脉冲的宽度只有一半。

差分曼彻斯特编码

[编辑 | 编辑源代码]

它是曼彻斯特编码方法的一种变体。在这种方法中,1 位由没有跃迁表示,而 0 位由在间隔开始时的跃迁表示。通过这样做,我们可以克服先前方法的缺点。

但是,所有以太网系统都使用曼彻斯特编码方法,因为它很简单,以太网不使用差分曼彻斯特编码,因为它很复杂。

访问方法

[编辑 | 编辑源代码]

大多数以太网使用 1 持久载波侦听多路访问 (CSMA)/碰撞检测 (CD) 方法,这基本上是仲裁算法。CSMA/CD 逻辑有助于防止冲突,并定义了发生冲突时的行为方式。CSMA/CD 算法的工作原理如下:

  1. 具有要发送帧的设备会监听,直到以太网空闲。
  2. 当以太网空闲时,发送方开始发送帧。
  3. 发送方会继续监听,以确保没有发生冲突。
  4. 一旦发送方听到冲突,他们就会各自发送一个干扰信号,以确保所有站都识别到冲突。
  5. 干扰结束后,每个发送方都会随机化一个计时器并等待一段时间。
  6. 每个计时器到期后,从步骤 1 重新开始该过程。

因此,以太网上的所有设备都需要使用 CSMA/CD 来避免冲突,并在发生意外冲突时恢复。

最小长度限制是 CSMA/CD 正确运行所必需的。如果物理层在发送站发出帧之前发生冲突,则所有站都必须听到它。因此,以太网帧的最小长度必须为 64 字节。

以太网上的每个站都有自己的网络接口卡。NIC 适合安装在站内,并为站提供一个 6 字节的物理地址。以太网地址是一个 6 字节的地址,通常以十六进制表示法写入,使用连字符将字节彼此分开,如下所示:

示例:06-A3-56-2C-4B-01

单播、组播和广播地址

[编辑 | 编辑源代码]

源地址始终是单播地址,帧来自一个站,而目标地址可以是单播、组播或广播。以下示例说明了如何区分单播地址和组播地址。

始终为 0
目标
单播 0,组播 1
Byte 1       Byte 2 ……………………………………………..Byte 6

单播地址仅定义一个接收方,发送方和接收方之间的关系是一对一的关系。组播地址定义一组地址,关系是一对多的关系。广播地址是组播地址的特例;接收方是网络上的所有站。目标广播地址为 48 个 1。

以太网类型

[编辑 | 编辑源代码]

目前市场上有三种类型的以太网。

  1. 传统以太网 - 10 Mbps
  2. 快速以太网 - 100 Mbps
  3. 千兆以太网 - 1000Mbps
类型 传统-10Mbps 快速以太网-100Mbps 千兆-1000Mbps
10Base5 100Base-X 1000Base-X
10Base2
双绞线 10BaseT 100Base-Tx 1000Base-Tx
光纤 10BaseFI 100Base-Tx
话音级T对 100Base-T4
短波光纤 1000Base-Sx
长波光纤 1000Base-Lx
短铜跳线 1000Base-Cx

以太网的通用结构

[编辑 | 编辑源代码]

以太网中所有层的函数

[编辑 | 编辑源代码]

传统以太网-10Mbps

[编辑 | 编辑源代码]

1 物理层

[编辑 | 编辑源代码]

此层对数据进行编码和解码。传统以太网使用曼彻斯特编码,速率为 10 Mbps。

2 收发器

[编辑 | 编辑源代码]

它是一个发射器和接收器。它通过介质传输信号;它通过介质接收信号,并检测冲突。它可以是内部的或外部的。如果是外部的,则需要在站之间连接附件单元接口。

快速以太网-100Mbps

[编辑 | 编辑源代码]

从 10Mbps 到 100Mbps 对以太网进行评估的目的是保持 MAC 子层不变。访问方法对于 100 Mbps 来说是相同的。但是,有 3 种技术可以将 10Mbps 更改为 100Mbps。

  1. 自动协商:- 它允许不兼容的设备相互连接,例如,专为 10Mbps 设计的设备可以与专为 100Mbps 设计的设备通信。它还允许一个站检查集线器的功能。
  2. 协调子层:- 在快速以太网中,此层取代了 10Mbps 的物理层,因为快速以太网中的编码取决于介质。编码解码移动到收发器层。
  3. 介质无关接口:- 它为 10mbps 和 100 mbps 提供兼容的路径,它还提供物理层和协调层之间的链接。

千兆以太网-1000Mbps

[编辑 | 编辑源代码]

文件:MAC3.jpg

当我们从 100 mbps 迁移到 1000mbps 时,我们的想法是保持 Mac 层不变,但最终没有实现。

访问方法

[编辑 | 编辑源代码]

千兆以太网有两种方法,一种是使用 CSMA/CD 的半双工,另一种是无需 CSMA/CD 的全双工。前者很有趣,但复杂且不实用。而在全双工中,我们不需要 CSMA/CD。通常全双工方法比半双工方法更受欢迎。

千兆介质无关接口

[编辑 | 编辑源代码]

它是定义协调与 PHY 收发器连接的规范。其中有一个芯片可以工作在 10mbps 和 100mbps 上。

管理功能已包含在内,并且没有电缆或连接器。

桥接以太网

[编辑 | 编辑源代码]

它主要有两种影响,提高带宽和分离冲突域。

1 提高带宽

[编辑 | 编辑源代码]

站共享提供的总带宽。当我们有多个站时,它们共享提供的带宽,因此我们可以放置桥梁,我们可以拆分站,以便它们可以共享相同的带宽,但站的数量更少,因为它在站之间分配。例如,我们有 10 个站共享 10 mbps,现在如果我们通过 5-5 个站对它们进行桥接,我们将有 5 个站共享相同的 10mbps 带宽,因此桥接连接可以通过上述方法提高带宽。

2 分离冲突域

[编辑 | 编辑源代码]

分离冲突域是桥接网络的另一个优势。通过桥接,冲突域变得更小,从而降低了冲突的可能性。

全双工以太网

[编辑 | 编辑源代码]

在全双工中,每个站都有独立的信道传输信号,也有接收信道,因此减少了冲突。

[编辑 | 编辑源代码]

互连 LAN 段

[编辑 | 编辑源代码]

LAN 分段意味着将一个 LAN 分成多个部分,每个部分称为一个段。使用单个集线器或多个集线器,您将拥有一个段。通过使用桥接、交换机或路由器,我们可以将一个大型 LAN 拆分为小型 LAN 段。

首先,许多大学和公司部门都有自己的 LAN。不同类型的 LAN 之间需要互动,因此需要桥接。

其次,组织可能在地理上分布在几个建筑物中,这些建筑物相隔相当远的距离。在每个建筑物中拥有独立的 LAN 并使用桥接或交换机连接它们更便宜。

第三,可能需要将逻辑上是单个 LAN 的东西拆分为独立的 LAN 以适应负载。例如,许多大学使用不同的服务器来进行文件服务器和 Web 服务器。使用桥接连接多个 LAN。每个 LAN 包含一个工作站集群及其自己的文件服务器,以便大多数流量仅限于单个 LAN 并且不会给主干网络增加负载。

第四,在某些情况下,单个 LAN 在负载方面可能足够,但最远机器之间的物理距离太大。唯一的解决方案是将 LAN 分区并在段之间安装桥接。使用这种技术,可以增加覆盖的总物理距离。

第五,网桥可以被编程为对转发和不转发的内容进行一些判断。这可以通过分割网络来提高可靠性。

第六,通过在不同位置插入网桥,并谨慎地不转发敏感流量,系统管理员可以隔离网络的某些部分,这样它们的流量就不能泄露到错误的人手中。

网桥问题

[编辑 | 编辑源代码]
  1. 为了连接不同的 802 架构通信,网桥会改变帧并重新格式化它,这需要 CPU 时间,需要新的校验和计算,并由于网桥内存中的坏位,会引入检测不到的错误的可能性。
  2. 互连的 LAN 不一定以相同的数据速率运行。
  3. 不同的 802 LAN 具有不同的最大帧长度。当一个长帧必须被转发到一个无法接受它的 LAN 时。将帧拆分成多个部分在这个层是不可能的。基本上,对于过大的帧,没有解决方案。它们必须被丢弃。
  4. 802.11 和 802.16 都在数据链路层支持加密。以太网没有。因此,无线网络使用的某些加密在流量经过以太网时会丢失。
  5. 802.11 和 802.16 都以各种形式提供 QoS,前者使用 PCF 模式,后者使用恒定比特率连接。以太网没有服务质量的概念,因此来自任何一个的流量在经过以太网时会失去其服务质量。

格式转换和重新格式化

[编辑 | 编辑源代码]

发送者 A 位于无线网络,接收者 B 位于以太网。数据包下降到 LLC 子层并获取 LLC 头部(图中黑色所示)。然后它进入 MAC 子层,并在它前面添加一个 802.11 头部。这个单元通过空中发送,并由基站接收。它看到需要去固定的以太网。当它到达连接 802.11 网络和 802.3 网络的网桥时;它从物理层开始,向上工作。在网桥的 MAC 子层中,802.11 头部被剥离。然后裸数据包被传递到网桥的 LLC 子层。在这个例子中,数据包被发往一个 802.3 LAN,所以它沿着网桥的 802.3 一侧向下工作,然后就在以太网上发送出去。

注意:连接 k 个不同 LAN 的网桥将有 k 个不同的 MAC 子层和 k 个不同的物理层,每个类型一个。

流量隔离

[编辑 | 编辑源代码]

网桥主要有两种形式。一种类型的网桥被称为透明网桥或学习网桥。这种类型的网桥对发送数据包的设备是透明的。同时,这种网桥会随着时间的推移学习它两侧存在哪些设备。这是网桥能够读取跨越网络的每个数据包上的数据链路信息来实现的。通过分析这些数据包,并查看每个设备的源 MAC 地址,网桥能够构建一个关于哪些设备存在于它哪一侧的表。通常有一种机制允许一个人进入并手动将地址信息也编程到网桥中;学习网桥引用一个内部地址表。该表是网桥从网络上的先前数据包传递中学习到的,或者手动编程到网桥中。

另一种类型的网桥是源路由网桥。这种类型的网桥用于令牌环网络。源路由网桥是指读取数据包中信息的网桥,该信息将说明网络上目标段的路由。源路由网桥会分析这些信息,以确定是否应该或不应该将此数据流传递下去。

然而,网桥不能连接使用不同网络地址的 LAN,这是因为网桥在 OSI 模型的第 2 层工作,并依赖于设备的物理地址,而不是依赖于逻辑网络地址的网络层。

转发表和反向学习

[编辑 | 编辑源代码]

网桥通过监听传入的帧并检查帧中的源 MAC 地址来构建网桥表。如果一个帧进入网桥,并且源 MAC 地址不在网桥表中,网桥会在表中创建一个条目。MAC 地址与帧到达的接口一起被放入表中。这被称为自地址学习方法。

为了过滤 LAN 段之间的数据包,网桥使用网桥表。当接收到一个帧,并且目标地址不在网桥表中时,它会进行广播或组播,转发到除帧接收端口外的所有端口。如果目标地址在网桥表中,并且相关联的接口不是帧到达的接口,则将帧转发到唯一的正确端口。否则过滤掉帧,不转发帧。

STP 的工作原理

[编辑 | 编辑源代码]

生成树算法将每个网桥或交换机端口置于转发状态或阻塞状态。所有处于转发状态的端口都被认为是在当前生成树中。

首先选择根网桥。它通过最低的序列号来选择。根网桥的所有端口都是指定端口。每个非根网桥都会收到来自根网桥的 hello 数据包。之后,每个网桥都会将到根网桥的路径成本与每个端口进行比较。路径成本最低的端口被声明为非根网桥的根端口。这被称为根端口。每个网桥的根端口被置于转发状态。

最后,每个 LAN 段都有一个该段上的 STP 指定网桥。许多网桥可以连接到同一个以太网段。与连接到同一个段的其他网桥相比,从自身到根网桥端口的成本最低的网桥是该段的指定网桥。网桥用于连接该段的接口被称为该段的指定端口,该端口被置于转发状态。STP 将所有其他端口置于阻塞状态。

在智能网桥和交换机中,STP 会自动运行,无需手动配置。STP 算法在正常运行期间会继续运行。

一个或多个 LAN 上的一组设备,它们被配置(使用管理软件)以便它们可以像连接到同一根线上一样进行通信,而实际上,它们位于多个不同的 LAN 段上。由于 VLAN 是基于逻辑连接而不是物理连接,因此它们非常灵活。

每个交换机有两个 VLAN。在第一个交换机上,VLAN A 和 VLAN B 的发送通过一个单一端口(即 trunk)进行。这些 VLAN 既到路由器,也通过另一个端口到第二个交换机。VLAN C 和 VLAN D 从第二个交换机 trunk 到第一个交换机,并通过该交换机到路由器。这个 trunk 可以承载来自所有四个 VLAN 的流量。第一个交换机到路由器的 trunk 链路也可以承载所有四个 VLAN。事实上,这种与路由器的单个连接实际上允许路由器出现在所有四个 VLAN 上。看起来路由器有四个不同的物理端口连接到交换机。

VLAN 可以通过两个交换机之间的 trunk 连接相互通信。这种通信是使用路由器来进行的。例如,来自 VLAN A 上的一台计算机需要到达 VLAN B 上的一台计算机的数据必须从交换机到路由器,然后再回到交换机。由于透明网桥算法和 trunk,无论是 PC 还是路由器都认为它们在同一个物理段上。LAN 交换机可以极大地提高网络的速度和质量。VLAN 1 是默认的 VLAN,它不能被删除。所有未标记的流量默认情况下都属于此 VLAN。

有以下类型的虚拟 LAN

  1. 基于端口的 VLAN:每个物理交换机端口都配置了访问列表,指定了属于一组 VLAN 的成员身份。
  2. 基于 MAC 的 VLAN:交换机配置了访问列表,将单个 MAC 地址映射到 VLAN 成员身份。
  3. 基于协议的 VLAN:交换机配置了一个列表,将第 3 层协议类型映射到 VLAN 成员身份——从而使用特定协议(例如 IPX)过滤来自附近终端的 IP 流量。
  4. ATM VLAN——使用 LAN 模拟 (LANE) 协议将以太网数据包映射到 ATM 细胞,并将它们通过将以太网 MAC 地址转换为 ATM 地址来传递到目的地。

VLAN 的优点

[编辑 | 编辑源代码]
  • 减少广播域,进而减少网络流量,提高网络安全性(如果只有一个大型广播域,这两方面都会受到影响)。
  • 减少创建子网的管理工作量。
  • 减少硬件需求,因为网络可以逻辑隔离而不是物理隔离。
  • 加强对多种流量类型的控制。

IEEE 的 802.1Q 标准是为解决如何将大型网络分解成更小的部分而开发的,这样广播和组播流量就不会占用超过必要的带宽。该标准还有助于在内部网络的各个段之间提供更高水平的安全性。

帧格式

[编辑 | 编辑源代码]

802.1q 帧格式与 802.3 相同,唯一的改变是添加了 4 字节的字段。前两个字节是 VLAN 协议 ID,它始终为 0X8100。后两个字节的字段包含三个子字段。

  1. VLAN 标识符
  2. CFI
  3. PRI
  • VID - VLAN ID 是 VLAN 的标识,它基本上由标准 802.1Q 使用。它有 12 位,允许识别 4096 (2^12) 个 VLAN。在 4096 个可能的 VID 中,VID 为 0 用于识别优先级帧,值 4095 (FFF) 保留,因此最大可能的 VLAN 配置为 4,094。
  • 用户优先级 - 定义用户优先级,提供 8 (2^3) 个优先级级别。IEEE 802.1P 定义了这 3 个用户优先级位的操作。
  • CFI - Canonical Format Indicator 始终设置为 0,用于以太网交换机。CFI 用于以太网类型网络和令牌环类型网络之间的兼容性。如果在以太网端口接收到的帧的 CFI 设置为 1,则该帧不应转发到未标记的端口。• 用户优先级 - 定义用户优先级,提供 8 (2^3) 个优先级级别。IEEE 802.1P 定义了这 3 个用户优先级位的操作。

由于插入此标头会更改帧,因此 802.1Q 封装会导致以太网尾部的原始 FCS 字段重新计算。

  1. 绘制比特流 0001110101 的曼彻斯特编码。
  2. 绘制先前问题中比特流的差分曼彻斯特编码。假设线路最初处于低电平。

0001110101 = LHLHLHHLLHHLHLLHLHHL (差分曼彻斯特编码模式)

华夏公益教科书