TCP・UDPとDNS・HTTPの基礎
TCPとUDPは、IPネットワーク上でアプリケーション同士のデータを運ぶトランスポート層のプロトコルである。TCPは接続を確立して信頼性を保証し、UDPは接続を張らずに軽量に送るという対比がこの単元の土台になる。DNSは名前とIPアドレスを対応付ける仕組み、HTTPはWebで要求と応答をやり取りする仕組みであり、それぞれの役割と代表的なポート番号や状態コードを層の違いとともに整理しておく必要がある。
TCPとUDPの仕組み
TCPは通信の前に接続を確立し、到達確認と再送によってデータの欠落を防ぐ。そのため、順序や完全性が求められる通信に適している。一方UDPは到達確認を行わず、制御情報が少ないぶん処理が軽い。多少の欠落よりも速さや即時性が重視される場面で用いられる。時刻を同期するNTPは通常UDPの123番ポートを使う。POP3はTCPの110番ポート、TELNETはTCPの23番ポートを使う。
PCがWebサーバへ接続しているとき、PC側で使われているTCPポート番号はnetstatで一覧表示して確認できる。ipconfigはIPアドレスなどの設定情報を表示するコマンドであり、接続中のポートは示さない。tracertは経路を調べるコマンドであり、ポート番号の確認には用いない。
DNSとHTTPの動作
DNSは問い合わせに応じて、ホスト名とIPアドレスを相互に対応付ける仕組みである。DNSサーバへ問い合わせるソフトウェアはリゾルバと呼ばれる。IPアドレスから対応するホスト名を調べる処理は逆引きといい、PTRレコードなどを用いる。ホスト名の別名はCNAME、メールの配送先はMX、ドメインを管理するネームサーバはNSで表される。
DNSキャッシュポイズニングは、偽の応答をDNSサーバのキャッシュに登録させる攻撃である。対策として、問い合わせごとにDNSヘッダのIDを予測されないようランダムに変えることが有効である。IDを変えても送信元ポート番号を53番に固定すると、応答の照合に使われる値が予測しやすくなり、対策として不十分になる。
この節の続き
- 判断の基準と実際の場面
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む