インターネットの仕組みをザックリと理解する

インターネットを有効活用するために
専門用語も含め、大まかな仕組みがわかっていると役立ちます😊
そこで、ザックリ^^;とまとめました

目次
  1. インターネットとは
    1. TCP/IPモデル
  2. インターネットに参加するには
    1. 回線業者とISP
    2. PPPoE接続とIPoE接続
  3. 通信の仕組み
    1. 通信先の住所(IPアドレスなど)
    2. パケット交換
    3. モデム / ONU とルーターの役割
  4. 通信の流れ
    1. 全体の流れ
    2. 配送

インターネットとは

インターネットは世界中のコンピュータがつながっている地球規模の情報通信網!!
家や会社などの単位ごとに作られた1つのネットワーク(プライベートネットワーク)が、外のネットワークともつながる仕組みです

インターネットのイメージ図

家のWiFiでパソコンとスマートフォンを使っていたら
パソコンとスマートフォン(プライベートネットワーク内)は無線LANでつながり、ルーターから外のネットワークへとつながっています

??😅

インターネットとは、インターネット・プロトコル・スイートを使用し、複数のコンピュータネットワークを相互接続した、地球規模の情報通信網のことである。省略してネットとも呼ばれる

インターネットでは、「インターネット・プロトコル・スイート」(あるいは「TCP/IPプロトコル・スイート」)と呼ばれる、一種の標準化された通信プロトコルと概念モデル(OSI参照モデル)を組み合わせて明確に提供することで、世界中のネットワークとネットワーク、ネットワーク機器とネットワーク機器の相互接続を可能にし、「ネットワークのネットワーク」が実現している

wikipedia

TCP/IPモデル

「インターネットとは、インターネット・プロトコル・スイートを使用し、複数のコンピュータネットワークを相互接続した、地球規模の情報通信網」
・・・ってどういうこと???

異なる機器同士、コンピュータ同士で通信するには、送る側と受ける側で共通の「通信の約束事」(プロトコル)に従う必要があります

日本語しかわからない人に英語で話しかけても通じないので、ここでは日本語で話しましょうと約束するイメージです

複数のプロトコルが階層になっています(プロトコルスイートと言います)
TCP/IPモデルという標準的に利用されているモデルです

階層層の名称 (プロトコルの例)
4アプリケーション層(HTTP・SMTP・FTP・DNS)
3トランスポート層(TCP・UDP)
2インターネット層(IP)
1ネットワークインタフェース層(イーサネット、WiFi、PPPなど)

OSI参照モデルという国際標準化機構(ISO)のモデルは7階層でもっとややこしい

階層になっている理由は、「他の階層がどうなっているか?」を知る必要がないからです
他の階層に依存することなく、追加や変更ができます

例えば、1層の「イーサネット」はパソコンなどの機器を有線接続する時のルールです
イーサネットがあるからメーカーが異なる機器同士でも接続できます(例:LANケーブルが差せる)
その他のプロトコルのー例

HTTP
ウェブサイトのために用いられるプロトコル
SMTP
メールを送信するためのプロトコル
FTP
ファイルを転送するためのプロトコル
TCP
届いたことを確認しながら送信する信頼性を保証するプロトコル
UDP
とりあえずデータを送りまくる速度重視のプロトコル
IP
通信相手を特定するためのIPアドレスに基づいて、パケットを宛先ネットワークやホストまで届ける(ルーティング)ためのプロトコル

この共通のルールで通信する通信網が「インターネット」と呼ばれ、地球規模の通信網になりました😊
(余談)
1969年にインターネットの起源である「ARPANET」が、アメリカ国防総省の高等研究計画局で構築されました
インターネットの歴史は約半世紀!!

インターネットに参加するには

「ネットワークのネットワーク」
・・・ってどういうこと

地球儀の画像の赤いマルは、ほぼインターネットサービスプロバイダ(ISP)です
そこに所属することで家からインターネットへの道ができます

大きすぎるネットワークを分散して管理することで、誰でも参加できる地球規模のネットワークが実現しています

