採用サイトはこちら>

モバイルネットワークエンジニアのツール紹介

本記事では当社エンジニアが日頃の業務で使っているツールをご紹介します!
ネットワークエンジニアと言えばのお約束ツールからあまり見かけないものもまで、使い方から当社エンジニアの仕事がどんなものかイメージいただけたらと思います。

エディタ系ツール

ネットワークエンジニア、サーバエンジニア、DBエンジニア、プログラマとIT業界には様々なエンジニアが存在しますが、その誰もが絶対お世話になっているエディタ系ツール。弊社では以下のツールが特に人気でした。

サクラエディタ

エンジニアには必須ツールといっても過言ではないくらい業界に浸透している国産テキストエディタです。コンフィグの作成やログ確認など、Windowsのメモ帳では対応しきれない状況下で頻繁に利用されます。
最近のメモ帳はUTF-8をサポートしたりフォントも任意に選べるようになったため出番は減りましたが、Altによる矩形選択、正規表現によるGrepや置換、よく使う操作はマクロ化出来るなどシンプルですが非常に有用なエディタです。

未だにEUC-jpでログを出力している古のアプリケーションの保守には必須です。

VSCode(Visual Studio Code)

NWエンジニアにコードエディタ?と感じるかもしれませんが、非公式ながら機能拡張の導入によりCiscoやJuniper等メジャーどころのConfigを強調表示できるだけでなく、Teratermマクロの強調表示が可能です。当然のことながら、各種スクリプト(シェルスクリプトやPython)の作成に関してはコードエディタの本分であり、DBクライアントやREST APIツールとしての拡張も可能なことから、殆どのエンジニアがVSCodeを使っています。
少し動作が重たいのが玉にキズですが、その反面クロスプラットフォームであり社内ラボのLunix環境でもWindows環境と同じソフトウェアを利用できるだけでなく、Microsoft365アカウントを使って設定の同期もできる優れものです。
開発環境を調整しだすと丸一日費やすことになる!というこだわり派エンジニアに大変向いています。

また、VSCodeに内蔵のTerminalは機能的に秀でている点はないものの、以下の機能拡張を導入することでリモートの開発環境やローカルのWSL(Windows Subsystem for Linux)環境へ接続できます。これにより用途別あるいはプロジェクト別に分散している開発環境を統合することが可能となるため、案件をいくつも「はしご」するような一人N役エンジニアには手放せないツールとなっています。

Remote Development
SSHやポートフォワーディングを利用しリモートの環境と接続することが可能
コンテナやWSL内の任意のディレクトリへの接続もサポートされる
Remote Explorer
機能拡張Remote Developmentを補完する形で、接続先の管理を行う

WinMerge

WinMergeはオープンソースの比較差分ツール(Diffツール)です。コンフィグ変更や同一環境下にある複数機器のコンフィグ確認など、NWエンジニアの仕事では「差分の確認」が重要な業務の一部になります。そんなときに活躍するツールです。

試験関連ツール

当社のお客様の多くは通信事業者となり当社が得意とするネットワークもモバイルネットワークとちょっと特殊に感じるかも知れません。ではモバイルネットワークの試験にはどんなツールが使われているのかご紹介します!

Wireshark

ネットワーク上のパケットをキャプチャして可視化・分析できるNWエンジニア御用達のキャプチャツールです。モバイルネットワークにはGTPプロトコルやDiameterプロトコルなど独特なプロトコルが存在しますが実はこれらのプロトコルもWiresharkは対応しており、モバイルネットワークエンジニアも例外なくこのツールのヘビーユーザになります。

Wiresharkによるキャプチャ

Wiresharkを使ってパケットをキャプチャするケースは実はあまり多くありません。tcpdumpや他のキャプチャ用のプロダクトを使うケースが多いためです。
しかし、Wiresharkによるリモートキャプチャ(Windows環境ではsshdumpを使うと設定が楽)は非常に強力で、特にテスト時においてNW機器等によるミラーリングを行わずとも、飛び交っている信号をライブキャプチャし、その場でデコードしたデータを参照できたり、ディスプレイフィルタをかけておくことで目的の信号が飛んでいるかを即時に把握できます。

