← メディア一覧

IPアドレスは計算せず「住所」で読め

14分57秒 | NWIPアドレスFE

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

192.168...みたいな数字の羅列ありますよね。特にあの『/24』なんて記号がセットで出てくると、うわぁ、もうお手上げだ、なんて思ったことはありませんか? 正直に言うと、僕もあの数字の羅列を見ると、未だにちょっと身構えてしまうというか、さて、計算するか、みたいな気持ちにちょっとなるんです。 ええ、その気持ちは非常に良く分かります。多くの方がそこで、なんか一種のアレルギー反応みたいなものを起こしてしまいますよね。まるで見たこともない数式を突然突きつけられたかのような。 まさにそれです。今回深掘りする情報源によると、その感覚の正体は、多くの人が最初に2進数の計算をしようと意気込んでしまうからだという鋭い指摘があるんですよね。 そこがこのテーマにおける最大の、そしてまあ、最初のつまづきのポイントですね。教科書を開くと、大体最初のページにあのアドレナリン2進数変換の表が出てきますから。 そうなんです。でも今日の話はそこからが本番なんです。実はこれ、計算はほとんどの場合全く不要で、ただ住所に引かれた区切り線を見つけるだけの、すごくシンプルな話だったんです。 今日はその計算しない方法をじっくりと深掘りしていきましょう。その通りです。IPアドレスは一見すると、ただの32桁の数字の羅列にしか見えませんけど、そこには必ず2つの情報が同居しているんです。 情報源が使っている見事な比喩を借りるなら、それは、あえてゆっくり言いますね、『どの町に住んでいるか』、そして、『その町の何番地の部屋にいるか』というこの2つの情報なんです。 ほう、町の名前と部屋番号ですか。ええ、この2つを区別すること、それこそが全てなんです。 専門用語では、この町の名前を『ネットワーク部』、部屋番号を『ホスト部』と言いますが、まあ今日のところはこの分かりやすい比喩で行きましょう。IPアドレスの構造を理解するっていうのは、この2つの情報の境目をいかにして見つけるかという、まあ一種のゲームみたいなものなんですよ。 なるほど、町の名前と部屋番号。その比喩、すごくしっくり来ますね。例えば現実の住所で言う『東京都港区赤坂』までが町の名前で、その後の『1丁目9番アーク森ビル101号室』が部屋番号、みたいな、そういうイメージで合ってますか? 素晴らしい解釈です。まさにその通り。数字の羅列をそうした具体的なイメージに変換することが、理解への最初の一歩、そして最も重要な一歩になります。 いや、それだけで一気にハードルが下がった気がします。ただの数字の塊だと思って睨みつけているのと、これは住所なんだと思って見るのとでは、心構えが全然違いますね。 そうでしょう。ただ……ただ? その解釈に辿り着くと、次にまた新たな疑問が湧いてきませんか?ええっと、そうですね。東京都港区っていうみたいに、実際の住所にはよく『・』があって、区切りが分かりますけど、IPアドレスの192.168.1.10みたいな数字の羅列を見ても…… どこまでが町で、どこからが部屋なのか、その区切り線がパッと見では分からない。どうやって見つければいいんだ?ってことでしょうか。その通りです。 その自然な疑問こそが次のステップへの鍵なんです。そしてその区切り線を親切に教えてくれるのが、『サブネットマスク』というルールなんです。出ました、サブネットマスク。 255.255.255.0とか、あとは『/24』とかで書かれるあの記号ですよね。正直これも苦手意識がありました。また別の数字が出てきたぞ、と。 ええ、大丈夫です。これも計算式ではありません。あの255.255.255.0や/24といった記号は、さあ、この数字を使って複雑な計算をしなさい、という命令じゃなくてですね…… 単なる『ここまでが町の名前ですよ』と示してくれる、まあ、道路標識のようなものなんです。道路標識?なるほど、計算式じゃなくてただの目印、サインだと。 ええ。で、なぜそんな区切りが必要なのか、少しだけ話しておきましょうか。これはインターネットにおける、まあ郵便配達の仕組みとよく似てるんです。 手紙を出すとき、郵便局はまず『東京都』という大きな括りで仕分けしますよね。いきなり101号室を探したりはしない。はいはい。 まず大きな町に荷物を送り、その町の配達員が細かい部屋番号に届ける。IPアドレスも同じで、『ルーター』という配達員が、まずどのネットワーク、つまり町にデータを送るべきか判断するために、この区切り線が不可欠なんです。 なるほど、効率化のためなんですね。いきなり全世界のコンピューターから一台を探すんじゃなくて、まず所属グループを探す、と。俄然区切り線の重要性が分かってきました。では具体例で考えてみたいです。 例えば、よく見るIPアドレス『192.168.1.0』で、サブネットマスクが『24』だったらどうなるんでしょう?いい例ですね。ではその『24』という記号を見てどう感じますか? えっと、ここで正直に言いますね。24ビット目までが区切りっていう意味だとは、まあ知識としては知ってるんですが、ビットって言われた瞬間に頭の中で0と1の羅列がチラついて、『うわっ、計算しなきゃ!』ってこう身構えちゃうんです。ここで思考が停止しがちで。 そこです。そこがまさに情報源が指摘する罠なんです。今日はその思考を一度捨ててみましょう。24は、8ビットのブロックが3つ分。つまり、最初の3つのブロックまでが町の名前ですよ、という宣言だと読み替えてください。 ドットで区切られた数字の3つ目のドットまでです。3つ目のドットまで。つまり192.168.1までが町で、残りの10が部屋だと。 その通りです。完璧に構造を捉えられています。では、ここからが今回の本題です。そのIPアドレスを目で見るだけじゃなくて、声に出してリズムで読んでみましょう。 ただ読むのではなく、その区切り線をはっきりと意識して。リズムですか?はい。私がやってみますね。こうなります。『192、168、1……10』 おお!すごい。今、はっきりと前に壁が見えました。言葉の間に何か句読点が打たれたような感覚です。でしょう。この『間』こそがサブネットマスクが示している町の名前と部屋番号の境界線なんです。 このリズムで聞けば、2進数なんて一切考えなくても、どこまでが同じグループの仲間で、どこからが個別のマシンなのか、見て、体感で理解できるんです。これは面白い。 192.168.1までがグループ共通の苗字で、最後の10が個人名だと。確かにこれなら計算はいらないですね。ただ区切りで一呼吸置くだけで、数字の羅列に意味が立ち上がってくる感じがします。 ええ。言語を学ぶ時に単語と単語の間のスペースや句読点が意味を分けるのと同じです。IPアドレスもこの区切りという文法を理解すれば、あとは単語を読むのと同じように読めるようになるんです。 なるほど。その文法がサブネットマスクなんですね。となると一つ疑問が湧いてきました。今の『24』はドットの位置と区切りが一致していたから分かりやすかったですけど、いつもそんなに綺麗にいくものなんですか? 例えばもっと大きな会社とかで使われるような、違う区切り方の場合はどうなるんでしょう?素晴らしい質問です。まさにそこが理解をさらに深めるポイントになります。では、別の例を出しましょう。 IPアドレスが『172.16.10.20』で、サブネットマスクが『16』。あるいは『255.255.0.0』だったとします。16、ということは……今度は8ビットのブロックが2つ分、2つ目のドットまでが区切りということですか? その通りです。ルールは全く同じ。ただ区切り線の場所が変わっただけです。では、これも先ほどのリズムで読んでみましょうか。はい。ええっと、『172、16……10、20』こんな感じでしょうか。 完璧です。どうですか。声に出してみると、構造がはっきりと見えませんか?見えます、見えます。町の名前が『172.16』で、今回は部屋番号が『10.20』と2ブロック分もあるんですね。 つまり、より大きな町にたくさんの部屋があるイメージだと。まさに。この感覚が重要なんです。実は、皆さんがご家庭で使っているWi-Fiネットワークも全く同じ仕組みです。 例えばお使いのパソコンのIPアドレスが『192.168.1.10』なら、スマートフォンは『192.168.1.11』、スマートテレビは『192.168.1.12』となっているかもしれません。 あぁ、確かに。『192.168.1』という町の名前はみんな同じで、最後の部屋番号だけが違うと。そうです。そして同じネットワーク内では絶対におなじ部屋番号は使えません。 それは同じマンションに101号室が2つあったら郵便配達員が困ってしまうのと同じ理屈です。ルーターという名の配達員がデータを正確に届けるために、部屋番号は必ずユニークでなければならないんです。 いやあ、すごく腑に落ちました。ということはですよ。資格試験なんかでよく見る、『このIPアドレスのネットワークアドレスを求めよ』というあのいかにも計算が必要そうな問題も、もしかして……? はい、それも計算はいりません。えっと、本当にですか?あれこそ2進数に変換してAND計算をして、という手順を踏むものだとばかり。 その手順はいわば公式を使った解き方ですね。でも、言葉の意味を理解していれば、もっと直感的に解けます。そもそもネットワークアドレスとは何か。それは、これまで話してきた比喩で言えば『町の名前そのもの』のことなんです。 町の名前そのもの。そうです。個別の部屋番号という情報を取り払って、グループ全体を示す住所、それがネットワークアドレスです。ですからやることは一つだけ。部屋番号の部分を全部ゼロにする。それだけです。 部屋番号をゼロにするだけ?ということは、最初の例、192.168.1.10で区切りが24の場合、部屋番号は10だからこれを0にして、答えは『192.168.1.0』になる、ということですか? 大正解です。それだけなんです。へぇー!では、2つ目の例。172.16.10.20で区切りが16の場合はどうでしょう? この場合の部屋番号は『10.20』でしたから、これを両方をゼロにして、『172.16.0.0』。その通りです。どうでしょう。計算しましたか? うわっ、してない!全くしてないです。衝撃的です。今まで一体何に悩んでいたんだろう。必死に2進数変換の表を覚えようとしたり、AND計算の練習をしたりしていたのが、まるで遠い昔のことのようです。 情報源の言葉を借りるなら、こういうことになります。『サブネットマスクが255になっている部分はそのまま書き写し、0になっている部分は機械的に0にする』これだけで基本問題の8割は解ける、と情報源は指摘しています。 8割も!ええ。もちろん、残りの2割に当たるより複雑な問題。例えば一つの町をさらに小さな複数の路地に分割するようなケースでは2進数の知識が必要になる場面もあります。 ですが、それは応用編です。まずはこの区切り線を見つけて部屋番号をゼロにする、という基本さえ押さえれば、IPアドレスの世界は決して怖くありません。 応用に行く前にまずこの8割をマスターするのが大事なんですね。そうなんです。私自身、昔資格の勉強をしていた時にまさに2進数の泥沼にハマった経験がありまして。 一週間くらいひたすら変換表とにらめっこして、もう嫌になっていた時に、先輩のエンジニアがホワイトボードにすっと一本の線を引いて、『要はここが区切りってことだけだよ』と教えてくれたんです。 あの時の頭の中の霧が晴れるような感覚は今でも忘れられません。まさに僕が今感じている感覚です。だから、今運転中にこの話を聞いているあなたも、頭の中でイメージするだけで解けますよ。 数字の羅列に線を引いて、右側をゼロにするだけです。計算はしなくてもいいんです。いやあ、本当に気が楽になりました。今日の話のポイントは、IPアドレスは計算するのではなく、区切り線を探すゲームだと捉えること。 そしてその区切り線はサブネットマスクという標識が親切に教えてくれる、ということでしたね。まさにその通りです。町の名前と部屋番号という見事なアナロジーと、区切りを意識したリズム。 この2つの道具を使うだけで、一見すると無機質で難解な数字の羅列が、すごく直感的に意味のある情報として立ち上がってくる。この体験は本当に面白いです。 ええ。今回のように難しい専門用語や数式も、その本質的な構造をシンプルに表現する、上手い比喩やリズムを見つけるだけで、見える景色が全く変わることがあります。これはIPアドレスに限った話じゃないかもしれないですね。 他の分野でも応用できそうです。そうなんです。そこで、最後にあなたに一つ、問いを投げかけてみたいと思います。あなたが今、難しいと感じている他の分野。 それは仕事のプロジェクトかもしれませんし、新しい趣味、あるいは人間関係かもしれません。そこでもししかしたらあなたは複雑な計算や膨大な暗記、つまり力技で乗り越えようとしているのでしょうか?でももしからしたら、ただ『どこに区切り線があるのか』、つまりどこまでが変えられない前提で、どこからが自分がコントロールできる部分なのか。その境界線を見つけるだけで、一瞬で全体像を理解し、次の一手が見えることがあるかもしれません。あなたの区切り線はどこに引けそうでしょうか?

このコンテンツは Web society で視聴・学習できます。