交换机的操作

前言

对具备交换机控制功能的雅马哈交换机,对其设定、及取得状态等行为称为「交换机的操作」。

本资料针对根据指令进行交换机操作的方法进行说明。

指令的概要

对交换机进行操作的指令包括switch control function set、switch control function get、switch control function execute3种。各自指令的作用如下。

switch control function set

对交换机所具备的功能进行设定时所使用的「执行内容被保存的指令」。意即,从路由器执行该指令后,以show config显示其内容。使用案例有「设定端口的通信速度」、「省电功能的设定」等。

switch control function get

此指令大致分为2个功能。

1种是获取交换机动作状态的作用。相当于从show status开始的指令。作为使用例的「取得端口连接状态」、「取得端口收到的分组数」等。

另1种是获取交换机内容的作用。虽然能够用show config表示设定内容,仍然有不同部分。首先,可以用该指令获得以switch control function set设定的值。这时,可以获取的数值与用show config显示的内容相同。并且可以取得未以switch control function set设定的项目值。这时取得的数值为初期值。

switch control function execute

是对交换机执行特定动作的指令。虽然和switch control function set指令相似,但其不同点在于执行内容未被保存。作为使用案例,属于「重启交换机」「消除交换机的MAC地址表」等。

指令的使用方法

关于指令格式

操作交换机的指令的格式如下:
switch control function set FUNCTION [INDEX] VALUE
no switch control function set FUNCTION [INDEX]
switch control function get FUNCTION [INDEX] [SWITCH]
switch control function execute FUNCTION [INDEX] [SWITCH]

FUNCTION
对操作功能的名称进行指定。功能一览表、及详细内容记录在指令参考中。

INDEX
本参数是对功能中存在多个操作对象时指定。比如,在对端口的通讯速度进行设定的port-speed功能上,作为设定对象需要指定端口编号。

VALUE
输入功能所对应的设定值。不会有多个设定值存在。针对可执行switch control function set的功能,执行switch control function get后,即显示该值。

SWITCH
对操作的交换机进行指定。要省略此参数时,需要先执行switch select指令。并且,对于switch control function set, no switch control function set必须要执行switch select指令。

在执行no switch control function set指令时,在从show config的显示内容中删除的同时,该功能的设定值恢复到初始值。

指令的使用案例

现在针对将MAC地址为00:a0:de:01:02:03,路径为lan1:3的交换机端口3的通信速度设为100BASE-TX全双工的方法进行说明。使用的功能为port-speed。关于该功能的详情,请参照指令参考资料。

  1. 最初用switch select对交换机进行指定。
    # switch select 00:a0:de:01:02:03
    switch(00:a0:de:01:02:03)#
    
  2. 在未进行任何设定的状态下,对port-speed进行get后,显示初始值。
    switch(00:a0:de:01:02:03)# switch control function get port-speed 3
    auto
    switch(00:a0:de:01:02:03)#
    
  3. 将端口3的通信速度设定为100BASE-TX全双工。
    switch(00:a0:de:01:02:03)# switch control function set port-speed 3 100-fdx
    switch(00:a0:de:01:02:03)#
    
  4. show config显示如下。
    switch select 00:a0:de:01:02:03
    switch control function set port-speed 3 100-fdx
    
  5. 在此状态下,对port-speed进行get时,显示100-fdx。
    switch(00:a0:de:01:02:03)# switch control function get port-speed 3
    100-fdx
    switch(00:a0:de:01:02:03)#
    
  6. switch select指定路径,get时也相同。
    switch(00:a0:de:01:02:03)# switch select lan1:3
    switch(lan1:3)# switch control function get port-speed 3
    100-fdx
    switch(lan1:3)#
    

设置的同步

同步结构

交换机在路由器控制下时,路由器和其下方的交换机的设定内容经常同步。

交换机在连接的状态下执行switch control function set指令时,设定内容各自保存在路由器和交换机里。

并且,即使交换机未处于连接状态,也可执行该指令。这时,设定内容仅保存在路由器中。之后当连接到交换机时,该内容被传出。当交换机未连接时,执行switch control function get, switch control function execute时,显示错误。

同步是从路由器向交换机的单方向,交换机经常是以设定于路由器的 config状态下动作。

交换机连接到路由器时,最初先对路由器和交换机的设定内容是否一致进行检查。不一致时,进行以下处理。

  • 将交换机的所有设定恢复到初始值。
  • 将设定了switch control function set指令功能的设定值传输到交换机。

作为例子,是考虑到事先在路由器上做了以下config的设定。

switch select lan1:3
 switch control function set system-name sales      ... (a)
 switch control function set port-speed 2 100-fdx   ... (a)
 switch control function set port-speed 5 10-hdx    ... (a)
switch select lan2
 switch control function set system-name development... (b)
 switch control function set port-speed 4 100-hdx   ... (b)

将交换机连接到lan1端口时,根据同步处理要求,以上config的(a)部分被传输。当连接到lan2时,(b)d的部分被传输。这样在指定路径的情况下进行设定时,无论连接到哪种有MAC地址的交换机上,只要路径一致,设定即会被传出。

路由器对下属的交换机设定内容定期进行监视,当检测出与路由器的config不相容时,即进行同步处理。

