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アドレス周りの基本からおさえていきました
かなり基礎的な部分でしたが一つ一つ確認しながらまとめられたことは知識の再整理として役に立った気がします
次回は実際にネットワークの設定をいじっていきたいと思います