この記事の対象
対象となるのは全くネットワークの知識がないといったレベルの方向けの話です。
私自身超初心者で、最近先輩からネットワークの話を聞く機会があったので自分なりにまとめてみたいと思い書きました。
初心者に向けての話だったので、いろいろ省略していることや正確でないことがあると思いますが、それでも勉強になりました。
ちゃんと理解するなら他の方の投稿などを参考にするのをおすすめします。
間違っていることなどあればご指摘お願いします。
基本用語
ドメイン
ざっくりいうとURLの一部であるホスト名のこと。どのWebページでも上部に表示されているやつ(https://qiita.com/ のqiita.com
など)。最初の通信でURLを持ってDNS(ドメインネームシステム)に行き、そこからこのURLのIPアドレス(住所のようなもの)を受け取って、目的のページにアクセスしている。
IPアドレス
Web上での住所のようなもの。
IPはInternet Protocolのこと、直訳で通信規格。ルールみたいなもの。(例えるなら、日本でいえば「車は左車線を走る」みたいな感じらしい。)
この規格に沿って決められた住所で、スマホやPCなどのデバイスごとに世界で唯一のものが割り振られる。
住所の表し方にIPv4やIPv6などのバージョンが存在する。
IPv4アドレス
IP version 4 のアドレス。255までの整数を4つ使って表す。
192.3.21.233
なぜ255までなのかというと、
- IPv4アドレスは32ビットで表す(なぜ32ビットなのかは昔の人がそう決めたから。)
- CPUが扱うのは2進数で表した数字(0か1だけ)。数字1つで1ビット。
- 255は2進数で表すと11111111(8ビット)
ということで、この255(8ビット)までの数字を4つ組み合わせることにより32ビットで表すことができる。
※ちなみに4つのセクションをそれぞれ第1オクテット~第4オクテットという。オクテットは8ビットをひとまとまりとした単位。
IPv6アドレス
IP version 6 のアドレス。
2024:0db8:1234:5678:90ab:cdef:0519:1435
それぞれの区切りがコロン(:)になり、16進数で表記されている。16進数なので0~9とa~fまでを使った表記になっている。
近年のIT化などに伴いIPv4アドレスの枯渇が懸念されるようになり登場した。
IPv6アドレスに対応している環境かどうかは確認が必要。
サブネットマスク
IPアドレスのグループ化みたいなこと。
IPアドレス 192.3.21.233
サブネットマスク 255.255.255.0
となっていたら、サブネットマスクの255の部分はそのサブネットでは共通で、最後の0の部分だけ、それぞれのデバイスに255までの数字を割り振っていく。
ある限られた範囲・グループでネットワークを作るとき、IPアドレスの一定部分までを共通にしておくことで通信の簡略化などが可能になる仕組み。
デフォルトゲートウェイ
宛先のわからないパケットの転送先となるIPアドレス。
普段家などでWi-Fiを使ってネットを使っていると思うが、実際には直接グローバルネットワークに接続するのではなく、一度ルーターを通して通信をする。
そのときのルーターのアドレスと思っておけばOK。
ローカルネットワーク
文字通り、ローカルだけでつながっており、グローバルに出ていかないネットワークの範囲。先ほどのWi-Fiなどでつながっている範囲もこれに含まれる。
グローバルネットワーク
こちらも文字通り世界につながったネットワーク。家のWi-Fiの場合、デフォルトゲートウェイを通って繋がっている。
ポート
通信の識別子のようなもの。実際にネットワークにつながっているからと言って、すべてにアクセスできるわけではなく、このポート番号を指定して、許可されたポート番号しか通信できないように設定ができる。
普段使用しているhttpsの通信のポート番号は443で、これが許可されているからいろんなWebページを開いたりできる。
ファイアウォール
ネットワークの出入り口に設置して、外部からの不正な侵入や内部から外部への不正なアクセスを禁止する装置。
許可されたポート番号だけこのファイアウォールを抜けられる。
ポート番号の許可を設定しておくことを「穴あけ」と言ったりするらしい。
TCP/UDP
ネットワークでのコンピュータ同士の通信はアプリケーション同士の通信であり、その時のデータのやり取りの仕方みたいなもの。
それぞれ、Transmission Control Protocol と User Datagram Protocol である。
TCPは送るものを何度も確認しながら通信を進めるのに対し、UDPは送る順番も関係なしに一気にデータを送り付けるイメージ。
もっとざっくりいうとTCPは丁寧だけど少し遅い通信、UDPは雑だけど早い通信って感じ。もし選択する必要がある場合は基本的にTCPにしておけば大丈夫らしい。