source: https://www.tianmaying.com/tutorial/NetWorkInstrument
集线器、网桥、交换机、路由器、网关大解析
因为要做硬件防火墙,而本科学习的《计算机网络 自顶向下》基本上没有涉及到硬件部分,只是捎带讲了一下,每次提到硬件名词的时候,虽然大概明白定义和功能,但是实物、网络拓扑图、工作原理并不了解。所以本文将计算机网络中的功能型硬件都进行解释说明。
1 集线器
1.1 功能概述
集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(一种检测协议)访问方式。
1.2 工作原理
HUB 集线器就是一种共享设备,HUB本身不能识别目的地址,当同一局域网内的A主机给B主机传输数据时,数据包在以HUB为架构的网络上是以广播方式传输的,由每一台终端通过验证数据包头的地址信息来确定是否接收。也就是说,在这种工作方式下,同一时刻网络上只能传输一组数据帧的通讯,如果发生碰撞还得重试。这种方式就是共享网络带宽。
集线器属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点.集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软件支持或只需很少管理软件管理的硬件设备。它被广泛应用到各种场合。
1.3 优缺点
优点包括:
- 集线器的重要功能就在于连接多个不同的局域网,将这些集中到单一的设备商来,并且让这个设备来负责联通这些链接的位置。集线器是一个集中式、广播式的中继设备,能够接受两端不同的信号,并且将信号复制、放大后传送到相对的另一端
- 集线器价格便宜,组网灵活。集线器使用星型布线,如果一个工作站出现问题,不会影响整个网络的正常运行。
缺点包括:
- 集线器不具备交换功能
- 一般集线器对数据包的处理大部分都是简单地将数据包复制并放大后,送到目前连接该集线器的各县设备商,因此数据包充斥在整个连通的局域网中,同时仅有一组数据交换的信号,所以在数据包传输量较大的居于网中,集线器将无法有效地传输数据,因为可能同时传送多份数据,从而造成数据包的冲突问题问题增加。
2 网桥(Bridge)
2.1 功能概述
网桥(Bridge)是早期的两端口数据链路层网络设备,用来连接不同网段的计算机网络设备同时它又可隔离冲突域,因为它的两个端口不是共享一条背板总线(分别有一条独立的交换信道),比当时的集线器(Hub)性能更好(集线器上各端口都是共享同一条背板总线的)。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。
网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1 发送的数据包,检查数据包中的地址,如果地址属于网络1 ,它就将其放弃,相反,如果是网络2 的地址,它就继续发送给网络2.这样可利用网桥隔离信息,将同一个网络号划分成多个网段(属于同一个网络号),隔离出安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立(属于同一个网络号),一个网段的故障不会影响到另一个网段的运行。
2.2 工作原理
也有人把“网桥”比喻成一个聪明的中继器(Repeater)。因为中继器只是对所接收的信号进行放大,然后直接发送到另一个端口连接的电缆上,主要用于扩展网络的物理连接范围;而网桥除了可以扩展网络的物理连接范围外,还可以对MAC 地址进行分区,隔离不同物理网段之间的碰撞(也就是隔离“冲突域”)。集线器和中继器都是物理层设备,而网桥属于二层设备(数据链路层)。
上图是用一个网桥连接的两个网络,网桥的A端口连接A子网,B端口连接B子网,为什么网桥知道哪些数据包该转发,哪些包不该转发呢?那是因为它有两个表A和B,当有数据包进入端口A时,网桥从数据包中提取出源MAC地址和目的MAC地址。
一开始的时候,表A和表B都是空的,没有一条记录,这时,网桥会把数据包转发给B网络,并且在表A中增加一条MAC地址(把源MAC地址记录表中),说明这个MAC地址的机器是A子网的,同理,当B子网发送数据包到B端口时,网桥也会记录源MAC地址到B表。
当网桥工作一段时候后,表A基本上记录了A子网所有的机器的MAC地址,表B同理,当再有一个数据包从A子网发送给网桥时,网桥会先看看数据包的目的MAC地址是属于A子网还是B子网的,如果从A表中找到对应则,抛弃该包,如果不是,则转发给B子网,然后检查源MAC地址,是否在表中已经存在,如果不存在,在表A中增加一条记录。
2.3 优缺点
网桥优点:
- 过滤通信量。网桥可以使用局域网的一个网段上各工作站之间的信息量局限在本网段的范围内,而不会经过网桥溜到其他网段去。
- 扩大了物理范围,也增加了整个局域网上的工作站的最大数目。
- 可使用不同的物理层,可互连不同的局域网。
- 提高了可靠性。如果把较大的局域网分割成若干较小的局域网,并且每个小的局域网内部的信息量明显地高于网间的信息量,那么整个互连网络的性能就变得更好。
网桥缺点:
- 由于网桥对接收的帧要先存储和查找站表,然后转发,这就增加了时延。
- 在MAC子层并没有流量控制功能。当网络上负荷很重时,可能因网桥缓冲区的存储空间不够而发生溢出,以致产生帧丢失的现象。
- 具有不同MAC子层的网段桥接再一起时,网桥在转发一个帧之前,必须修改帧的某些字段的内容,以适合另一个MAC子层的要求,增加时延。
- 网桥只适合于用户数不太多(不超过几百个)和信息量不太大的局域网,否则有时会产生较大的广播风暴
3 交换机
3.1 功能概述
交换机(Switch)可以说同时是集线器和网桥的升级换代产品,因为交换机具有集线器一样的集中连接功能,同时它又具有网桥的数据交换功能。所以可以这样说,交换机是带有交换功能的集线器,或者说交换机是多端口的网桥。外形上,集线器与交换机产品没什么太大区别。
3.2 工作原理
工作原理与网桥类似,总结如下:
- 当交换机从某个端口收到一个数据帧后,先读取帧头部的源MAC 地址,并与自己缓存中的映射表(CAM 表)进行比较,如果没有找到,则在CAM 表中添加一个该源MAC 地址与发送该帧的源端口映射表项。这就是交换机的MAC 地址自动学习功能。
- 如果在CAM 表项查到了帧中源MAC 地址,则继续查看是否有帧中目的MAC 地址所对应的映射表项。如果有,则直接把该帧转发到目的MAC 地址节点所连接的交换机端口,然后由该端口发送到目的主机。
- 如果在交换机CAM 表中没有找到帧中目的MAC 地址所对应的表项,则把该数据帧向除源端口外的其他所有端口上进行泛洪。
-
当MAC 地址与帧中目的MAC 地致的主机接收了该数据帧后就会向源主机产生一个应答帧,交换机获取该应答帧后从其中的源MAC 地址中获取了对应的MAC 地址和所连接端口的映射关系,并添加到CAM 表中。这样下次再有MAC 地址为这个MAC 地址的帧发送时交换机就可以直接从CAM 表中找到对应的转发端口,直接转发,不用再泛洪了。
3.3 交换机 VS 网桥
3.3.1 具有多个交换端口
网桥通常只是两个交换端口,其设计目的主要就是用来连接两个距离超过单段网线传输限制的物理网段(当然也可以用来直接连接两台主机),所以它的应用受到比较多的限制。再加上当时用于主机和其他网络设备集中连接的设备仍是传输效率和信道利用率都非常低下的集线器,根本不适应于计算机网络的发展。有了交换机后,一台交换机可以有多个端口,而且与网桥一样,不仅每个端口可以连接一个不同的物理网段(交换机上一个端口对应一个物理网段),还可以有大量的端口来集中连接主机,这时交换机就可以同时担当集线器和网桥的双重角色,而且在使用性能和扩展性能、交换性能等方面都有较大提高,大大促进了计算机网络的发展。
3.3.2 数据转发效率更高
在网桥时代,集中连接主机的仍是集线器,而我们知道集线器发送数据是采用广播方式,所以信道中的无效载荷比例相当高,造成数据转发率和信道利用率都非常低。而有了交换机后,因为大多数主机都是直接连接在交换机端口上,即使不是,也主要是连接在其他交换机端口,所以数据的转发基本上都是通过提取帧中的MAC 地址直接发送到目的主机上的,而不是通过广播方式(仅在未知目的MAC 地址时采用广播),数据转发效率和信道利用率都大幅提高。
3.3.3 更强的MAC地址自动学习能力
们知道,网桥通常只有两个端口,仅可以连接两个由集线器集中连接的物理网段,所以它的MAC 地址自动学习功能仅限于它的两个端口与对应的物理网段的映射。这样就造成了,一个网桥端口要与多个源主机MAC 地址之间的映射,也就是一对多映射关系。而交换机上的端口多数是直接连接主机的,所以在映射表中基本上都是一个源主机MAC 地址与一个交换端口间的一对一映射。一对一的映射查找起来明显比一对多的映射效率要高,所以交换机在数据转发效率要高于网桥。另外,交换机的缓存通常比网桥的要大,所以交换机中可以保存的MAC 地址与端口映射表较多,更适用于较大网络。
3.4 交换机 VS 集线器
3.4.1 工作层次不同
集线器工作在第一层(物理层),而交换机至少是工作在第二层,更高级的交换机可以工作在第三层(网络层)、第四层(传输层)和第七层(应用层),对应也就有三层交换机、四层交换机、七层交换机等之说了。一般我们说的就是二层交换机。
3.4.2 数据传输方式不同
集线器的数据传输方式是多次复制方式的广播传输,而交换机的数据传输是有目的的,数据只对目的节点发送,只是在自己的MAC 地址表中找不到的情况下第一次使用以FF-FFFF-FF-FF-FF 作为MAC 地址的“泛洪”广播方式传输。所以,交换机在数据传输效率和信道利用率方面要远高于集线器,集线器更容易产生“广播风暴”。
随交换机产品价格的日益下降,集线器市场日益痿缩,不过,在特定的场合,集线器以其低延迟的特点可以用更低的投入带来更高的效率。交换机不可能完全代替集线器。
4 路由器(Router)
4.1 功能概述
路由器(Router)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器来完成。因此,路由器具有判断网络地址和选择路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。它不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。
路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。 路由器的基本功能是,把数据(IP 报文)传送到正确的网络,细分则包括:
- IP 数据报的转发,包括数据报的寻径和传送;
- 子网隔离,抑制广播风暴;
- 维护路由表,并与其它路由器交换路由信息,这是 IP 报文转发的基础;
- IP 数据报的差错处理及简单的拥塞控制;
- 实现对 IP 数据报的过滤和记帐。
路由器构成了 Internet 的骨架。它的处理速度是网络通信的主要瓶颈之一,它的可靠性则直接影响着网络互连的质量。因此Internet 研究领域中,路由器技术始终处于核心地位。
4.2 工作原理
这个用一图流表达之
工作站A需要向工作站B传送信息(并假定工作站B的IP地址为120.0.5),它们之间需要通过多个路由器的接力传递,路由器的分布如图2所示。 工作过程如下所示:
- 工作站A将工作站B的地址120.0.5连同数据信息以数据帧的形式发送给路由器1。
- 路由器1收到工作站A的数据帧后,先从报头中取出地址120.0.5,并根据路径表计算出发往工作站B的最佳路径:R1-R2-R5-B;并将数据帧发往路由器2。
- 路由器2重复路由器1的工作,并将数据帧转发给路由器5。
- 路由器5同样取出目的地址,发现120.0.5就在该路由器所连接的网段上,于是将该数据帧直接交给工作站B。
- 工作站B收到工作站A的数据帧,一次通信过程宣告结束。
事实上,路由器除了这一功能外,还具有网络流量控制功能。有的路由器仅支持单一协议,但大部分路由器可以支持多种协议的传输,即多协议路由器。由于每一种协议都有自己的规则,要在一个路由器中完成多种协议的算法,势必会降低路由器的性能。因此,我们以为,支持多协议的路由器性能相对较低。用户购买路由器时,需要根据自己的实际情况选择自己需要的网络协议的路由器。
近年来出现了交换路由器产品,从本质上来说它不是什么新技术,而是为了提高通信能力,把交换机的原理组合到路由器中,使数据传输能力更快、更好。
4.3 优缺点
优点包括
- 适用于大规模的网络;
- 复杂的网络拓扑结构,负载共享和最优路径;
- 能更好地处理多媒体;
- 安全性高;
- 隔离不需要的通信量;
- 节省局域网的频宽;
- 减少主机负担。
缺点包括:
- 它不支持非路由协议;
- 安装复杂;
- 价格高。
4.3 路由器 VS 交换机
4.3.1 是否分割广播域
传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域。由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
4.3.2 是否具备防火墙服务
路由器(路由器的安装和配置)提供了防火墙的服务,它仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。
4.3.3 工作层次不同
最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
4.3.4 工作原理不同
交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
5 网关(Gateway)
5.1 功能概述
网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连,网关既可以用于广域网互连,也可以用于局域网互连。
网关是用于连接网络层之上执行不同协议的子网,组成异构的互连网,网关能实现异构设备之间的通信,对不同的传输层、会话层、表示层、应用层协议进行翻译和变换。网关具有对不兼容的高层协议进行转换的功能。当连接两个完全不同结构的网络时,必须使用网关。网关工作在OSI模型的最高层应用层。网关的主要功能:把一种协议变成另一种协议,把一种数据格式变成另一种数据格式,把一种速率变成另一种速率,以求两者的统一。
从根本上说,网关不能完全归为一种网络硬件。用概括性的术语来讲,它们应该是能够连接不同网络的软件和硬件的结合产品。特别地,它们可以使用不同的格式、通信协议或结构连接起两个系统。网关实际上通过重新封装信息以使它们能被另一个系统读取。为了完成这项任务,网关必须能运行在O S I 模型的几个层上。网关必须同应用通信,建立和管理会话,传输已经编码的数据,并解析逻辑和物理地址数据。
‘网关’一个大概念,不具体特指一类产品,只要连接两个不同的网络的设备都可以叫网关;而‘路由器’么一般特指能够实现路由寻找和转发的特定类产品,路由器很显然能够实现网关的功能。当然电信行业说的‘路由器’又和家用的‘路由器’两个概念,这个暂且不表。
5.2 默认网关是什么?
默认网关是什么,默认网关事实上不是一个产品而是一个网络层的概念,PC本身不具备路由寻址能力,所以PC要把所有的IP包发送到一个默认的中转地址上面进行转发,也就是默认网关。这个网关可以在路由器上,可以在三层交换机上,可以在防火墙上,可以在服务器上,所以和物理的设备无关。
5.2 网关 VS 路由器
网关和路由器最大的区别是是否连接相似的网络。如果连接相似的网络,则称为路由器。而连接不相似的网络,称为网关。相似的网络和不相似的网络有两种不同的含义。逻辑层面:相似的网络:如果都是互联网上的两个网络,我们称为相似的网络。不相似的网络:如果一个是私网,一个是公网。我们称为不相似的网络。物理层面:相似的网络:都是以太网或者同一种介质的网络。不相似的网络:一边是以太,一边是SDH或者ATM等。