生存通知功能

概要

生存通知功能是指,连接着网络的路由器,向其他分支的路由器发送包含自己的名称和IP地址的数据包,通知可以正常通信的状态的功能。接收到通知数据包的路由器会在log中输出名称和IP地址,并保存。可以使用本功能来判断,WAN的IP地址非固定的分支的路由器和其他分支的路由器之间是否可以通信。

  • 生存通知数据包使用 UDP/Discard(9)。
  • 接收到生存通知的路由器,通过名称来识别发送源路由器。所以,发送生存通知的每个路由器必须设置固定的名称。
  • 发送侧路由器和接收侧路由器都持有共享密钥,数据包中包含有使用该密钥计算出的摘要,所以在接收侧可以进行数据包的验证。
  • 连接unnumbered线路,发送本功能的通知数据包时,通知的是设置有IP地址的LAN接口中的LAN接口编号较小一方的IP地址。
  • 接收到的生存通知的信息可以通过show status heartbeat命令显示。

注意事项

  • 为了使用本功能,发送侧和接收侧的路由器必须都支持本功能。支持的机型和固件版本请参考以下的「支持机型和固件」。
  • 在本功能中,不管线路的连接状态如何,都将尝试向指定的IP地址发送数据包。因此,使用ISDN线路时,可能会发生意想外的呼叫而进行收费。为了防止此情况,需要使用静态过滤,设置为在切断时不发送生存通知数据包。关于设置,请参考「定期的进行生存通知」。

支持机型和固件

雅马哈RT系列的以下机型和固件中,支持生存通知功能。

机型 固件
RTX5000 Rev.14.00.15以后
RTX820 Rev.11.03.16以后
RTX1200 Rev.10.01.20以后
RTX800 Rev.10.01.20以后

详细

生存通知的设置和运行的流程

  1. 在发送侧路由器(以下:路由器A:IP地址 172.16.1.254)上设置生存通知用的共享密钥,和设备名称的设置。

    router-A# heartbeat pre-shared-key yamaha
    router-A# snmp sysname router-A
    
  2. 在接收侧路由器(以下:路由器B:IP地址 10.0.0.1)上设置和路由器A相同的共享密钥,和接收生存通知数据包进行log输出的设置。

    router-B# heartbeat pre-shared-key yamaha
    router-B# heartbeat receive on log=on
    
  3. 在路由器A上执行生存通知。

    router-A# heartbeat send 10.0.0.1
    

    UDP/9数据包包含以下的信息发送。

    • 使用共享密钥(yamaha)计算出的摘要
    • snmp sysname设置的设备的名称(router-A)
    • 发送接口的IP地址(172.16.1.254)
  4. 路由器B接收到生存通知的话,通过自己的共享密钥(yamaha)计算出摘要,和接收数据包中的字符串比较。如果一致的话,将通知的名称和IP地址输出在log中,和接收时间一起保存。
  5. 路由器B的syslog和show status heartbeat中个,如下所示。

    router-B# show log
    2006/07/20 21:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
    router-B# show status heartbeat
     (?: heartbeat unreachable)
     name             IP address      last received         interval(sec)
    -----------------------------------------------------------------
     router-A         172.16.1.254    2006/07/20 21:37:48
    
    接收间隔在2次接收到相同对端的生存通知时会显示。
    

想要定期的进行生存通知时,请在发送侧路由器中设置schedule at命令。这时,在接收侧路由器上设置了heartbeat receive命令的monitor选项的监控时间的话,在监控时间内没有收到通知时,会输出log,并发送SNMP Trap。另外,超过监控时间后,同一对端再次进行通知时,会输出显示生存通知再开的log。

MIB变量

以下的MIB変数可以通过生存通知的接收信息取得。

  • yamahaRTIp
    • yrIpHeartBeatTable
      接收的生存通知表的信息
      • yrIpHeartBeatEntry
        • yrIpHeartBeatIndex
          表索引
        • yrIpHeartBeatName
          通知的名称
        • yrIpHeartBeatFrom
          通知的IP地址
        • yrIpHeartBeatRecvTime
          最后接收通知的时间
        • yrIpHeartBeatInterval
          通知的接收间隔
    • Trap
      • yrIpHeartBeatTrap
        指定期间内没有通知时发送

命令

生存通知的执行

[格式]

heartbeat send DEST_ADDR [log=SWITCH]

[设置值]

  • DEST_ADDR ... 发送目标路由器的IPv4地址或FQDN
  • SWITCH ... syslog的输出
    • on ... 输出syslog
    • off ... 不输出syslog

[说明]

DEST_ADDR指定IP地址,发送snmp sysname设置的设备的名称和IP地址,通知处于可通信状态。

log=on时,发送数据包时会输出至syslog。