回線業者とISP

インターネットに参加するには
回線業者と契約して必要な機器を設置、回線をつなぎます(物理的な部分)
そして、インターネットサービスプロバイダ(ISP)と契約します
*ISPと契約することで初めてインターネットに接続できます(回線業者と一体で契約する場合もある)

ISPはインターネットとの接続以外にもいろいろなサービスを無償または有償で提供しています

  • レンタルサーバー
  • 独自ドメイン取得手続きの代行サービス
  • メール
  • 迷惑メールやウイルス対策サービス
  • IP電話
  • 光ケーブルテレビやビデオオンデマンド

など

PPPoE接続とIPoE接続

2種類の接続方式があります

PPPoE接続
従来の接続方式で、ダイヤルアップ接続の認証方法をイーサネットへ応用したプロトコル
「ネットワーク終端装置(回線とISPを接続する)」を必ず通過します
ネットワーク終端装置が混雑する時間帯は速度が遅くなります
IPoE接続
新しい接続方式で、NTT東西の次世代ネットワークに直接接続してIP通信を行います(終端装置不要)
高速です
IPoE方式は本来、IPv6のみに対応しているため、IPv4のウェブサイトとはつながりません
そこで「IPv4 over IPv6」という技術を使うことでIPv4のウェブサイトも利用できるようになります

*「IPv4 over IPv6」を利用するには「契約しているプロバイダ」と「使用しているルーターなどの機器」が対応している必要があります

IPv4とIPv6

IPv4(インターネットプロトコル・バージョン4)
主流はIPv4です
(例:142.250.196.142)
32ビットで表現され約43億個と数に限りがあります
IPv4は不足しています
IPv6(インターネットプロトコル・バージョン6)
IPアドレス数が足りなくなるという状況から、次世代のプロトコルとして128ビットで表現されるIPv6が登場しました
(例:2400:4150:320:e800:6ee4:daff:fe2b:44e0)
128ビットは途方もない数でほぼ無限です
IPv6とIPv4は互換性がありません。IPv4アドレスを割り当てた機器とIPv6アドレスを割り当てた機器はそのままでは互いに通信できません
*IPv6に対応しているサービスはまだ多くありません

そもそも、IPアドレスとは

ネットワーク上の住所のようなもので、ネットワークにつながっている機器に割り当てられます
送信元や送信先を識別するために使います

余談ドメインとIPアドレスの関係(どちらも世界に1つだけのものが必要です)
https://google.com(GoogleのURL)の「google.com」の部分がドメインです
IPアドレスに変換すると「142.250.196.142」になります
通信時には、DNSというシステムがドメインをIPアドレスに変換しています

通信の仕組み

どこに、何を、どのように送るのか

通信先の住所(IPアドレスなど)

IPアドレスが足りない状態でもなんとかなっているのは、「裏技的な仕組み」があるからです

グローバルIPアドレス
ほかのアドレスと重複しない世界で1つだけのIPアドレス
多くの場合、ISPから動的に都度IPアドレスがルーターに割り当てられます
*IPアドレスを固定する契約も可能です
プライベートIPアドレス
ネットワーク内の機器を特定するためのアドレスでネットワーク内で重複しなければいい
家や会社などの単位ごとに作られた1つのネットワーク(プライベートネットワーク)内で使うIPアドレス
多くの場合、ルータのDHCP機能を利用し、自動で動的に割り当てられます(設定を簡単にするためです)
*固定の場合もあります(例えば、企業が社員のログ管理をするには固定にする必要があります)

ネットワーク内の差出人が「プライベートIPアドレス」だとインターネットに接続できません
では、プライベートIPアドレスでインターネットに接続する仕組みは?

