IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

数据链路层 – 构建冗余链路

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

冗余链路出现的背景

由于公司对网络的可靠性的要求,大部分公司都会增加额外的交换机,防止在某台交换机出现故障时造成网络的无法使用的情况,例如形成如下图的拓扑的结构。

假设 W 和 X 交换中的一台出现故障后,流量依然可以通过 Y 和 Z 到达 B。

46_1.png

虽然说这样的结构可以很好的解决,网络可靠性的问题。但由于这三台交换机构成了一个环路,同时也带了一些额外的问题:

广播风暴:

这里假设 W 不知道 B 的 MAC 地址,会采用泛洪的操作。而此时由于环状的结构,广播数据包会在四台交换机之间来回的传输,占用大量的带宽。

多帧拷贝:

假设 W 不知道 B 的 MAC 地址,此时会泛洪发给 Y 和 X,假设 Y 和 X 知道 B 的 MAC 地址,此时会将数据包以单播的形式发给 Z,而 Z 会将两个单播数据包传给 B. 造成传输冗余的数据帧。

MAC 表不稳定:

同样假设 W 不知道 B 的 MAC,采用泛洪。同时 X,Y,Z 也不知道 B 的 MAC。此时 W 广播后,X 和 Y 会在 MAC 表中记录 A 对应 MAC 在 1 号口,然后继续泛洪给 Z. Z 按照时间顺序假设在 MAC 表中记录的是来自 Y 的数据帧,此时记录的是 2 号口。而由于 Z 也不知道 B 的 MAC,还会广播。此时 Y 和 X 也会收到,此时 MAC 表按照时间顺序,又会改为另一个 2 号口,进而在 1 和 2 口之间来回抖动。

解决环路带来的问题

冷备份

在连接线缆时,仅仅连接一条线路。当这条链路出现问题时,由管理员手动切换至另一根线路。

热备份

线缆正常连接,在接口上进行配置,不允许该接口接受和发送任何设备。通过 STP (生成树)实现。

STP

STP 协议会先进行计算选择一个树根,然后将树根上的一个接口进行阻塞,进而无法构成环路。

STP 选举规则 – 802.1D

在所有设备启动时,所有交换机都认为自己是跟,然后广播发送 BPDU,然后在 BPDU 中的某些参数选择一个真正的树根。

1、 在整个拓扑上,选择一台根交换机。
2、 对每台非根交换机上,选择一个根端口(RP)。
3、 在每条网线上(每个网络),选一个指定端口(DP)。
4、 余下端口为 BP,被阻塞的端口。

BPDU 比较参数,按照如下的顺序进行比较:

1、 根桥 ID(优先级,根的 MC 地址)
2、 COST(发送者桥 ID 到根桥的距离)
3、 发送者桥 ID(优先级,桥 MAC 地址)
4、 发送者端口 ID(接口号)

例子 1

以下拓扑为例,模拟下选择 BPDU 的过程,假设 MAC 地址大小为:SW1 < SW2 < SW2.

46_2.png

首先判断根桥 ID,如果没有配置过,默认都是一样的。接着会比较 MAC 地址,选出最小的 MAC 作为根桥, 也就是 SW1.

在选出根后,根会每 2s 发送一次 BPDU,然后非根交换机转发 BPDU。

比较 COST,SW1 作为根会向 SW2 和 SW3 转发 BPDU,而 SW2 和 SW3 同时也会转发收到的 BPDU 给对方。这里假设都是百兆链路。

这里以 SW2 为视角,会收到 SW1 发送的 BPDU 和 SW3 转发 SW3 的 BPDU. 对于 SW2 的 1 号接口来说 COST 为 0(发送者为 SW1,跟桥 ID 为 SW1),对于 2 号口来说,COST 为 19(发送者 SW3,根桥 ID 为 SW1).

100 M -> COST = 19

10 M -> COST = 100

进而 0 小于 19,1 号口为成为 RP.

同理,在 SW3 的视角,收到 SW1 和 SW2 转发 SW1 的BPDU. 选择 2 号口为 RP.

下面接着选择 DP:

先站在 SW1 和 SW2 这条网段的视角,在该网段可以接收道 SW1 直接发送的 BPDU (记为 SW1 1 号口)和 经过 SW2 和 SW3 转发过来的 BPDU(记为 SW2 1号口). 这里比较下两者的 BPDU.

1、 首先比较根桥 ID,都是 SW1,一样,继续比较。
2、 比较 COST,

 *  SW1 1 号口,根桥 ID 和 发送者 ID 都是 SW1,所以 COST 为 0
 *  SW2 1 号口,根桥 ID 为 SW1,发送者为 SW3, 经过 SW2. 所以 COST=19 +19=38
 *  0 < 19 , SW1 1 号口为成为 DP.

站在 SW1 和 SW3 这段网络上,同理:

1、 首先比较根桥 ID,都是 SW1,一样,继续比较。
2、 比较 COST:

 *  SW1 2 号口,根桥 ID 和 发送者 ID 都是 SW1,所以 COST 为 0
 *  SW3 2 号口,根桥 ID 为 SW1,发送者为 SW2, 经过 SW3. 所以 COST=19 +19=38
 *  0 < 19, SW3 2 号口为 DP.

最后站在 SW2 和 SW3 这条网段上:

