GNS3はGraphical Network Simulator-3のアクロニムです.

その名の通りGUIを備えたネットワークシミュレータでPythonで実装されており,クロスプラットフォーム(macOS, Linux, Windwws)で動作します.GNU GPL 3.0でライセンスされるフリーソフトウェアであり,誰でも無償で利用することができます.

はじめに

ネットワークエンジニアリングに携わる者であれば,この分野における概念実証や技術実証の難しさをよく知っていることでしょう1

課題を解決可能な方法を思いついたとしても,それを実装できる検証環境がなければ実証することは出来ません.また,初学者が座学で習得したプロトコルを実装することで,知識からスキルに昇華するためにも検証環境は必要です.

ネットワークエンジニアリングに関する検証が難しい理由として,次のようなものが挙げられます.

  • 業務用のネットワーク機器が高価である
  • ネットワークを組むためには複数の機器が必要である
  • 複数のネットワーク機器を展開しておくにはそれなりに広い場所と電力が必要となる
  • 検証が短時間で終わるものでなければ,展開したネットワーク機器を検証完了までの間そのまま設置しておく必要がある
  • 機器間の接続を適切に管理しておく必要がある

基本的には,金銭,場所,時間などコストの問題です.

例えば,私が複数のクラウドに展開している仮想プライベートネットワーク(以下VPC)をスター型のトポロジで相互接続し,その設定と維持管理を自動化したい考えたとします.IPsecとOpenFlowを使えば出来るかもしれないと思い,いざを概念実証をしようとすると,複数のブランチネットワークを表現するために最低2台のルータと,中継用に1台のルータが必要です.更にエンドツーエンドでの通信を確認するために3台の端末と,各仮想プライベートネットワーク内に張り出されたサブネットを表現するために,マルチレイヤスイッチかL2スイッチが1台は欲しいところです.

この時点でルータが3台,スイッチが1台,端末が3台と,合計7台の機械が必要になります.全部1Uだとしても,6Uで30kg以上の金属とプラスチックの塊です.運良くこれらの機材を手配することが出来,設置する場所を準備できたとしても,これらを相互接続し基本的な通信設定を入れ込んだ後になって,漸く本当にやりたい概念実証の作業に入れます.

サーバの世界ではもう10年以上まえから仮想化技術を活用し,1台のコンピュータ上で複数のサーバを動作させ,分散コンピューティングなどの検証をすることが可能になっています.

では,ネットワークの世界ではどうでしょうか.

GNS3があります.

GNS3とは

GNS3 | The software that empowers network professionals

GNS3で出来ること

(unfinished)


  1. 利用者側の話であり開発側の話ではありません 

Free WordPress Themes