首页 > 代码库 > 集线器(hub), 网桥
集线器(hub), 网桥
本文内容整理自网络。包含的概念有:集线器(hub), 网桥。
-----HUB
- 无源HUB是最低级的一种,不对信号做任何的处理,对介质的传输距离没有扩展,并且对信号有一定的影响。连接在这种HUB上的每台计算机,都能收到来自同一HUB上所有其它电脑发出的信号;
- 有源HUB与无源HUB的区别就在于它能对信号放大或再生,这样它就延长了两台主机间的有效传输距离;
- 智能HUB除具备有源HUB所有的功能外,还有网络管理及路由功能。在智能HUB网络中,不是每台机器都能收到信号,只有与信号目的地址相同地址端口计算机才能收到。有些智能HUB可自行选择最佳路径,这就对网络有很好的管理。(hzhsan: 个人感觉这里的智能hub就有点超出集线器的范畴了。)
----- 网桥
1. 理解“网桥”的含义
也有人把“网桥”比喻成一个聪明的中继器(Repeater)。因为中继器只是对所接收的信号进行放大,然后直接发送到另一个端口连接的电缆上,主要用于扩展网络的物理连接范围;而网桥除了可以扩展网络的物理连接范围外,还可以对MAC 地址进行分区,隔离不同物理网段之间的碰撞(也就是隔离“冲突域”)。集线器和中继器都是物理层设备,而网桥属于二层设备。
我们经常听到这样的说法,那就是“网桥”是一种可连接不同网段的二层网络设备(二层交换机也一样),一个端口可以连接一个网段。所以很多人总在纳闷,网桥怎么能连接不同网段呢?其实这是因为大家对这里所说的“网段”并不理解。其实这里“网段”更准确地讲应该是叫“物理网段”,是指IP 地址属于同一网络地址段(也就是IP 地址中的网络ID一样),位于不同地理位置的不同LAN 分段,是基于物理意义上的地理区域进行划分的。我们常说的网段是指IP 地址属于不同网络地址段的网络或子网,是一个三层概念,其实这应该叫做逻辑网段,是基于逻辑意义上的网络地址进行划分的。(hzhsan:就是说这里的网段是物理网段,并不是我们平时说的IP网段,不关心三层上的概念)
无论是网桥,还是二层交换机,虽然每个端口可以连接一个网段,但是它们所连接的主机都在同一网络,或者同一子网中。如连接的主机位于不同办公室或者不同办公楼中,则可采用同一网络地址的两个或多个小LAN,以组成一个可以统一管理的大LAN。但要注意的是,因为网桥只有两个端口,所以所连接的两个物理网段的主机通常就是由当时的集线器进行集中连接的(网桥端口通常不是直接连接主机的)。软件中通常所说的桥接(如VMware中的桥接工作模式)也就是网桥的作用,它连接的也是同一网络或子网中的两个网段。
hzhsan疑问:网桥都是只有两个端口吗?应该可以有多个端口吧?
hzhsan解答:基本网桥只有两个端口,还有一种网桥叫做多口网桥,多口网桥有多个端口。
图5-34 网桥连接的两个物理网段 |
2. 网桥工作原理解析
前面说到了网桥具有两种主要特性:一是可基于物理网段的MAC 地址进行学习,二是可以隔离冲突域。下面通过一个示例来进行解析。
假设图5-34 中所示的物理网段1 和物理网段2 中的主机都是通过集线器集中连接的,则这样这两个物理网段各自形成一个冲突域,因为集线器是采用共享介质传输的,而网桥的背板信道不是共享的(每个端口的数据收发都有一条单独的信道),所以一个集线器就是一个冲突域。网桥的数据转发原理如图5-35 所示。下面是具体的解析。
说明 MAC 地址表也就是通常所说的CAM(Content Addressable Memory,内容可寻址存储器)表,保存的是对应MAC 地址主机与所连接的交换机端口的映射。这个映射表项可以由管理员手动绑定创建,也可以由交换机自动学习得到。在交换机上可以通过一些命令(如Cisco 交换机是使用show mac-address-table 命令)查看。下面是一个在交换机上查看MAC 地址和端口映射表的示例,其中列出了交换机中为CPU 分配的静态(static)MAC 地址和通过学习功能自动学习得到的动态(dynamic)MAC 地址,其中的Ports 列显示的是对应MAC 地址主机所连接的端口,VLAN 列则为对应主机连接端口所属的VLAN。
图5-35 网桥数据转发原理示意图 |
- switch#show mac-address-table
- Mac Address Table
- -------------------------------------------
- Vlan Mac Address Type Ports
- ---- ----------- -------- -----
- All 0100.0ccc.cccc STATIC CPU
- All 0100.0ccc.cccd STATIC CPU
- All ffff.ffff.ffff STATIC CPU
- 1 0000.0c07.accb DYNAMIC Gi0/1
- 1 0002.8501.de00 DYNAMIC Gi0/1
- 1 0015.f915.8e80 DYNAMIC Gi0/1
- 1 0016.7694.c009 DYNAMIC Gi0/1
- 1 0020.ed14.399c DYNAMIC Gi0/1
- 1 0030.b637.8e10 DYNAMIC Gi0/1
- 1 0050.ba10.404a DYNAMIC Gi0/1
- 100 0007.847b.c40a DYNAMIC Gi0/1
- 100 00d0.d3a4.7cec DYNAMIC Gi0/1
- 110 0006.28bb.71c0 DYNAMIC Gi0/1
- 110 00d0.d3a4.7cec DYNAMIC Gi0/1
- 120 0000.b497.8250 DYNAMIC Fa0/20
- 120 0002.b3d8.68e7 DYNAMIC Fa0/20
- 120 0002.b3d8.6928 DYNAMIC Fa0/20
- 120 0003.a03a.03fc DYNAMIC Fa0/19
现假设图5-34 所示网络中的一台PC 要向另一台PC 发送数据。因为集线器也是物理层设备,不能识别帧中的MAC 地址,所以无论是哪台主机要发送数据,在集线器上都是以广播方式进行的,连接该集线器上的所有节点都会收到这个广播帧,包括网桥连接到该集线器的端口。
1)当网桥收到集线器的广播帧后,网桥会把帧中的源MAC 地址和目的MAC 地址与网桥缓存中保存的MAC 地址表进行比较。
2)最初,网桥的缓存中是没有任何MAC 地址的,所以一开始它也不知道哪台主机在哪个物理网段上,收到的所有帧都直接以泛洪方式(也是复制原数据帧)转发到另一个端口上,同时会把数据帧中的源MAC 地址所对应的物理网段记录下来(其实就是与对应的网桥端口对应起来)。
3)在数据帧被某个PC 机接收后,也会把对应目的MAC 地址所对应的物理网段记录在缓存中的MAC 表中。这样,经过多次这样的记录,就可以在MAC 地址表中把整个网络中各主机MAC 地址与对应的物理网段全部记录下来。因为网桥的端口通常是连接集线器的,所以一个网桥端口会与多个主机MAC 地址进行映射。
4)当网桥收到的数据帧中源MAC 地址和目的MAC 地址都在网桥MAC 地址表中可以找到时,网桥会比较这两个MAC 地址是否属于同一个物理网段。如果是同一物理网段,则网桥不会把该帧转发到下一个端口,直接丢弃,起到冲突域隔离作用。相反,如果两个MAC 地址不在同一物理网段,则网桥会把从一个物理网段发来的帧转发到连接另一个物理网段上,然后再通过所连接的集线器进行复制方式的广播。
网桥使用原因
-
许多单位都有多个局域网,并且希望能够将它们连接起来。之所以一个单位有多个局域网,有以下6个原因:
首先,许多大学的系或公司的部门都有各自的局域网,主要用于连接他们自己的个人计算机、工作站以及服务器。由于各系(或部门)的工作性质不同,因此选用了不同的局域网,这些系(或部门)之间早晚需相互交往,因而需要网桥。
其次,一个单位在地理位置上较分散,并且相距较远,与其安装一个遍布所有地点的同轴电缆网,不如在各个地点建立一个局域网,并用网桥和红外链路连接起来,这样费用可能会低一些。
第3,可能有必要将一个逻辑上单一的LAN分成多个局域网,以调节载荷。例如采用由网桥连接的多个局域网,每个局域网有一组工作站,并且有自己的文件服务器,因此大部分通信限于单个局域网内,减轻了主干网的负担。
第4,在有些情况下,从载荷上看单个局域网是毫无问题的,但是相距最远的机器之间的物理距离太远(比如超过802.3所规定的2.5km)。即使电缆铺设不成问题,但由于来回时延过长,网络仍将不能正常工作。唯一的办法是将局域网分段,在各段之间放置网桥。通过使用网桥,可以增加工作的总物理距离。
第5,可靠性问题。在一个单独的局域网中,一个有缺陷的节点不断地输出无用的信息流会严重地破坏局域网的运行。网桥可以设置在局域网中的关键部位,就像建筑物内的放火门一样,防止因单个节点失常而破坏整个系统。
第6,网桥有助于安全保密。大多数LAN接口都有一种混杂工作方式(promiscuousmode),在这种方式下,计算机接收所有的帧,包括那些并不是编址发送给它的帧。如果网中多处设置网桥并谨慎地拦截无须转发的重要信息,那么就可以把网络分隔以防止信息被窃。
网桥作用
- 网桥常用于将共享带宽的计算机结点数较多的大局域网分成既相对独立又能相互通信的两个局域网网段,从而改善各个子网段的性能和安全性。
集线器(hub), 网桥