4 ポイント 投稿者 GN⁺ 2023-12-06 | 1件のコメント | WhatsAppで共有

要約タイトル: インターネットパケットの旅とBGPプロトコルの役割

  • インターネットを通じてデータがどのように転送されるかを追跡する traceroute 機能を説明する記事。
  • ユーザーのコンピュータから始まり、ルーター、ISP、そして最終目的地のサーバーまでパケットが移動する過程を扱う内容。
  • ktr という、結果をリアルタイムにストリーミングする traceroute プログラムを使って、各段階でパケットが通過するサーバーを追跡。

インターネットパケットの旅

  • ユーザーのコンピュータがルーターとの通信を開始し、このルーターは ISP ネットワークへの入口となる。
  • Linode のネットワークを経由して最終的にサーバーに到達する過程が traceroute によって追跡される。

ウェブサイトのフロントエンド

  • JavaScript を無効にした状態でもウェブサイトは正常に動作する。
  • サーバーが HTTP リクエストを受け取り traceroute を開始し、結果が出るたびにウェブページへリアルタイムで表示される。

パケット経路の逆追跡

  • 実際にはサーバーからユーザーのコンピュータへの traceroute を実行し、その経路を逆向きに追跡している。
  • 実際のインターネットルーティングではパケットが別の経路を通ることもあるが、おおむね似た経路に従う。

ネットワークの定義

  • 各ネットワークは自律システム(AS)と呼ばれ、相互接続されたルーターとサーバーの集合である。
  • AS の所有者は他の AS との接続を通じてインターネットの構造を決定する。
  • インターネットは、企業所有のネットワークが金融取引と官僚的な手続きによって結びついている構造である。

WHOIS 情報

  • WHOIS プロトコルを使って、各 IP アドレスが属する自律システム(AS)の所有情報を照会する。
  • WHOIS サーバー管理者が作った構造に従って、さまざまなサーバーから情報が提供される。

BGP プロトコル

  • BGP(Border Gateway Protocol)は、AS 間の境界ルーターがパケットを次のネットワークへ転送する際に使うプロトコルである。
  • BGP はインターネットの形を決定し、各 AS のルーターは BGP を通じてルーティングテーブルを共有する。

歴史的背景

  • インターネットの初期形態である ARPANET の始まりから、BGP プロトコルの発展までの歴史を説明する。
  • BGP v4 は現在でも使われているインターネットルーティングの主要プロトコルである。

GN⁺ の意見

この記事で最も重要な部分は、インターネット上でデータパケットがどのような旅をたどるのかをリアルタイムで追跡できる traceroute 機能と、その過程で中核的な役割を果たす BGP プロトコルの説明である。この記事は初級ソフトウェアエンジニアがインターネットの複雑な構造を理解する助けとなり、インターネットが単なる技術的構造ではなく、さまざまな企業と政策が絡み合った複雑な生態系であることを示すことで興味を引く。

1件のコメント

 
GN⁺ 2023-12-06
Hacker Newsの意見
  • Lexi は17歳の若い開発者で、コンピュータの動作原理への深い理解と、新しい可視化手法に関心を持っている。

    • cpu.land の公開後、次の大きなプロジェクトに対するプレッシャーを感じていた。
    • 個人プロジェクトを進める中で偶然インターネットの仕組みを学び、Webサイトへリアルタイムでストリーミングできる traceroute プログラムを開発した。
    • インターネット構造を可視化する新しく興味深い方法だと捉え、サイトを洗練させ、関連知識を共有する記事と組み合わせた。
    • コードはいずれ壊れるだろうと見込んでおり、提案があれば知らせてほしいと求めている。
    • Rust を選んだ理由は、高速で信頼できる低レベルプログラムを書けることと、Rust のエラー処理機能のため。
  • BGP はインターネットの形を決めるプロトコルであり、個人が直接使えるものではない。

    • ASN を取得して BGP を使うのは意外と簡単で、興味があれば試してみることを勧めている。
  • これはサーバーがユーザーのコンピュータに到達する方法を逆順で示したものであり、各方向のルーティングは大半の場合かなり異なる。

  • traceroute の動作方式に関する論文が勧められており、traceroute が対称的とは限らない点を多くの人が見落としている。

  • WHOIS プロトコルのパーサー開発は事実上不可能で、応答形式が自由すぎる。

    • 過去には大半のアドレスやドメイン向けに場当たり的なパーサーを作れたが、現在はプライバシー保護の盾の背後に隠されている。
    • ICANN は公開 WHOIS サーバー提供のルールを実施せず、廃止してしまった。
  • ICMP ECHO トレースの代わりに、クライアントブラウザと Web サーバー間の既存の HTTP TCP 接続を使うことで、クライアント側の NAT および/またはステートフルファイアウォールを通過できる。

  • 逆方向 traceroute に関する過去の研究も紹介されている。

  • TCP セッションのパケットは、インターネット上で非対称な経路を使うことが多く、これはコストや人的ミスに関わるビジネスルールが原因であることが多い。

  • traceroute よりも頻繁に使う mtr への言及があり、断続的なパケット損失の診断や平均的なフローの理解に役立つ。

    • MPLS が実際の経路を隠すことがある点、UDP トレースの有用性、多くのルーターが高負荷時に ICMP を選択的にドロップする点にも触れられている。
  • Lexi は TCP/IP と OSI モデルの全7層への深い理解に加え、フロントエンドおよびバックエンド開発、組み込みハードウェア、モバイルアプリ、コンパイラにも精通している。

    • さらに、ロッククライミング、セスナ機の操縦、ロボット製作、チェロ演奏と作曲など、多様な分野で卓越した才能を持っている。