码迷,mamicode.com
首页 > 其他好文 > 详细

HSRP,STP配置

时间:2018-01-10 14:02:29      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:interface   三台   his   routing   编号   war   部分   生成树   prot   

HSRP配置

1.1 问题

在企业网络到外部的连接方案中,要求不高的条件下可以是单出口。一旦该出口线路出现问题,整个企业网络就不能连接到外网了。为了使得企 业网络到外网连接的高可用性,可以设置两个以上的出口,然而多个出口对于内网主机意味着我个网关。主机不能同时使用多个网关,当主机所使用的网关出现故障 时,它不能实现网关的自动切换。

  • 配置热备份路由协议

1.2 方案

在出口设备上配置热备份路由协议(HSRP),组成一个HSRP组,组内两个出口设备共享一个虚拟IP地址,该IP地址作为内网主机的网关。

HSRP组成员有主备之分,虚拟IP地址被附加到主设备上。如果主设备线路出故障,备份设备会成为主设备,虚拟IP地址也会迁移过来。这样,不管哪一个出口设备出现问题,不管哪个出口设备在提供外网接入,内网主机的网关都不需要改变。

网络拓扑图如图-1所示:

技术分享图片

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:分别在三台路由器上配置端口IP地址

  1. tarena-R1(config)# interface f0/0
  2. tarena-R1(config-if)#ip address 192.168.1.252 255.255.255.0
  3. tarena-R1(config-if)#no shutdown
  4. tarena-R1(config-if)#interface f0/1
  5. tarena-R1(config-if)#ip address 192.168.2.1 255.255.255.0
  6. tarena-R1(config-if)#no shutdown
  7. tarena-R2(config)#interface f0/0
  8. tarena-R2(config-if)#ip address 192.168.1.253 255.255.255.0
  9. tarena-R2(config-if)#no shutdown
  10. tarena-R2(config-if)#interface f0/1
  11. tarena-R2(config-if)#ip address 192.168.3.1 255.255.255.0
  12. tarena-R2(config-if)#no shutdown
  13. tarena-R3(config)#interface f0/0
  14. tarena-R3(config-if)#ip address 192.168.2.2 255.255.255.0
  15. tarena-R3(config-if)#no shutdown
  16. tarena-R3(config-if)#interface f0/1
  17. tarena-R3(config-if)#ip address 192.168.3.2 255.255.255.0
  18. tarena-R3(config-if)#no shutdown
  19. tarena-R3(config-if)#interface f1/0
  20. tarena-R3(config-if)#ip address 192.168.4.254 255.255.255.0
  21. tarena-R3(config-if)#no shutdown

步骤二:在R1和R2上配置到外网的默认路由

  1. tarena-R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2
  2. tarena-R1(config)#end
  3. tarena-R1#show ip route
  4. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  5. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  6. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  7. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  8. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  9. * - candidate default, U - per-user static route, o - ODR
  10. P - periodic downloaded static route
  11. Gateway of last resort is 192.168.1.2 to network 0.0.0.0
  12. C 192.168.1.0/24 is directly connected, FastEthernet0/0
  13. C 192.168.2.0/24 is directly connected, FastEthernet0/1
  14. S* 0.0.0.0/0 [1/0] via 192.168.2.2
  15. tarena-R1#
  16. tarena-R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.3.2
  17. tarena-R2(config)#exit
  18. tarena-R2#show ip route
  19. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  20. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  21. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  22. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  23. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  24. * - candidate default, U - per-user static route, o - ODR
  25. P - periodic downloaded static route
  26. Gateway of last resort is 192.168.2.2 to network 0.0.0.0
  27. C 192.168.1.0/24 is directly connected, FastEthernet0/0
  28. C 192.168.3.0/24 is directly connected, FastEthernet0/1
  29. S* 0.0.0.0/0 [1/0] via 192.168.3.2

步骤三:在R3上配置到企业内网的静态路由

  1. tarena-R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1
  2. tarena-R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.3.1
  3. tarena-R3(config)#end
  4. tarena-R3#show ip route
  5. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  6. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  7. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  8. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  9. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  10. * - candidate default, U - per-user static route, o - ODR
  11. P - periodic downloaded static route
  12. Gateway of last resort is not set
  13. S 192.168.1.0/24 [1/0] via 192.168.2.1
  14. [1/0] via 192.168.3.1
  15. C 192.168.2.0/24 is directly connected, FastEthernet0/0
  16. C 192.168.3.0/24 is directly connected, FastEthernet0/1
  17. C 192.168.4.0/24 is directly connected, FastEthernet1/0
  18. tarena-R3#

