インターネット基礎

以下の記事のバックエンドエンジニアロードマップのインターネットに特化してまとめてみました。 https://github.com/kamranahmedse/developer-roadmap

インターネットに繋がる仕組み(他のデバイスとの通信)

用語 意味
ISPインターネットサービスプロバイダー インターネット接続を提供する事業者
モデム ネット回線の信号をデジタル信号に変換する装置

全体像

バイスAからデバイスDにメッセージを送信したい場合の流れ

  1. バイスAがメッセージをルーターに送信
  2. ルーターがメッセージをモデムに送信
  3. モデムがデジタル信号を回線が管理可能な情報に変換してISPネットワークを経由して外部ネットワークへ接続する
  4. 様々なルーターをたどり目的のデバイスへメッセージを送信する

URLを入力して、ブラウザにページが表示される仕組み

用語 意味
パケット データがWebを介して送信されるときに小さなデータに分割されたもの
小さくすることで回線を占有しないため多くのユーザーが同じウェブサイトを同時にダウンロードすることができる
DNSゾル ドメインからIPアドレスを照会するソフトウェア(その逆も)
DNSルックアップ DNSゾルバを用いて、ドメインからIPアドレスを照会すること
ドメイン IPアドレスエイリアス

image.png

DNSとは

  1. ユーザーがWebブラウザを開き、アドレスバーに www.example.com を入力してEnterキーを押します
  2. リクエストは DNSゾルバーにルーティングされます。ここでIPアドレスがキャッシュされていればIPアドレスを返却し、ない場合はDNSルックアップを行う。通常、DNSゾルバーはユーザーのISP によって管理されます。
  3. ISPDNSゾルバーからリクエストが、DNSルートネームサーバーに転送されます。
  4. ISPDNS Resolverからリクエストが今度は .com ドメインいずれかの TLDネームサーバーに再び転送されます。
  5. ISPDNS Resolverからリクエストが今度は .comドメインのいずれかのTLD ネームサーバーに再び転送されます。
  6. .comドメインのネームサーバーは example.com ドメインに関連づけられている AmazonRoute53 ネームサーバーの名前でリクエストに応答します。
  7. ISPDNS ResolverはAmazonRoute53ネームサーバーを選択し、リクエストをそのネームサーバーに転送します。
  8. Amazon Route 53 ネームサーバーは、example.com ホストゾーンで www.example.com レコードを検索し、関連付けられた値 (ウェブサーバーの IP アドレス 192.0.2.44 など) を取得して、IP アドレスを DNSゾルバーに返します。
  9. 最終的に、ISPDNSゾルバーには、ユーザーが必要とする IP アドレスが存在します。リゾルバーは、その値をウェブブラウザに返します。DNSゾルバーでは、指定された期間、example.com の IP アドレスがキャッシュされるため、次に誰かが example.com を参照すると、より迅速に応答できます。
  10. IPアドレスに対して、スリーウェイハンドシェイクを介して、TCPソケットを確立する
  11. ウェブブラウザは、DNSゾルバーから取得したIPアドレスにリクエストを送信します。
  12. 192.0.2.44 にあるウェブサーバーやその他のリソースからウェブブラウザに www.example.com のウェブページのパケットが返され、ウェブブラウザでパケットを組み立てて表示します。

参考

GitHub - kamranahmedse/developer-roadmap: Roadmap to becoming a web developer in 2021

Domain name - MDN Web Docs Glossary: Definitions of Web-related terms | MDN

DNS - MDN Web Docs Glossary: Definitions of Web-related terms | MDN

How the Web works - Learn web development | MDN

How does the Internet work? - Learn web development | MDN

Populating the page: how browsers work - Web Performance | MDN

ホスティングとは?意味・種類・違い・サービスを解説 | ボクシルマガジン

An overview of HTTP - HTTP | MDN

インターネットの仕組みとISPの構造