同步处理需要时间(数十秒~数分钟)。进行同步处理时,交换机不接受其他操作。执行指令时,显示如下反馈。

错误信息:交换机正在进行其他处理。

这时,指令作为错误处理,不保存到路由器的config里。

同步处理的开始和结束,可各自按照以下的SYSLOG进行确认。

[SWCTL] lan1:3(00:a0:de:01:02:03): sync start
[SWCTL] lan1:3(00:a0:de:01:02:03): sync done

用路径指定进行设定时,只要改变了交换机的连接端口,同步处理即行开始。请注意。

对相同交换机的重复设定

根据MAC地址和路径、及各自的制定方法进行的设定,有时是以同一交换机为对象。这时,通过MAC地址指定的设定被优先。

作为案例,是考虑到路由器有时被设定为如下config的情形。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
 switch control function set port-speed 5 10-hdx        ... (b)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

当lan1端口连接了MAC地址为00:a0:de:01:02:03的交换机时,传输设定为 (a)、(b) 。在此状态下删除(a)、(b)的设定时,同步处理随即开始,(c)、(d)的设定即被传输。这时,(a)、(b)的设定值恢复为初始值。

以下是考虑了只设定了(c),(d)的状态下,连接交换机时的情形。

switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

当lan1的端口3连接了MAC地址为00:a0:de:01:02:03的交换机时,(c)、(d)的设定被传输。

在这里追加(a)的设定时,根据MAC地址指定的设定被优先,因此开始同步处理,(a)的设定被传输。(c)、(d)的设定值恢复为初始值。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

同步处理结束后,可以输入之后的指令。继续追加(b)的设定时,该内容被传输到交换机。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
 switch control function set port-speed 5 10-hdx        ... (b)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

交换机所适用的设定switch select可在show status switch contro指令中进行确认。

关于设定错误

在交换机未接通路由器的状态下,即提前输入了switch control function set指令时,有时并不可知其设定是否正确。例如,对端口10输入了port-speed设定,但实际上连接的交换机端口是8。

如上所述,当判明连接交换机的最后设定为错误时,该设定被从config自动删除。但save未被执行,因此在缓存ROM中残留有删除前的config。

存在混用其他公司交换机时的同步处理

现针对其他公司交换机下方连接了雅马哈交换机时的同步处理进行说明。

假设路由器中设定了以下config时。在以后的说明中将config称为config(A)。在以下的结构中,向其他公司的交换机下方连接雅马哈交换机A后,该交换机即被config(A)同步。

switch select lan1:3
 switch control function set port-speed 3 100-fdx
 switch control function set port-auto-crossover 4 off

在以下的结构中,向其他公司的交换机下方连接雅马哈交换机A后,该交换机即被config(A)同步。

+------------------+
|   雅马哈路由器   |
+--------+---------+
         | lan1 port 3
         |
+--------+---------+
|  其他公司交换机  |
+--------+---------+
         | port 2
         |
+--------+---------+
|  雅马哈交换机A   |
+------------------+

然后,对其他公司交换机下方追加雅马哈交换机B进行连接

+------------------+
|   雅马哈路由器   |
+--------+---------+
         | lan1 port 3
         |
+--------+---------+ port 5
|  其他公司交换机  +------------+
+--------+---------+            |
         | port 2               |
         |                      |
+--------+---------+   +--------+---------+
|  雅马哈交换机A   |   |  雅马哈交换机B   |
+------------------+   +------------------+

这时的运行动作如下。

  • 雅马哈A的设定,保持config(A)的状态不变。
  • 对雅马哈B,设定不做任何传输。并且、所有设定被初始化。
  • 针对雅马哈A、B,按照路径指定,不能执行switch control function setno switch control function set

之后、拔掉雅马哈交换机A的LAN电缆后、雅马哈交换机B,在config(A)被同步。

+------------------+
|   雅马哈路由器   |
+--------+---------+
         | lan1 port 3
         |
+--------+---------+ port 5
|  其他公司交换机  +------------+
+--------+---------+            |
                                |
                                |
                       +--------+---------+
                       |  雅马哈交换机B   | 
                       +------------------+

设定的删除

使用switch control function default指令时,交换机的设定可以一起删除。用以下的config为例子进行说明。假设lan1的端口3连接了MAC地址为00:a0:de:01:02:03的交换机。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
 switch control function set port-speed 5 10-hdx        ... (b)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)
  • 指定路径,并执行指令后, (c)、(d)被从config中删除。适用于交换机的设定,保持 (a)、(b)的状态不变。
    # switch control function default lan1:3
    
  • 指定MAC地址,并执行指令后、 (a)、(b) 被从config中删除。并且、适用于交换机的设定,保持 (c)、(d) 的状态不进行变更。
    # switch control function default 00:a0:de:01:02:03
    
  • 指定both选项后,可能适用于交换机的所有设定均被删除。根据以上案例, (a) ~ (d) 的所有内容将被删除。交换机的设定也全部恢复到初始值。
    # switch control function default lan1:3
    

执行switch control function default指令后、即使适用于交换机的设定没有变化,也一定被同步处理。

在未连接交换机的状态下,执行了该指令时、即使对both选项进行指定,MAC地址和路径的设定也不会同时被删除。

关联信息

返回顶部Return to Top