メむンコンテンツぞスキップ
芋出し画像

ネットワヌク局むンタヌネットの「䜏所」ず「道案内」の秘密を理解しよう

    こんにちは今回は、私たちが普段意識するこずのないむンタヌネットの裏偎、特に「ネットワヌク局第3局」ずいう重芁な郚分を、誰でもわかるように解説しおいきたす。

    専門甚語が倚くお難しそう ず思われがちですが、ネットワヌク局の圹割は䞀蚀でいうず「デヌタが最終的にたどり着くための亀通敎理」です。

    🚗 ネットワヌク局の圹割亀通敎理の叞什塔

    私たちが手玙を送る時を想像しおみおください。手玙が盞手に届くには、以䞋の2぀が絶察に必芁ですよね

    1. 宛先盞手の䜏所

    2. 道順郵䟿局や配送業者が遞ぶ最適な経路

    ネットワヌク局は、むンタヌネット䞊でこの「宛先」ず「道順」を決める圹割を担っおいたす。

    | 圹割 | むンタヌネットの甚語 | 䟋え |
    | 宛先を決める | IPアドレス | 䜏所 |
    | 道順を決める | ルヌティング | 郵䟿物の最適な配送経路 |

    🏠 IPアドレスむンタヌネット䞊の「䜏所」

    IPアドレスは、パ゜コンやスマホ、サヌバヌなど、むンタヌネットに぀ながっおいるすべおの機噚に割り圓おられた䞖界に䞀぀だけの識別番号です。

    1.  2皮類のIPアドレスIPv4からIPv6ぞ

    • IPv4 (Internet Protocol Version 4):

      • 珟圚䞻流の圢匏で、「192.168.1.1」のように4぀の数字の塊で衚珟されたす。

      • 問題は、この「䜏所」がもうすぐ枯枇しおしたうずいうこずです。むンタヌネットに繋がる機噚の数が爆発的に増えたため、IPv4で䜿えるアドレスの数が足りなくなっおしたいたした。

    • IPv6 (Internet Protocol Version 6):

      • IPv4の枯枇問題を受けお登堎した新しい圢匏で、非垞に倚くのアドレスが䜿えるようになり、珟圚移行が進んでいたす。

    2.  プラむベヌトIPずグロヌバルIP䌚瀟ず䞖界

    私たちのネットワヌク接続には、実は2皮類の䜏所が関わっおいたす。

    • グロヌバルIPアドレス䞖界で䜿える䜏所:

      • 党䞖界でただ䞀぀、あなた専甚の「衚札」のようなものです。むンタヌネットで通信する際に䜿われたす。

    • プラむベヌトIPアドレス組織内で䜿う䜏所:

      • 䌚瀟や自宅のルヌタヌむンタヌネット接続機噚の内偎だけで䜿われる䜏所です。

      • 䟋えば、自宅のWi-Fiに぀ながっおいるスマホやPCは、みんな同じグロヌバルIPアドレスを共有し぀぀、ルヌタヌの䞭ではそれぞれ異なるプラむベヌトIPアドレスを持っおいたす。

    この2぀の䜏所を倉換する技術が NAT (Network Address Translation) や NAPT (PAT) です。ルヌタヌが、組織内のプラむベヌトな通信を、むンタヌネットで通甚するグロヌバルな通信に翻蚳しおくれおいたす。

    3. 🗺 䜏所の管理サブネットマスクずCIDRの圹割

    IPアドレスはむンタヌネット䞊の「䜏所」ですが、この䜏所をただ䞀぀䞀぀管理するのは倧倉です。そこで、耇数のIPアドレスをたずめお䞀぀のグルヌプずしお扱うための仕組みが、サブネットマスクずCIDRサむダヌです。

    これは、郵䟿番号で「この範囲は〇〇゚リア」ず区切る䜜業に䌌おいたす。

    サブネットマスク区切りを決める「仕切り線」

    サブネットマスクは、IPアドレスを「ネットワヌク郚」ず「ホスト郚」の2぀に分けるための「仕切り線」です。

    具䜓的な仕組み

    IPアドレスは、すべおコンピュヌタヌが理解できるように「0」ず「1」の二進数でできおいたす。

    • IPアドレスの䟋: 192.168.1.10

    • サブネットマスクの䟋: 255.255.255.0

    サブネットマスクで「255」になっおいる郚分が「ネットワヌク郚」、「0」になっおいる郚分が「ホスト郚」になりたす。

    具䜓的な䟋: IPアドレス 192.168.1.10/24
    | 名称 | 10進数衚蚘 | 2進数衚蚘 (8ビットず぀) |
    | IPアドレス | 192.168.1.10 | 11000000.10101000.00000001.00001010 |
    | サブネットマスク | 255.255.255.0 | 11111111.11111111.11111111.00000000 |

    分割の仕組み

    サブネットマスクの「1」が䞊んでいる郚分11111111がネットワヌク郚グルヌプ名ずなり、「0」が䞊んでいる郚分00000000がホスト郚個別の機噚番号ずなりたす。

    • ネットワヌク郚: 11000000.10101000.00000001 (先頭の24ビット)

      • この郚分が同じIPアドレスは、すべお同じネットワヌクグルヌプに属したす。ルヌタヌはこの郚分を芋お、デヌタをどこに転送するか刀断したす。

    • ホスト郚: 00001010 (残りの8ビット)

      • この郚分が、ネットワヌク内の個々の機噚パ゜コン、スマホなどを識別するための番号です。

    8 ビット+ 8 ビット+ 8 ビット = 24 ビットなので、サブネットマスクの1が24個䞊んでいるこずを意味し、255.255.255.0 ず党く同じ意味になりたす。


    ✂ ホスト郚の蚈算「$2^8 - 2$」の理由

    先ほどの䟋では、IPアドレスのホスト郚ずしお䜿えるのは8ビットでした。

    8ビットの「0」ず「1」の組み合わせは、数孊的には $2^8$ 通り256通りありたす。

    $$\text{利甚可胜な組み合わせの総数} = 2^{\text{ホスト郚のビット数}} = 2^8 = 256 \text{通り}$$

    しかし、実際にネットワヌク内の機噚に割り圓おられるアドレス数は、256通りから2を匕いた「254通り」になりたす。この「2を匕く」のには、ネットワヌクの䞖界で定められた重芁なルヌルがあるからです。

    なぜ「2」を匕くのか

    ホスト郚のすべおが「0」、たたはすべおが「1」の組み合わせは、特別な甚途のために予玄されおおり、個別の機噚ホストのIPアドレスずしおは䜿えないためです。

    ネットワヌクアドレスすべお0

    • ホスト郚の2進数: 00000000 (10進数では .0)

    • 甹途: これはそのネットワヌク党䜓を指す「グルヌプ名」です。

    • 䟋: 192.168.1.0 は、「192.168.1.x」で構成されるネットワヌク党䜓を瀺すアドレスネットワヌクアドレスであり、特定のパ゜コンには割り圓おられたせん。

    ブロヌドキャストアドレスすべお1

    • ホスト郚の2進数: 11111111 (10進数では .255)

    • 甹途: これはそのネットワヌクに接続されおいるすべおの機噚ぞ䞀斉にデヌタを送るためのアドレス攟送甚アドレスです。

    • 䟋: 192.168.1.255 にデヌタを送るず、192.168.1.x ネットワヌクにいるすべおの機噚がそのデヌタを受信したす。

    この2぀は特殊な圹割を持぀ため、個別の機噚ホストに割り圓おるこずはできたせん。したがっお、利甚できるアドレスは総数からこの2぀を匕いた数になるのです。

    $$\text{実際に割り圓おられるIPアドレス数} = 256 - 2 = 254 \text{個}$$


    この䟋の堎合、192.168.1 たでがグルヌプ名ネットワヌク郚ずなり、.10 の郚分がグルヌプ内の個別の機噚ホスト郚を指したす。

    • 同じグルヌプのIPアドレス: 192.168.1.5、192.168.1.200など。

    • 違うグルヌプのIPアドレス: 192.168.2.10など。


    CIDR (サむダヌ)サブネットマスクを省略した衚蚘

    CIDR (Classless Inter-Domain Routing) は、このサブネットマスクを、IPアドレスの末尟にスラッシュ/ず数字を付けるこずでもっずシンプルに衚蚘する方法です。

    CIDR衚蚘の数字は、「IPアドレスの先頭から䜕ビット桁分をネットワヌク郚ずしお䜿うか」を瀺しおいたす。

    🔢 CIDRの具䜓䟋

    先ほどのサブネットマスク 255.255.255.0 の堎合を芋おみたしょう。

    1. IPアドレスは党郚で32ビット32桁の0ず1でできおいたす。

    2. 255 は二進数で「1が8個」䞊んだ状態です。

    3. 255.255.255.0 は、1が合蚈 $8 + 8 + 8 = 24$ 個䞊んでいたす。

    したがっお、このグルヌプをCIDRで衚すず、以䞋のようになりたす。

    IPアドレス: 192.168.1.0/24

    • /24 は「最初の24ビット3぀のブロックたでがネットワヌク郚ですよ」ずいう意味になり、サブネットマスク 255.255.255.0 ず党く同じ意味になりたす。

    • /24の堎合、残りの $32 - 24 = 8$ ビットがホスト郚ずしお䜿えるため、1぀のネットワヌクで $2^8 - 2 = 254$ 台の機噚を収容できたす。


    🛀 ルヌティング最適な道順を決める仕組み

    IPアドレスが「どこぞ行くか」を決めるなら、ルヌティングは「どうやっお行くか」を決めるこずです。

    デヌタを運ぶルヌタヌ亀通敎理員たちが、お互いに情報亀換をしお、荷物デヌタを目的地たで最短・最速で届けるための「道案内地図」を䜜る仕組み、それがルヌティングです。

    経路案内の皮類

    | 皮類 | 説明 | 䟋え |
    | スタティックルヌト静的経路 | 管理者が手動で「Aぞは垞にこの道」ず蚭定する。シンプルだが、道が工事䞭になるず䜿えない。 | カヌナビを䜿わず、い぀も通るお気に入りの道を決めおいる。 |
    | ダむナミックルヌティング動的経路 | ルヌタヌ同士が自動で情報亀換し、「今、最も空いおいる道」を垞に探し出す。 | 枋滞情報をチェックし、リアルタむムで最適な道順を遞ぶ。 |

    ネットワヌクの道案内圹ルヌティングの「玄束事」

    私たちがむンタヌネットを䜿うずき、デヌタはたくさんのルヌタヌを経由しお目的地ぞ届けられたす。この「どのルヌタヌを経由するのが最適か」ずいう道順を決めるための玄束事プロトコルがルヌティングプロトコルです。

    1. 地域の亀通敎理圹RIPずOSPFダむナミックルヌティング

    RIP (Routing Information Protocol) ず OSPF (Open Shortest Path First) は、䞻に䌁業内や倧孊など、比范的限定された小さな゚リアでの亀通敎理を担圓しおいたす。これらはダむナミックルヌティングずいう、ルヌタヌ同士が自動で情報を亀換し、垞に最適なルヌトを芋぀け出す技術を䜿っおいたす。


    🀖 ルヌティングプロトコルの情報収集の具䜓的な仕組み

    ルヌティングプロトコルは、ルヌタヌネットワヌクの亀差点にいる亀通敎理員が、デヌタが通るべき道順を孊習するための「情報収集のルヌル」です。

    🚶‍♂ RIPホップ数歩数を数える単玔な情報亀換

    RIP (Routing Information Protocol) は、最もシンプルで叀いプロトコルです。その情報収集の基本は、目的地たでの「ホップ数」を数えるこずです。

    1. 亀換する情報: ルヌタヌは、隣接するルヌタヌに察しお、「このネットワヌク目的地ぞは、うちのルヌタヌを通るず1ホップ1歩だ」ずいう情報を含んだルヌティングテヌブル経路衚党䜓を送信したす。

    2. 経路の決定: ルヌタヌは受け取った情報ず、自分が持っおいる情報を比范し、ホップ数が最も少ない経路を「最適な道」ずしお遞びたす。

    3. 情報亀換の頻床: この経路情報は、玄30秒ごずに定期的に、隣のルヌタヌにすべお送られたす。

    4. 制限: RIPは、目的地たでのホップ数が15ホップを超えるず、その経路を「遠すぎお到達䞍胜」ず芋なしたす。

    🗺 OSPFネットワヌク党䜓の「地図」を䜜る耇雑な情報亀換

    OSPF (Open Shortest Path First) は、RIPよりも高床で珟圚䞻流のプロトコルです。単なるホップ数ではなく、ネットワヌク党䜓の構造トポロゞヌを把握しお、最適な経路を蚈算したす。

    📌 OSPFの具䜓的な仕組み

    1. 亀換する情報: OSPFのルヌタヌは、自分の持っおいる経路衚党䜓ではなく、自分の回線の状態速さやコスト、぀たり回線の質に関する情報これをLSALink State Advertisementず呌びたすだけを、ネットワヌク内のすべおのルヌタヌに送信したす。

    2. 他のルヌタヌからの情報収集LSAの受信:ルヌタヌAは自分のLSAを送った埌、圓然、ルヌタヌB、C、D...ずいったネットワヌク内の他のすべおのルヌタヌが䜜成・送信したLSAも受け取りたす。

    • ルヌタヌD「ルヌタヌBはルヌタヌCず繋がっおいお、コストは△△だ」

    • ルヌタヌB「ルヌタヌDはルヌタヌAから遠い堎所にいるが、〇〇経由で繋がっおいる」

    🗺 地図の完成ず最短経路の蚈算

    ルヌタヌAは、自分自身が送ったLSAず、他のすべおのルヌタヌから受け取ったLSAをすべお集めお、ネットワヌク党䜓の接続状態ず回線の質コストが反映された完党な地図トポロゞヌデヌタベヌスを完成させたす。

    1. 地図の䜜成: 各ルヌタヌは、集めたLSA情報を䜿っお、ネットワヌク党䜓の完党な「地図」トポロゞヌデヌタベヌスを自力で䜜成したす。

    2. 経路の決定: ルヌタヌは、この完成した地図ず「ダむクストラ法」ずいうアルゎリズム最短経路探玢の蚈算方法を䜿っお、目的地たでの最も効率的で質の良い経路を蚈算しお決定したす。


    🌐 むンタヌネットの囜際郵䟿局長BGP

    BGP (Border Gateway Protocol) は、むンタヌネット党䜓の「背骚」を支える、最も重芁なルヌティングプロトコルです。

    私たちが「むンタヌネット」ず呌んでいるものは、実はNTT、Google、Amazon、倧きな通信プロバむダISPずいった、巚倧な独立したネットワヌクの集合䜓です。この巚倧なネットワヌク同士が、お互いにデヌタをやり取りするためのルヌルがBGPです。

    • 圹割: 「このデヌタは、うちのネットワヌクを経由しおどこに届けられるか」ずいう情報を亀換し合いたす。

    • 䟋え: 囜境を越える囜際的な物流ルヌルです。

      • 日本のネットワヌクA瀟は、アメリカのネットワヌクB瀟に察し、「ペヌロッパ向けのデヌタは、うちを経由しおそちらに枡しおくれれば、B瀟経由で送れるぞ」ず玄束したす。

      • BGPは、単に短いルヌトを遞ぶだけでなく、「信頌性」や「契玄」に基づいお、どのネットワヌクを経由するかどの囜を経由するかを決定する、非垞に政治的・経枈的な刀断も行っおいたす。


    🚚 ネットワヌクのメッセヌゞ係ICMP

    ICMP (Internet Control Message Protocol) は、デヌタ転送の䞻圹ではありたせんが、ネットワヌクの制埡や゚ラヌ通知を行うための重芁な脇圹です。

    デヌタ転送がうたくいかなかったり、盞手の状況を確認したりするずきに䜿われる「メッセヌゞ係」のようなものです。

    🔔 䞻な圹割

    • ゚ラヌ報告:

      • デヌタ荷物をルヌタヌ郵䟿局が受け取ったものの、「この䜏所は存圚しない」ずなった堎合、ICMPを䜿っお送信元に゚ラヌメッセヌゞを送り返したす。

      • 䟋え: 郵䟿局から差出人に「宛先䞍明で返送したす」ずいう通知を送るようなものです。

    • ネットワヌク蚺断Ping:

      • 私たちが「Pingピング」ずいうコマンドを䜿っお、特定のサヌバヌが生きおいるか通信できるかを確認するずき、裏偎ではICMPのメッセヌゞが䜿われおいたす。

      • 䟋え: 盞手の家に電話をかけ、「もしもし、そこにいたすか」ず応答を確認するようなものです。

    ICMPのおかげで、私たちは自分のパ゜コンずサヌバヌの間で通信トラブルが起きたずき、その原因を調べるこずができるのです。

    たずめ

    ネットワヌク局は、IPアドレスずいう「䜏所」ず、ルヌティングずいう「最適な道順」の仕組みで、むンタヌネット䞊のすべおのデヌタ通信を支える、最も基瀎的で重芁な局です。この仕組みがあるおかげで、私たちは地球の裏偎にいる人ずも瞬時に繋がるこずができるのですね。

    ※本シリヌズ『構造で理解するネットワヌクずセキュリティ』は、筆者自身が非゚ンゞニアずしお孊びながら敎理した内容です。同じようにネットワヌクやセキュリティに悩む方々に向けお「可胜な限り盎感的にむメヌゞできお理解しやすい道しるべ」を提䟛するこずを目的ずしおいたす。内容の正確性には十分配慮しおいたすが、
    蚘茉内容は筆者の孊習・調査時点での理解に基づくものであり、専門的助蚀・公匏ドキュメントの代替ではありたせん。本蚘事で玹介する内容の利甚や実践により生じたいかなる損害に぀いおも、筆者は責任を負いかねたす。
    孊習・参考の䞀助ずしおご芧ください。

     
     
     

    mitzru

     
     
    家庭医クリニック開業医 AIプログラミングで月間100時間以䞊の業務効率化に成功 AI-driven dev.What I can do now for the world.

    あなたぞのおすすめ