※当サイトの記事には、広告・プロモーションが含まれます。

SNMPとかMIBとかOIDとか分からないので調べてみた

gigazine.net

オンラインでのデジタルコンテンツ販売においてクレジットカードは重要な決済手段ですが、VisaやMastercardなどの決済カードネットワークが性的や暴力的な内容を含むコンテンツを配信するプラットフォームに圧力をかけて規制を強制したことが問題となり、日本だけではなく海外でも批判の声が上がっています。

ゲームやマンガなどを銀行やクレジットカード会社が勝手に規制するのをやめさせる「公正な銀行アクセス法」案とは? - GIGAZINE

こうした流れの中で、2025年2月に提出された「Fair Access to Banking Act(公正な銀行取引へのアクセス法)」案について、インターネットにおける権利保障を訴える団体・U.S. Internet Preservation Society(USIPS)が解説をしています。

ゲームやマンガなどを銀行やクレジットカード会社が勝手に規制するのをやめさせる「公正な銀行アクセス法」案とは? - GIGAZINE

2025年7月中旬、反ポルノ団体・Collective Shoutが、VisaやPayPal、Mastercardなどの決済プラットフォームに対して「SteamやItch.ioでは過激なアダルトゲームが配信されている」と批判したことを受けて、SteamやItch.ioで突如大量のアダルトゲームがプラットフォーム上から削除されました。

ゲームやマンガなどを銀行やクレジットカード会社が勝手に規制するのをやめさせる「公正な銀行アクセス法」案とは? - GIGAZINE

しかし、明確にどういった種類のアダルトゲームが規制の対象となるかは明記されておらず、決済プラットフォームがノーと言えばすべてのコンテンツが配信不能になってしまうとして、ゲーマーからは不満の声が上がっています。

ゲームやマンガなどを銀行やクレジットカード会社が勝手に規制するのをやめさせる「公正な銀行アクセス法」案とは? - GIGAZINE

⇧ これの主張は、「明確な基準が無い」というので分かる。

日本でも以前からDLSiteやFANZAなどに対し、一部のクレジットカードブランドが利用不可になったり、一部の表現に対して規制が強化されたりといったケースが相次ぎ、「決済カードネットワークによる表現の自由の侵害ではないか」という指摘がありました。

ゲームやマンガなどを銀行やクレジットカード会社が勝手に規制するのをやめさせる「公正な銀行アクセス法」案とは? - GIGAZINE

⇧ これの主張は、ちょっと分からない。「表現の自由の侵害」と言っても、「クレジット決済」を禁止されているだけで、自分から発信することは禁止されていないと思われるから。

また、今回の件に限らず、海外では以前からポルトサイトへの圧力があったと報じられており、「アダルト産業を実質的に規制しているのは決済カードネットワークである」という批判もありました。

ゲームやマンガなどを銀行やクレジットカード会社が勝手に規制するのをやめさせる「公正な銀行アクセス法」案とは? - GIGAZINE

⇧ これの主張は、「職業の貴賤は無い」という意味では、分かる。

仮に、別の「決済方法」が確立されたとしても、同じ問題が起きるかもしれないので、禁止するのであれば「明確な基準」は設けるべきな気がしますな。

「空中戦」は不毛な議論にしかならないので、ファジーな部分は無くすべきですかね...

SNMP(Simple Network Management Protocol)

Wikipediaによりますと、

Simple Network Management Protocol(簡易ネットワーク管理プロトコル、またはシンプル ネットワーク マネージメント プロトコルSNMP)は、DARPAモデルに準じたIPネットワーク上のネットワーク機器を監視(モニタリング)・制御するための情報の通信方法を定める通信プロトコルである。

Simple Network Management Protocol - Wikipedia

⇧ とありますと。

DARPAモデル」が何なのかと言うと、

インターネット・プロトコル・スイートInternet protocol suite)は、インターネットを含む多くのコンピュータネットワークにおいて、標準的に利用されている通信プロトコルのセットである。TCP/IPプロトコルあるいは単にTCP/IP (Transmission Control Protocol / Internet Protocol) とも呼ばれる。従来のインターネットワーキングの手法は、このTCP/IPプロトコルに基づいている

インターネット・プロトコル・スイート - Wikipedia

元々は確固たる仕様や定義はなく、IPTCPUDPなどの仕様中に個々に、あるいは暗黙の前提として存在していたものだが、後から RFC 1122 で1つにまとめられた。これに対応する参照モデルTCP/IPモデルと呼ばれる。

インターネット・プロトコル・スイート - Wikipedia

概要

有線、無線などの物理層の違い、イーサネットモデムによるシリアル通信などの物理層データリンク層の違い、異なるベンダや、異なるオペレーティングシステム (OS) の間であっても、インターネット・プロトコル・スイートに対応している機器同士であれば、相互に通信することが可能となる。プロトコルの仕様は公開されている。

インターネット・プロトコル・スイート - Wikipedia

インターネット・プロトコル・スイートにおけるデータ通信のモデルは、TCP/IPモデルTCP/IP参照モデル)と呼ばれ、アプリケーション層、トランスポート層、インターネット層、リンク層の4層で構成されているDARPAモデルという呼称でも知られるが、これはインターネットの研究開発を行っていたDARPAに由来する

