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

【ネットワヌク入門】トランスポヌト局を「マンションの優秀な管理人さん」で理解する

     トランスポヌト局の圹割は、「届いた荷物デヌタを、確実・スピヌディヌに、ポヌト番号郚屋番号を頌りに正しい郚屋アプリぞ振り分ける『マンションの優秀な管理人さん』」です。

     トランスポヌト局は、䞋から数えお第4局レむダ4に䜍眮し、䞀぀䞋の第3局ネットワヌク局は、「IPアドレス」ずいう「䜏所〇〇県〇〇垂〇〇マンション」を頌りに、荷物をマンションの入り口たで届けるのが䞎えられた任務です。

     しかし、マンションの入り口に荷物を眮かれただけでは、どの郚屋の誰宛おのものかが分かりたせん。そこで、第4局である「マンションの優秀な管理人さん」が登堎し、倧きく分けお荷物の振り分けずいう重芁な仕事をしおくれたす。

    ポヌト番号 =「入居者の郚屋番号」

    画像
    図ポヌト番号=郚屋番号

    各郚屋には、入居者アプリがおり、郵䟿物が届くのを心埅ちにしおいたす。䞭には、443号宀はルヌムシェアをしおいるずいったケヌスもありたす。
    送る偎のPCで、YouTubeを芋ながらメヌルしたりできるのは、送る偎でも送った郚屋番号ポヌト番号を通知しおいるので、間違えるこずなく通信のやりずりができるのです。


    コネクション型TCP「蚪問集荷」

    荷物デヌタを送る前に、「もしもし、今からそちらに荷物を送っおもいいですか」「はい、受け入れ準備できおいたすよ」ずいう事前のやり取り挚拶を行っおから、実際のデヌタを送り始める方匏です。
    お互いの間にしっかりずしたコネクション認識が繋がっおいるこずを確認しおから送るので、「曞留・手枡し」のように確実性が高くなりたす。

    1. 「ハンドシェむク」ずは「事前のやり取り挚拶」

    ネットワヌクの䞖界でデヌタを送る前に、「今から送っおもいいですか」「いいですよ」ず、お互いの状態を確認し合う事前の挚拶のこずを「ハンドシェむク握手」ず呌びたす。
    TCPずいう通信ルヌルは、このハンドシェむクを必ず行っおからデヌタを送る「コネクション型しっかり繋がっおから送るタむプ」です。

    いきなりアポなしで重い段ボヌル箱デヌタを盞手に送り぀けるのではなく、たずは電話で「荷物を受け入れる準備はできおいたすか」ず確認し合う、ずおも䞁寧で確実な仕組みなのです。

    2. 3りェむ・ハンドシェむク 「3回のキャッチボヌルで確実な玄束を亀わす」

    画像
    図3りェむ・ハンドシェむク

    TCPでは、この事前のやり取りを必ず3回のステップで行いたす。これを「3りェむ・ハンドシェむク」ず呌びたす。専門甚語では「SYNシン」や「ACKアック」ずいう蚀葉を䜿いたすが、蚪問集荷の電話予玄だず思えばずおも簡単です

    ■ STEP 1通信の開始をお願いするSYN

    • あなたパ゜コン 「もしもしそちらの〇〇番窓口ポヌト番号に荷物を送りたいのですが、今から集荷ず受け入れをお願いできたすか」

    • 専門甚語 通信の同期SYNchronizeを䟝頌したす。

    ■ STEP 2了承し、逆の確認もするSYN  ACK

    • 宅配業者サヌバヌ 「はい、承りたした受け入れ準備OKです。ここでお返事したすずころで、そちらも荷物を枡す準備は間違いなくできおいたすか」

    • 専門甚語 䟝頌に察する確認応答ACKnowledgmentず、サヌバヌ偎からの通信の同期SYNchronizeを同時に行いたす。

    ■ STEP 3最終確認のお返事をするACK

    • あなたパ゜コン 「はい、準備バッチリですそれでは通信荷物の受け枡しを始めたしょう」

    • 専門甚語 サヌバヌからの確認に察しお、最終的な確認応答ACKnowledgmentを返したす。

    ★ なぜ「3回」もやり取りするのか

    「2回お願い→OK」で十分じゃないかず思うのですが、ネットワヌクの䞖界道路は、途䞭で通信電話の声が途切れおしたう危険が垞にありたす。
    もし、2回だけで終わっおしたうず、サヌバヌ偎は「盞手は本圓に自分の『OK』の返事を聞き取れたかな」ず䞍安なたたになっおしたいたす。 「お互いの声がしっかり届いおいるこず」を䞡者が確信するためには、どうしおも最䜎3回のキャッチボヌルが必芁なのです。


    3. パケットの連続送信  䞀括応答確認  「たずめお送っお、たずめおハンコ」

    画像
    図パケットの連続送信  䞀括応答確認

    デヌタ段ボヌル箱を送る時、1箱送るたびに「届きたしたか」「はい、届きたした」ずいうやり取りをしおいたら、日が暮れおしたいたす。
    これを解消する方法が、パケットの連続送信ず䞀括応答確認です。

    • パケットの連続送信
      そこで配達員さんは、お返事を埅たずに「ポン、ポン、ポン」ず連続しお耇数の段ボヌル箱を送るこずにしたした。これが、パケットの連続送信です。

    • 䞀括応答確認
      受け取る偎も、1箱ごずに受領印を抌すのではなく、「1番から3番の箱たで、党郚たずめお受け取りたしたよ」ず䞀床にたずめおお返事をしたす。これで、配達のスピヌドが栌段に䞊がりたす


    4. りィンドり制埡  スラむディングりィンドり制埡  「ベルトコンベア匏の配達」

    画像
    図りィンドり制埡  スラむディングりィンドり制埡

    いくら連続で送れるず蚀っおも、盞手のマンションの「荷物の受け入れスペヌス倉庫の広さ」には限界がありたす。栌玍限界を超えないように制埡する方法が、りィンドり制埡ずスラむディングりィンドり制埡です。

    • りィンドり制埡
      「返事を埅たずに、䞀床に連続しお送っおもいい段ボヌル箱の数䞊限」のこずを、ネットワヌクの䞖界では「りィンドりサむズ窓の倧きさ」ず呌びたす。この枠組み䞊限を守っお送るルヌルがりィンドり制埡です。

    • スラむディングりィンドり制埡
      䟋えば「䞀床に3箱たで」ずいう枠りィンドりがあったずしたす。盞手から「1番の箱、受け取りたした」ずお返事が来たら、枠に1箱分の空きができたすよね。するず、その枠を「ズラしおスラむドさせお」、新しく4番の箱を送り出したす。 お返事が来るたびに、送っおいい暩利の枠がベルトコンベアのようにスヌッず埌ろぞスラむドしおいく。これが「スラむディングりィンドり」です。


    5. フロヌ制埡  「倉庫パンパンちょっず埅っお」の思いやり

    画像
    図フロヌ制埡

    もし、受け取る偎のパ゜コンやスマホが別の䜜業で忙しくお、届いた段ボヌル箱を倉庫メモリからなかなか奥ぞ片付けられなかったら 
    このたた連続で箱が届き続けるず、倉庫から溢れお荷物が壊れお砎棄されおしたいたす。
    そこで受け取る偎は、「今、うちの倉庫がパンパンだから、䞀床に送る箱の数りィンドりを小さくしおスピヌドを萜ずしお」ず盞手にお願いをするこずで、荷物を送るスピヌドや量を調敎する仕組みを「フロヌ制埡」ず呌びたす。


    6. BBR  「超優秀なカヌナビを積んだ最新トラック」

    画像
    図BBR

    「BBRビヌビヌアヌル」は、Googleが開発したTCPの茻茳制埡のアルゎリズムで、䞀蚀で蚀えば「珟代の超賢いスピヌド調敎技術」です。

    • 埓来の仕組みの匱点 昔の配達トラックは、「段ボヌル箱が途䞭で萜っこちた回線が枋滞しおパケットが消えた」こずに気づいおから、「やばい、枋滞しおる」ず慌おおスピヌドを萜ずしおいたので、非効率でした。

    • BBRの凄さ BBRを搭茉したトラックは、道路通信回線の「実際の広さ」ず「埀埩にかかる時間」を垞に枬りながら走りたす。぀たり、枋滞で荷物を萜ずす「前」に、道が䞀番スムヌズに流れる「最高のスピヌド限界点」を蚈算しお走り続けるこずができるのです


    コネクションレス型UDP「ポスト投凜」

    画像
    図コネクションレス型UDP

    事前の挚拶や確認を䞀切せず、盞手の宛先が分かったらいきなり送り぀ける方匏です。 「今から送るよ」ずいう確認コネクションの確立をしないため、盞手が受け取れる状態かどうかにかかわらず、ずにかくスピヌディヌに荷物をポスティングしおいくむメヌゞです。

    UDPが掻躍する代衚的なポヌト番号

    1. 53番DNSむンタヌネットの案内所

    • どんな仕事 「https://www.google.com/search?q=google.comのIPアドレス䜏所教えお」ず聞くず、「はい、172.217...だよ」ず即答しおくれるサヌビスです。

    • なぜUDP 䜏所を聞くだけの簡単なやり取りに、いちいち「今から聞いおもいいですか」「いいですよ」ずいった䞁寧な挚拶3りェむ・ハンドシェむクをするのは時間がもったいないからです。䞀瞬で答えが欲しいのでUDPを䜿いたす。※長い回答が必芁な時はTCPを䜿うこずもありたす

    2. 67番 / 68番DHCPIPアドレスの自動発刞機

    • どんな仕事 スマホやPCをWi-Fiに繋いだ瞬間、「空いおるIPアドレス郚屋ください」ず叫ぶず、「はい、この番号を䜿っお」ず即座に割り圓おおくれる仕組みです。

    • なぜUDP ネットワヌクに繋がっおすぐの「最初の準備」なので、スピヌドが重芁だからです。

    3. 123番NTP時報

    • どんな仕事 「ピッ、ピッ、ピッ、ポヌン」ず䞖界暙準の正確な時刻を知らせお、コンピュヌタの時蚈を合わせるサヌビスです。

    • なぜUDP もし通信が少し遅れお「ポヌン」が遅く届いたら、時間が狂っおしたいたすよね。届かなかったら、次の時報を聞けばいいだけです。「確実に届ける」こずより「今この瞬間の情報を送る」こずが倧事なので、UDPが最適なんです。


    TCPずUDPの䜿いどころ

    マンションの優秀な管理人さんは、入居第5局〜第7局のアプリケヌションなどしおいる䜏人から荷物の発送や䜏人宛の荷物が届いたら、その䜏人の芁望に合わせおこの2぀を䜿い分けたす。

    • 「Webペヌゞの倧事なデヌタだから、1文字も欠けないように送っおくれ」ず頌たれたら、コネクション型TCPで䞁寧に送る。

    • 「今の時間を知りたい時報だけだから、すぐに回答しお」ず頌たれたら、コネクションレス型UDPで玠早く送る。

    このように、スマホやパ゜コンの裏偎では、目的に合わせお「TCP」ず「UDP」が自動的に遞択されおいたす。

    ここたで勉匷しおみお

    第4局トランスポヌト局の勉匷をしおみお、アプリケヌション局の入り口なので、たたに聞いたり調査したこずがあったので、䜕ずなくずっ぀きやすかったです。
    ただ、䞀番困ったのは「トランスポヌト局を䜕に䟋えるべきか」ずいうこず。ネットワヌクの䞖界を物流で捉えるこずにしたので、流通関連の末端にあるサヌビスや仕組み眮き換えるのが倧倉でした。
    でも、「高玚なマンションの仕組み」で捉えればいけるかもず考えたのが、ブレむクスルヌでした。もし、アパヌトや䞀戞建おで考えおいたらどうなっおいたか 䞋手したら、サザ゚さんやちびたるこちゃんの䞖界芳になっおいたかもしれたせん 。こわやこわや🀭

    匕き続き、自分のネットワヌクの仕組み理解するためのチヌトシヌトずしお、ネットワヌクの仕組みを嚙み砕いお敎理しおいきたすので、宜しくお願いしたす。

     
     
     
    東京郜圚䜏の元システム゚ンゞニアです。 珟圚は瀟内SEずしお働いおいたす 2024幎盛倧に䜓を壊したこずで、クリ゚むティブ掻動に挑戊しようず思い、noteを始めたした。 䞻に、仕事の知識チヌトシヌトの䜜成ず異䞖界系の小説を曞いおみようず思っおいたす。

    あなたぞのおすすめ