【僕の学習ノート】インターネット上でデータを送る際に使う仕組み3選
こんにちは、なおやです。
今日は、Courseraというプラットフォームで、Metaの社員さんたちから授業を受けました。
そこで得た学びが、下記のツイートです。
【今日学んだ】インターネット上でデータを送る際に使う仕組み3選
1. IPアドレス:データを送る際に使う住所
2. IPパケット:データを送る際のパッケージ
3. TCPとUDP:データが破損したり、紛失してしますなどのトラブルを防ぐ— Naoya (@kaigaiblog63) October 1, 2022
今回は、これを掘り下げて解説していきます。
この記事の信憑性
この記事は、Courseの授業を受けて、学び、理解したことを基に、僕なりの言葉と解釈で分かりやすく解説しています。まあ簡単にいうと、僕が学んだことのアウトプットノートです。※ 注意:僕はまだ日々学習している段階です。解説していることに間違いがある可能性も否定できません。何か間違いを見つけて下さった方は、このWebサイトの向上のと僕の学習の為に、教えてください🙏
» Courseraという素晴らしいプラットフォームはこちら (授業は全て英語です)
【僕の学習ノート】インターネット上でデータを送る際に使う仕組み3選
私たちがインターネット上でデータを送る際に使う仕組みは、主に3つの点で郵便のシステムに似ています。
- 送受信先の情報が必要(郵便の場合:住所)
- 何かに入れて送る(郵便の場合:段ボールとか)
- 送る際に問題が起こる可能性がある(故障とか紛失)
そこで、今回はこれら3つの観点からインターネット上でデータを送る仕組みについて解説します。
IPアドレスとは?
私たちは、友達の住所を知らない場合、その友達に郵便を送ることはできません。つまり、郵便を送るには住所が必要です。
これと同じで、メールなどをコンピューター同士で送受信する際に必要なのがIPアドレスです。
つまりIPアドレスとは、ネットワーク上に接続されている全てのコンピューター機器に振り分けられており、データの送受信を行う際の送信者と受信者の住所を表しています。
また標準的に使用されているIPアドレスの通信規格は、主に2種類あります。
IPv4 (Internet Protocol version 4)とは?
IPv4とは、現在主流で使われているIPアドレスの通信規格です。
IPv4は、「73.55.242.3」のような見た目をしており、「.(ドット)」で区切った1つのまとまりに対して「0」から「255」までのどれかの数字が入ります。
つまり、「(0~255).(0~255).(0~255).(0~255)」のような形式で表されるのがIPv4です。
IPv6 (Internet Protocol Version 6)とは?
IPv4では、約43億個のIPアドレスを作ることができるのですが、インターネットの発展と共に、これでは足りなくなってしまいました。
そこで、登場したのがIPv6です。
IPv6は、「4527:0a00:1567:0200:ff00:0042:8329」のような見た目をしており、それぞれの数字が16進数 (0~9とA~F) で表されています。故に、約340澗(340兆の1兆倍の1兆倍)個のIPアドレスを作ることができます。
IPパケットとは?
郵便を送る際に使う封筒や段ボールのようなものに当たるのが、インターネット上でデータを送る際に使うIPパケットです。
IPパケットは、TCPヘッダーとTCPデータ (TCPペイロード) で構成されており、それぞれ以下のデータを含んでいます。
- TCPヘッダー:目的地と送信者のIPアドレス、データを安全に送るために必要な様々な情報
- TCPデータ (TCPペイロード):送信したいデータの内容、一部のプロトコル
主要なプロトコル2選
郵便を送るときに、郵便物が破損してしまったり、紛失してしまうなどのトラブルがあるように、インターネット上でデータを送る際にも、主に3つのトラブルが起こる可能性があります。(データの順序が変わる、データが損傷する、データが紛失する)
それを防ぐ役割を持つプロトコルは、主に2つ
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
TCPは、先ほど紹介したようなトラブルが起こるのを網羅的に防ぎます。つまり確実なデータ転送を保証してくれるんですが、欠点としてデータ転送のスピードが遅くなります。故に、基本的にはテキストや写真などの繊細なデータを送る際に使われます。
UDPは、データの破損のみを防いでくれます。その代わり、データの転送スピードが早いというメリットがあります。故に、ビデオ通話やストリーミング配信などで使われます。
ちなみに、TCPデータ (TCPペイロード) が一部のプロトコルを含んでいると言ったのは覚えていますか?その一部のプロトコルにあたるのがこれらのプロトコルです。
» イメージしずらい場合はこちら
以上です!