インターネット・プロトコル・スイート - Wikipedia

⇧ とあり、「TCP/IPモデル」のことを言っているらしい。

話を「SNMP(Simple Network Management Protocol)」に戻すと、

概要と基本コンセプト

巨大なネットワーク上で、数多くの機器の状態を把握するためには、この規格化されたプロトコルを使い、機器からの情報を集めて監視や制御を行う。コンピュータ等の能動的な機器以外にもルータハブなどもSNMPを使って監視することが出来る

Simple Network Management Protocol - Wikipedia

SNMPに関する最初のRFC1988年に登場した。

Simple Network Management Protocol - Wikipedia

SNMPフレームワークの構造は、マスターエージェント、サブエージェント、マネージャからなる3つの主要な要素から構成されている。

Simple Network Management Protocol - Wikipedia

⇧ 機器の情報を収集できるらしい。

SNMP は、下位プロトコルとしてUDP を使用する。一般的に、エージェントが161番ポートを、マネージャが162番ポートを使用している。

Simple Network Management Protocol - Wikipedia

⇧ 上記によると「OSI参照モデル」の「アプリケーション層(第7層)」に相当する「プロトコル」らしい。

とりあえず、

lpi.or.jp

⇧ 上記にある「Linux技術者認定機関」の公開している情報に出てこないということは「マイナー」な情報ということなんだろうか?

話が脱線しましたが、

エージェント

管理対象の機器をエージェントと呼ぶ (スイッチ、ルータホストなど)。

エージェントは、Management Information Base(MIB; 管理情報ベース) と呼ばれる一種のデータベースを持つ。

Simple Network Management Protocol - Wikipedia

エージェントは、その役割から次の2つに分類される。

  1. マスター・エージェント
  2. サブ・エージェント

マスター・エージェントは、1つ以上のサブ・エージェントを監視することができる。

Simple Network Management Protocol - Wikipedia

エージェントは、Management Information Base(MIB; 管理情報ベース) と呼ばれる一種のデータベースを持つ。

Simple Network Management Protocol - Wikipedia

マネージャ

ネットワークを管理するシステムをマネージャ (管理ステーション) と呼ぶ。これはクライアント・サーバ型のクライアントに相当する。

Simple Network Management Protocol - Wikipedia

マネージャは、主に次のような管理操作を行う。

  • エージェントへリクエス (要求) を送信し、そのレスポンス (応答) を受信する
  • エージェントからトラップ (通知) を受信する

Simple Network Management Protocol - Wikipedia

⇧ 上記を見た限りでは、「クライアントサーバーモデル」に該当するっぽい。

英語版のWikipediaによると、

⇧ とあり、図が分かり辛いのだが、マシンとしては3台ある想定だと思われる。

勿論、

  1. クライアント
  2. サーバー

のどちらにも、「Linux ディストリビューション」の「パッケージ管理」ツールなどで「パッケージ」のインストールが必要と思われる。

MIB(Management Information Base)

Wikipediaによると、

管理情報ベース(Management Information Base, MIB)とは、通信ネットワークにおけるデバイスを管理するためのデータベースの一種であり、OSI/ISOネットワーク管理モデルをベースとして発展したものである。ネットワークにおける実体(ルーター、スイッチなど)を管理する(仮想)データベース内のオブジェクトの集合体から構成される。

管理情報ベース - Wikipedia

概要

MIB内のオブジェクトは、Abstract Syntax Notation One(ASN.1)のサブセットである "Structure of Management Information Version 2 (SMIv2)" RFC 2578 で定義されている。その構文解析を行うソフトウェアをMIBコンパイラと呼ぶ。

管理情報ベース - Wikipedia

データベースは階層型(木構造)であり、各エントリはオブジェクト識別子を通して識別される。

管理情報ベース - Wikipedia

MIBについての RFC としては、RFC 1155 "Structure and Identification of Management Information for TCP/IP based internets" があり、それに関連して RFC 1213 "Management Information Base for Network Management of TCP/IP-based internets" と RFC 1157 "A Simple Network Management Protocol" がある。

管理情報ベース - Wikipedia

SNMPは、ルーターゲートウェイやスイッチなどの管理対象オブジェクト(MIBオブジェクト)と管理コンソールなどの間のプロトコルであり、MIBを使用している。管理コンソールが制御するコンポーネントは、SNMPマネージャと通信するためのソフトウェアモジュール、いわゆるSNMPエージェントを必要とする。

管理情報ベース - Wikipedia

⇧ とありますと。

で、「データベース」の1種と謳っている割には、データの構造がハッキリしない...

ネットの情報を漁っていたところ、

atmarkit.itmedia.co.jp

 MIBの目的はネットワーク管理における標準的な情報管理構造の確立です。そのため多くのベンダが作成することが予想されるMIBは、定義ルールや値の取得(または更新)方法を規定(*1)する必要があります。

MIBの監視対象オブジェクトを分類する:監視を自動化するSNMP(3) - @IT

