インターネットの構成

## はじめに
　インターネットがどのように構築されているのか理解する。
　内容は以下である。

　・インターネット
　・プロバイダ
　・AS
　・IPアドレス

<br>









<br>

## 要約
　インターネットは、世界中にあるTier1と国内の基幹ISPが
　相互接続されることで形成されている。
 
　ネットワークを管理する組織は、
　自身が管理する複数のネットワークをASとしてまとめて管理している。
　そのため、インターネットのスケールで考えるとAS間で通信が行われている。
 


<br>









<br>

# インターネット
　コンピュータネットワークの３分類の中で、
　一番規模の大きいネットワーク。

<br>









<br>

## プロバイダ(ISP)
　インターネットへの接続をサービスとして提供する会社。

<br>

### 階層構造
　ISPは、役割毎に階層構造になっている。

**・基幹ISP**
　最上位に位置するISPが基幹ISP(一次ISP)。
　各国には一次ISPが複数存在していて、それらは直接またはIXを介して接続されている。
　その中で、他国と海底や陸上ケーブルで直接接続されているものを
　Tier1という。

:::note info
バックボーン：
　世界中のTier1が繋がることで形成されるネットワークや、
　国内の基幹ISPが繋がることで形成されるネットワークは、
　インターネットを形成する中核を担っているため、
　バックボーンと呼ばれている。
:::

**・二次/三次ISP**
　基幹ISPの下層に位置する二次ISPは、一次ISPと直接またはIXを介して接続されている。
　三次ISPも同様の形態で二次ISPと接続されている。

 <br>


　　　　　<img width="550" alt="Wire LAN architecture" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/398d5f53-3d2e-b39c-357f-c4c99c0997a6.jpeg
">

<br>

### IX(インターネット・エクスチェンジ)
　世界中にあるISPやIDC(インターネットデータセンター)を接続するためのもの。

　無数にあるそれらを全て相互接続するのは、現実的ではない。
　そのため、IXが接点となって繋がりあっている。

:::note info
IXは、LAN内におけるハブのような役割を担っている。
:::

<br>

### 回線
　ISPは、物理的な回線を以下のように構築している。

**・専用線**
　専用線として自身で用意する。

**・公衆回線**
　回線事業者が保有する公衆回線(光ケーブルや電話回線など)を
　借りる。

<br>









<br>

## AS(自律システム)
　いくつかのネットワークをまとめたネットワーク。
　インターネットはAS単位で相互接続して形成されている。

:::note info
ASの範囲定義は？：
　ASはIANAに申請することで一意の番号(AS番号)が割り振られて使用される。
　つまり、地理による区画やISP毎というわけではなく、
　申請者が申請したネットワークの集まりがASである。
:::

### 概要図
　　　　　<img width="550" alt="Wire LAN architecture" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/599d0bbf-0e81-1b40-7b62-91f72d33c9ce.jpeg
">

<br>

### プロトコル
　ASは、ルーティングプロトコルを用いて経路情報をやりとりしている。
　AS同士と、AS内の各ネットワーク間で使用するプロトコルは異なる。

<br>

### 接続方式
　AS間の接続は、ピアリングとIPトランジットの２つがある。

**・ピアリング**
　AS同士が接続する方式で、プライベートとパブリックピアリングがある。
　プライベートピアリングは、２つのASを接続する。
　パブリックピアリングは、IXを用いて複数のASを接続する。

**・IPトランジット**
　宛先のASに接続する時、間に別のASが介在する接続方式。
　介在するASはサービスとして提供している。

:::note info
Tier1や基幹ISPなどの大規模ISPは、
多数のASと接続しているため、経路情報を保有している。
それをサービスとして下層ISPに提供している。
:::

<br>









<br>

## IPアドレス
　グローバルIPアドレスは、世界中にある管理組織が階層構造を形成し管理している。
 
　最上位に位置する団体がICANN(IANA)で、
　そこから地域(アジアやヨーロッパ、アフリカなど)、国(日本ではJPNIC)、
　そしてISPへと割り当てられていく。

<br>

　　　　<img width="550" alt="JPNIC" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/f9eb2abc-f902-21e3-3569-6c2db1c08cb9.jpeg">
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　©2015-2024 JPNIC
<br>

### DNS
　IPアドレスとドメイン名を対応付けし、相互変換するためのシステムをDNSという。

:::note info 
ドメイン名：
　ドメイン名は1つのIPアドレスと対応付けするだけでなく、複数のIPアドレスと
　紐づけることができる。また、ドメイン名に別称を付けることができる。
　冗長性や負荷分散のため、それらが利用される。
:::

