浅ぁいネットワーク講座　第２回

この記事はネットワークのことをゆっくり解説していきます
その度合いは浅い（ｱｻｧｲ！！！）のでご了承ください

#### ■概念ざっくり理解していこう編

前回のおさらいを軽くします

通信はIPアドレスとPort（サービス）で成り立っています
前回はtcp/udpを説明しましたが、これらはプロトコルと呼ばれるものです

***udp***  ・・・User Datagram Protocol
***tcp*** ・・・Transmission Control Protocol

http、smtp、ftpとかもPortocolって言葉がついていますけど、どう違うんですか？
ここで、疑問に思った方鋭いです

***http*** ・・・Hyper Text Transfer Protocol
***smtp*** ・・・Simple Mail Transfer Protocol
***ftp*** ・・・File Transfer Protocol


簡単に言ってしまうと、tcp/udpがトランスポート層で動作するプロトコルで
httpやsmtpやftpはアプリケーション層です（セッション層以上）
ちなみIPはネットワーク層で動作するものになります


いきなり・・・〇〇層って言われてもわからないですね
ネットワークの通信は **各層（レイヤー）** があるのです

<font color="Red">**それをOSI参照モデルと言っています**</font>
TCP/IPモデルと言うのもありますけど、それはここでは触れません

OSI参照モデルは、国際標準化機構(ISO)により定められていますが、TCP/IPモデルの方は、米国防総省（DoD）が、作成したモデルらしいです

<img width="800" alt="1.osisansho2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/12058687-d9d9-1f57-92f9-8c2e652cb186.png">




CCNAなど勉強していれば、こちらの概要は出てくると思いますが、どんなプロトコルがどの層をつかっているというのをうっすら覚えとけば障害時の切り分けとかに使えます

ちなみに切り分けするときは、ケースによるのではっきりとしたことは言えませんが
アプリケーション層から切り分けたり、物理層から順々に切り分けたりします

例えば、通信できない！？ってなったら
そもそも、LANケーブルはちゃんと刺さっているのか（物理層）

アプリケーションの通信ができないとなったら、他のアプリケーションの通信はできるのか、icmpレベルで調査できるのかということですね

やることは限られてきますが、レイヤー順に切り分けを行うのがスタンダードですかね

<br>
<br>


##### IPアドレス
上記の通り、こちらはネットワーク層で動作するプロトコルです

なお、アドレスと言うぐらいなので、住所です（笑）


つまり、これはネットワークで通信するために必要な情報なのです
手紙を出したくても、相手の住所わからないとおくれませんよね？それと同じ理論です

ちなみに、このIPアドレスと言うのは数字で表記されます

**０．０．０．０～２５５．２５５．２５５．２５５**

ただ使えないものがあります（詳細は今後説明します）
また、数字の範囲は上記の通りですが、<font color="Red">**グローバルアドレス**</font>と<font color="Red">**プライベートアドレス**</font>の2種類があります


まずアドレスのルールから説明します

IPv4アドレスは32ビットの固定長で表現され、下図のように2進数表記でも表されます
2進数表記では目で見て理解しづらいので、8ビットごとに区切り10進数表記したりします
また、8ビットの2進数を「オクテット」と呼びます（図に書いてませんが、ピリオドで区切られます）


いきなりビット（2進数）を10進数に変換して考えるとか意味不明じゃないですか？
なので、早見表もセットがこちらとなります　    

<img width="600" alt="2.bitnokanngaekata3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/2c7784b1-5918-f370-b9f4-ef7126dd5948.png">

ちなみに、なんでこんなわかりにくい表現なのかというと
<font color="Red">**アドレスを節約する為なんですよね**</font>
<font color="Red">**ルーティングの集約しやすさ**</font>もですね


<br>
<br>
<br>



あと、アドレスにはネットワーク部とホスト部がありまして（いかがわしい部ではありません）
ネットワーク部は、各ホストが属するネットワーク（範囲）を表します。ホスト部は、そのネットワーク（範囲）内でルーターやコンピューターを識別するための部分です


<img width="600" alt="3_netowork-host2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/aee9d525-1fdf-a126-5a2f-94512d096967.png">
<br>
<br>

##### サブネットマスク
ネットワーク部とホスト部の境目を示すために使う値が「サブネットマスク」です。
下図を見ると、255.255.255.0がサブネットマスクとなります
255.255.255.0 は /24という表し方もできます

<img width="800" alt="6_bitmask2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/92340715-8baa-112b-3e3d-347275f663e2.png">

