見出し画像

CentOS8に入門してみる(ネットワーク1)

ネットワークを再学習します

AWSやるにしても何をやるにしてもネットワークの基礎知識が必要なので復習を兼ねて基礎からやっていきたいと思います

まずはIPアドレス周りからスタート


IPアドレスとサブネットマスクの概要

インターネットやLANはTCP/IPというプロトコルが普及しています

TCP/IPはインターネットの住所に相当する部分をIPアドレスで表します

IPアドレスは32bitの2進数で表しますが、分かりやすいように8bit区切りにして各パートを10進数で表します

IPプロトコルにはIPv4とIPv6があり、IPv4は32bit・IPv6は128bitでIPアドレスが表現され、IPv6は128bitのため、IPv4より膨大なアドレス空間に対応しています

IPv4とIPv6に互換性はありません

11000000.10101000.00000001.00000010 (2進数表記)
     192.     168.       1.       2 (10進数表記)


IPアドレスにはネットワーク部とホスト部があり、その境界を示すものとしてIPアドレスとセットで使われるのがサブネットマスクです

| 11000000.10101000.00000001. | 00000010 |
|      192.     168.       1|        2 |
| ネットワーク部                   | ホスト部   |
| 11000000.10101000.00000001. | 00000010 | IPアドレス(192.168.1.2)
| 11111111.11111111.11111111| 00000000 | サブネットマスク(255.255.255.0)
| ネットワーク部                   | ホスト部   |

サブネットマスクのネットワーク部が大きければ大きいほど(1埋めの桁数が多いほど)ホスト部が小さくなる=ネットワークに接続できるIPアドレス数も少なくなります(小さなネットワーク←→大きなネットワーク)

ネットワーク部が同じアドレスのIP同士は直接通信を行うことができます

上記の例だと192.168.1.2は192.168.1.3と直接通信ができますが、10.0.0.1などとはルーターを介さないと通信できません


クラス

IPアドレスにはクラスというものがあり、1ネットワークあたりのIPアドレス数が大中小のようなクラス分けが行われています

       IPアドレス範囲             サブネットマスク    IPアドレス最大数
クラスA 0.0.0.0 ~ 127.255.255.255  | 255.0.0.0    | 16,777,216
クラスB 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0   | 65,536
クラスC 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 | 256

実際にはクラスで割り当てると大きすぎたり小さすぎたりするため、サブネットマスクの長さを変えることでネットワークの大きさを調整します

例)192.168.0.0/24(CIDR表記という)

上記はサブネットマスクが11111111.11111111.11111111.00000000、つまりは255.255.255.0であることを示します

なので192.168.0.0/255.255.255.0とも表記できます


プライベートIPアドレスとグローバルIPアドレス

プライベートIPアドレスはLAN内の端末に割り当てて使用します

LAN内でも自由に使える範囲は限られていて下記の範囲となります

10.0.0.0 ~ 10.255.255.255

172.16.0.0 ~ 172.31.255.255

192.168.0.0 ~ 192.168.255.255

グローバルIPアドレスは世界的に管理されているため、LAN内での使用も不可となります


ポート番号

ホスト(IPアドレスが割り当てられているルーター以外の機器。一旦サーバーと思っておけばOK)上で複数のアプリケーションが動いている時に、そのアプリケーションの識別を行う為にポート番号が存在します

よく使用されるポートはWell Known Portsと言われどのポートが何の役割を持つのか標準化されています

/etc/servicesにどのポートが何のサービスに対応しているかが記述されています

catで/etc/servicesを覗くと以下のようになっていました(途中は省略している部分もあります)

ftp-data        20/tcp
ftp-data        20/udp
# 21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
telnet          23/tcp
telnet          23/udp
# 24 - private mail system
lmtp            24/tcp                          # LMTP Mail Delivery
lmtp            24/udp                          # LMTP Mail Delivery
smtp            25/tcp          mail
smtp            25/udp          mail

... 中略 ...

https           443/tcp                         # http protocol over TLS/SSL
https           443/udp                         # http protocol over TLS/SSL
https           443/sctp                        # http protocol over TLS/SSL


ホスト・ドメイン名

ネットワーク上のコンピュータの識別にIPアドレスが使われていますが、数字の羅列の為使いやすいとは言えません

そこで使われるのがhostnameです

hostnameコマンドで確認可能となっています

[vagrant@centuser data1]$ hostname
centuser

hostnameとIPアドレスの相互紐付け(名前解決)してくれる仕組みをDNS(Domain Name System)と言います

192.168.0.1などではなくwww.abcdefg.comとしてアクセスできます

|  www   |.| abcdefg.com                          |
| ホスト名 | | ドメイン名                               |      
| 完全修飾ドメイン名/FQDN(Fully Qualified Domain Name) |


まとめ

IPアドレス周りの基本からおさえていきました

かなり基礎的な部分でしたが一つ一つ確認しながらまとめられたことは知識の再整理として役に立った気がします

次回は実際にネットワークの設定をいじっていきたいと思います


いいなと思ったら応援しよう!