
IPとかMACとか。
ITパスポートに出てくる、IPとかMACアドレスとかなんだかごちゃごちゃしてきたので、一気にまとめてもらったよ。Gemiちゃんに♡
あたしのノートの中身をみんなにも💕
あたし:DHCP、ARP、DNS、NAT、MACアドレス、サブネットマスクとかインターネットと家庭のLANを経由して自分のPCに接続したときの通信に関する用語とその意味を教えて。
インターネットと家庭のLAN(ローカルネットワーク)を経由して、あなたのPCがWebサイトなどと通信する際、これらの技術はすべて「データを正しい宛先へ届けるための役割分担」をしています。
全体のイメージをつかみやすくするために、それぞれの用語を「住所や郵便の仕組み」に例えて分かりやすく解説します。
1. 通信の土台となる「住所」の基礎知識
まずは、通信相手を特定するための2つの住所(アドレス)と、その範囲を決めるマスクの役割です。
MACアドレス(Media Access Control Address)
「機器そのものに刻まれた、世界に一つだけのマイナンバー」
パソコンやスマホ、ルーターなどの通信機器の製造時に割り当てられる物理的な識別番号です。後述するIPアドレスが「変わる住所」なのに対し、MACアドレスは「絶対に変わらない識別子」です。
IPアドレス(Internet Protocol Address)
「ネットワーク上の住所」
インターネットやLAN内で、機器を特定するために使われる変動可能な数字の住所です(例: 192.168.1.10 や 203.0.113.1 )。
サブネットマスク(Subnet Mask)
「住所の『〇〇市』と『〇〇番地』の区切り線」
IPアドレスのどこまでが「同じネットワーク(市)」で、どこからが「個別の機器(番地)」なのかを区別するためのフィルターです。自分のPCと通信相手が「同じLAN内(同じ市の中)」にいるのか、「インターネットの向こう側(外の世界)」にいるのかを判断するために使われます。
2. つながる・調べるための「仕組み(プロトコル)」
PCをネットワークにつないだり、相手の住所を調べたりするための自動システムです。
DHCP(Dynamic Host Configuration Protocol)
「入居時に部屋番号(IPアドレス)を自動で割り振ってくれる管理人」
パソコンを家庭のWi-Fi(LAN)につないだ瞬間、ルーターから自動的に「君のIPアドレスはこれね!サブネットマスクはこれ!」と、通信に必要な設定を一括で割り当ててくれる仕組みです。
ARP(Address Resolution Protocol)
「LAN内で『〇〇番地(IPアドレス)の人の、マイナンバー(MACアドレス)を教えて!』と叫ぶ案内係」
同じLAN内でデータを送るとき、PCは相手のIPアドレスは知っていても、物理的なMACアドレスを知りません。そこで「このIPアドレスを持っている人、MACアドレスを教えて!」とLAN全体に問いかけ(ブロードキャスト)、相手のMACアドレスを特定する仕組みです。
DNS(Domain Name System)
「『お名前(URL)』から『住所(IPアドレス)』を引く電話帳」
人間が使う「google.com」や「yahoo.co.jp」といったWebサイトの名前(ドメイン)を、コンピュータが理解できる数字の住所(IPアドレス:例 142.250.196.142)に変換してくれる仕組みです。
3. 家と外(インターネット)をつなぐ技術
家庭内だけでしか使えない住所を、世界中で使える住所に変換する、ルーターの心臓部です。
NAT(Network Address Translation)
「マンション(家庭内)の私書箱と、一戸建て(外の世界)の表札を変換する受付担当」
家庭のLAN内では、世界中で使い回されている「プライベートIPアドレス(例: 192.168.〜)」がPCに割り振られます。しかし、これはインターネットの世界では通信に使えません。
NATは、PCが外の世界と通信するときに、ルーターが持つ世界に一つだけの「グローバルIPアドレス」へ一時的に住所を書き換えて、インターネットへ送り出してくれる技術です。帰ってきたデータは、また元のPCのプライベートIPアドレスに書き戻して届けてくれます。
💡 PCがWebサイトを開くときの「一連の流れ」パソコンをWi-Fiにつなぐと、DHCPがPCにIPアドレスとサブネットマスクを教えてくれる。
ブラウザにURL(例: google.com)を入れると、DNSがそのサイトのIPアドレスを調べてくれる。
宛先IPアドレスが外の世界(インターネット)だとサブネットマスクで判断し、まずは家庭のルーターへデータを送るため、ARPを使ってルーターのMACアドレスを調べる。
ルーターに届いたデータは、NATによってインターネットで使えるグローバルIPアドレスに変換され、外の世界へ飛び出していく。
いちお、セカンドオピニオンにも聞いてみた。
以下は覚える必要ないけど、念のために貼っておくね。
あたし:この解説は妥当か調べてみて。
結論:試験対策としてはほぼ妥当。ただし2か所、正確には補足した方がよい点があります
DHCP・ARP・DNS・サブネットマスクの説明と、「Webサイトを開くときの一連の流れ」の順序(DHCP → DNS → サブネットマスクで判定 → ARPでルーターのMAC取得 → NAT)はどれも正しく、よくできたまとめです。気になる点は以下の通りです。
補足すべき点1:「MACアドレスは絶対に変わらない」は言い過ぎ
製造時に割り当てられる、という説明自体は正しいですが、「絶対に変わらない」は現在は正確ではありません。最近のiPhone・Android・Windowsはプライバシー保護のため、Wi-FiネットワークごとにランダムなMACアドレスを使い分ける機能を標準で有効にしています(iOS 14以降の「プライベートWi-Fiアドレス」、Android 10以降の「ランダムMAC」)。技術的にMACはソフトで書き換え(偽装)することもできます(Appleサポート、Android公式ドキュメント、NTTBP技術コラム)。[source.android][ntt-bp][support.apple]
試験対策としては「機器に割り当てられる識別子」で押さえてOKですが、「絶対に変わらないマイナンバー」と暗記すると、ランダム化に関する問題で混乱する可能性があります。
補足すべき点2:説明しているNATの中身は実は「NAPT(IPマスカレード)」
ノートのNATの記述「帰ってきたデータは元のPCのプライベートIPに書き戻して届けてくれる」は、複数台のPCが1つのグローバルIPを共有する動作なので、正確にはNAPT(IPマスカレード)です。純粋なNATはIPアドレスの1対1変換で、1つのグローバルIPで同時に通信できるのは1台だけ。複数台が同時につながるのはTCP/UDPのポート番号も一緒に変換して「どのPCの通信か」を区別しているからです(JPNIC、NEC Aterm機能説明)。[aterm][nic.ad]
家庭のルーターがやっているのはこのNAPTの方なので、ノートの内容は実態に合っていますが、「ルーターはどうやって戻すPCを見分けるのか → ポート番号」の一行があると、ITパスポート〜基本情報レベルのNAPTの問題にも対応できます。
細かい点(誤りではない)「グローバルIPの例:203.0.113.1」は、実は文書や例示のために予約されたTEST-NET-3という特殊なアドレスで、実際のインターネットでは使われません(RFC 5737)。実在しないアドレスを例に使うのはむしろ正しい作法なので、間違いではありません。[rfc-editor]
DHCPはIPアドレスとサブネットマスクだけでなく、「デフォルトゲートウェイ(ルーター)のIP」と「DNSサーバーのIP」も一緒に配っています。流れの説明で「ARPでルーターのMACを調べる」とありますが、その前に「PCはDHCPからルーターのIPを教えてもらっている」を一言足すと、話のつながりが完璧になります。
全体として、初心者向けの直感的なまとめとしては合格点で、上記2点を書き加えれば試験対策ノートとして信頼できる内容になります。