以太网的定义

数据链路层有很多分类,包括以太网、无线通信、PPP、ATM、POS、FDDI、Token Ring、HDMI 等,其中最著名的通信链路就是以太网了。以太网最开始的时候,一般使用的是以同轴电缆为传输介质的共享介质型连接方式,这也是以太网的第一种方式,叫做经典以太网。而现在,随着互联设备的处理能力和传输速度的提高,现在都采用终端和交换机之间连接方式,这也是第二种方式,叫做交换式以太网。在以太网链路上的数据包被称为以太帧,以太帧开头有一个叫做前导码的部分,它是由 0、1 数字交替组合而成。前导码的末尾最后是一个叫做 SFD(Start Frame Delimiter) 的域,值为 11,前导码与 SFD 共同占用 8 个字节,如图所示:
以太网 - 图1

以太网通信类型

经典以太网 - 共享介质型网络

共享介质型网络故名思义就是多个设备共同使用同一个通信介质的网络,这是一种半全工的模式。半双工指的是数据可以在一个信道上的两个方向上相互传输,但是不能同时传输。简单的例子:你能给我发消息,我也能给你发消息,但是不能你给我发消息的同时我也在给你发消息。既然多个设备会共同使用一个信道,那么就可能存在多个数据传输到同一个介质上导致的数据争用问题,为此,共享介质型网络有两种介质访问控制方式:争用和令牌传递。

争用

争用是发生在共享介质,载波监听多路访问(CSMA) 上的数据访问方式。在这种访问方式下,网络中各个介质会采用先到先得的方式占用载波信道发送数据。如果多个介质同时发送帧,就势必会产生冲突,继而导致通信性能的下降和网络拥堵。下面是争用的处理方式:
以太网 - 图2
如上图所示,假如 A 想要给 C 发送数据,那么介质 A 会在确认周围没有其他介质要给 C 发送数据后,也就是经过一段时间后,A 会把数据马上发送给 C。
以太网 - 图3
每个介质在接受到 A 发送的数据后,会从 A 报文中解析出来 MAC 地址判断是否是发送给自己的数据包,如果不是的话就是丢弃这条数据。
以太网 - 图4
上面这种方式会使用在一部分以太网中,但是另外一部分以太网却使用了 CSMA 的改良方式 - CSMA/CD 。CSMA/CD 会要求每个介质提前检查一下链路上是否有可能产生冲突的现象,一旦发生冲突,那么尽可能早地释放信道。它的具体工作原理大致如下:

  • 监听载波信道上是否会有数据流动,如果没有的话,那么任何介质都可以发送数据。
  • 介质会检查是否发生冲突,一旦发生冲突就会丢弃数据,同时立即释放载波信道。
  • 放弃数据后,会经过一段时间重新争用介质。

下面是 CSMA/CD 的改良版
以太网 - 图5
上图这个过程是 CSMA(Carrier Sense Multiple Access),首先介质会监控载波信道上是否有数据存在,如果没有再发送,如果有,等一段时间再发送。
下面是 CD(Collision Detection) 的示意图
以太网 - 图6

  • 在发送数据 -> 发送完成后,如果电压一直处于规定范围内,就会认为数据已经正常发送。
  • 发送途中,如果电压超过了一定范围,就会认为是数据冲突。
  • 发生冲突时会先发送一个阻塞报文,继而放弃数据,在延迟一段时间后再次发送

    令牌环

    第二种共享介质型网络的传输方式就是令牌环了,令牌环顾名思义就是有一个令牌一样的东西,以环为一圈进行令牌传输,那么令牌是啥呢?你想啊,我们最终的目的不就是为了传输数据吗?那么这个令牌,它可不可以作为数据呢?其实,在这种传输方式中,令牌环是作为一种特殊报文来传输的,它是控制传输的一种方式,在数据传输的过程中同时会将令牌进行传递,只有获得令牌的介质才能够传输数据。这种方式有两个优点,即

  • 持有令牌的介质才能够传输数据,这样能够保证不会有报文冲突情况。

  • 每个介质都有平等获取令牌的机会,这样保证了即使网络拥堵也不会导致性能下降。

但是这种令牌环的传递方式也是有缺点的,因为只有持有令牌的介质才能发送数据,所以即使在网络不太拥堵的情况下,其利用率也达不到 100%。
下面是令牌的传递示意图
以太网 - 图7
最一开始,令牌位于介质 A 处,此时介质 A 拥有数据传输的能力,然后介质 A 把令牌传递给介质 B。
以太网 - 图8
此时 B 持有令牌,所以介质 B 具有发送数据的能力。
以太网 - 图9
这个数据最终会由 D 接收,然后 D 就会设置一个已接收数据的标志位,然后数据会继续向下发送。
以太网 - 图10
令牌环是一项很成功的技术,尤其是在公司环境中使用,但后来被更高版本的以太网所取代。

交换式以太网 - 非共享介质型网络

非共享介质

非共享型的以太网就是网络中的每个介质会直接连上交换机,由交换机来转发数据帧。发送端和接收端不会共享通信介质,共享通信介质的意思就是介质之间直接通信。这种网络传输方式一般采用的是全双工通信。非共享介质型网络比较适合应用于搭建虚拟局域网(VLAN),但是这种通信方式有一个及其致命的弱点:一旦交换机发生故障,那么与交换机相连的所有计算机都无法通信。
以太网 - 图11
主机 A 发送了一个目标地址为 B,源地址为 A 的交换机,由交换机负责将数据转发给介质 B,如下图所示:
以太网 - 图12
非共享型网络是一种全双工通信的方式,每个介质在发送数据的同时也能够接受来自交换机传递过来的数据。

交换机

以太网 - 图13
以太网交换机中的各个端口会根据介质的 MAC地址来转发数据,那么转发数据是靠里面的转发表(Forwarding Table)来转发数据的,转发表中记录着每个介质的 MAC 地址。转发表不需要我们手动维护,交换机会自动维护转发表。交换机会自学每个数据包的经过介质的 MAC 地址,如下图:
以太网 - 图14
但是不知道主机 B 的 MAC 地址,所以主机 A 发送的数据会经过交换机广播给以太网内的其他主机,主机 B 接收到数据后,会给主机 A 回送消息。
以太网 - 图15
在主机 B 给主机 A 回送消息后,交换机就知道主机 A 和主机 B 的 MAC 地址了,从此以后双方通信会在各自相连的端口之间进行。由于 MAC 地址没有层次性,转发表中的记录个数与所有网络设备的数量有关,当设备增加时,转发表的记录也会越来越多,检索时间会逐渐增加。所以如果需要连接多个终端时,需要将网络分成多个数据链路,采用类似 IP 地址一样对地址进行分层管理。在网络通信的过程中,由于网络链路的冗余或者路由线路冗余可能会造成闭环,也就是我们所称的环路。环路会导致数据报文在网络中不断重复复制,最终导致网络设备负载过重,无法正常运行。影响的范围可能会扩散至整个局域网,导致整个局域网里的计算机无法正常使用网络。
以太网 - 图16
image.png

虚拟局域网

网络通信过程中经常会遇到网络负载过高,通信性能下降的情况,往往遇到这种情况,就需要分散网络负载,变换部署网络设备的位置等。在虚拟局域网出现之前,往往需要管理员手动变更网络的拓扑结构,比如变更主机网段,进行硬件线路改造等,但是使用了虚拟局域网,就可以不用再做如此复杂的操作了,只需要修改网络结构即可,如图:
以太网 - 图18
其它详见:https://blog.csdn.net/weixin_51486343/article/details/109434892