Wiresharkによる分析

Wiresharkは様々なプロトコルのデコードに対応しており、デコードされたフィールドの値をもとにフィルタをかけたり、フィールドの値をパケットリストのカラムへ追加することができます。
何もフィルタせずにキャプチャしたままの状態ではこのように雑多にみえるパケットリストですが。。。

以下のように「diameter」とディスプレイフィルタをかけると、Diameterとして識別されているフレームのみが表示されるようになります。

さらに、CC-Request-Typeが3(TERMINATION_REQUEST)のみ抽出してみましょう。

このように、大量のパケットの中から目的のパケットのみを抽出することができます。

iperf

Server/Client間にトラフィックを発生させるシンプルなトラフィックジェネレータです。一般的にはネットワークのスループットを測定するツールとして利用されますが、当社でもL3までのトラフィックで良いという場合によく利用しています。
iperfには同じような機能を持つiperf2iperf3が存在するのですが、実はそれぞれ互換性はありません。iperf2の方が直感的に扱えるため、こちらを使うケースが多い印象です。
後述するTcpreplayやTRexと異なり、OSのIPスタックを利用してトラフィックを生成します。故に初学者にもわかりやすく特殊な設定が必要ないため安易に構築できる一方、生成できるトラフィックは単調でありスループットも低めなので、TCP/UDPを使って一定量のトラフィックを継続的に流したいような検証に用います。

Tcpreplay

キャプチャファイル(.pcap)からトラフィックを再現できるトラフィックジェネレータです。
不具合や障害があった際にお客様環境下で流れたトラフィックを当社のラボにて再現させる場合に利用したり、DPIやFWといったL4以上のトラフィックを大量に発生させる必要があるケースで用います。

TRex

方向性としてはTcpreplayに近く、キャプチャファイルからトラフィックを発生させるトラフィックジェネレータですが、DPDK(Data Plane Development Kit)に対応しより大量のトラフィックを発生させることが可能なツールです。
ステートフルにトラフィックを発生させる機能も具備しており、NAT装置に対する試験ではTRexが必要になる状況がしばしばあります。

現場作業ツール

構築や機器交換、障害時の対応など、当社エンジニアはデータセンタやお客様先での作業も多くあります。現場へ「これは持って行った方が良い」というツールをご紹介します。

ケージナットツール

最近のサーバはツールレスレールが採用されることが多くあまり出番がなくなってしまったのですが、NW機器やサーバのレールをラックへ固定させるケージナットの取り付け(取り外し)を行うための工具です。
素手で取り付け(取り外し)することも不可能ではないのですが、しばしばバネの硬いケージナットがあり指先を怪我してしまったり、上下に既に実装済みの機器があると手が入らなかったりと苦労された経験は多いのではないでしょうか?

様々な形状のケージナットツールがあるのですが、摂津金属工業のNPO-CNT2Tが安価かつ軽量小型であり、ラックの内側へツールを入れることなく利用できるためおススメです。

LANケーブルのラッチ補修カバー

ケーブルのツメが折れている場合に活躍する後付けラッチカバーです。
ラッキング時に固定してしまい交換が難しいケーブルのツメを誤って折ってしまった場合やコンソールケーブルのツメが折れている場合などの対処に、1~2個持っておくと安心出来ます。
(上部のオレンジ色の部品がラッチ補修カバー)

さいごに

「あれ、普通じゃん。」と思われたかもしれません。その通り、普通です!
モバイルネットワークエンジニアと聞くと何やら特殊なネットワークエンジニアに聞こえるかもしれませんが、通常業務で使用するツールはそこまで特殊なものはありません。少しでも当社エンジニアの日頃の業務についてイメージいただけたら幸いです。