1、 首先比较根桥 ID,都是 SW1,一样,继续比较。
2、 比较 COST:

 *  SW2 2 号口,发送者为 SW2 2 号口,根桥 ID 为 SW1 COST = 19
 *  SW3 1 号口,发送者为 SW3 1 号口,根桥 ID 为 SW1 COST = 19
 *  相等继续比较。

3、 比较发送者桥 ID 大小:

 *  SW2 的 MAC 小于 SW3 的 MAC
 *  所以选 SW2 的 2 号口为 DP.

最终,余下接口 SW3 的 1 号口为阻塞接口。

总结一下概念:

RP:到根交换机最近的非根交换机接口

DP:在交换机中的连线上,到达根交换机最近的接口

例子2

46_3.png

首先假设 SW1 MAC 小于 SW2,所以跟为 SW1.

选择 RP:

以 SW2 的视角,比较过程如下:

1、 根桥 ID 都是 SW1,一样,继续比较.
2、 比较 COST,对于 3 和 4 两个口来说,发送者和根桥ID都一样,相等。
3、 比较发送者 ID,都是 SW2 本身 一样。
4、 比较发送者接口 ID,1 < 2. 所以 3 为 RP。

选择 DP:

以 1,3 连线的视角:

1、 根桥 ID 一致。
2、 比较 COST, 选择 1 号口。COST=0, 另一个为 19. s所以 1 为 RP.

以 2,4 连线的视角:

1、 根桥 ID 一致。
2、 比较 COST, 同理选择 2 号口,为 RP.

最后 4 号口为 BLOCK。

这里假设 1,3 口为 10M,2,4 为百兆链路。可以发现如果按照上述的规则,4 号口还是一样会被阻塞。但这不符合常理,因为 2,4 口的带宽明显更大。

所以这里的 COST 比较还需要调整,对于选择 DP 不需要改变。

但对于选择 RP 的过程,COST 的值需要加上入接口的 COST

也就是说,在 1,3 连线时。COST 的比较值为:1 号口的 COST 为 0 + 100. 2 号口的 COST 为 0 +19. 所以选择为 4 号口。

STP 类型

46_4.png

上面选举的过程是比较基础的 STP 版本,802.1D. 对应在处理 VLAN 有一定的缺点,就是由于在拓扑中只有一颗树,在设置了 VLAN 的交换机上通信,有时 VLAN 通信的过程并不是选择的最优路径。

后来,又开发了出许多新的版本:

  • PVST+: 针对 VLAN,每个 VLAN 一个 STP.
  • 802.1s(MSTP):多实例生成树,优化生成树的数量。
  • 802.1w(RSTP):STP 计算速度更快,收敛速度很快
  • Rapid PVST+:优化了 PVST+ 的生成树速度

STP 状态

46_5.png

在交换机接口打开时,进入到 Listening 状态,进行 STP 的计算。在选举时,无法转发数据。

当 Listening 状态结束后,进入 Learning 状态,学习 MAC 地址,建立 MAC 地址表。

之后进入 Forwarding 状态,正常转发数据。

如果是被 STP 阻塞的端口进入 Blocking 状态,不能转发数据,但可以接受 BPDU. 当在 20s 内没有收到 BPDU 时,会进入 Forwarding 状态,开始转发数据。

查看 STP 信息

如果是思科的交换机话,默认会选择 PVST+ 作为默认的 STP 协议。
46_6.png

其中优先级是将 VLAN 号和优先级组成(4bit vlan 号,16 bit 优先级)。

# 查看 sw1
sw1#show spanning-tree
VLAN0001
  Spanning tree enabled protocol ieee
  # 表示根信息
  Root ID    Priority    32769                # vlan is 1, so priority equal 32768 add 1
             Address     aabb.cc00.1000       # mac 
             This bridge is the root          # to represent root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

 # 表示自己的信息
  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     aabb.cc00.1000
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Desg(指定端口,DP) FWD 100       128.1    P2p
Et0/1               Desg(指定端口,DP) FWD 100       128.2    P2p
Et0/2               Desg FWD 100       128.3    P2p
Et0/3               Desg FWD 100       128.4    P2p

# 查看 sw2
sw2#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     aabb.cc00.1000
             Cost        100
             Port        1 (Ethernet0/0)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     aabb.cc00.2000
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Root FWD 100       128.1    P2p
Et0/1               Desg FWD 100       128.2    P2p
Et0/2               Desg FWD 100       128.3    P2p
Et0/3               Desg FWD 100       128.4    P2p


# 查看 sw3
sw3#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     aabb.cc00.1000
             Cost        100
             Port        2 (Ethernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     aabb.cc00.3000
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Altn(阻塞端口) BLK 100       128.1    P2p
Et0/1               Root FWD 100       128.2    P2p
Et0/2               Desg FWD 100       128.3    P2p
Et0/3               Desg FWD 100       128.4    P2p

# 调整根-让 SW2 成为根-调整优先级
sw2(config)#spanning-tree vlan 1 root primary

# 调整次根-让 sw3 成为次根
sw3(config)#spanning-tree vlan 1 root secondary

总结

当对网络的可靠性有要求时,一帮会采用连接多台交换机,用于冗余备份,但由于出现环路的风险,需要通过 STP 技术在逻辑上将某些接口阻塞掉,防止形成环路。

文章永久链接:https://tech.souyunku.com/?p=44976


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(95) 打赏



未经允许不得转载:搜云库技术团队 » 数据链路层 – 构建冗余链路

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367