株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。
2018年7月18日のイベントでは「エンジニアが生き残るためのテクノロジーの授業」の第4回として「安定したネットワークを作る技術の基礎知識」を開催。
インターネットやLANなど、私たちの身の回りのネットワークが安定して通信できるのは何故か? その仕組みを支えるさまざまな技術の基礎について、増井さんならではの、分かりやすい語り口で解説しました。

■今回のイベントのポイント
・インターネットの合言葉「プロトコル」
・パケット交換のメリット
・データを正しく届けるための工夫
・メールの仕組みと暗号化
・IPv6の登場

増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『おうちで学べるセキュリティのきほん』『プログラマ脳を鍛える数学パズル』『エンジニアが生き残るためのテクノロジーの授業』『もっとプログラマ脳を鍛える数学パズル』(以上、翔泳社)、『シゴトに役立つデータ分析・統計のトリセツ』『プログラミング言語図鑑』(以上、ソシム)がある。
インターネットの合言葉「プロトコル」
「外国人と日本人が、それぞれ英語と日本語でしゃべっても言葉が通じないし、みんながいっぺんにしゃべっても話が通じません。ネットワークもそれと同じです」(増井さん)
プロトコルがあると、いろいろなネットワークの構成に対応でき、たとえネットワークの構成や回線速度が違っても、互いに通信できます。
プロトコルを定めている主な組織に、次のようなものがあります。

ネットワークは次のような役割別の階層構造になっています。増井さんによれば、OSI参照モデルの7階層よりも、TCP/IPの4層を押さえておいたほうが良いそうです。

パケット交換のメリット
「パケット」という言葉を聞いたことがあるかもしれません。LANやインターネットでは、パケットを交換して通信を行います。このパケット交換の特徴は、従来の電話のような回線交換と比較するとわかります。

このパケットを、どういう経路で相手に送るかを制御するのがルーティングです。

増井さんは、よく「ルータとファイアウォールってどう違うんですか?」と聞かれるそうです。確かに、ファイアウォール付きのルータだと、その区別がつきにくいですね。

では、ルータとスイッチ、そしてハブはどのように違うのでしょうか。ルータはネットワーク層で働きますが、スイッチはL2(レイヤー2)スイッチならばデータリンク層で、L3スイッチならばルータと同様にネットワーク層で働きます。一方、スイッチ機能を持たないリピータハブは物理層で働きます。
ルータは、異なるネットワークやパケットの送信元、送信先を識別するためにIPアドレスを利用します。各コンピュータにどのようなIPアドレスが振られているかは、Windowsならばipconfigコマンドで、UNIX/Linux系OSならばifconfigコマンドで確認できます。

ipconfigコマンドを実行すると、IPアドレスのほかに、サブネットマスクというものも表示されます。これは接続しているネットワークの範囲を示すものです。

このIPアドレスは人間にはわかりにくいので、ドメイン名という名前による管理が行われています。「〇〇.co.jp」とか「△△.com」とかいうのがドメイン名です。ドメイン名とIPアドレスの対応管理や利用時のアドレス変換には、DNS(Domain Name System)が利用されます。

ところで、1台のPCがいろいろなアプリケーションで同時に通信が行えるのはなぜでしょうか。それは、アプリケーションごとに通信ポートを分けているからだそうです。

そのほかにも、より高度で柔軟性に富んだVLANやネットワークの仮想化についても説明してくださいました。
データを正しく届けるための工夫
ネットワークがつながった後は、データを正しく届けるための知識についてです。
TCP/IPのうち、TCPというプロトコルでは、スリーウェイハンドシェークという手続きが行われます。

TCPには、パケットが届かなかったときのための再送制御や輻輳制御、フロー制御といった、通信の信頼性を高めるためのさまざまな通信規格が定められています。
一方で、信頼よりも速度を求める通信もあります。たとえば音声通話やテレビ会議、名前解決などです。こうした用途にはUDPというプロトコルが使われます。UDPもIPと組み合わせてUDP/IPとして通信に利用されています。
また、IPやEthernetなど、TCPやUDPの下位レイヤーでも、通信に関するチェックが行われています。
たとえばEthernetでは、MACアドレスを基に通信を行います。このMACアドレスを利用して、アクセスに制限をかけるMACアドレスフィルタリングという仕組みもあるそうです。
ここまでに登場した下位3レイヤーでの通信状況を確認するためのコマンドも示してくれました。

メールの仕組みと暗号化
アプリケーション層の例としてメールプロトコルについて紹介してくれました。
メールのプロトコルとして長らく使われてきたSMTP(Simple Mail Transfer Protocol)は、シンプルで便利な反面、セキュリティ面で不安があるそうです。たとえばSMTPのみでメールサーバを構築していると、いわゆるスパムメールが簡単に送られてしまいます。これを防止するためにOP25Bという仕組みも導入されているそうです。

また、メールの送信経路上で盗聴される危険性もあります。そこで現在では、メールの通信経路そのものを暗号化するSMTP over SSLとPOP over SSLというプロトコルが普及しています。
IPv6の登場
先ほど紹介したIPアドレスはバージョン4に相当するものだそうで、IPv4と呼ばれています。しかしIPv4は古い規格で、ネットワークに接続する機器がこれほど増えることを想定していませんでした。IPv4で記述できるアドレスは43億個まで。もう何年も前から、アドレスの不足が叫ばれているのだそうです。
そこで登場したのがIPのバージョン6に相当するIPv6です。

IPv6が登場した当初は、IPv4と互換性がなかったため、IPv6の機器をIPv4ネットワークに接続することができませんでした。しかし、現在はIPv4 over IPv6といったトンネリング技術や、1つの機器にIPv4とIPv6の両方のアドレスを割り当てるデュアルスタックなどの技術で、両者を混在して運用できるようになっているそうです。

今回のイベントでは、ネットワークに関する知識を網羅することができ、全体像を把握することができました。普段何気なく利用しているネットワークの裏側を垣間見た思いです。基礎知識として、復習しておきましょう。