计算机网络 - 交换机

以太网

冲突域

以太网又称为局域网,而每个局域网就是一个冲突域

为了限制冲突域的影响,特别是隔离广播,以太网做了如下的限制,

  1. 只允许同一个网段的主机进行内部通讯
    两点原因

    • 为了有效的限制子网的规模,以太网内部只允许 IP 在同一个网段的主机进行通讯。
    • 网络通讯设计上的需要,因为当路由进行转发的时候,通常直接将目的地址指明为一个网段(比如,192.168.32.0),从简化设置,提高通讯效率。
      所以,记着,凡是由交换机所连接的主机,其 IP 地址必须在同一个网段,否则,彼此之间不能通讯。
  2. 路由隔断
    子网由路由隔断;路由是衔接两个不同以太网(局域网/子网)的衔接工具;补充,三层交换机带路由和交换的功能,所以,可以使用三层交换机

交换机

什么是交换机

冲突域所描述的那样,交换机是连接子网内部若干计算机的桥梁;备注,本章主要讲解的是二层交换机。

重要补充,在最开始的时候,子网内部的主机通讯其实是没有交换机的,是通过基带(可认为是一条主干线)连接所有的主机,任何一台主机要与另外一台主机进行通讯都必须经过该基带,其实,基带可以理解为一条带宽高一点的网线,这样,就导致了子网内的所有主机都会去争用该基带,导致网络间通讯非常容易发生拥堵;-> 这也是冲突域名称的由来;正是为了解决这个问题,才有了交换机,通过交换机使得子网内的每台主机两两之间都有了物理上的“基带”(通道),这样有效的解决了以前只有一条基带所导致的网络争用冲突的问题;那么既然已经解决了,但为什么现在还要将以太网称作冲突域呢?这是因为局域网内部的 ARP 广播寻址方式所导致的,如果局域网规模过大,很容易产生广播风暴而影响子网内部的通讯性能,所以,需要有效的将局域网内部的主机数量限定在一个范围内,所以,正是因为这个问题,仍然将以太网称作冲突域
TODO: 差一张图

交换机的端口

  1. TRUNK口
    用来连接上级网络,比如路由器或者三层交换机;有且只有一个
  2. 普通接口
    用来连接子网主机

链路层

链路层位于七层网络中的第二层,在链路层,各个主机是以 MAC 地址进行通讯的;链路层又分为 MAC 层(媒体访问层)和 LLC 层(逻辑控制层);

MAC 层

主要解决底层编址以及如何进行通讯的问题,如下所述。

MAC 地址

12 位 16 进制数。

通讯

首先解决信道占用的问题,然后通过以太网/令牌环的方式进行通讯,通讯方式依赖 MAC 地址;

ARP 寻址

以太网内部的寻址方式是通过广播;举个例子,如果以太网交换机收到一个 IP 数据包,目的地址是 192.168.32.105,此时,如果交换机没有缓存该 IP 所对应的 MAC 地址;那么,此时,交换机将会以广播的方式给子网内的每一台主机发送 ARP 请求,该 ARP 请求中所包含的内容大致为所请求的 IP 地址既 192.168.32.105,以及你的 MAC 地址是多少?主机收到 ARP 请求包以后,首先判断自己的 IP 地址是否与 ARP 请求中的 IP 地址吻合,如果吻合,则返回自己的 MAC 地址;然后,交换机就将 IP 数据包封装为 MAC 数据包投递给相应的主机。命令ARP -a可以在本机显示出当前所有的“IP 地址 <--> MAC 地址”的映射关系.

LLC 逻辑链路层

主要有两个方面的作用,

  1. 封装
    将第三层 IP 地址的数据包封装为以太网(局域网)内部通讯所使用的数据包格式,便于在局域网内部通过 MAC 地址进行通讯。
  2. 控制
    差错控制和流量控制;TODO:展开

扩展

级联

交换机可以通过级联的方式进行子网的扩展,比如原子网有 50 台设备,通过交换机级联再扩充 50 台设备,使得扩展的设备同在一个子网当中。

汇聚

指三层交换机汇聚更多的二层交换机,三层交换机具有路由功能,所以通过三层交换机可以连接更多的二层交换机,组成更大的物理网络;

关于汇聚交换机的释意

802.1.q 交换机

VLAN( Virtual Local Area Network ),既是虚拟局域网;VLAN 是交换机的功能,意思是,在同一个 LAN 子网中,通过 VLAN 技术,可以在该 LAN 子网中 划分出更多的逻辑子网。举例,比如之前二层交换机连接了 12 台主机,构成了一个 LAN,IP 地址从 192.168.32.1 ~ 192.168.32.12;通过支持 VLAN 技术的交换机,可以将该子网继续划分出更多的逻辑子网,比如逻辑子网 1: 192.168.32.1 ~ 192.168.32.4;逻辑子网 2: 192.168.33.5 ~ 192.168.33.8; 逻辑子网 3: 10.10.1.9 ~ 10.10.1.12 三个子网段;自然也就形成了三个不同广播域,减少了局域网内的广播,提高了局域网信息传播的效率。

具体如何实现?其实,VLAN 通过交换机只是多定义了一个逻辑子网的标识符 VLANID,用于标识属于同一个广播域的逻辑子网;具体实现,参看 802.1q原理

常用的 VLAN 的划分方式

  1. 基于交换机端口划分的VLAN
  2. 基于MAC地址划分VLAN
  3. 基于IP地址划分VLAN

VLAN技术白皮书
VLAN技术入门

我曾经的一个疑问

既然以太网是通过 MAC 地址通讯的,那么为什么,当我在局域网内部与其它主机通讯,比如 Ping 其它主机,仍然是首先通过 IP 地址来进行通讯的?原因是因为 Ping 命令本身发送的是 ICMP 协议包,而 ICMP 包其实是三层网络层通讯协议的东西了,所以,它需要 IP,也因此其命令的格式为 ping ip,所以数据包从主机发出后,数据包所包含的格式就是“源IP”,“目的IP”,以及“报文内容”;如果只是在内网通讯,那么 ARP 广播经由交换机得到目的主机的 MAC 地址,然后通过 MAC 地址进行通讯;如果是发送到外网,那么久直接通过交换机将数据包发送给路由器,再由路由器转发到外网。
而大多数用户应用,都是基于 TCP/IP 协议来与其它主机进行通讯的,无论是以太网内部的还是英特网外部的主机,都是通过这样的而一个规则;所以,只是在以太网内部的通讯使用 IP 协议,也没什么好奇怪的了。
以太网通讯第 9 页清楚的描绘了 ICMP 所在的通讯层。