交换机工作原理
一、数据链路层
交换机属于数据链路层设备,数据链路层所传输的是数据帧,所封装的是MAC头部(主要有源MAC、目的MAC)、差错检验。
数据链路层的功能:
- 建立逻辑链接,进行物理地址寻址、差错检验
- 数据链路的建立、维护和拆除
- 数据帧的封装、传输、同步、差错检验
二、以太网工作在数据链路层
1. 以太网
- 以太网最初是由Xerox公司开发的一种基带局域网技术,使用同轴电缆作为网络媒体,采用载波多路访问和冲突检测(CSMA/CD)机制,数据传输速率达到10Mbps。
- 以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机来进行网络连接和组织。
- 以太网工作在数据链路层。
2. 以太网发展
- 1973年, Xerox公司提出以太网技术并实现之,最初以太网数率只有2.94Mbps。
- 1980年, Digital Equipment Corporation ,Intel,Xerox,三家联合推出10Mbps DIX以太网标准。
- 1995年,IEEE正式通过了802.3u快速以太网标准。
- 1998年,IEEE802.3z千兆以太网标准正式发布。
- 1999年,发布IEEE802.3ab标准,即1000BASE-T标准。
- 2002年7月18日,IEEE通过了802.3ae,即10Gbit/s以太网,又称为万兆以太网,它包括了10GBASE-R,10GBASE-W,10GBASE-LX4 三种物理接口标准。
- 2004年3月,IEEE批准铜缆10G以太网标准802.3ak,新标准将作为10GBASE-CX4实施,提供双轴电缆上的10Gbps的速率。
3. 以太网地址(MAC地址)
- 用来识别一个以太网上的某个单独的设备或一组设备。
- MAC地址有48位,但它通常被表示为12位的点分十六进制数。
- MAC地址全球唯一,由 IEEE对这些地址进行管理和分配。每个地址由两部分组成,分别是供应商代码和序列号。其中前24位二进制代表该供应商代码。剩下的24位由厂商自己分配。
- 如果48位全是1,则表明该地址是广播地址。(FF:FF:FF:FF:FF:FF)
- 如果第8位是1,则表示该地址是组播地址。
- 如果第8位是0,则表示该地址是单播地址。(34:41:5D:B5:D6:19)
4. 以太网帧
-
Ethernet II帧格式
- Preamble(前导码):用于接收方与发送方的同步,7个字节,每个字节的值固定为0xAA。
- SFD(start frame delimiter): 帧起始定界符,用于标识一个以太网帧的开始,值固定为0xAB。
- DST && SRC:分别表示标识目标地址和源地址。它们均为6个字节长。如果传输出去的目标地址第一位是0,则表示这是一个普通地址;如果是1, 则表示这是一个组地址。
- Length/Type:通常这个字段用于指定报文头后所接的数据类型。通常使用的值包括:IPv4(0x0800), IPv6(0x86DD), ARP(0x0806)。 而值0x8100代表一个Q-tagged 帧(802.1q)。通常一个基础的以太网帧长为1518字节,但是更多的新标准把这个值扩展为2000字节。
- MAC Client Data:数据主体,最小长度为48字节(加上帧头12字节,CRC4字节,加上type的2字节刚好64字节), 当数据主体小于48字节时,会添加pad字段。选取最小长度是出于冲突检测的考虑(CSMA/CD)。而数据字段最大长度为1502字节。(一个数据帧的范围 64~1518字节)
- FCS(Frame Check Sequence):也叫CRC(Cyclic Redundancy Check),CRC是差错检测码,用来确定接收到的帧比特是否正确。
-
IEEE802.3帧格式
-
IEEE802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。
-
Length字段定义了Data字段包含的字节数。
逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。 -
SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。Org Code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:
- 当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。
- 当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。
- DSAP和SSAP其他的取值均为纯IEEE802.3帧。
三、交换机工作原理
1. 以太网交换机
- 交换机是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。交换机工作于OSI参考模型的第二层,即数据链路层。交换机拥有一条高带宽的背部总线和内部交换矩阵,在同一时刻可进行多个端口对之间的数据传输。
- 在交换机内部维护了一张表,称为MAC地址表(端口地址表),端口地址表记录了端口下包含主机的MAC地址。端口地址表是交换机上电后自动建立的,
- 保存在RAM中,并且自动维护。交换机隔离冲突域的原理是根据其端口地址表和转发决策决定的。(RAM随机访问存储器,相当于电脑的内存条,运行内存,具有易失性,断电后,数据就会清空)
2. 工作原理
![](https://i-blog.csdnimg.cn/blog_migrate/2a02acf92e0caf3610bd7cf5e410e896.png)
- 初始状态下,交换机对外界一无所知,MAC地址表中也是空的。
- 当交换机收到一个来自主机的数据帧时,拆除数据帧后会根据数据中的源MAC地址和目标MAC地址来进行接下来工作,如果源MAC地址没有在自己MAC表中,会进行自动学习,将源MAC地址及接到到数据的接口对应记录在MAC表中。
- 接着根据目标MAC,查看MAC地址表中是否有记录,如没有记录,那就直接将数据帧除接收端口外的其他所有端口广播出去,如果有记录,那么找到对应端口,直接从对应端口单播转发出去。
- 交换机的工作原理:学习(源mac地址)、广播、回应、单播。
3. 交换机以太网接口工作模式
- 单工:两个数据站之间只能沿单一方向传输数据
- 半双工:两个数据站之间可以双向数据传输,但不能同时进行
- 全双工:两个数据站之间可双向且同时进行数据传输
4. 交换机以太网接口速率
- 每个接口都有对应的带宽:10Mbps、100Mbps、1000Mbps
- 接口连接时进行协商,协商失败则无法正常通信,目前常见的交换机基本都支持自适应
四、多端口转发器(HUB)
1. 冲突域
在以太网中,如果某个CSMA/CD网络上的两台计算机在同时通信时会发生冲突,那么这个CSMA/CD网络就是一个冲突域(collision domain)。
如果以太网中各个网段以集线器连接,因为不能避免冲突,所以它们仍然是一个冲突域。
- 产生过程
网络中,不同的主机同时发送数据时,就会产生信号冲突的问题(共享网络,总线型网络)
主机A想要发送一个单播数据包给主机B。但由于传统共享式以太网的广播性质,接入到总线上的所有主机都将收到此单播数据包。同时,此时如果任何另一方,包括主机B也要发送数据到总线上都将冲突,导致双方数据发送失败。我们称连接在总线上的所有主机共同构成了一个冲突域。
2. 广播域
广播是一种信息的传播方式,指网络中的某一设备同时向网络中所有的其它设备发送数据,这个数据所能广播到的范围即为广播域(Broadcast Domain)。
简单点说,广播域就是指网络中所有能接收到同样广播消息的设备的集合。