ネットワーク---TCP/IPプロトコルの仕組み
『ネットワーク』とは
- ネットワーク
コンピュータとコンピュータを繋ぐこと。
生産性を高めるのが目的です。
- ネットワークの種類
- LAN(Local Area Network)
社内や自宅などで構成される、小規模ネットワークのこと。 - WAN(Wide Area Netowork)
LANとLANを結ぶネットワークのこと。
- LAN(Local Area Network)
IPアドレス
- IPアドレス
コンピュータ毎に割り当てられる、ネットワーク上の住所のこと。
本来32bitで表されるものですが、実際は、8bit毎に区切られた10進数で表記します。(0〜255のうち、4つの数字の組み合わせ)
ネットワークにおいては、相手先のIPアドレス&ポート番号(後述)を指定することで、初めて通信が可能となります。
-
- ホスト
IPアドレスが設定されたコンピュータのこと。
- ホスト
-
- グローバルIPアドレス
WANにおけるIPアドレスのこと。
グローバルIPアドレスをもつアドレス変換機器(ルータ・ファイアウォールetc.)は、LANがWANに接続して
パケットを送受信するとき、【ローカルIPアドレス ⇔ グローバルIPアドレス】の変換を行います。
- グローバルIPアドレス
TCP/IPプロトコル
- TCP/IPプロトコル
『プロトコル』とは、送信者 / 受信者間におけるデータの送り方の約束事(=データ形式を揃えること)。
コンピュータ同士が繋がるためには、統一された規格、すなわちプロトコルが必要です。
国際的指標として『OSI参照モデル』がありますが、これをさらに実用的にしたものが『TCP/IPプロトコル』です。
もともとUNIXのネットワークだけで使われていたものが、インターネットの普及によって、WindowsやMacOSにも実装されるようになりました。
TCP/IPプロトコルでは、通信に必要な機能を、大きく4つの階層に分けています。
-
- パケット
データ送信の際、データが分割される単位のこと。
ネットワーク機器は、パケット内部の情報を参照することがないため、転送中にパケットの順番が替わってしまうことがあります。
また、パケットには有効期限が与えられる(何らかの事故で同一箇所をループしてしまうのを防ぐため)ので、失くなってしまうこともあります。
- パケット
- トランスポート層
コンピュータ内部の、どのアプリケーションとどのアプリケーションが通信しているのか識別する層です。- ポート番号
上位アプリケーションを識別する番号。
これにより、同一IPアドレスにて、複数のサービスを扱うことができます。
- ポート番号
主なサービス | ポート番号 |
---|---|
FTP(data) | 20 |
Telnet | 23 |
SMTP | 25 |
HTTP | 80 |
プロトコル | プロトコル番号 |
---|---|
TCP | 6 |
UDP | 17 |
- ネットワークインターフェース層
データをパケット化し、直接接続された機器同士のデータのやり取りを制御する層です。
bitの列を電圧や光に変換します。
サーバの種類
- Webサーバ
HTTP(HyperText Transfer Protocol:ハイパーテキスト転送プロトコル)を利用して、コンテンツ(HTML・画像etc.)の送受信を行うコンピュータ / ソフトウェアのこと。- Webサーバの仕組み
ブラウザからページ取得要求があると、WebサーバはHTMLコンテンツをブラウザに返します。
ブラウザはHTML言語を読解し、その命令に従ってページを表示します。
- Webサーバの仕組み
- FTPサーバ
FTP(File Transfer Protocol:ファイル転送プロトコル)を利用して、ファイルの送受信を行うコンピュータ / ソフトウェアのこと。- FTPサーバの仕組み
ファイル転送命令を受け付けるポート・ファイルを転送するポートを分け、スムーズなデータ転送を実現しています。
- FTPサーバの仕組み
- DNS(Domain Name System)サーバ
名前解決(【ホスト名 / ドメイン名 ⇔ IPアドレス】の対応を管理・変換)するコンピュータのこと。
LANごとに配置され、世界中のDNSサーバ同士が連携しています。
-
- ドメイン(=領域)
それぞれのネットワークが管理するコンピュータの領域につけられた名前のこと。- ルートドメイン::すべてのドメインの元になるドメインのこと。ホスト名の最後に . で表されますが、通常は省略されます。
- トップレベルドメイン::2文字で国名を表します。ただし米国では、3文字で組織の属性を表します。
- サブドメイン::2文字で組織の属性を表します。
例: yahoo.co.jp・・・ドメイン名.サブドメイン.トップレベルドメイン
google.com・・・ドメイン名.トップレベルドメイン
- ドメイン(=領域)
【参考書籍】