通信について

★ この記事では、通信について分かりやすく説明することを目標としています。
  随時更新します。

◎ 単語

URL・・・Uniform Resource Locatorの略称で、 情報がどこにあるのかを示す インターネット 上の住所のようなもののことです。

◎ プロトコルスタック

☆プロトコルスタックとは、OSに組み込まれたネットワーク制御用ソフトウェアのことです。プロトコルスタックはソケットに記録された制御情報を参照しながら動きます。

◎ ポート番号

☆IPアドレスは電話番号と同じようなものと聞くことがありますが、ポート番号は電話番号かけた後の、「電話にでる人」のようなものです。今時少ないですが、子供の頃に家に電話がかかって来て、誰々さんいますか?というような役割をしています。

○ ポート番号の割り振り

実際ポート番号は0から65535までありますが、

0-1023の範囲のポート番号は、ウェルノウンポート番号と呼ばれています。(IANAという団体により管理)
よく知られているポート番号という意味です。

また、1024~49151の範囲のポート番号は、レジスタードポート番号と呼ばれています。登録されているポート番号という意味です。

クライアントのポート番号

クライアント側のポート番号はソケットを作成するときにプロトコルスタックが適当な値を見繕ってくれます。

サーバーのポート番号

サーバ側のポート番号はアプリケーションの種類によって予め決められた値を使うことになっています。

ウェルノウンポート番号

80:webサーバ

139:ファイルサーバ

25:メールサーバ

1024–49151は登録済みポート番号となっています。

◎ PID(Process ID)

☆PIDとは、個々のプログラムを識別するためにOSが割り振る番号のことです。

◎ ソケット

☆ソケットとは、クライアントとサーバーでデータの送受信をするときに、必要な通信制御用の制御情報のことです。分かりやすく説明するとクライアントとサーバーをつなぐパイプ(実際にパイプを作るわけではありません)の出入り口のようなものです。

○ ソケット通信

主に以下の方法でソケット通信をします。

  • ソケットを作成する(ソケット作成フェーズ)
  • サーバー側のソケットにパイプをつなぐ(接続フェーズ)
  • データを送受信する(送受信フェーズ)
  • パイプを外してソケットを抹消する(切断フェーズ)

ソケット作成フェーズ

接続フェーズ

送受信フェーズ

切断フェーズ

◎ TCP

☆TCPとは、データを送受信するためのプロトコルです。

◎ UDP

☆UDPとは、データを送受信するためのプロトコルです。

◎ IP

グローバルIPアドレス

プライベートIPアドレス

○ ICMP

☆ICMPとはパケットを運ぶときに発生するエラーを通知したり、制御用のメッセージを通知するときに使うものです。

○ ARP

☆ ARPとは、IPアドレスに対応するイーサネットのMACアドレスを調べるときに使うものです。

◎ DHCP

☆DHCPとは、パソコンから設定情報を要求して、DHCPサーバが設定情報を通知するものです。
主にコンピュータにIPアドレスを自動割り当てをする際に使用します。

◎ LLA

☆LLAとは、DHCPサーバ(プライベートIPアドレスを割り当てる役目を持ったサーバ)が存在しないネットワーク内で使われる、特別なIPアドレスのことです。

◎ DNS(Domain name System)

☆DNSとは、主にサーバー名とIPアドレスを対応づけるための仕組みです。

DNSサーバに対するクライアントに相当するのものをDNSリゾルバ(リゾルバ)と呼びます。

○ DNSリゾルバ(リゾルバ)

☆Socketライブラリのプログラムで、DNSサーバに問い合わせをしてくれるもの

Socketライブラリ

OSに組み込まれているネットワーク機能をアプリケーションから呼び出すためのライブラリ

>画像という分野

画像という分野

画像に関連することを網羅していきます。

ぜひお時間がある方はのぞいてみてください。

CTR IMG