步骤四:在R1上配置HSRP,指定其优先级为200

HSRP的默认优先级为100,路由器启动后,根据优先级决定谁可以成为活跃路由器,优先级高的将胜出。如果路由器优先级相同,再比较端口IP地址,IP地址大的成为活路跃路由器。

另外,如果优先级低的路由器先启动了,它将成为活跃路由器。优先级高的路由器启动后,发现已有活跃路由器存在,它将接受现状,直到活跃路由器出现故障它才会在重新选举时成为活跃角色。

  1. tarena-R1(config)#interface f0/0
  2. tarena-R1(config-if)#standby 1 ip 192.168.1.254
  3. tarena-R1(config-if)#standby 1 priority 200
  4. %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
  5. %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active

配置HSRP后,通过输出日志可以观察到路由器角色的改变。

步骤五:在R2上配置HSRP,指定其优先级为195

  1. tarena-R2(config)#interface f0/0
  2. tarena-R2(config-if)#standby 1 ip 192.168.1.254
  3. tarena-R2(config-if)#standby 1 priority 195
  4. %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby

步骤六:分别在R1和R2上查看HSRP信息

  1. tarena-R1#show standby brief
  2. P indicates configured to preempt.
  3. |
  4. Interface Grp Pri P State Active Standby Virtual IP
  5. Fa0/0 1 200 Active local 192.168.1.253 192.168.1.254
  6. tarena-R2#show standby brief
  7. P indicates configured to preempt.
  8. |
  9. Interface Grp Pri P State Active Standby Virtual IP
  10. Fa0/0 1 195 Standby 192.168.2.252 local 192.168.1.254

步骤七:在内部主机上测试到外网主机的连通性

  1. SERVER>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::207:ECFF:FE80:557D
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.4.1: bytes=32 time=1ms TTL=126
  13. Ping statistics for 192.168.4.1
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 1ms, Average = 0ms

步骤八:在R1配置端口跟踪、R2配置占先权

  1. tarena-R1(config)#interface fastEthernet 0/0
  2. tarena-R1(config-if)#standby 1 track f0/1
  3. tarena-R2(config)#interface fastEthernet 0/0
  4. tarena-R2(config-if)#standby 1 preempt

步骤九:关闭R1的f0/1接口,模拟设备故障,查看R2的HSRP信息

  1. tarena-R1(config)#interface fastEthernet 0/1
  2. tarena-R1(config-if)#shutdown
  3. tarena-R2#show standby brief
  4. P indicates configured to preempt.
  5. |
  6. Interface Grp Pri P State Active Standby Virtual IP
  7. Fa0/0 1 195 Active local unknown 192.168.1.254

结果显示R2已成为活跃路由器,而备份路由器状态未知。虚拟路由器的IP地址192.168.1.254/24也已迁移到R2上了。

步骤十:在R1配置占先权,并激活R1的f0/1接口并查状态

备份路由器成为活跃路由器后,原来的活跃路由器R1即使线路修复也不会重新成为进入活跃状态。

为了使路由器完全根据优先级来决定其状态,需要配置占先权。占先权保证了严格根据优先级来决定哪台设备进入活跃状态。

  1. tarena-R1(config)#interface f0/0
  2. tarena-R1(config-if)#standby 1 preempt
  3. tarena-R1(config)#interface f0/1
  4. tarena-R1(config-if)#no shutdown
  5. tarena-R1#show standby brief
  6. P indicates configured to preempt.
  7. |
  8. Interface Grp Pri P State Active Standby Virtual IP
  9. Fa0/0 1 200 Active local 192.168.1.253 192.168.1.254

2 案例2:三层交换配置HSRP

2.1 问题

以三层交换机代替路由器作为网关设备。

2.2 方案

以三层交换机代替路由器作为网关设备,以vlan1作为网关接口

网络拓扑如图-2所示:

技术分享图片

