今さら聞けないインターネットの仕組み~基礎から理解するネットワークの世界~【後編】


目次


インターネットの仕組みをわかりやすく解説する本記事は、前後編の2部構成で作成しています。
前編では、インターネットの基本的な仕組みとISPの役割について解説しました。

後編の本記事では、通信の具体的なプロトコルやIPアドレス、ネットワーク設計といったより技術的な内容に踏み込んでご紹介します。エンジニアとして押さえておきたい「通信の本質」を一緒に理解していきましょう。

6 通信の基本:TCP/IPとOSIモデル

インターネット上での情報のやりとりには、厳密なルールが必要です。
そのルールの集合がプロトコルです。

TCP/IPとは?

インターネット上の通信における基本プロトコルは、TCP/IP(Transmission Control Protocol / Internet Protocol)というプロトコル群が採用されています。
TCP/IPは4階層構造で、下記のように役割が分かれています:

層(レイヤ)主な役割
アプリケーション層インターネットで展開されるアプリケーションの規格
(例:メール、WebなどのSMTP, HTTP)
トランスポート層エンド間の通信制御(データの分割・再送制御)の規格
(例:TCP, UDP)
インターネット層IPアドレスに基づくルーティング
(例:IP, ARP, ICMP)
ネットワークインターフェース層実際の物理通信
(例:Ethernet)

このモデルに従って、データは小さく分割され、パケット化して送信先に届けられ、再び元の形に組み立てられます。

7 OSI参照モデルとは?

インターネットが普及する以前に、異なるアーキテクチャーのコンピュータ同士をつなげるために策定したプロトコルの概念で、コンピュータネットワークに求められる機能(通信機能)を7階層の構造に分割し定義したものがOSIの参照モデルです。今日においては、実用性は低いものの、通信の理解を深める教材として使われています。

8 IPアドレスとDNS:住所と名前の仕組み

8-1 IPアドレスとは?

すべてのインターネット端末には一意の識別番号(IPアドレス)が割り当てられます。これはインターネット上の住所のようなもので、「どこにデータを届けるか」を決定します。

8-2 IPv4とIPv6の違い

  • IPv4:0から255までの数字を「.(ピリオド)」で区切って表現し192.168.0.1のように表記します。コンピュータの世界では、32ビットの2進数で表されますが、人間が認識し易くするために、8ビット(1オクテッド)ずつ10進数の数値で表し、ピリオドで区切って表記しています。
  • IPv6:インターネットの爆発的な普及により、IPv4アドレスがもう分配できないほど枯渇したために後継にと開発されたプロトコルです。アドレス長を 128bit と規定して、16ビットごとに「:(コロン)」で区切り、8つの数値列をそれぞれ16進数の数値で表記します。例えば、2001:02c0:0000:0000:0000:0000:0000:0001という風に表記したりしますが、先頭の0を省略したり、連続する0をまとめて “::” で省略したりするなどの省略表記で表記することが可能となっています。

8-3 DNSとは?

利用者である人間にとっては、通信相手先となるホストを一つひとつIPアドレスの数字で覚えるのはつらいので、人間にとってわかりやすい名前(ドメイン名)で覚えて運用する方がインターネットを利用する上では合理的だといえます。DNS(Domain Name System)は、実際に通信を行おうとする時に、人間が入力したホストの名称(ドメイン名)を対応関係にあたるIPアドレスに変換するシステムのことで、インターネット上に階層的に配置した分散型データベースシステムです。ドメイン名を使って、インターネットを利用する限りは、必要不可欠のシステムになります。簡単にいってしまうと「インターネットの電話帳」のような存在です。

9 ネットワーク設計の基本:
  アドレスとサブネットマスク

企業や家庭のネットワークを設計するには、「何番から何番までのネットワーク?」というIPアドレスの範囲指定が必要です。これを決めるのがサブネットマスクです。

9-1 サブネットマスクの仕組み

サブネットマスクは、IPアドレスをネットワーク部とホスト部に区分けする情報をもつ数値です。アドレスにサブネットを付加することによって、そのIPアドレスが所属するネットワーク(名)とそのネットワークに所属するアドレスの範囲(何番~何番までとか、アドレス数とか)を明示的に表すことができる数値になります。いってみれば、ネットワーク部はネットワークの「住所(名)」のようなもので、ホスト部の一つひとつの数値は所属するアドレスの「名前」のようなものです。例えば、「192.168.0.100/26」であれば、「192.168.0.64村」の「100番」さんを示しており、村の人口(アドレス数)は2の6乗(32bit-26bit=6bit)の64個(64番~127番)で、その中の100番ということがサブネットマスクにより明示されます。

9-2 ネットワークアドレスとブロードキャストアドレス

IPアドレス(インターネットプロトコル)の決まり事として、ネットワークアドレスとブロードキャストアドレスは、通信を行うことが前提であるコンピュータ(ホスト)に割り付けてはいけない、つまり、当該アドレスをホストに振っちゃいけない、使っちゃいけない、ということになっています。ネットワークアドレスは、ネットワーク(名)そのもの、いわばネットワークの「住所」・「象徴」を示すアドレスと一致するアドレスであり、ブロードキャストアドレスは、そのネットワークに所属する全ホストに送信するときにバラマキ用として使われることになっているアドレスだからです。コンピュータの通信において、ホストに割り付ける以外の利用用途が決まっているということなのです。よく「はじめと終わりのアドレスは使えない」といわれるのは、こういう理由からです。

従って、利用できるIPアドレスの数を算出するときは、サブネットマスクを付けて表記されたIPアドレスから、ホスト部にあたるIPアドレスの数を算出し、そこから「マイナス2」をした数になります。

10 まとめ:

インターネットの仕組みは複雑なようでいて、一つひとつの要素を理解していけば、確実に全体像が見えてきます。

通信トラブルの際にも、

  • 「DNSに問題があるのか?」>名前は引けているか?
  • 「ネットワークの障害か?」>ISPの設備故障か?アクセス回線の故障か?
  • 「ルータの設定か?」>利用者側の故障か?設定が間違っているか?

といった論理的な原因切り分けができるようになり、エンジニアとしての対応力にも差がつきます。

インターネットをただ使うだけでなく、「どう動いているか」を知っておくことで、より安全に、より賢く活用できるはずです。