[Note]

执行本命令前,必须用heartbeat pre-shared-key命令设置共享密钥。

[默认值]

log=off

设置是否接收生存通知

[格式]

heartbeat receive SW [option=vaule ...]
no heartbeat receive

[设置值]

  • SWITCH
    • on ... 接收生存通知数据包
    • off ... 不接收生存通知数据包
  • OPTION=VALUE
    OPTION VALUE 说明
    log on 接收的内容输出至syslog。
    off 接收的内容不输出至syslog。
    monitor 监控时间 [秒](30..21474836) 指定期间内没有接收到通知时,发送警报。
    off 没有接收到生存通知也不发送警报。

[说明]

设置是否将生存通知的内容输出至syslog。

monitor选项指定的监控时间内没有收到生存通知时,输出至syslog并发送SNMP Trap。

[Note]

设置本命令之前,需要用heartbeat pre-shared-key命令设置共享密钥。

[默认值]

SW...off
log = off
monitor = off

设置生存通知的共享密钥

[格式]

heartbeat pre-shared-key KEY
no heartbeat pre-shared-key

[设置值]

  • KEY ... ASCII字符串(32字符以内)

[说明]

设置进行生存通知接收认证用的共享密钥。生存通知的发送侧,接收侧的两端需要设置相同的密钥。

不设置本命令时,无法进行生存通知的发送和接收时long输出。

生存通知的状态的显示

[格式]

show status heartbeat

[设置值]

[说明]

显示接收的生存通知的信息。

显示的内容如下所示。

  • 通知的名称
  • 通知的IP地址
  • 最后接收通知的时间
  • 接收间隔(秒)

设置例

生存通知功能的设置例,如下所示。
设置例中,接收侧路由器的IP地址为:10.0.1.1。

  • 手动进行生存通知。
    • 接收侧路由器
      # heartbeat pre-shared-key test
      # heartbeat receive on log=on
      
    • 发送侧路由器
      # heartbeat pre-shared-key test
      # snmp sysname router_name
      # heartbeat send 10.0.1.1	# 执行生存通知
      
  • 定期的进行生存通知
    • 接收侧路由器
      # heartbeat pre-shared-key test
      # heartbeat receive on log=on monitor=4000
      
    • 发送侧路由器
      # heartbeat pre-shared-key test
      # snmp sysname router_name
      # schedule at 1 */* *:00 * heartbeat send 10.0.1.1  # 每小时0分进行生存通知
      # ip filter 1 restrict * 10.0.1.1 udp * 9           # 切断时不发送生存通知
      # ip filter 100 pass * * *
      # pp select 1
      pp1# ip pp secure filter out 1 100                  # 使用过滤
      

显示例

# show log
2006/07/20 21:30:43: [HEARTBEAT] Received from 172.16 10.1 router-C
2006/07/20 21:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/20 22:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/20 22:00:44: [HEARTBEAT] Received from 172.16 10.1 router-C
2006/07/20 22:30:44: same message repeated 1 times
2006/07/20 22:37:49: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/20 23:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/20 23:37:24: [HEARTBEAT] Not received for a given period: 172.16.10.1 router-C
2006/07/20 23:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 0:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 0:37:49: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 1:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 1:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 2:00:02: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 2:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 3:00:02: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 3:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 4:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 4:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A

# show status heartbeat
 (?: heartbeat unreachable)
 name             IP address      last received         interval(sec)
-----------------------------------------------------------------
 router-A        172.16.1.254    2006/07/21 4:37:48       3600
 router-B        10.1.2.3        2006/07/21 4:00:01       3600
?router-C        172.16 10.1     2006/07/20 22:30:44      1800

SYSLOG信息一览

本功能输出的SYSLOG信息如下。实际输出的各信息的前面会加上"[HEARTBEAT] "的前缀。

级别 输出信息 内容
INFO Send to DEST_ADDR: NAME SRC_ADDR 发送含有NAME、SRC_ADDR的生存通知至DEST_ADDR。
Received from IP_ADDRESS NAME 接收到了IP地址是IP_ADDRESS,名称为NAME的生存通知。
Not received for a given period: IP_ADDRESS NAME 在监控时间内没有收到NAME、IP_ADDRESS的路由器的生存通知。
Resumed the receiving from IP_ADDRESS NAME 接收到了超过监控时间没有发送生存通知的对端再发送的通知数据包。
DEBUG Received illegal packet: IP_ADDRESS 接收到了从IP_ADDRESS发来的包含不正确的摘要的生存通知。
Received IP address is changed from PREV_ADDR to NEW_ADDR : NAME NAME的路由器通知的IP地址由PREV_ADDR变更为NEW_ADDR。

返回顶部Return to Top