当前位置:网站首页>TCP/IP 详解(第 2 版) 笔记 / 3 链路层 / 3.4 网桥与交换机
TCP/IP 详解(第 2 版) 笔记 / 3 链路层 / 3.4 网桥与交换机
2022-06-23 04:05:00 【M菜鸟M】
3.4 网桥与交换机
IEEE 802.1d 标准规定了网桥的操作,同时也就规定了交换机的操作(本质上交换机就是高性能的网桥)
网桥或交换机用于连接多个物理链路层网络(如:一对物理以太网段)或多个站点分组
最基本的设置包括连接两台交换机以形成一个扩展的局域网,如图 3-8 所示

图 3-8
有两个交换机的简单扩展以太局域网
每个交换机端口都有一个用于引用的编号,每个站点(包括交换机)都有自己的 MAC 地址
图中的交换机 A 和 B 已经相互连接,形成了一个扩展局域网
在这个示例中,客户端系统连接到交换机 A,服务器连接到交换机 B,并且对端口进行了编号以供引用
请注意,每个网络元素,包括交换机,都有自己的 MAC 地址
随着时间的推移,每个网桥都会 “ 学习 ” 非本地的 MAC 地址,每个交换机最终都能知道到达每个站点需要通过的端口
这些信息以基于每个端口的方式(也可能是基于每个 VLAN)存储在每个交换机的的表(称为过滤数据库(filtering databases))中
在每个交换机获知每个站点的位置后,这些数据库将包含如图 3-9 所示的信息

图 3-9
图 3-8 中的交换机 A 和 B 上的过滤数据库,是随着时间的推移,通过观察交换机端口上看到的帧上的源地址创建的(“ 学习的 ”)
当一个交换机(网桥)第一次打开时,它的数据库是空的,所以它不知道除了它自己以外的任何站点的位置
每当交换机(网桥)接收到一个发往除它自己以外的站点的帧时,它会为每个端口而不是帧到达的端口制作一份副本,并从每个端口发送一份该帧的副本
如果交换机(网桥)从未获知站点的位置,则每个帧都将在每个网段上传递,从而导致不必要的开销
学习能力是交换机和网桥的标准功能,可以显著降低开销
如今,大多数操作系统都支持在网络接口之间进行桥接的能力,这意味着具有多个接口的标准计算机可以用作网桥
例如在 Windows 中,可以从控制面板进入网络连接菜单,选中要桥接的接口,右键单击鼠标并选择桥接连接来将接口桥接在一起
完成后,会出现一个新的图标,用来代表网桥本身,接口上的大多数普通网络属性都消失了,这些属性会出现在网桥设备上(见图 3-10)

图 3-10
在 Windows 中,网桥设备是通过选中要桥接的网络接口、单击鼠标右键并选择 “ 桥接网络接口 ” 功能来创建的
一旦建立了网桥,就要对网桥设备进行进一步的修改
图 3-10 展示了 Windows 7 上网桥虚拟设备的 “ 属性 ” 面板
网桥设备的属性包括被桥接的底层设备的列表和在网桥上运行的服务集(如:Microsoft 网络客户端、文件和打印机共享等等)
Linux 系统使用命令行参数,以类似的方式工作

