はじめに
- ネットワークについて、あまり詳しくないところがあるため、自分なりに整理してみます
- かなり雑です
- 随時更新予定です
- 間違い等があればご指摘ください
参考
サイト
書籍
↑この本が分かりやすくてオススメです。
ネットワークとは
- コンピュータ同士でデータをやりとりする仕組み
- Webサイトでの情報収集とか、ファイルの共有などができる
ネットワークの種類
- プライベートネットワーク:拠点内のコンピュータ間でのみやりとり可能なネットワーク
- インターネット:世界中のどのコンピュータ間でもやりとり可能なネットワーク
ネットワークの構成
- LAN (Local Area Network):拠点内のネットワーク
- WAN (Wide Area Network):LAN同士の接続をするネットワーク
インターネットの構成
- ISP (Internet Service Provider):プロバイダ。NTTなどの事業者のこと
- AS (Autonomous System):自律システム。大企業などの組織が管理している、インターネット上の領域
- ISPが複数のASを管理しているような感じ?
ネットワーク機器
- ルータ
- L2スイッチ
- L3スイッチ
機器の働き:
- データ受信:物理的信号を受信して、2進数に変換する
- データの転送先の決定:データに付与されている情報をもとに、転送先を決定する
- データ送信:2進数から物理的信号に変換して、送信する
- インターフェース(ポート):PCとかルータにある接続口のこと
-
伝送媒体:インターフェース同士をつなぐケーブルのこと
- 光ファイバケーブルとか
ネットワークの接続について
-
ネットワークの接続には、物理的接続と論理的接続がある
- 物理的接続:インターフェース、ケーブルなどの接続
- 論理的接続:IPアドレス、サブネットマスクなどをインターフェースに設定すること
-
DHCP:IPアドレスなどの設定を自動的に処理してくれる機能
通信について
データの送受信
- データは双方向でやりとりされる
- リクエスト:処理命令などの要求
- リプライ:リクエストに対する応答
- クライアント:サービスを利用するコンピュータ
- サーバ:サービスを提供するコンピュータ
ネットワークモデル
- ネットワークでの通信方法にはいろんな方法がある
ネットワークアーキテクチャ
-
ネットワークアーキテクチャ:プロトコルがまとめられたもの
- 現在は、TCP/IP というアーキテクチャが標準的に利用されている
- プロトコル:データのフォーマット、処理方法などの通信におけるルールのこと
TCP/IPについて
-
4つの階層から構成されている
-
アプリケーション層:データのフォーマット、処理順などを定義する役割
- HTTP, HTTPS
-
トランスポート層:データを対象のアプリに割り当てる役割
- TCP, UDP
-
インターネット層:ネットワーク間でデータを転送する役割
- IP
-
ネットワークインターフェース層:LAN, イーサネットのような物理的な接続する役割
- LAN, Ethernet
-
アプリケーション層:データのフォーマット、処理順などを定義する役割
-
階層ごとに、データの呼び方が異なるらしい
- よく耳にする「パケット」は、インターネット層のデータを指すそう
インターネット層
IPについて
-
IP:インターネット層のプロトコル。E2Eでデータを転送する
- E2E(エンドツーエンド):PCから別のPCにデータを転送する通信のこと
- バージョンによって異なるっぽい
- IPv4, IPv6がある
- IPヘッダ:データの送信元、送信先のホストのIPアドレスが含まれているヘッダ
IPアドレス
- 通信対象のホストを識別するための番号
- ホストのインターフェースごとに割り当てられている
- 同じPCなどでも、インターフェースが異なる場合はIPアドレスも異なる
- ホストのインターフェースごとに割り当てられている
-
8ビットの2進数(0~255)を10進数にした4つの数字を、
.
で区切ったもの- 例:
192.168.1.1
- 2進数:(
11000000 10101000 00000001 00000001
)
- 例:
- ネットワークの利用範囲によって、IPアドレスが異なる
- グローバルアドレス:インターネットで利用するIPアドレス
-
プライベートアドレス:拠点内のプライベートネットワーク内で利用するIPアドレス
- あらかじめ範囲が決められている
-
192.168
から始まるアドレスなど
-
- あらかじめ範囲が決められている
サブネットマスク
- IPアドレスは、ネットワーク部とホスト部から構成されている
- ネットワーク部:ルータ、スイッチなどの番号
- ホスト部:ホストのインターフェースの番号
- ネットワーク部とホスト部の区切りは、一定ではない
-
サブネットマスクによって決められる
- IPアドレス同様、8ビットの2進数32桁から成る
- 1が連続していくつか並んで構成される
-
1
の部分がネットワーク部、0
の部分がホスト部
-
- サブネットマスクは、
1
の桁数を/X
のように表す- 例:
192.168.1.1/24
- 例:
-
サブネットマスクによって決められる
特殊なIPアドレス
- ブロードキャストアドレス:ブロードキャストのIPアドレス
- IPアドレスのホスト部が
255
の場合 - IPアドレスが
255.255.255.255
の場合- リミテッドブロードキャストアドレス:ローカルネットワークのブロードキャストを自動的に指定できるIPアドレス
- IPアドレスのホスト部が
データの宛先
-
ユニキャスト:1つの送信先にのみデータを転送すること
- Webの閲覧など
3
- Webの閲覧など
-
ブロードキャスト:同一のネットワーク上のすべてのホストに対して、同じデータをまとめて転送すること
- ARP, DHCP
3
- ARP, DHCP
-
マルチキャスト:送信先の特定のグループに所属するホスト達に対して、同じデータをまとめて転送すること
- 動画配信、オンラインゲームなど
3
- 動画配信、オンラインゲームなど
ICMP
- IPによる通信がちゃんとできているかを確認する、インターネット層のプロトコル
- IPパケットが破棄されたら、ICMPによって送信元にエラーレポートが送られる
- pingコマンド:ICMPエコー要求メッセージというもので、通信先と通信できているかを確認する
ARP
- IPアドレスから、MACアドレスに変換する
- MACアドレス:インターフェースの識別番号
- イーサネットヘッダにカプセル化される
- IPアドレス:最終的なホストへのアドレス
- MACアドレス:ルータなどの経由地点のインターフェースのアドレス
トランスポート層
ポート番号
- 対象のアプリケーションを識別するための番号
-
ウェルノウンポート:あらかじめ指定されているアプリケーションのポート番号
- HTTP=80, HTTPS=443 など
- 登録済みポート:GoogleとかMicrosoftなどの企業が登録しているアプリケーションのポート番号
- ダイナミックポート:クライアント側で動的に割り当てられるポート番号
TCP
- 安全にデータを転送するためのプロトコル
- 3ウェイハンドシェイクという方法で、データ転送前に接続の確立をする
4
- 安全性は担保されるけど、速度は遅い
- Webの閲覧、ファイルの転送などに利用される
UDP
- 届いたデータを適切なアプリケーションに振り分けるためのプロトコル
- TCPのようなデータの確認はしない
- 速度は速いけど、安全性は保証されない
- ストリーミングサービス、オンラインゲームなどに利用される
アプリケーション層
DNS
- Webなどのドメイン名とIPアドレスを紐づけて管理する機能
-
ドメイン名:
xxx.com
などの人間が認識できるアドレス - IPアドレス:
192.168.1.1
などのコンピュータが認識できるアドレス
-
ドメイン名:
DNSサーバ
- DNSの機能を利用できるサーバ
-
権威DNSサーバ:ドメイン名とIPアドレスを管理しているサーバ
- ルートサーバ、トップレベルドメインサーバ(.jp, .comなど)、各ドメインサーバのような階層で存在している
5
- ルートサーバ、トップレベルドメインサーバ(.jp, .comなど)、各ドメインサーバのような階層で存在している
- キャッシュDNSサーバ:権威DNSサーバにアクセスして、IPアドレスを取得するサーバ
- ユーザがドメイン名を指定して、ブラウザからキャッシュDNSサーバにリクエスト
- キャッシュがなければ、ルートドメインから階層をたどって問い合わせを繰り返す
- IPアドレスが特定できたら、ユーザに返される
さいごに
ざっくりですが、それなりに理解することができました。
(参考の書籍の方が図解付きで分かりやすいのでオススメです)
次回はWebの仕組みについてまとめます。