**・ドメイン名の定義**
　webサイトのURLの内、一部をさしてドメイン名と呼んだり、
　ホスト名を含めてドメイン名(FQDN)と呼ばれることがある。

　例えば`https://www.yahoo.co.jp/`の場合、
　`yahoo.co.jp`をドメイン名と呼んだり`www.yahoo.co.jp`をFQDNと呼ぶ。

:::note info
wwwの意味は？：
　webサーバの慣習的な表し方。
:::

<br>

#### DNS構造
　DNSは、キャッシュDNSサーバと権威サーバ(コンテンツサーバとも)で構成されている。
　2つを併せてネームサーバもしくは、DNSサーバと呼ぶ。

:::note info
ネームサーバは、文脈によって権威サーバのみを指す場合がある。
:::
　　　　　<img width="550" alt="JPRS_nameserber" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/aa6b9007-9adf-dab9-dc0f-12132bd35c1e.png">
　　　　　　　　　　　　　　　　　　　©2001-2024 Japan Registry Services Co., Ltd.


<br>

**・キャッシュDNSサーバ**
　クライアント端末が名前解決で問い合わせるサーバ。

:::note info
インターネット上でwebサイト閲覧やメール送受信時に、
内部的に名前解決が行われている。
:::

　**どこにある？**
　　契約しているプロバイダやルータが持っている。

　**挙動**
　　クライアントから問い合わせを受けると、コンテンツサーバに問い合わせる。
　　その結果をクライアントに返し、一時的に自身もその結果を保持する。
　　同じ依頼が再度来た場合、コンテンツサーバに問い合わせをせず、
　　自身の持つ情報を返す。

<br>

**・権威サーバー**
　実際にドメイン名を管理しているサーバ。

　**階層構造**
　　1つの権威サーバが、ドメイン名情報をすべて管理しているわけではなく、
　　複数のサーバが階層構造を成して管理している。
　　最上位に位置するのがルートサーバで、以降はドメインのレベル毎の層に成っている。

:::note info
ドメインレベルとは？：
　ドメイン名のドットで区切られた部分の呼称。
　右から順にトップレベル、セカンドレベルと続いていく。
 
 <img width="350" alt="lebel" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/fe85d566-3dfc-7f85-5488-2dbf8cb7d250.png">
　　　　　　　　　　　　　　　　　©2001-2024 Japan Registry Services Co., Ltd.
:::

　　　　<img width="550" alt="lebel" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/3c82cddb-ccc6-997c-ef89-4f4d528110d4.png">
　　　　　　　　　　　　　　　　　　　　　　　　　　©2015-2024 JPNIC


　**管理する情報**
　　自身が管轄するIPアドレスとドメイン名の対応表や、下位サーバ情報を持つ。
　　それらをゾーン情報という。
　　ゾーン情報は、レコード形式のデータである。

:::note info
レコード例：
　Aレコード：ドメイン名とIPアドレスの対応表(名前解決するためのレコード)
　NSレコード：委任する下位サーバのIPアドレス
　MXレコード：メールサーバを示す
:::

　　ルートサーバは、トップレベルドメイン(TLD)を管理するDNSサーバの
　　IPアドレスなどの情報を保持している。
　　TLDを管理するサーバは、自身が管理するTDLと下位サーバの情報を
　　保持している。
　　例えば、jpを管理しているサーバは、ne.jpやco.jpを管理している
　　下位サーバの情報を持っている。

  **どこにある？**
　　プロバイダや企業、団体が保持している。

　**挙動**
　　キャッシュDNSサーバから問い合わせを受けると、
　　自身が持つゾーン情報を確認する。
　　Aレコードがあればそれを返すが、ない場合は下位サーバのIPアドレスを返し
　　そこに問い合わせし直すように促す。

<br>

#### nslookupコマンド
　DNSサーバと接続して名前解決を行うためのコマンド。
　引数で指定したIPアドレスもしくはドメイン名と、
　対応するドメイン名もしくはIPアドレスを調べることができる。

:::note info
ドメイン名からIPアドレスを調べることを正引き、
IPアドレスからドメイン名を調べることを逆引きという。
:::

　**画面の見方**
 
　　　　　<img width="550" alt="nslookup" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1620826/8e8f997f-4e65-3c7e-ac90-648d0123aa5f.jpeg">

　**・サーバー**
　　自身が接続したDNSサーバのドメイン名。
　　一般家庭では、契約したプロバイダもしくはルータのキャッシュDNSサーバ。
　　問い合わせるサーバにドメイン名が登録されていないとUnknown表示になる。

　**・権限のない回答**
　　結果の表示。
　　キャッシュDNSサーバが回答すると権限のない回答になる。
　　コンテンツサーバに直接問い合わせをすると「権限のない回答」は表示されない。