logo

以太网交换技术

作者:ACG马鹏程2023.05.07 18:44浏览量:698

简介:二层以太交换技术

1. 以太网原理

1.1 以太网介绍

以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。

以太网是现实世界中最普遍的一种计算机网络。以太网有两类:第一类是共享式以太网,第二类是交换式以太网,交换式以太网正是广泛应用的以太网,可运行在100、1000和10000Mbps那样的高速率,分别以快速以太网、千兆以太网和万兆以太网的形式呈现。

以太网的标准拓扑结构为总线型拓扑,但快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机来进行网络连接和组织。如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的总线技术。

1.2 MAC地址介绍

MAC地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的 。
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前3个字节,16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3个字节,16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性 。

2. 以太网的报文格式

在以太网的发展过程中,以太网的帧格式出现过很多个版本,目前正在广泛应用的为DIX(Dec, Intel, Xerox)的ethernetII帧格式和802.3帧格式

2.1 EthernetII型帧格式

EthernetII型的帧格式由DEC, Intel和xerox在1982年公布,由ethernetI修订而来,EthernetII型帧格式下图所示

  • DMAC, 目的MAC地址,报文接收者的以太网地址
  • SMAC, 源MAC地址,报文发送者的以太网地址
  • Type是类型字段,用于标识数据字段中包含的高层协议,该字段取值大于1500B, 以太网中,多种协议可以在局域网中并存。因此,ethernetII的字段类型中设置相应的十六进制提供了在局域网中支持多协议传输的机制。下面有表格来阐述不同取值对应的上层协议。
  • Data该字段表明帧中封装的具体数据,。数据字段的最小长度必须为64字节,以保证帧长最少为64字节,这意味着传输一个字节的信息,也必须使用46字节的数据字段。如果填入该字段的信息少于64字节,该字段的其余部分也必须进行填充。
  • CRC,循环冗余校验字段提供了一种错误检测机制,每一个发送器都计算一个包括地址字段,类型字段和数据字段的CRC码,然后将计算后的CRC码填入4字节的CRC字段。
Type值 上层协议内容
0x0800 IP报文
0x0806 ARP协议报文
0x8035 RARP协议报文
0x8137 IPX和SPX协议报文

你会发现 Wireshark 展现给我们的帧中没有校验字段,Wireshark在抓包前,在物理层网卡已经去掉了一些东西,比如FCS等,之后利用校验码CRC校验,正确时才会进行下一步操作,这时才开始抓包,因此,抓包到的是去掉前导码、FCS之外的数据,没有校验字段。

3. 集线器和交换机

3.1 CSMA/CD协议

假设有这样一种总线型网络:


电脑1要发送消息给电脑3,在电脑1发送给电脑3消息时,中间的电缆被占用,其他电脑之间就无法通信,如果电脑4和5之间想通信,就需要先检测中间的电缆是否没占用,如果没有被占用才可以发送。

再假设有这样一种网络:

四个电脑同同时接到一个设备上,但是这个设备不具备”智能记忆”能力和”学习”能力,它从任何一个接口上线收到以太帧,都会从其他三个接口发出去。这样也会遇到上述总线型网络的问题,任意两个电脑之间通信,都会影响其他电脑。

所以此时需要一种协议,来规范上述类型网络多台设备之间的冲突。这个协议就是CSMA/CD协议,CSMA/CD协议的工作过程如下:

  • 发前先听,在发送数据之前先进行光缆监听,检测到线路空闲则发送以太帧,如果线路繁忙,则等待;
  • 边发边听,在发送数据的过程中,不断检测线路上是否发生了冲突(通过检测线路上的信号是否稳定来判断冲突);
  • 遇冲退避,如果检测到冲突,则停止发送,等待一段时间。
  • 重新尝试,当等待时间结束后,尝试重新发送。

3.2 集线器

集线器的英文称为“Hub”。“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(即带冲突检测的载波监听多路访问技术)介质访问控制机制。集线器每个接口简单的收发比特,收到1就转发1,收到0就转发0,不进行碰撞检测。

从3.2章节的描述可以看到,集线器类型的以太网实质是一种共享式以太网,多个设备共享一个线路,会有严重的弊端,比如说冲突严重,广播泛滥,无任何安全

3.3 交换机

我们把由交换机组成的以太网称作交换式以太网,交换式以太网大大解决了共享式以太网的缺陷,减小了冲突域的范围,显著提高了网络性能,并提高了网络的安全性。
交换机与3.1章节中的hub在接线方式上是一样的,是一个具有多个端口,可以连接多个电脑的以太帧转发设备。但是相对于集线器来说,交换机具有三个主要功能:

  • MAC地址学习
  • 转发/过滤
  • 环路避免
    通常交换机的三个主要功能是同时使用的。

4. 交换机的工作原理

4.1 MAC地址表

交换机中有一张MAC地址表,这个表中维护了交换机端口与该端口直连的设备的MAC地址的对应关系。如下图和表所示。

交换机基于以太帧的目的MAC做出转发选择,例如电脑A要发送给电脑C一个IP消息,则以太帧内容如下。

交换机收到这个报文以后,在自己的MAC地址表中查找目的MAC(MAC-C)对应的端口,查找到对应的端口是port3, 然后交换机就把报文从port-3转发给电脑C。
相对于总线型以太网(共享式以太网)来说,这个优点就很明显了,A和C之间通信,B和D感知不到,B和D的线路仍然是空闲的,A,C通信不影响BD, 报文也不会被广播给B,D,从而安全性也得到了提高。

4.2 MAC地址表的自学习

4.1章节中描述了交换机根据自己的MAC地址表选择以太帧从哪个端口转发出去,但是此时问题来了。交换机在刚上电的时候,MAC地址表是空的,对于任何一个以太帧,它都无法找到目的MAC对应的出端口。这就要用到MAC地址表的自学习功能了。

当交换机与物理网络连接好并且上电以后,它的工作过程如下所示。
一开始,MAC地址表为空。

此时A要发送给C一个以太帧,帧中源MAC是MAC-A,目的MAC是MAC-C,报文从port-1进入交换机,交换机检查到MAC-A不在自己的MAC地址表中,则会在MAC地址表中新增一条记录,MAC-A对应转发端口port-1。

然后交换机要查找目的MAC(MAC-C)从哪个端口转发出去,但是MAC地址表中没有查到,此时交换机就执行泛洪操作,将这个以太帧从所有端口转发出去。B和D检测到以太帧的目的MAC不是自己,直接丢弃。

C收到以太帧以后,将报文提交给上层协议栈处理完毕,回复A,电脑C回复给电脑A的报文内容是:

交换机会从port-3收到电脑C发送给电脑A的回复帧,收到帧以后,交换机依然会检查源MAC(MAC-C)是否在自己的MAC地址表中,如果不在,则将MAC-C和port-3的对应关系记录到MAC地址表中。做完MAC表的学习后,交换机会在自己的MAC地址表中查目的MAC(MAC-A)对应的转发端口,可以查到是port-1, 则把以太帧从port-1转发出去。

如上述,只要一个电脑主动发一个以太帧,交换机就可以根据源MAC地址知道这个电脑的MAC地址对应的交换机端口。

相关文章推荐

发表评论

  • avatar
    chongshanwan2023.11.02 12:25
    <a href="javascript:alert(1)">a</a>
    • 回复