什么是以太网
以太网是由IEEE定义的局域网技术,也是目前应用最普遍的技术,早期的令牌环网,FDDI等局域网技术都被它取代了,以太网主要分为两类,共享型以太网和交换型以太网。共享式以太网主要采用总线型的拓扑结构,如图,提供10M转发速率,HUB设备就是采用这种总线型的架构,在快速以太网出来之后,为了减少冲突,提高转发速率,开始采用交换机进行组网,拓扑也变成了星型架构,如右图,所以10M以后的以太网标准都是采用新型的拓扑架构。接下来分别看一下两种以太网的工作原理。
共享工以太网
也是是Hub设备的工作原理, 对于Hub设备来说,它从任何端口收到的数据都会泛洪出去,如图,主机不管它发送的是一个单播帧还是广播帧,它都会除原端口以外的所有端口进行广播,发送给主机2,主机3,主机4,那么这个就是Hub的一个工作原理,Hub设备是一种总线型的架构,也就是说相当于内部只有一个出口,它的内部如图,就中间只有一根总线一个出口,一旦两个端口同时发包,由于只有一根线,这个时候就会产生冲突,所以为了避免冲突,提出了CSMA/CD的概念,
共享式以太网工作原理-CSMA/CD
它的工作原理就是在发包之前先会对链路进行侦听, 看是否空闲,如果是空闲的才会发送数据,这样的话,就可以避免冲突,但是这个时候也有一个问题,假设两个用户都检测到链路空闲时发包,那么该检测机制会时刻去监测,边发送边监测,只发发生冲突立刻停止发送,而且等等一个随机的时延,只有等随机时延过了之后,再继续检测链路空闲情况再发包。
交换式以太网
交换式以太网主要利用交换机进行组网,图中说的网桥,其实是差不多的概念,交换机就是一个多端口的网桥,对于交换机而言,它所有的端口是可以在同一时刻发送数据的,不会有任何干扰,那么它的工作机制可以用两句话来说明,基于源MAC地址进行学习,基于目的MAC地址进行转发,那么这个是什么样的一个概念,首先看一个MAC地址表,MAC地址表记录的是什么内容,主要记录的就是MAC地址和端口的对应关系,如图,MAC A 把在的端口是端口1,MAC B把在的端口也是在端口1,MAC C 和MAC D 它是在端口2下,这个就是MAC地址表。
交换机主要通过学习源MAC地址建立这样的一个MAC地址表项,再发包的时候就会通过查表,向对应的端口进行转发。交换机MAC地址学习的一个过程。
交换机以太网-基于源地址学习
如图主机A和主机B, 通过共享型的网络连接到交换机的端口1,而主机C和主机D通过共享型的网络连接到端口2。假设主机A想要跟主机D进行通信,但是一开始的话,主机A是不知道主机D的MAC地址的,主机A会发起一个ARP广播去询问主机D的MAC地址,它发包的时候我们可以看一下它的源MAC地址,主机A发包的时候,源MAC就是MAC A,目的MAC就是一个全F的广播帧,当这样的一个报文到达交换机之后,它就会MAC A的地址记录下来,同是也会把它所在的端口给记录下来,那么这个过程就叫做基于源MAC地址进行学习。
交换式以太网-基于目的地址转发
只要目的MAC地址,在地址表中,就可以直接按照MAC表进行转发,如图交换机收到一个MAC为D的报文就会去查MAC地址表,看一下MAC地址有没有在我的MAC地址表中,结果发现MAC确实在我的表项里面,而且它对应的用户的端口是端口2,所以交换机直接把这个报文转发到端口2下面去。
共享式以太网VS交换式以太网
首先是拓扑结构,共享式以太网,它的拓扑结构可以是总线型,也可以是星型,而交换式以太网综的拓扑结构是星型的工作模式,共享型的以太网,它是半双工模式,交换式的以太网是全双工模式,全双又工模式的话就意味着所有端口它其实是可以双向进行通信的,可以在同一时刻发送数据,另外工作在共享式以太网的设备,一般就是集线器和中继器,工作在交换式以太网的设备是网桥,那么Hub和中继器是工作在物理层的,网桥还有交换机是工作在数据链路层,那么涉及到技术,就是在共享型以太网中,为了避免冲突,提出了CSMA/CD的一个概念,那么这个就是共享式以太网和交换式以太网的区别。