*1

MIBの定義ルールや値の参照方法として「SMI(Structure of Management Information)」が「RFC1155」に定義されています。また、MIBの書式は「ASN.1(Abstract Syntax Notation.1)」という言語が利用され、実際のエンコーディングには、BER(Basic Encoding Rules)を利用しています。

MIBの監視対象オブジェクトを分類する:監視を自動化するSNMP(3) - @IT

 しかしすべての機器が固有のMIBを持っているというわけではありません。SNMPマネージャは監視対象の機器が実装しているMIBのオブジェクトID(OID)を指定して情報を取得しますが、もし対象機器がすべて異なるMIBを実装してしまうとすべての対象機器のMIBファイルを参照しなければなりません(なぜなら取得するオブジェクトのOIDが分からないからです)。

MIBの監視対象オブジェクトを分類する:監視を自動化するSNMP(3) - @IT

 この問題を解決するため、TCP/IPによるネットワークシステムに接続される機器が実装するべきMIBが標準MIBとしてRFCで定義されています。この標準MIBに対し、ベンダなどが独自に用意したMIBをプライベートMIBや拡張MIBなどと呼んで区別します。

MIBの監視対象オブジェクトを分類する:監視を自動化するSNMP(3) - @IT

⇧ 上記にありますように、「ベンダー」の独自仕様が乱立していそうで嫌な予感しかしない...

2025年8月2日(土)追記:↓ ここから

とりあえず、

www.infraexpert.com

 このMIBには、標準MIBと拡張MIBがあります。標準MIBは標準化されているものですが、MIB1とMIB2があります。現在ではMIB2を使用するのが主流です。拡張MIBはベンダ固有のもの(ciscoなど)があります。

SNMP(Simple Network Management Protocol)とは

⇧ 上記サイト様によりますと、「ベンダー」が「Cisco」の場合は「拡張MIB」が含まれる感じらしい。

 MIBは、SNMPエージェントにて保持しているものですが、SNMPマネージャはエージェントの保持しているMIBの内容から現在の状態を判断するため、SNMPマネージャにも、MIBの情報をインストールする必要があります。

SNMP(Simple Network Management Protocol)とは

SNMP管理する機器のMIBの情報(MIBファイル)は、メーカのサイトからダウンロードできます。
 ※ Cisco の場合SNMPオブジェクトナビゲータを利用すれば、ツリー構造の情報、各OIDの説明情報、MIBファイルが得られます。

SNMP(Simple Network Management Protocol)とは

⇧ おそらく、「ベンダー」のサイトで「MIB」の情報を取得できるような「API」とか用意してくれていない気がするので、事前に手動でダウンロードする感じになるんかな?

それとも、「curl」や「wget」などでダウンロードできるようになっているんだろうか?

いずれにしろ、新しい「機種」の導入などの度に、「MIB」もダウンロードして情報を更新していかないといけない気がするので「保守・運用」が大変そうな気がしますな...

2025年8月2日(土)追記:↑ ここまで

OID(Object Identifier)

英語版のWikipediaによると、

In computingobject identifiers or OIDs are an identifier mechanism standardized by the International Telecommunication Union (ITU) and ISO/IEC for naming any object, concept, or "thing" with a globally unambiguous persistent name.

https://en.wikipedia.org/wiki/Object_identifier

Syntax and lexicon

An OID corresponds to a node in the "OID tree" or hierarchy, which is formally defined using the ITU's OID standard, X.660. The root of the tree contains the following three arcs:

https://en.wikipedia.org/wiki/Object_identifier

Each node in the tree is represented by a series of integers separated by periods, corresponding to the path from the root through the series of ancestor nodes, to the node. Thus, an OID denoting Intel Corporation appears as follows,

1.3.6.1.4.1.343

and corresponds to the following path through the OID tree:

  • 1 ISO
  • 1.3 identified-organization (ISO/IEC 6523),
  • 1.3.6 DoD,
  • 1.3.6.1 internet,
  • 1.3.6.1.4 private,
  • 1.3.6.1.4.1 IANA enterprise numbers,
  • 1.3.6.1.4.1.343 Intel Corporation

https://en.wikipedia.org/wiki/Object_identifier

⇧ とあり、「製品」に関する「OID(Object Identifier)」では、明確な仕様の規格が定義されているようだ。

「ソフトウェア」の「プログラミング」における「オブジェクト指向プログラミング(OOP:Object Oriented Programming)」などの「OID(Object Identifier)」とは別物と考える必要がありそう。

snmpwalkとsnmpet

ネットの情報を漁っていたところ、

hana-shin.hatenablog.com

⇧ 上記サイト様がまとめてくださっていた。

とりあえず、調査だけで疲弊してしまったので、実際にSNMP(Simple Network Management Protocol)を利用できる環境構築は別の機会に持ち越しで。

いずれにしろ、一般的な「Linux ディストリビューション」ではない「ベンダー」の「機器」とかは用意することはできないので、実務で役立つ情報を学習することはできなさそうなのだが...

毎度モヤモヤ感が半端ない…

今回はこのへんで。