うろ覚えだった知識をまとめてみたよ【ネットワーク編③】
学習エントリ。 全体的な知識の底上げをすべく、復習も兼ねてまとめてみる。
ルーティング
IPではヘッダの中の宛先IPアドレスを見て、パケットをどこに配送すればよいかを決めている。 基本的な考え方は「宛先が自分の知り合いであれば直接渡す」「知り合いでなければ隣の人に渡す」で、隣の人に渡しても最終的にパケットが宛先まで届くかはわからない。
ルータ
宛先のIPアドレスをみて、適切な経路にパケットを中継する(ネットワーク層レベルで中継を行う)装置。ルータは複数のネットワーク層に接続されている。また、ルータは経路制御表(ルーティングテーブル)を持っていて、そのとおりにパケットの中継を行う。上記の通り基本的には * ルータ自身が直接接続されているネットワーク宛のパケットは直接配送する。 * それ以外のパケットは隣のルータに渡す。
ルーティング方式とルーティングプロトコル
- スタティックルーティング:経路制御表を手動で設定する方式。ネットワークが小さい場合は便利。
- ダイナミックルーティング:経路情報の交換を自動で行い、経路制御表を勝手に作ってくれる方式。ネットワークが大きくなると便利。
ダイナミックルーティングの為のプロトコルが以下の2つ * RIP:経由するルータの台数(=ホップ数)が最も少ない経路を中継する。このアルゴリズムをディスタンスベクタ型という。 * OSPF:ホップ数以外にもネットワークの混雑度、回線速度など、様々な要素を考慮し、トータルのバランスが良い経路を中継する。このアルゴリズムをリンクステート型という。
IPパケットとイーサネットフレーム
アプリケーションは 1. 宛先のIPアドレスを指定し 2. 相手に送りたいデータをOSに渡す 3. OSはこれらの情報を元にIPパケットを作る 4. 作られたIPパケットはイーサネットを使ってルータに届けられる イーサネット上ではIPパケットはイーサネットフレーム形式にしないといけない。なのでIPパケットをイーサネットフレームに箱詰めにする。これをカプセル化という。
LAN間接続装置の分類
- ゲートウェイ:全階層のプロトコル変換機能をもつ
- ルータ、L3スイッチ:ネットワーク層での中継を行う。IPアドレスにもとづいての経路選択と中継を行う
- ブリッジ、L2スイッチ、スイッチングハブ:データリンク層での中継を行う。MACアドレスにもとづいてフレームを中継する
- リピータ:物理層での動作を行う。電気信号を増幅する。
TCP(トランスポート層)とアプリケーションプロトコル(アプリケーション層)
IPはパケットが最終的に宛先に届いたかどうかを保証しない。それを保証するプロトコルがTCP。
TCPとUDP
- TCP(Transmission Controll Protocol):コネクションを形成して、信頼性のある通信を実現する為のプロトコル。コネクションを形成すると相手と情報を交換しながら通信を行える。例えばパケットが届いたというレスポンスを相手から受け取れるし、パケットの再送をリクエストすることもできる。
- UDP(User Datagram Protocol):コネクションを形成せず、信頼性の無い通信を実現するためのプロトコル。相手にパケットを送りつける。送り先は受け取れないこともある。なので相手に届く保証は無い。だけどTCPみたいに面倒な情報交換をお互いに行わないので、たくさんのパケットを送れる→高速に通信が出来る。データの欠落よりもパケットが絶え間なく送られることの方が大事な音声や映像データなどを通信する際に使う。
ポート番号
アプリケーションプロセスと会話をするための窓口。ウェルノウンポートと呼ばれる番号でアプリケーションプロセスは待機している。クライアント側は接続の都度、空いているポートを探してそれを使う。大体IPアドレスのあとに「:」を付けることが一般的。代表的なウェルノウンポートは以下。
アプリケーションプロトコル
アプリケーションがデータのやりとりをする時に使うプロトコル。代表的なのは以下。 * DNS:ドメイン名とIPアドレスの変換 * HTTP:ウェブサービスの提供 * FTP:ファイル転送 * SMTP:電子メールの転送 * POP3 :PCへの電子メールのダウンロード * IMAP:メールサーバ上でメールを送受信する * SNMP:ネットワーク上の機器を管理し、動作情報を収集する。管理する側(情報を集める側)をマネージャ、ネットワーク上の機器をエージェントという。 * SSH:遠隔ログイン。暗号通信を行うので安全。 * NTP:時間を合わせる(同期させる)
DNS
- ドメイン名→IPアドレスに変換(正引き)
- IPアドレス→ドメイン名に変換(逆引き)
- ドメインを管理するネームサーバ(DNSサーバ)のIPアドレスを返答する
- ドメインを管理するメールサーバのIPアドレスを返答する