交换机是如何工作的?
多台计算机连接在一起,就能构成一个网络,那么在交换机出现前,我们是用什么设备把计算机连在一起的呢?
集线器
先来看看交换机的前身:集线器(Hub)。
Hub 是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备,功能和网线、光纤这些传输介质没有太大区别。目前集线器已经被淘汰了,目前市面上的「集线器」一般是指傻瓜交换机。
集线器示意图
早期的以太网中,终端和终端之间是用 Hub 连接在一起的,如果网络上的主机想要同时通信,就容易发生冲突。
什么是冲突域?
CSMA/CD 网络(载波侦听多路访问/冲突检测网络),通常用于以太网,可以理解为有线连接的网络。
图片来自:unsplash.com
这个网络就像是一场自由发言的会议,刚开始的时候没人说话,但是所有人都想说话,这时候就容易出现两个或多个人一起说话的情况,也就发生了「冲突」,这样的环境就可以看作是一个「冲突域」。
如果某个 CSMA/CD 网络上的两台计算机在同时通信时会发生冲突,那么这个 CSMA/CD 网络就是一个冲突域(Collision Domain)。
网 桥
网桥(Network Bridge)的出现一定程度上缓解了这个问题。
网桥可以将一个大的局域网分割成两个小的局域网,这样就减小了冲突域的范围,降低了局域网中可能发生冲突的几率。网桥可以算是一个过渡产品,也已经淘汰,现在市面上的网桥一般指用于中长距离无线传输的「无线网桥(Wireless Bridge)」
网桥示意图
但是,随着局域网规模的越来越大,这种方式还是无法从根本上解决冲突。
所以我们就有了交换机!
交换机
交换机(Switch)是一个扩大网络的设备,能为子网络提供更多的连接端口,一个端口就是一个冲突域。
交换机示意图
只要交换机端口充足,就可以让每一个终端设备单独使用一个交换机端口,这样就从根本上解决了冲突的问题。
MAC 地址
连接在交换机上的设备是如何互相通信的呢?这就需要用到 MAC 地址了。
MAC 地址(Media Access Control Address),我们通常称之为物理地址,是在 OSI 参考模型第二层(数据链路层)中用于描述网络设备位置的地址。
MAC 地址结构
MAC 地址是一串 48 位的二进制码,以 12 个 16 进制的数字来表示。前 24 位用来表示制造商,后 24 位用来表示设备编号。MAC 地址就是我们设备的身份证,具有唯一性。
MAC 地址 Windows 截图
在 Windows 系统中输入 ipconfig/all 的命令,就能查看本机网卡的 MAC 地址。如果有多张网卡就可以看到多个 MAC 地址。
那么网络设备,是如何通过 MAC 地址找到对方的呢?
交换机地址学习
首先,交换机会进行地址学习。
交换机上电后,就会开始学习,还会用个小本本(MAC 地址转发表)记下所学的内容。刚上电的时候小本本是空的。
这时候,交换机收到主机 1 发到 1 口的一个数据帧,发现来源是 X1 ,目的是 X2。再看一眼自己的小本本,咦,我也不知道怎么走唉,先不管那么多记下再说,然后就在小本本上记下,X1 对应 1 口。
接着交换机会向除了 1 口以外所有的口喊话,你们谁是 X2,收到请回答。
如果无人应答则丢弃该数据帧,有人回答就会将数据帧复制到那个端口上并转发出去。
同时在小本本上记下,X2 对应 2 口。
交换机还很好学,当拓扑变更的时候还会重新学习,更新它的小本本。
二层寻址
二层寻址用于同一个局域网内部,使用广播进行寻址。需要进行二层寻址的主机会向整个局域网中的所有设备都发送广播信息。
例如主机 X1 想找到 192.168.1.10,就会向整个网络喊话,192.168.1.10 住哪儿?收到请回复至 XX:XX:XX:XX:XX:X1。
网络中的设备会对比这个 IP 地址,如果发现找的是自己,就会回应,我是 192.168.1.10,我的 MAC 地址是 XX:XX:XX:XX:XX:X2,请根据这个地址来找我。
主机 X1 就会将这个 MAC 地址和 IP 地址的对应关系记在自己的小本本上,下次要找 192.168.1.10 按照这个地址走就可以了。
如何选择交换机?
市面上的交换机有各种各样的称呼,傻瓜交换机、网管型交换机、PoE 交换机、核心、汇聚、接入、二层、三层..到底该怎么选呢?
先从简单的「傻瓜型」和「网管型」来区分。傻瓜交换机功能单一,无法应用在中大型网络中,数据传输的可靠性差、容易出现丢包现象,对网络升级、扩展存在很大的局限。
UniFi 的交换机都是网管型的,能够通过控制器统一管理,各种规模都适用。支持 SNMP 协议、VLAN 划分,配置方便,扩展灵活。
然后是 PoE 交换机,PoE(Power over Ethernet)是一种通过网线供电的技术,能够给连接在交换机上的 AP、摄像头供电,减轻布线负担。对于普通家庭来说,如果想装摄像头、无线 AP、各种智能家居,建议选择 PoE 交换机,只要根据需要的网口数量和 PoE 功率来挑选就行了。
对于商用网络,或是规模更大、要求更高的网络来说,通常光口交换机会用来做汇聚(负责连接其他接入层交换机),电口交换机用来做接入(负责接入终端或者 AP 设备)。
考虑到汇聚层流量大,UniFi 的汇聚交换机通常都是万兆的,大量使用光口,提高传输效率。
更多 UniFi 交换机的选型信息可以回顾这篇文章。