下面看一下计算机网络中常说的一些硬件设备,路由器、交换机和集线器。

一、集线器

集线器工作在OSI参考模型第2层,数据链路层。

集线器的作用是把内网中的网络设备连接起来,它是工作在物理层上的转发设备。从一个端口接收到数据包,然后将数据包发送到设备到每个的端口上。

例如:下面的集线器有四个端口,其中有一台计算机A连接到了1号端口上,需要发送数据到连载2号端口的计算机B。但是集线器做不到这种一对一的关系,只能将来自1号端口的数据都发送一下,即

  • 计算机A:端口1->计算机B:端口2
  • 计算机A:端口1->计算机C:端口3
  • 计算机A:端口1->计算机D:端口4

连接在3号端口与4号端口上的计算机通过检查以太网帧头字段中的目标媒体访问控制(MAC)地址,判断出这些数据包不是给他们的,于是就丢弃这些数据包。

image.png
计算机B接收来自计算机A的数据包,计算机C和D丢弃

二、交换机

交换机工作在OSI参考模型第2层,数据链路层。

交换机应该是最常见的设备了,尤其是在台式电脑很多的时候,需要用到很多网线,我们实验室里就有很多交换机,大概就是下面这种样子。
image.png
跟集线器的作用相同,交换机也是用来转发数据包的。但是与集线器不同的是,交换机并不是将数据广播道每一个端口,而是将数据发送到与目的计算机所连接的端口上(一对一),它是怎么实现这种功能的呢?

交换机每个连接设备的2层地址都存储一个CAM(Content Addressable Memory:内容寻址寄存器)表中,CAM表充当着一种类似交通警察的角色。当一个数据包被传输时,交换机读取数据包的第2层协议头部信息,使用CAM表作为参考,找到对应的计算机。

比如下面来自计算机A的数据包,通过交换机的MAC地址,能够直接找到对应的计算机B。
image.png

三、路由器

路由器工作在OSI参考模型第3层,网络层。负责在两个或多个网络之间发送数据包,路由器在网络之间引导数据包的流向,这一过程被称为路由。

路由器通常使用第3层地址(如IP)地址来唯一识别标识网络上的设备,下面来看一下两个实验室之间是怎么样进行通信的。

首先是实验室1的所有电脑通过一个总的交换机连接起来,然后该交换机和路由器连接,通过该路由器找到实验室2的总的交换机,因为路由器给局域网中的电脑分配了IP地址,所以路由器会直接根据IP地址寻址找到目标计算机,这个时候就需要将IP地址映射为MAC地址,这个协议就是ARP协议(TCP/IP协议用到的)。

因此,路由器就是网络的出入口,即网关(Gateway)。
image.png