この表を見ると一目瞭然じゃないですかね
要は表現がいろいろあるということです（大抵は、プレフィックスか10進数でいいます）

イメージしやすいのは2進数で考えること
1の部分がネットワーク部で0の部分がホスト部っていうとわかりやすいかもしれません

下の図はもっとイメージしやすくしたものですね


<img width="800" alt="4_address2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/2342ae47-cb89-4065-3410-6f98c66646eb.png">


<br>
<br>

##### クラス
先でも説明しましたが、IPv4アドレスは「クラス」という形で、ネットワーク部とホスト部を8ビット単位で区切っています。
下図はそれぞれのクラスについての説明図です。
第1オクテットが「0」から始まるIPアドレスが「クラスAアドレス」になります。
クラスAアドレスは、第1オクテットがネットワーク部で、第2オクテット以降がホスト部です。
図の通りになります

特殊なアドレス帯もいくつかあって「0.0.0.0」は全てのネットワークを表すアドレスになります。
使用できません。
「127.0.0.1」はループバックアドレスと呼ばれる、自分を示す特殊なIPアドレスです

<img width="800" alt="5_network-host3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/c0dcdce3-ba26-6de0-d9f7-ef62932067fb.png">

<br>
<br>

##### クラスレスアドレス
簡単に言ってしまうと、クラスABCの規則に該当しないのが「クラスレスアドレス」になります。
プレフィックス値でネットワーク部が決まってくると説明しましたが、クラスフルアドレス（クラスレスアドレスの反対）はプレフィックス値が8の倍数になります。
オクテットごとにネットワーク部とホスト部が綺麗に分けられます。

まぁ、簡単に言うとサブネットマスクを用いることによって、クラスより細かくアドレスをわけれることですね。この方法を使いIPv4アドレスを節約しています



<br>
<br>


##### プライベートアドレス
社内とか自宅内の外にでない閉じたネットワークで使われます。平たく言うとLANでのみ使用できるIPアドレスです
<br>
<br>

##### グローバルIPアドレス
　「グローバルIPアドレス」は、重複することのない唯一のIPアドレスです。世界中どこを探しても重ならないように設計されています
　グローバルIPアドレスは、プライベートアドレスとクラスD、Eを除く全ての範囲の値です。
　外部と通信する際は、組織内であるLANからWANに出ます。そのとき一般的には、「NAT（Network Address Translation）」と呼ばれる技術を用いて、プライベートIPアドレスをグローバルIPアドレスへ変換して通信を行います
あと、グローバルアドレスは勝手に割り振ることができません
「ICANN」っていう組織が全世界的に管理しています
ちなみに日本国内のIPアドレスを担当するのは「JPNIC」となります


<br>
<br>


ちなみに各アドレスのクラスはこんな感じです


プライベートアドレス グローバルアドレス
<img width="600" alt="7_globalprivate3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603003/a3d8155e-b240-a659-59ef-c40c7c802587.png">

アドレスについては次回もうちょっと詳しくやります


#### ■今回のまとめ

・使用するプロトコルによって、対象レイヤーがちがってくる（OSI参照モデル）
・IPアドレスとは数字で表記して2進数と10進数であらわすことができる（大半は10進数で使う）
・アドレスはネットワーク部分とホスト部分で別れる
・クラスという概念があって、アドレス範囲を指定でき、もっと細かく指定したいときはクラスレス
・LAN用のプライベートアドレス、WAN用のグローバルアドレスがある


#### ■前回の問題

ポート1024より大きいものを何て言います？

A.⇒  
0-1023 ウェルノウンポート (Well Known Ports)ですが

1024–49151 ユーザーポート番号
49152–65535 動的・私用ポート番号

↑これらをまとめてHigher Port（ハイポート）

定かじゃないんだけど（ネットで調べてあまり出なかった）
アンノウンポート（Un Known Ports）とも言ってた人いたけど、多分間違っているような・・・ 

ウエルノンの反対だからアンノウン・・・
ま、まぁ、オサレですね

<br>
<br>

#### ■おすすめのサイト

3分間NetWorking
http://www5e.biglobe.ne.jp/~aji/3min/

ネットワークエンジニアとして
https://www.infraexpert.com/

<br>
<br>

#### ■今回の問題

・社員10万人いる会社のアドレスは何を使えばいいでしょうか
・グローバルアドレスが欲しい時どのように調整すればよいか



今回はこれで終わりです
ネットワークは対象のレベルによって教えることが幅広くなってきますので
**うっすい**感じでお送りします

byebye ヾ(❛ᴗ˂ )⌒♥

powered by Mすた
https://m-suta.com/