图 3-11
在这个简单的拓扑结构中,基于 Linux 的 PC 被配置为网桥,用来连接两个以太网网段
作为一个有学习能力的网桥,它会逐渐积累一张表,这张表用来记录应该使用哪个端口来连接扩展局域网上某个系统
图 3-11 中的简单网络使用了一台基于 Linux 的带有两个以太网端口的 PC 作为网桥
端口 2 连接着一个单独的站点,端口 1 连接着网络的其余部分
下边的命令可以开启网桥:
Linux# brctl addbr br0
Linux# brctl addif br0 eth0
Linux# brctl addif br0 eth1
Linux# ifconfig eth0 up
Linux# ifconfig eth1 up
Linux# ifconfig br0 up
这些命令创建了一个网桥设备 br0 并将接口 eth0 和 eth1 添加到网桥
可以用 brctl delif 命令删除接口
接口建立起来之后,可以使用 brctl showmacs 命令查看过滤器数据库(在 Linux 术语中称为 forwarding databases 或 fdbs):
Linux# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0007e914a9c1 no eth0 eth1
Linux# brctl showmacs br0
port no mac addr is local? ageing timer
1 00:04:5a:9f:9e:80 no 0.79
2 00:07:e9:14:a9:c1 yes 0.00
1 00:08:74:93:c8:3c yes 0.00
2 00:14:22:f4:19:5f no 0.81
1 00:17:f2:e7:6d:91 no 2.53
1 00:90:f8:00:90:b7 no 17.13
因为站点可能会移动、更换网卡、更改 MAC 地址或其它变更,所以当网桥发现可以通过某个端口访问某个 MAC 地址时,不能认为该信息永远不变
为了解决这个问题,每次学习到一个地址之后,都会为其启动一个定时器(一般默认为 5 分钟)
在 Linux 中,一个与网桥相关的固定时间会被应用于每个学习到的条目上
如果在指定的 ageing 时间内没有再次看到条目中的地址,则删除该条目:
Linux# brctl setageing br0 1
Linux# brctl showmacs br0
port no mac addr is local? ageing timer
1 00:04:5a:9f:9e:80 no 0.76
2 00:07:e9:14:a9:c1 yes 0.00
1 00:08:74:93:c8:3c yes 0.00
2 00:14:22:f4:19:5f no 0.78
1 00:17:f2:e7:6d:91 no 0.00
这里为了演示,将 ageing 的值设置低一点
当条目由于过期而被删除后
被删除的目的地的后续帧将被再次从除接收端口之外的每个端口发送出去(称为泛洪(flooding)),然后该条目会被重新添加到过滤数据库中
使用过滤数据库和学习能力只是一种性能优化,即便数据库表是空的也不影响网络的正常运转,只是会有更多的开销
接下来我们会研究两个以上的网桥通过冗余链路互连的情况
在这种情况下,帧泛洪可能会导致泛洪 “ 灾难 ”,帧会无限循环下去
边栏推荐
- [opencv450] image subtraction, binarization, threshold segmentation
- IP6809三线圈15W无线充电发射端方案ic英集芯
- Jenkins installs and deploys and automatically builds and publishes jar applications
- STC 32比特8051單片機開發實例教程 一 開發環境搭建
- App automated test appium advanced
- June 22, 2022: golang multiple choice question, what does the following golang code output? A:3; B:1; C:4; D: Compilation failed. package main import ( “fmt“ ) func mai
- What is the reason for the black screen of the computer monitor when the computer is turned on? What should I do about the black screen of the computer monitor
- When I was young, I thought my father was omnipotent
- Export PDF with watermark
- 高等数学(第七版)同济大学 习题1-9 个人解答
猜你喜欢

Wechat applet: Star Trek spaceship ticket production and generation

Real MySQL interview question (XXVIII) -- case - Analysis of indicators of communication operators

Win software - (net framework) processed the certificate chain but terminated in a root certificate that is not trusted by the trusted provider

基于SSM框架的借阅图书管理系统

MySQL面试真题(二十八)——案例-通讯运营商指标分析

数字藏品火热背后需要强大的技术团队支持 北方技术团队

How does win11 enable mobile hotspot? How to enable mobile hotspot in win11

树莓派assert初步使用练习

Wechat applet: Puzzle toolbox

Heimdall database proxy scale out 20 times
随机推荐
What is the reason for the black screen of the computer monitor when the computer is turned on? What should I do about the black screen of the computer monitor
Go grouping & sorting
软件设计开发笔记2:基于QT设计串口调试工具
How much disk IO will actually occur for a byte of the read file?
数字藏品市场才刚刚开始
1010 Radix
Visdom draws multiple dynamic loss curves
STM32cube CMSIS_ V2 FreeRTOS queue usage
About information disclosure and defense
GDB data reading in GDAL (III) of GIS
啊哈C语言 第7章 有了它你能做更多的事(第27-28讲)
STC 32-bit 8051 MCU development example tutorial I development environment construction
移动电源快充QC3.0方案芯片IP5318快充方案
Heimdall Database Proxy横向扩展提高20倍
Management system of borrowed books based on SSM framework
数字藏品火热背后需要强大的技术团队支持 北方技术团队
LeetCode-1757. Recyclable and low-fat products_ SQL
Win11 app store keeps turning around solution
知识点滴 - 折叠锻打和大马士革钢
About dos/ddos attack and defense