【计算机网络】透明网桥:逆向学习算法逐步建立转发表(例题详细解析)
透明网桥A、B连接三个Ethernet网段,每一个网桥有两个接口。在一开始,两个网桥中的转发表都是空的。以后有以下各站向其他各站发送了数据帧: MAC1 发送给MAC5,MAC3发送给MAC2,MAC4 发送给MAC3,MAC2发送给MAC1,MAC4发送给MAC1,试填下表。
帧发送 | 桥A的转发表 | 桥A的处理 | 桥B的转发表 | 桥B的处理 | ||
---|---|---|---|---|---|---|
MAC地址 | 端口 | MAC地址 | 端口 | |||
MAC1->MAC5 | ||||||
MAC3->MAC2 | ||||||
MAC4->MAC3 | ||||||
MAC2->MAC1 | ||||||
MAC4->MAC1 |
【答】
帧发送 | 桥A的转发表 | 桥A的处理 | 桥B的转发表 | 桥B的处理 | ||
---|---|---|---|---|---|---|
MAC地址 | 端口 | MAC地址 | 端口 | |||
MAC1->MAC5 | MAC1 | P1 | 转发,写入转发表 | MAC1 | P1 | 转发,写入转发表 |
MAC3->MAC2 | MAC3 | P2 | 转发,写入转发表 | MAC3 | P1 | 转发,写入转发表 |
MAC4->MAC3 | MAC4 | P2 | 写入转发表,丢弃不转发 | MAC4 | P2 | 转发,写入转发表 |
MAC2->MAC1 | MAC2 | P1 | 写入转发表,丢弃不转发 | 收不到这个帧 | ||
MAC4->MAC1 | 转发,不写入 | 转发,不写入 |
【解析】
1、MAC1发送给MAC5:
-
网桥A收到后查找表,没有找到目的地址,所以将MAC1、端口P1(因为是从端口P1进入的此网桥)存入表A中,然后进行转发,
-
到达网桥B之后再查表,没有找到目的地址,所以将MAC1、端口P1存入表B中,然后进行转发
2、MAC3发送给MAC2:
- 网桥A收到后查表,没有找到目的地址,所以将MAC3、端口P2存入表A中,然后进行转发
- 网桥B收到后查表,没有找到目的地址,所以将MAC3、端口P1存入表B中,然后进行转发
3、MAC4发送给MAC3:
- 网桥B收到后查表,发现找到目的地址MAC3,但是目的地址的端口号为P1,源地址的端口号(MAC4到网桥B经过的端口)为P2,源和目的地址的端口号不一致,说明两者不在同一网段,所以将MAC4、端口P2存入表B中,然后进行转发
- 网桥A收到后查表,发现找到目的地址MAC3,且目的地址的端口号为P2,源地址的端口号为P2,源和目的地址的端口号一致,说明两者在同一网段中,就可以直接在此网段中找到MAC3,不需要转发了,所以将MAC4、端口P2存入表A中,然后丢弃此帧不转发
4、MAC2发送给MAC1:
- 网桥A收到后查表,发现找到目的地址MAC1,且目的地址的端口号为P1,源地址的端口号(MAC2到网桥A经过的端口)为P1,源和目的地址的端口号一致,说明两者在同一网段中,可以直接在此网段中找打MAC1,不需要转发了,所以将MAC2、端口P1存入表A中,然后丢弃此帧不转发
- 网桥A没有转发,当然网桥B就什么都收不到了
5、MAC4发送给MAC1:
- 网桥B收到后查表,发现找到目的地址MAC1,但是目的地址的端口号为P1,源地址的端口号(MAC4到网桥B经过的端口号)为P2,源和目的地址的端口号不一致,说明两者不在同一网段中,所以将MAC4、端口P2存入表B中,但是MAC4已结存在于网桥B表中了,所以不需要再存一遍,然后进行转发
- 网桥A收到后查表,发现找到目的地址MAC1,但是目的地址的端口号为P1,源地址的端口号为P2,源和目的地址的端口号不一致,说明两者不在同一网段中,所以将MAC4、端口P2存入表A中,但是MAC4已结存在于网桥A表中了,所以不需要再存一遍,然后进行转发
说明:
- 转发:例如信息从端口P1来到网桥A,那么转发就是转发给除了P1之外的所有端口
- 当某个主机发现转发过来的帧是给自己的,那么就接受这个帧,其它主机发现不是给自己的,则丢弃这个帧
透明网桥相关概念
- “透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的,网桥负责帧转发的路由选择
- 透明网桥是一种即插即用设备,其标准是IEEE 802.1D
- 逆向学习:若从A发出的帧从端口x进入了网桥,那么从端口x出发沿相反方向一定可把一个帧传送到 A