インターネットを有効活用するために
専門用語も含め、大まかな仕組みがわかっていると役立ちます😊
そこで、ザックリ^^;とまとめました
- 目次
インターネットとは
インターネットは世界中のコンピュータがつながっている地球規模の情報通信網!!
家や会社などの単位ごとに作られた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アドレスを使います
パケット交換
- パケット交換
- インターネットで使われている通信方法で、データを小さなサイズに分割して送ります
- パケット
- 分割したひとつひとつのデータ
データを分割して、「ヘッダ情報」と呼ばれる宛先や送信元などの必要な情報をパケットの先頭部分につけて送ります
パケットは、バケツリレー方式で目的地に届けられ、到着順序がバラバラでもヘッダ情報をもとに正しい順番に復元します
分割することで、通信障害時はルート変更が容易です
パケットが壊れた場合は、該当のパケットだけを送り直せばいいので、効率よく通信できます
モデム / 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サーバーがレスポンスを返します
余談ファイル共有ソフトやブロックチェーンで使われるP2P(ピアツーピア)はクライアントとサーバーという役割分担の関係ではなく、クライアント同士がつながっています
全体の流れ
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 ドメイン名
で通ったルートが表示されます
たくさんの作業をしているのに、一瞬で完了です
「コンピュータってどうなっているのか」不思議です😅