NAT
「グローバルIPアドレス」と「プライベートIPアドレス」を変換する仕組みです
接続する時は「グローバルIPアドレス」で送信し、「グローバルIPアドレス」宛の返信は「プライベートIPアドレス」に戻すことで受け取れます
NAPT
NATの場合は「グローバルIPアドレス」1つに対して「プライベートIPアドレス」も1つです
そのため同時に複数の端末でインターネッに接続できません
それを解決するのがNAPTです
プライベートIPアドレスごとに使用するポート番号も割り当て、複数同時に接続できるようにします
本来の使い方ではないような ^^;
ポート番号
ポート番号とは通信するプログラムを識別するための番号です
0番~65535番まであります
コンピュータの「どのプログラム」にデータを送るかは、IPアドレスだけではわかりません
プログラムまでの住所はIPアドレスのあとに「:ポート番号」をくっつけます
ウェルノウンポート番号(よく使う有名なプログラムのポート番号、例:HTTPは80番ポート)は省略できるのでURLでポート番号を見ることはほとんどありません

通信に必要なアドレスには、MACアドレスもあります
イメージは
IPアドレスは住所
MACアドレスは名前
IPアドレスは場所が変わればIPアドレスも変わります。MACアドレスは工場出荷時以降は変更できません

MACアドレス
ネットワーク機器に付いている固有の識別番号(前6桁がメーカー固有の番号で・後6桁が製品番号で、製造時に付けられます)
MACアドレスが重複することはありません(例外は諸事情で存在するらしい)
MACアドレスは同一ネットワーク内で通信するときに、PCを特定するために使用されます
目的地に着くまでには複数の経由地を通ります
経由地(次の届け先)はMACアドレスを使う仕組みになっています
経由地に着く度にMACアドレスは書き換えられます(ARPというプロトコルを使って調べます)
ARP
アドレスを解決するためのプロトコルで、IPアドレスからMACアドレスを調べます
IPアドレスとMACアドレスを紐付けています
ARPはブロードキャスト(同じネットワークにいるPCに通信を投げる方法)で通信を行います
同じネットワーク内は、PCの場所をARPで知ることができるので、通信できます

*どうしてIPアドレスではなくMACアドレスを使うのか?
MACアドレスとIPアドレスは使われる階層が違うから、仕様です^^;
経由地に名前の情報がないと探し回って、遠回りになるようです^^;
そのためMACアドレスを使います

MACアドレスとIPアドレスは使われる階層のイメージ

パケット交換

パケット交換
インターネットで使われている通信方法で、データを小さなサイズに分割して送ります
パケット
分割したひとつひとつのデータ

データを分割して、「ヘッダ情報」と呼ばれる宛先や送信元などの必要な情報をパケットの先頭部分につけて送ります
パケットは、バケツリレー方式で目的地に届けられ、到着順序がバラバラでもヘッダ情報をもとに正しい順番に復元します

分割することで、通信障害時はルート変更が容易です
パケットが壊れた場合は、該当のパケットだけを送り直せばいいので、効率よく通信できます

モデム / ONU とルーターの役割

コンピュータで処理されるすべてのデータは、デジタルデータです
デジタルデータは0と1の2進数で成り立っています
嘘みたいですが💦 コンピュータは0と1だけですべてを処理します

余談データ量について
bitは0か1を示すので、
1bitで2通りの情報が表せます
8bitが1B(バイト)で、1Bでは28=256通りの情報を表せます
210の1024を1KB(キロバイト)にして
1KB(キロバイト)= 1024B
1MB(メガバイト)= 1024KB
1GB(ギガバイト)= 1024MB
1TB(テラバイト)= 1024GB
*1KB=1000Bで計算する場合もある(その場合は明示的に1024は1KiB単位が使われる)

モデム / ONU
コンピュータが処理するときはデジタルデータ(0と1)が必要です
モデムやONUはコンピュータのためにデジタルデータの変換を担当します
ADSLの場合は電話回線を利用しておりアナログ信号なのでモデム
光回線は光信号なので、ONU(光回線の終端装置)を使用します
ルーター
外部ネットワークへの出入口(デフォルトゲートウェイと呼びます)の役割を担います
届いたパケットを配る役割もあります
*その他たくさんの仕事をしています
外側へはWANで繋がります
家庭や会社など1つのネットワーク内はLANで繋がります