图-2

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:分别为三层交换机和路由器配置IP并开启三层交换机路由功能。

  1. SM1(config)#ip routing
  2. SM1(config)#interface vlan 1
  3. SM1(config-if)#ip address 192.168.1.252 255.255.255.0
  4. SM1(config-if)#no shutdown
  5. SM1(config-if)#eixt
  6. SM1(config)#interface fastEthernet 0/1
  7. SM1(config-if)#no switchport
  8. SM1(config-if)#ip address 192.168.2.1 255.255.255.0
  9. SM1(config-if)#no shutdown
  10. SM2(config)#ip routing
  11. SM2(config)#interface vlan 1
  12. SM2(config-if)#ip add 192.168.1.253 255.255.255.0
  13. SM2(config-if)#no shutdown
  14. SM2(config-if)#exit
  15. SM2(config)#interface f0/1
  16. SM2(config-if)#no switchport
  17. SM2(config-if)#ip address 192.168.3.1 255.255.255.0
  18. Router(config)#interface fastEthernet 0/0
  19. Router(config-if)#ip address 192.168.2.2 255.255.255.0
  20. Router(config-if)#no shutdown
  21. Router(config-if)#exit
  22. Router(config)#interface fastEthernet 0/1
  23. Router(config-if)#ip address 192.168.3.2 255.255.255.0
  24. Router(config-if)#no shutdown
  25. Router(config-if)#exit
  26. Router(config)#interface fastEthernet 1/0
  27. Router(config-if)#ip address 192.168.4.254 255.255.255.0
  28. Router(config-if)#no shutdown

步骤二:在三层交换机和路由器上配置动态路由,在路由器上查看路由表。

  1. SM1(config)#router rip
  2. SM1(config-router)#version 2
  3. SM1(config-router)#no auto-summary
  4. SM1(config-router)#network 192.168.1.0
  5. SM1(config-router)#network 192.168.2.0
  6. SM2(config)#router rip
  7. SM2(config-router)#version 2
  8. SM2(config-router)#no auto-summary
  9. SM2(config-router)#network 192.168.1.0
  10. SM2(config-router)#network 192.168.3.0
  11. Router(config)#router rip
  12. Router(config-router)#version 2
  13. Router(config-router)#no auto-summary
  14. Router(config-router)#network 192.168.2.0
  15. Router(config-router)#network 192.168.3.0
  16. Router(config-router)#network 192.168.4.0
  17. Router#show ip route
  18. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  19. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  20. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  21. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  22. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  23. * - candidate default, U - per-user static route, o - ODR
  24. P - periodic downloaded static route
  25. Gateway of last resort is not set
  26. R 192.168.1.0/24 [120/1] via 192.168.3.1, 00:00:10, FastEthernet0/1
  27. [120/1] via 192.168.2.1, 00:00:04, FastEthernet0/0
  28. C 192.168.2.0/24 is directly connected, FastEthernet0/0
  29. C 192.168.3.0/24 is directly connected, FastEthernet0/1
  30. C 192.168.4.0/24 is directly connected, FastEthernet1/0

步骤三:在三层交换机vlan1中配置虚拟网关并设置优先级和占先权

  1. SM1(config)#interface vlan 1
  2. SM1(config-if)#standby 1 ip 192.168.1.254
  3. SM1(config-if)#standby 1 priority 200
  4. SM1(config-if)#standby 1 preempt
  5. %HSRP-6-STATECHANGE: Vlan1 Grp 1 state Speak -> Standby
  6. %HSRP-6-STATECHANGE: Vlan1 Grp 1 state Standby -> Active
  7. SM2(config)#interface vlan 1
  8. SM2(config-if)#standby 1 ip 192.168.1.254
  9. %HSRP-6-STATECHANGE: Vlan1 Grp 1 state Speak -> Standby
  10. SM2(config-if)#standby 1 priority 195
  11. SM2(config-if)#standby 1 preempt

步骤四:在三层交换机vlan1中配置端口跟踪,关闭被跟踪接口并查看SM1的HSRP状态

当三层交换机SM1并没有故障,而是上连端口f0/1接口线路损坏时主备无法快速切换,所以要在主设备上配置端口跟踪,确保当主设备线路出现问题时备份设备可以快速切换身份

  1. SM1(config)#interface vlan 1
  2. SM1(config-if)#standby 1 track f0/1
  3. SM1(config)#interface f0/1
  4. SM1(config-if)#shutdown
  5. SM1(config-if)#end
  6. SM1#show standby brief
  7. P indicates configured to preempt.
  8. Interface Grp Pri P State Active Standby Virtual IP
  9. Vl1 1 1 190 P Standby 192.168.1.253 local 192.168.1.254
  10. SM1#

