TCP/IP全般の基礎知識
TCP/IPはネットワーク通信において使用される通信プロトコル。
実際は複数のプロトコル(IP、ICMP、TCP/UDP、SMTP、Telnet、ssh、http等)で成り立っているが、TCP/IPが一般的な名称。
プロトコル:本来的には通信における決まり事。
OSI参照モデルの知識
ネットワークにおける通信機能を7つの階層構造に分割したもの。
OSI参照モデルは階層によって必要になる技術が異なる。
たとえば、
第1層(物理層)では電流の波形やリピータ、ハブ、ケーブルの知識。
第2層(データリンク層)ではMACアドレスやスイッチングハブの知識が重要。
ネットワークエンジニアであれば、特に第1層から第4層までの機能を理解する。
プロトコルへの理解
ネットワーク上では様々なプロトコルが利用される。
ネットワークエンジニアはこれらを区別/整理し、どの様な順序で動作するのかを理解する必要ある。
ネットワークでは必ず他者との接続が存在するため、接続先との相互理解を得る上でもプロトコルとその動きに理解を深めておく。
X進数の計算
ネットワークエンジニアの良く扱う数値として、IPアドレスやMACアドレスなどのアドレスがある。
このアドレスには法則性がある場合も多く、2進数や16進数での表記が利用。
これらを使った計算を行うため、2進数や16進数(これに加えて8進数、10進数)での計算に慣れる必要あり。
クラウド化に対応できるスキル
クラウドサービスの普及で、ネットワークの運用保守の作業量は減っていく傾向に。
だが、
ネットワーク仮想化(SDN)と、それを支える技術(Open Flow)が頻繁に使われる。
SDNやOpen Flowに対応するスキルが必要。
特にプログラミングスキル(Ruby、Java、Pythonなど)は、クラウド化が進むこれからの時代を生きるネットワークエンジニアは身につけておいた方がよい。
仮想化技術を考慮した企画力・設計力も重要。
ネットワークエンジニアにプログラミング言語の習得は必須
ネットワーク仮想化であるSDN(Software Defined Network)や、
インフラストラクチャの設定をコードで行うIaC(Infrastracture as Code)への対応が、
今後のネットワークエンジニアには求められる。