クライアントとサーバそしてIPアドレスまでに
はじめに
インターネットの仕組みに関しては下記の記事をご参考してください。
今回はインターネット上のデータ通信とIPアドレスについて勉強したことを共有したいと思います。
クライアントとサーバ
良く出るクライアントとサーバは何でしょうか?
その前にパソコンAからパソコンBに「こんにちは👋🏻」というメッセージを送ることを復習してみましょう。
- パソコンAからメールを転送する一連のルールに従って(大きさ、出発地、目的地など)分ける。
- 分けたデータを二進データに変換する。
- ケーブルを通じてデータを転送する。
- 転送されたデータをパソコンBから受け取って再度組み立て解釈する。
この時にメッセージを送る方はクライアントメッセージを受信する方はサーバだと言います。
クライアントはサーバーにリクエストという要請をしてサーバーはリクエストに対するレスポンスを応答します。
サーバは他のサーバにリクエスト送るためにクライアントになることもできます。
上記の例はケーブルで連結して簡潔に見えますが、インターネットはルーターを利用した多いケーブルがあるためもっと複雑になります。
そしたら、クライアントはこんな複雑な迷路から出てサーバにメッセージを転送できるのでしょうか?
それがIPアドレスです。
IPアドレス
以下を改めて確認してみましょう。
- パソコンAからメールを転送する一連のルールに従って(大きさ、出発地、目的地など)分ける。
クライアントがサーバにデータを送る時には一連のルールに従います。このルールを利用するとクライアントがどのサーバ向けにメッセージを転送するかを保証できます。
このルール中ではIPアドレスということを使ってます。IPアドレスについてウィキペディアで検索してみました。
IPアドレスはInternet Protocolで通信相手を識別するための番号である。インターネットアドレスとも呼ばれる。
上記の内容を参考するとIPアドレスはネットワーク上のパソコンを識別するための番号だと思います。
なので、識別できるIPアドレスを付与します。クライアントからデータを送る時に付与されたIPアドレス(200.200.0.200
)を設定します。それであれば、問題なく転送できそうです。
つまり、IPの役割は指定したIPアドレスにデータを転送することです。この時にネットワークパケットという通信単位でデータを転送します。
ネットワークパケット
改めて以下を確認してみましょう
- パソコンAからメールを転送する一連のルールに従って(大きさ、出発地、目的地など)分ける。
パケットを転送する時にメッセージだけ転送することではなくルールを従って出発地IPアドレス、目的地IPアドレス、メッセージなどを入れて転送します。
同じくサーバもルールに従って出発地IPアドレス、目的地IPアドレス、メッセージなどを入れて応答します。
これであればIPを使ったら問題なくデータを転送できそうです。
IPの特徴
IPは非連結性、非信頼性という特徴を持ってます。
非連結性
IPはサーバがどの状態か確認しません。なので、パケットを受信するサーバがそもそも存在しない、又は接続できない場合もパケットを転送します。
非信頼性
IPはデータ転送の流れに気にしないため、送った情報が正しく送られたか保証しません。
例えば、転送途中問題が発生してパッケトを失っても気づけないです。
それと、パケットを転送する時にルールに従ってデータをパケットに分割します。パケットはいつも同じ経路を利用しないため、こんにちは👋🏻を送りましたが、こん👋🏻はにちが到着する可能性もあります。
まとめ
今回はクライアントとサーバ、ネットワーク上で装置を識別するIPアドレス、パケットを利用してデータを転送することを勉強しました。
IPアドレスを利用してデータを転送できるが、限界があることも分かりました。
それでは、IPアドレスはパケットを転送することだけ保証するのに、どうやって通信ができるのでしょうか?答えはデータの連結性と信頼性を保証してくれる他のプロトコルにあります。
次回は連結性と信頼性を保証してくれるTCPについて勉強したいと思います。TCPはIPの限界を保証してくれる機能を利用してデータを安定的に転送します。
皆さんにも分かりやすく説明できていればと嬉しいです。
Discussion