步骤五:测试网路连通性

模拟主设备故障或被跟踪的端口故障时测试网络的连通性,确保备份设备被启用

  1. server>ping 192.168.4.1
  2. Pinging 192.168.4.1 with 32 bytes of data:
  3. Reply from 192.168.4.1: bytes=32 time=1ms TTL=126
  4. Reply from 192.168.4.1: bytes=32 time=1ms TTL=126
  5. Reply from 192.168.4.1: bytes=32 time=14ms TTL=126
  6. Reply from 192.168.4.1: bytes=32 time=15ms TTL=126
  7. Ping statistics for 192.168.4.1:
  8. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  9. Approximate round trip times in milli-seconds:
  10. Minimum = 1ms, Maximum = 15ms, Average = 7ms

3 案例3:STP的配置

3.1 问题

二层网络中有可能出现因为线路故障而导致的通信故障,通过冗余线路可以消除因为某一线路故障而导致的网络中断。

但是因为冗余线路的存在,又可能会出现广播风暴、相同帧的不断复制和MAC地址表不稳定。

  • 配置Switch1为vlan1的主根,Switch2为vlan1的次根

3.2 方案

为了保证在冗余环境下不会出广播风暴等问题,引入了生成树(STP)协议。通过生成树协议可以把冗余线路上的某一个端口置为阻塞 (BLOCKING)状态,防止广播风暴的产生,当某一线路出现故障时,被阻塞的端口自动进入转发(FORWARDING)状态,保证网络的畅通性。

网络拓扑如图-3所示:

技术分享图片

图-3

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将三台交换机相连的端口配置为中继端口

  1. tarena-sw1(config)#interface range f0/12 -13
  2. tarena-sw1(config-if-range)#switchport mode trunk
  3. tarena-sw2(config)#interface range f0/12, f0/23
  4. tarena-sw2(config-if-range)#switchport mode trunk
  5. tarena-sw3(config)#interface range f0/13 ,f0/23
  6. tarena-sw3(config-if-range)#switchport mode trunk

步骤二:调整优先级设置tarena-sw1为根网桥

根网桥唯一的依据是BID最小。BID分为两个部分:优先级+MAC地址。比较BID时,先比较优先级,如果优先级相同才比较MAC地址。

优先级取值范围是0到65535,默认值为32768。在查看优先级时,即使是默认值看到的也不是32768,因为交换机的优先级采用系统优先级+VLAN编号的方式,所以查看到的VLAN1默认优先级是32769(系统优先级32768+VLAN编号1)。

  1. tarena-sw1(config)# spanning-tree vlan 1 priority 28672
  2. tarena-sw1(config)#exit
  3. tarena-sw1#show spanning-tree
  4. VLAN0001
  5. Spanning tree enabled protocol ieee
  6. Root ID Priority 28673 //默认优先级为32768
  7. Address 0060.478B.607B
  8. This bridge is the root
  9. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  10. Bridge ID Priority 28673 (priority 24576 sys-id-ext 1)
  11. Address 0060.478B.607B
  12. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  13. Aging Time 20
  14. Interface Role Sts Cost Prio.Nbr Type
  15. ----------- ------ --- -------- -------- ----------------------
  16. Fa0/13 Desg FWD 19 128.13 P2p
  17. Fa0/12 Desg FWD 19 128.12 P2p

查看到的结果,Root ID部分指的是根网桥信息,Bridge ID部分是当前所操作的交换机信息,如果二者一致表示当前操作的交换机就是根网桥。

4 案例4:三层交换配置STP

4.1 问题

配置Switch1为vlan1的次根,Switch2为vlan1的次根。

配置Switch1为vlan2的次根,Switch2为vlan2的次根

4.2 方案

如图网络拓扑如图-4所示:

技术分享图片

