TCP / IP はインターネット通信をする際の決まりごと。
プロトコルとしては
- IPプロトコル
- UDPプロトコル
- TCPプロトコル
上記3つに分けられます。
TCP・IP分かりやすくIPプロトコルは送信元・宛先が記載されたIPプロトコル
IPプロトコル (Internet Protocol) とは
- データパケットがネットワークを通じ
- 送信先や目的の宛先に到達するためのプロトコル(ルールセット)
を指します。
特にデータ本体となる、ペイロードを正しい宛先に届けるための最低限の手順や規約が定められています。
IPプロトコルは、送信元と宛先が書かれたカラの封筒をイメージすると分かりやすいな
TCP・IP分かりやすくUDP・TCPプロトコルはヘッダにポート番号が付与されたIPプロトコル
次に以下2つのプロトコル概要を紹介します。
- UDPプロトコル
- TCPプロトコル
どちらのプロトコルも、ペイロードのヘッダーに情報が付与されたプロトコルです。
UDPプロトコルはデータグラム
UDPプロトコル (User Datagram Protocol)はポート番号を付与するだけで、データ送信の順番はIPプロトコルと変わりません。
- 宛先の受け取り確認
- 送信エラーのチェック
- 再送信処理
といったことを行わず、配信先PCの状態に関わらず一方的にデータ送信を行います。
また、受信側PCがデータ受信できたか確認する機能もありません。
このように、宛先指定のみ送信するデータを「データグラム」と呼び、UDPプロトコルはコネクションレス型のプロトコルであると言えます。
UDPプロトコルは、相手の気持ちを考えずにラブレター送ってくるやつだな
TCPプロトコルはセッションフラグが付与される
TCPプロトコル(Transmission Control Protocol)は、データ送信有無について確認する規格のことです。
TCPプロトコルは、ペイロードのヘッダーにポート番号が付与され、
- 宛先の受け取り確認
- 送信エラーのチェック
- 再送信処理
といった手順が予め決められており、
- シーケンス番号
- 応答確認番号
- セッションフラグ
といった情報が付与されるため、確実に正確な情報を送信することが可能です。
シーケンス番号
大きなデータを複数パケットに分割したときのパケット番号のこと。
応答確認番号
シーケンス番号が正しいかを確認するための番号。自分の次に来るべきシーケンス番号が入る。
セッションフラグ
TCPセッションの状態を示す様々なフラグ。
以上のことからTCPプロトコルは、セッション指向で双方向通信を実現するプロトコルです。
TCPプロトコルは、ラブレターを渡した・受取ったを確認するデータ通信の見張り役って感じだな
TCP・IP分かりやすくIP・UDP・TCP各プロトコルの違い
ここまで概要を以下の通りにまとめます。
プロトコル | 役割 | 例 |
---|---|---|
IPプロトコル | 正しい宛先にデータを届ける | 送信先・宛先が書かれた封筒みたいなやつ |
UDPプロトコル | 速度や利便性を優先してデータを届ける | データ受信側へ向けて、一方的にデータを送りつけるやつ。コネクションレス型。 |
TCPプロトコル | 信頼性や確実性を高めてデータを届ける | 送受信する側の両方に確実にデータ送信できたか確認してくれるやつ。セッション指向型。 |
IP・UDP・TCPプロトコルの用途
- IPプロトコルは、UDP・TCPプロトコルを包んだ封筒のイメージで、パケットを送信先IPアドレスへ送信するための技術です。
- UDPプロトコルは動画や音声のストリーミング再生など、速度を重視したデータ転送で用いられます。
- TCPプロトコルは、確実なデータ通信を行いたい場合に利用される技術です。
インターネットを利用する際は、全てこうしたプロトコルを利用してデータ送受信が成り立っているわけだな
IPプロトコル・IPアドレスの違いIPアドレスは送信元や宛先のネットワークを特定する識別子
IPアドレスは、送信元や宛先を特定するための住所として使われるデータのことを差しており世界標準の通信方法となっています。
TCP / IPプロトコルとIPアドレスの違いとしては、
- IPプロトコルはルール
- IPアドレスはデータ通信先
といったように、規格そのものが違います。
IPプロトコルはハガキを送る手順(ルール)、IPアドレスはハガキが到着する住所(通信先)の違いだな
IPアドレスの役割・具体例
基本的に端末Aから端末Bへデータ通信を行う場合、端末Aから送られる通信データは
- 送信元:A端末のIPアドレス
- 宛先:B端末のIPアドレス
といった情報が付与されて通信が成立します。
以上のようにインターネットによるデータ通信を行う端末には、必ずIPアドレスが割り振られています。
Aの住所から、Bの住所へはがきを郵送するようなイメージね
また、データがA端末からB端末へたどり着く経路を「ルーティング」と呼びます。
IPアドレスの構造はビットにより構成される
IPアドレスの構造の表記は以下のとおりです。
- 32bit(ビット)のデータで構成されている
- 8bitずつ10進数表記にてピリオドで区切られている
このとき8bit(1Byte:バイト)の単位をネットワーク上では「オクテット」と呼びます。
ちなみにbitは「b」、Byteは「B」で表記・認識されることが多いんだよ
bit・Byteの互換性は以下のとおりです。
bit(ビット)表記 | Byte(バイト)表記 |
---|---|
8bit | 1Byte |
bit(ビット)とは
ビットは情報量を表す単位で、情報の世界最小単位を差します。単位となることで、情報量を数値化できます。
- ビットが多い(ビットの値が高い)=情報量が多い
といった認識となり、情報量が多い画像はきれいな絵を確認することができます。
ビットという単位があるから、見えないデータを数値化することができるんだな
IPアドレスはIPv4とIPv6に分かれる
IPアドレスには
- IPv4
- IPv6
と呼ばれる2種類のバージョンが存在します。特徴としては以下のとおりです。
バージョン | アドレス長 | アドレスの個数 | 特徴 |
---|---|---|---|
IPv4 | 32ビット | 約43億個 | ・Internet Protocol version4 ・インターネットの基本的アドレス ・すでに新規発行ができない ・パケットの暗号化はアプリ側で行う |
IPv6 | 128ビット | 約340潤個(じゅんこ) | ・Internet Protocol version6 ・ほぼ無限に使えるアドレス空間 ・シンプルなパケット ・プロトコルのレベルでパケットの暗号化を行う |
- IPv4は旧規格で、約43億個しか表現できないIPアドレスのため枯渇しています。
- IPv6は新規格で、約340澗(かん:1036)の表現が可能でほぼ無限に使えるIPアドレスです。
IPv4は32ビット構成で43億個の表現ができる。なぜ枯渇するのか
IPv4は32ビット構成であれば、43億個のアドレス(住所)を表現できますが、なぜ枯渇するのでしょう?
答えは、
- 世界人口が70億人を超えている
- そもそも43億個のすべての「アドレス空間」が使えるわけではない
といった理由からです。
またアメリカの軍用技術として開発されたのが「IPv4」だったため、民間での使用が想定されていなかったことが大きな要因でしょう。
43億個すべて使えるアドレスではないし、人口数でも足りないんだな
アドレス空間って何?
アドレス内部は2進数で表現され、桁数により表現できるアドレスの数が決まります。
>アドレス空間のイメージ(参考:https://atmarkit.itmedia.co.jp/icd/root/52/5784552.html)
このアドレス・住所として利用できるメモリ領域の合計が「アドレス空間」です。
上位アドレスと下位アドレスの空間のことをアドレス空間と呼ぶわけだ
IPプロトコル・IPアドレスの違いIPアドレスのアドレス空間にはグローバルIPとプライベートIPが存在する
IPアドレスのアドレス空間では、
- インターネットの住所として使えるものを「グローバルIPアドレス」
- LAN内のアドレス空間で使うIPアドレスのことを「プライベートIPアドレス」
と呼びます。
どっちも、PCやスマホなどの住所を特定するために使われる情報だな
グローバルIPはインターネット上に1つしか存在しない
グローバルIPは、インターネットに接続された機器に割り当てられるIPアドレスです。
以下の機関によって、ドメイン名・IPアドレスなどのポリシー調整が行われています。
- ICANN(Internet Corporation for Assigned Names and Numbers、アイキャン)
- JPNIC(Japan Network Information Center)
またグローバルIPは、全世界で使われるインターネット情報がたどり着く住所です。
そのため、世界でたった1つのアドレスであり同じグローバルIPは存在しません。
日本国内ではJPNICによって日本で使えるグローバルIPを管理しており、さらにISP(Internet Service Provider)事業者によって一般消費者向けにグローバルIPの提供管理がなされています。
今この画面を見ている端末にも、グローバルIPが割り振られているわけだ
プライベートIPはインターネット上に存在しない
プライベートIPは、同じネットワーク内でのみ適用される住所です。
プライベートIPで使用できる範囲は予め定まっており、以下のとおりです。
プライベートIPで使えるアドレス範囲 |
---|
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が割り当てられます。
ちなみにグローバルIPは、プライベートIP以外の全ての重複しないIPアドレスが割り当てられます。
プライベートIPはビット数を見ることで、グローバルIPと見分けがつくわけだな
グローバルIPで個人を特定できるのか
結論からいうとIPアドレスから、
- 氏名
- 住所
といった個人情報の特定は基本的にはできません。
ただし、IPアドレスを個人に提供・発行しているISP事業者(プロバイダ)はネット犯罪被害の特定を背景に、契約者の個人情報を開示することがあります。
おおよその特定が可能なのは「市区町村単位」であり、個人情報に関わる詳細な住所特定までには至りません。
IPアドレスから個人情報を特定するには開示請求が必要
グローバルIPから絶対に個人を特定できないわけではありません。
ISP事業者へ「開示請求」を求めることで契約者の住所などを特定することが可能です。
ただし、ISP事業者が開示請求に応じることは企業の信用に関わるためほとんど稀。
ネット犯罪に関わる必要な情報開示を除き、個人での特定はまず無理でしょう。
基本的にIPアドレスから、個人が個人を特定することはできないんだな