*大規模な内部ネットワークの場合はルーティングテーブルの構築、スイッチ等が必要

通信の流れ

ホームページを閲覧する時
ホームページなどのコンテンツは、別のコンピュータ(Webサーバー)の中にあります
Webブラウザ(クライアント)からWebサーバーにリクエストを送って、WebブラウザはWebサーバーからレスポンス(HTMLファイルなど)を受け取ることでホームページを閲覧しています
必ずクライアントからリクエストを送り、Webサーバーがレスポンスを返します

クライアントとWebサーバーの通信イメージ

余談ファイル共有ソフトやブロックチェーンで使われるP2P(ピアツーピア)はクライアントとサーバーという役割分担の関係ではなく、クライアント同士がつながっています

全体の流れ

WebブラウザからWebサーバーにリクエストを送るときのイメージ図

WebブラウザからWebサーバーにリクエストを送るときのイメージ図

リクエストを送る時は、それぞれの階層で「必要なヘッダ情報」をくっけていきます
全ての「パケット」は「ヘッダ情報」がくっいている状態で「バケツリレー方式」で目的地(Webサーバー)まで配送されます
目的地についた「パケット」は、先程と反対に「使用したヘッダ情報」を削除し、最終的に「もとのデータ」に復元され、Webサーバーは「データ(リクエスト)」を受け取ります

リクエストを受け取ったWebサーバーは、同じ手順でブラウザにレスポンスを送ります

配送

異なるネットワークに通信する場合はルーターが必要です(デフォルトゲートウェイ)
どこにネットワークがあるのか分からない場合に必要なのがデフォルトゲートウェイです。

家から外に出たデータは、どのような仕組みで、目的地まで「バケツリレー」されているの?
ルーティング(経路制御)の仕組みについて

バケツ(経由地のパソコンやルータなど)が線でつながり、パケットは線をつたって移動するイメージです

ASとは

インターネットにおける自律システム (autonomous system) (以下ASと略す)とは、単一の明確に定義されたルーティングポリシーを持つネットワーク運用者(時に複数)が管理する、一つ以上のIPプレフィックスのグループである

wikipedia

AS(自律システム)は、統一運用ポリシーでルーティングが管理されたネットワークの集まり
インターネットサービスプロバイダ(ISP)がわかりやすい例だと思います
(赤い丸はASのおおざっぱなイメージです)
ASが特定のIPアドレスのセットを制御します

ASが特定のIPアドレスのセットを制御しますとは?

郵便番号でイメージすると
担当地区の郵便番号は、配達方法まで管理しています
(担当外の郵便番号は、協力し郵便番号担当ASまでの最短ルートを「バケツリレー」でつなぎます)

ルーティングの中心はルーターです
ルーターは、同一ネットワーク内にあるコンピュータへは、直接通信できます
外部のネットワークにあるコンピュータへは直接通信できませんが、次の最適な経由地は知っています

イメージは宅配便の集配所(ルーター)です
集配所は、送り状(目的地のIPアドレス)から「どの地域の集配所に送ればいいか」だけ知っています
担当地域(同じネットワーク)の集配所は、家まで届けます

なぜ最短ルートがわかるの?

ネットワークに接続されたコンピュータやルーターは「ルーティングデーブル」を持っていて、「ルーティングデーブル」をもとにデータを送ります
ASが管理するルーターの「ルーティングテーブル」では、膨大な数の「最新の正確なルート情報」を登録するために、
ASとAS間はBGPというプロトコルでルーティングし
AS内部はIGPというプロトコルでルーティングします
詳しい仕組みはわかりません(情報交換しています💦 )すみません 🙇‍♀️

契約しているISPが最適ルートを管理してるということですね😅

余談ターミナルかコマンドプロンプトで traceroute ドメイン名 で通ったルートが表示されます

google.comまでのtracerouteルート
google.comまでのルート

たくさんの作業をしているのに、一瞬で完了です
「コンピュータってどうなっているのか」不思議です😅