みなさん、こんにちは!
ブリュの公式ブログ.netにお越しいただきまして、ありがとうございます。
このサイトでは、ITについて特化したサイトを運営しています。
このカテゴリでは、情報処理技術試験とITの基礎知識として、様々な技術についての紹介を行っています。
今回は、今現在のネットワークの中核技術であるIPについて説明します。
IPの最大の特徴は、IPアドレスを使用した経路選択機能を持つことです。
これはネットワーク層特有の動作であり、IPアドレスと同様な立ち位置となるデータリンク層のMACアドレスでは経路選択はできませんでした。
今回は、IPについてイラストを交えながら解説していきます。
情報処理技術者試験のシラバスにおいては、基本情報技術者試験(Lv.2)、応用情報技術者試験(Lv.3)のほかに、高度情報処理技術者試験として、
- ネットワークスペシャリスト試験(Lv.4)
- 情報処理安全確保支援士試験(Lv.4)
- エンベデットシステムスペシャリスト試験(Lv.3)
- システム監査技術者試験(Lv.3)
- システムアーキテクト試験(Lv.3)
- ITサービスマネージャ試験(Lv.3)
で出題範囲となっています。
目次
IPの基本事項
IPの基本事項としては、
- 第3層:ネットワーク層
- パケット交換
- コネクションレス型通信
- ベストエフォート型
- 経路制御
があります。
これらについて詳細を見ていきましょう。
IPはネットワーク層のプロトコル
IPはネットワーク層のプロトコルです。
第3層のネットワーク層ですから、ルーターをまたいだ通信が可能なプロトコルです。
IPはネットワーク層として接続を行うだけです。
OSI基本参照モデルでは、各階層のプロトコルは完全に機能が独立しており、果たすべき役割に専念します。
通信はつなぐだけではなく、品質などの細かい指定も必要になります。
そういった細かい部分は、上階層のトランスポート層であるTCP/UDPによって補完されます。
また、IP特有の動作としては、経路制御があり、回線速度やホップ数(ルーターの経由数)も含めた総合判断で、最も高速に通信出来うる経路を自動で選択します。
あくまで繋ぐことだけを担うのがネットワーク層であるIPなのです。
OSI基本参照モデルについては、下記記事をご覧ください。
パケット交換
パケット交換は、データーをパケットという小さい単位に分割して送信する方法です。
また、送信データを蓄積しパケットという小分けに分解するので、蓄積交換ともいわれています。
パケット交換のデメリットは、パケットごとにヘッダーが必要なことです。
したがって、あまり細かくパケットを区切りすぎると、データー量に対してヘッダーの割合が大きくなってしまい、通信効率が落ちます。
また、コネクションレス型通信を採用しているIPでは、データーを分割して送信することで、受信データーの順番がくるっている可能性が十分にあります。
通常の通信においては、上位プロトコルとしてコネクション型通信のTCPを利用することにより、このデメリットはカバーされています。
IPはコネクションレス型通信
現在利用されているIPは、TCP/IPとしてトランスポート層のTCPやUDPと組み合わせて利用されています。
TCPと組み合わせるとコネクション型通信、UDPと組み合わせるとコネクションレス型通信があります。
それなら、
IP単体は何の通信なんだ???
となりますが、分類的にはIPはコネクションレス型通信になります。
この辺りがあいまいになっている各種参考書も多いのですが、イメージ的にはIPはコネクションレス型通信を基本とし、コネクションレス型では品質が悪いので、TCPがコネクション型として上書きするという順序が正確のようです。
コネクション型通信
コネクション型通信はトランスポート層のTCPに代表される共有回線において経路を確保する通信方式です。
コネクション型通信は、通信品質が高く、相手に届くパケットの到着順序も送信順になります。
似たものに電話で利用されている回線交換方式がありますが、回線交換方式は、
- 接続経路が物理的あるいは仮想的に占有状態になる
- パケットではなく連続的データの送信
という点で、コネクション型通信とは区別されています。
コネクション型通信はあくまでもパケット型の通信であり、通信経路そのものは共有状態にあります。
コネクションレス型通信
コネクションレス型通信は、通信経路を確保しません。
通信のたびに最適な経路を通るので、毎回毎回経路が異なります。
コネクションレス型通信のメリットは、回線で故障が発生しても迂回できること。
というよりは、そもそも毎回経路選択を行うので、迂回という概念すらもないかもしれません。
逆にデメリットは、通信品質が安定しないことやセキュリティ面でのリスクがあります。
毎回経路が違うということは、送信データーと受信データーの順序が異なる可能性も十分あるわけです。
また、予想外の経路をたどることにより、意図せぬ情報流出の危険性も否定できません。
コネクション型通信がセキュリティ的に安全というわけではありません。
コネクション型通信は、コネクションレス型通信と比較して、意図せぬルーターの経由の可能性が低くなるだけのことです。
IPはコネクションレス型通信ですが、現在のネットワークでは、動画配信以外は上位層のTCPと組み合わせて、コネクション型通信として利用されるのが一般的です。
IPを利用した電話をIP電話と言います。
IP電話は低価格なため、利用している方も多いのではないでしょうか?
このIP電話の場合には上位層となるトランスポート層においてUDP(コネクションレス型)を利用し、アプリケーション層でVoIPやSIPを利用しています。
従来の電話では回線交換を行っていましたから、インターネットの発達とともに、電話の通信技術も、徐々に変化してきていることになります。
また、逆に既存の電話線を利用してインターネットを利用する技術もありますから、もはや電話とインターネットの境界線もあいまいになってきています。
ベストエフォート型
IP単体ではベストエフォート型であり、送信データーの到着は保証しません。
また、「できる限りは頑張るけど、100%は期待しないでね」という意味なので、なんだか掴みどころのない微妙なプロトコルとなっています。
このあいまいな性能となっている理由は、コストの問題からです。
100%の信頼性を実現するのは非常に高コストですが、90%、80%、70%と信頼性を下げていけば、低コストで実現可能です。
これが、現在のインターネットの普及にも貢献しているわけですね。
「100%の信頼性は高コスト」という考えは情報技術全般に考えられる概念です。
例えばシステムを構築する際に、1台で稼働率100%のシステムを作るのは非常に高コストです。
しかし、比較的安価に実現できる稼働率90%のシステムを並列に2台並べれば、システム全体としての信頼性は99%以上になります。
情報技術は100%の信頼性ではなく、並列化などを駆使して、低価格で信頼性の高いシステム設計を行います。
なお、信頼性の低いIP単体では、ECサイトも普及している現在のネット環境ではマトモに使えません。
そこで、TCPと併用することで、送受信データーのエラーチェック(パリティ機能)により、データーの破損や整合性を確認しています。
もしも受信データーにエラーがあれば、再送を要求するなど、信頼性の低いIPをカバーする機能をトランスポート層に担わせています。
ルーティング(経路制御)
IPの中核であるルーターは、ルーティングと呼ばれる経路選択機能を持っており、IPアドレスを利用して最終目的地までの経路選択を行います。
ルーターはルーティングテーブルを持っており、受信されてきたパケットの宛先を、自身のルーティングテーブルと比較することで、
- 回線速度
- ホップ数
を総合判断することで、適切なルーターに転送します。
また、この時にパケットの宛先MACアドレスを宛先ルーターに書き換える点も、重要なポイントとなります。
ネットワークにおけるアドレスは2種類あり、
- IPアドレス(ネットワーク層)は最終目的地
- MACアドレス(データリンク層)は転送先の機器のアドレス
を示しています。
このIPアドレスとMACアドレスの関係性については別に記事で紹介していますので、よりくわっしく知りたい方はそちらの記事もご覧ください。
まとめ
ここまで、ネットワーク層に位置するプロトコルであるIPについて解説してきました。
IPの基本事項としては、
- 第3層:ネットワーク層
- パケット通信
- コネクションレス型通信
- ベストエフォート型
- 経路制御
があります。
IPは、あくまで繋ぐことだけを目的にしたプロトコルです。
細かい通信品質は、上位層であるTCP/UDPで決定されます。
以上、IPについて、参考になれば幸いです。