📜  简单网络管理协议 (SNMP)

📅  最后修改于: 2021-09-27 14:58:07             🧑  作者: Mango

如果一个组织有 1000 台设备,那么每天一个接一个地检查所有设备是否正常工作是一项繁忙的任务。为了简化这些,使用了简单网络管理协议 (SNMP)。

简单网络管理协议 (SNMP) –
SNMP 是一种应用层协议,使用 UDP 端口号 161/162。SNMP 用于监控网络、检测网络故障,有时甚至用于配置远程设备。

SNMP 组件 –
SNMP 有 3 个组件:

  1. SNMP 管理器 –
    它是用于监控网络的集中式系统,也称为网络管理站 (NMS)
  2. SNMP 代理 –
    它是安装在被管理设备上的软件管理软件模块。受管设备可以是网络设备,如 PC、路由器、交换机、服务器等。
  3. 管理信息库——
    MIB 由要管理的资源的信息组成。这些信息是分层组织的。它由本质上是变量的对象实例组成。

SNMP 消息 –
不同的变量是:

  1. 获取请求 –
    SNMP 管理器发送此消息以从 SNMP 代理请求数据。它仅用于从 SNMP 代理检索数据。对此,SNMP 代理通过响应消息以请求的值进行响应。
  2. 获取下一个请求 –
    可以发送此消息以发现 SNMP 代理上可用的数据。 SNMP 管理器可以连续请求数据,直到没有更多数据为止。通过这种方式,SNMP 管理器可以了解 SNMP 代理上的所有可用数据。
  3. GetBulkRequest –
    此消息用于由 SNMP 管理器从 SNMP 代理一次检索大数据。它是在 SNMPv2c 中引入的。
  4. 设置请求 –
    SNMP 管理器使用它来设置 SNMP 代理上的对象实例的值。
  5. 回复 –
    它是根据管理器的请求从代理发送的消息。当响应 Get 消息发送时,它将包含请求的数据。当发送响应 Set 消息时,它将包含新设置的值作为该值已设置的确认。
  6. 陷阱 –
    这些是代理发送的消息,而没有被管理器请求。它在发生故障时发送。
  7. 通知请求 –
    它是在 SNMPv2c 中引入的,用于识别管理器是否已收到陷阱消息。代理可以配置为连续设置陷阱,直到它收到通知消息。它与陷阱相同,但添加了陷阱不提供的确认。

SNMP 安全级别 –
它定义了对 SNMP 数据包执行的安全算法的类型。这些仅用于 SNMPv3。有3个安全级别,即:

  1. noAuthNoPriv –
    此(无身份验证,无隐私)安全级别使用社区字符串进行身份验证,不加密隐私。
  2. authNopriv –此安全级别(身份验证,无隐私)使用带有 Md5 的 HMAC 进行身份验证,并且不使用加密来保护隐私。
  3. authPriv –此安全级别(身份验证、隐私)使用带有 Md5 或 SHA 的 HMAC 进行身份验证,加密使用 DES-56 算法。

SNMP 版本 –
SNMP 有 3 个版本:

  1. SNMPv1 –
    它使用社区字符串进行身份验证并仅使用 UDP。
  2. SNMPv2c –
    它使用社区字符串进行身份验证。它使用 UDP,但可以配置为使用 TCP。
  3. SNMPv3 –
    它使用基于哈希的 MAC 和 MD5 或 SHA 进行身份验证,使用 DES-56 进行隐私。此版本使用 TCP。因此,结论是SNMP的版本越高,它就越安全。