图-4

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将四台交换机相连的端口配置为中继端口,分别创建vlan2

  1. SM1(config)#vlan 2
  2. SM1(config)#exit
  3. SM1(config)#interface range fastEthernet 0/1-3
  4. SM1(config-if-range)#switchport trunk encapsulation dot1q
  5. SM1(config-if-range)#switchport mode trunk
  6. SM2(config)#vlan 2
  7. SM2(config)#exit
  8. SM2(config)#interface range fastEthernet 0/1-3
  9. SM2(config-if-range)#switchport trunk encapsulation dot1q
  10. SM2(config-if-range)#switchport mode trunk
  11. Switch1(config)#vlan 2
  12. Switch1(config)#exit
  13. Switch1(config)#interface range fastEthernet 0/1-2
  14. Switch1(config-if-range)#switchport mode trunk
  15. Switch2(config)#vlan 2
  16. Switch2(config)#exit
  17. Switch2(config)#interface range fastEthernet 0/1-2
  18. Switch2(config-if-range)#switchport mode trunk

步骤二:设置SM1为vlan1的主根vlan2的次根,设置SM2为vlan2的主根vlan1的次根并查看

  1. SM1(config)#spanning-tree vlan 1 root primary
  2. SM1(config)#spanning-tree vlan 2 root secondary
  3. SM1#show spanning-tree
  4. VLAN0001
  5. Spanning tree enabled protocol ieee
  6. Root ID Priority 24577
  7. Address 00D0.972A.43E5
  8. This bridge is the root
  9. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  10. Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)
  11. Address 00D0.972A.43E5
  12. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  13. Aging Time 20
  14. Interface Role Sts Cost Prio.Nbr Type
  15. ---------------- ---- --- --------- -------- --------------------------------
  16. Fa0/2 Desg FWD 19 128.2 P2p
  17. Fa0/3 Desg FWD 19 128.3 P2p
  18. Fa0/1 Desg FWD 19 128.1 P2p
  19. VLAN0002
  20. Spanning tree enabled protocol ieee
  21. Root ID Priority 24578
  22. Address 00E0.F9CE.7424
  23. Cost 19
  24. Port 3(FastEthernet0/3)
  25. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  26. Bridge ID Priority 28674 (priority 28672 sys-id-ext 2)
  27. Address 00D0.972A.43E5
  28. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  29. Aging Time 20
  30. Interface Role Sts Cost Prio.Nbr Type
  31. ---------------- ---- --- --------- -------- --------------------------------
  32. Fa0/2 Desg FWD 19 128.2 P2p
  33. Fa0/3 Root FWD 19 128.3 P2p
  34. Fa0/1 Desg FWD 19 128.1 P2p
  35. SM2(config)#spanning-tree vlan 1 root secondary
  36. SM2(config)#spanning-tree vlan 2 root primary
  37. SM2#show spanning-tree
  38. VLAN0001
  39. Spanning tree enabled protocol ieee
  40. Root ID Priority 24577
  41. Address 00D0.972A.43E5
  42. Cost 19
  43. Port 3(FastEthernet0/3)
  44. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  45. Bridge ID Priority 28673 (priority 28672 sys-id-ext 1)
  46. Address 00E0.F9CE.7424
  47. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  48. Aging Time 20
  49. Interface Role Sts Cost Prio.Nbr Type
  50. ---------------- ---- --- --------- -------- --------------------------------
  51. Fa0/2 Desg FWD 19 128.2 P2p
  52. Fa0/1 Desg FWD 19 128.1 P2p
  53. Fa0/3 Root FWD 19 128.3 P2p
  54. VLAN0002
  55. Spanning tree enabled protocol ieee
  56. Root ID Priority 24578
  57. Address 00E0.F9CE.7424
  58. This bridge is the root
  59. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  60. Bridge ID Priority 24578 (priority 24576 sys-id-ext 2)
  61. Address 00E0.F9CE.7424
  62. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  63. Aging Time 20
  64. Interface Role Sts Cost Prio.Nbr Type
  65. ---------------- ---- --- --------- -------- --------------------------------
  66. Fa0/2 Desg FWD 19 128.2 P2p
  67. Fa0/1 Desg FWD 19 128.1 P2p
  68. Fa0/3 Desg FWD 19 128.3 P2p

HSRP,STP配置

标签:interface   三台   his   routing   编号   war   部分   生成树   prot   

原文地址:https://www.cnblogs.com/xiaoren112/p/8257640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!