インタネット技術

### グローバルIpアドレスとIPv4問題点
IPアドレス、インタネットには、直接接続しない組織内部で自由に使用できるプライベートIpアドレスと、インタネットに直接接続するコンピューターやルータに割り当てられたグローバルIPアドレスがある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/938507c1-7f02-4d06-408b-64d8da0d9014.png)
グローバルIPアドレスは、重複が許さないIPアドレスで、したがって、IPアドレス値が重複がないように管理することが必要。IP管理はNIC（network　information　center）、日本ではJPNICが行っている。
IPアドレスは32ビットで管理する方式をIPv4（Internet Protocol Version 4）という。IPv4が割り当て可能なIPアドレスは2³²、４３億しかない。よって、IPv6で128ビットのIpアドレスに拡張し、2¹²⁸個340澗＝340兆*1兆*1兆個
### NATやNAPT（IPマスカレード）でインターネット接続
さて、前ページの図に示したように、一般に企業の内部ネットワークでは、プライベートIPアドレスを利用してネットワークを構築されている。しかし、このプライベートIPアドレスしか持たないPCから外部に通信できない。そこで、NAT（Network Address Translation）かNAPT(Network Address and Port Translation)が利用される。
#### NAT（Network Address Translation）
 NATはネットワークアドレス変換で、内部ネットワークと外部サーバを接続するルータなどの中継装置において、パケットのヘッダにあるプライベートIPアドレスをもつ複数のコンピューターが、一つのグローバルIPアドレスを共有して外部サーバとの通信を行うことができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/9c682fcd-1eff-8ddc-8603-b2df2487fca5.png)
図では、192.168.1.2のPCが外部Webサーバにアクセスするとする。
この時の宛先IPアドレスは、Webサーバが持つグローバルIP200.1.1.1ですが、送信もとIPアドレスはプライベート192.168.1.2である状態では通信できない。そこでルータは、送信元IPアドレスを自分のインターネット側グローバルIPアドレス「200.2.2.2」に付け替えて。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/b43095ff-06ea-237d-b1ee-02e44677d6da.png)

　NATはプライベートIPアドレスとグローバルIPアドレスを一対一で変換するため、例えば２台のPCが同時に外部通信する場合、2個のグローバルIPアドレスが必要。
#### NAPT(Network Address and Port Translation)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/f9d81004-4d98-b85b-b2ae-5d5ab9789fb3.png)
NAT機能よりポート番号の変更を追加され、同時に外部サーバとの通信ができるようになっている。
### ファイアウォール
不正アクセスから守るために、ファイアウォールを設置する。ファイアウォールは、内部と外部のインターネットの通信を制御することで、外部からの不正アクセスを遮断する機能をもったネットワーク機械、ソフトウェアである。
#### パケットフィルタリング方式
　パケットフィルタリング方式では、内部ネットワークと外部のインターネットの間で出入りする、パケットのヘッダにある送信元や宛先のIPアドレス、ポート番号をチェックして、パケットの通過を制限する。具体的には、どの「送信元IPアドレス/ポート番号、宛先IPアドレス/ポート番号」のパケットに対して通過許可するか（パケットフィルタリング）が設定されているフィルタリングテーブルによって、通過の許可/拒否を判断する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/ea83df7c-89dd-81b3-26d9-e27816312731.png)
#### アプリケーションゲートウェイ方式
アプリケーションゲートウェイ方式は、アプリケーション層を含む通信を中継する代理プログラム（プロキシサーバ）を利用して、内部ネットワークと外部ネットワークを切り離す方式である。
　プロキシサーバーは通常、内部ネットワークに置かれ、ネットワーク内部のクライアント（サーバ通信するコンピューター）が外部サーバと通信する際にその中継役となり、クライアントの代わりに外部サーバにアクセスする場合は、HTTPプロキシがクライアントに代わってWebサーバと通信する。このようにプロキシを利用し、内部と外部のインターネットを切り離すことで、内部ネットワークを外部から隠蔽し、外敵から守る。
### ドメインとIPアドレスとの対応を管理するDNS
インターネットでWebページを閲覧するとき、図のように、ずhttp://www.shoeisha.co.jpをブラウザを使ってURLを指定するだけで、目的のWWWサーバにアクセスができ、Webページを閲覧することができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/5dcf7f0d-cb65-71e8-a73a-7c7c67718f2c.png)
WWWサーバは、インターネットに公開するwebpegeを蓄積したり、そのwebpegeを転送したりする機能を持つコンピューターのことである。これは、ネットで使われるドメイン名やホスト名などのIPアドレスと対応付けして管理しているDNS（domain Name System）である。
ドメイン名は、インターネットに直接接続されているコンピューター（ホストともいう）に付けられた名前です。一般に、ドメイン名はshoeisha.co.jpのように、組織名、組織名称、国コードという命名規則にしたがって表す。そして、URLで指定したwww.shoeisha.co.jpのように、特定のホスト（WWW）まで指定したドメイン名はFQDN（完全修飾ドメイン名）という。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3293109/9a9cbb7a-b246-3944-07a8-a848785f51b1.png)
### 練習問題
IPv4のIPアドレスは2³²ビットで構成されている。これを2¹²⁸ビット長に拡張したのがIPv6である。
NATは、プライベートIPアドレスとグローバルIPアドレスを相互に変換し、インターネットアクセスを可能にする仕組みである。
NAPTは、プライベートIPアドレスを持つ複数のコンピューターが、同時に一つのグローバルIPアドレスを共有して、インターネットアクセスを可能にする仕組み。
ファイアウォールのパケットフィルタリング方式では、内部ネットワークと外部インターネットの間に出入りするパケットをチェックし、パケットの通過を制限する。
プロキシは、ネットワーク内部のクライアントが外部サーバと通信する際、その中継役となりクライアントの代わりに外部サーバと通信する。ドメイン名やホスト名などとIPアドレスと対応つける役割を果たしているのがDNSサーバである。