アウトプットも兼ねた自分用備忘録。
そもそもプロトコルとは
通信するときのお約束。
これがあるから、違う機器同士で通信できる。
IPとは
Internet Protocolの略。データの送信元から宛先へ送る役目を持つ。
これがないとそもそも通信できない。
IPによって出来上がっている世界規模のネットワークをインターネットと呼ぶ。
ネットワークに接続された機器全てに固有の識別番号を割り当てる。これがIPアドレス。
ざっくり言うとネットワーク上の住所のこと。
よくある「192.168.1.XXX」みたいなのはIPv4アドレス。
世界中の機器に割り当てるには数が足りないので、だいたいLANでしか使えないやつ。
本当はグローバルIP(外部から見えてるIPアドレス)を持ってる機器じゃないとインターネットできない。
IPマスカレードっていう仕組みででグローバルIPからローカルIPの変換、
ついでにポート番号も変換してインターネット見れる機器を増やしてる。
TCPとは
Transmission Control Protocolの略。
ネットワーク層とL4より上位の階層のプロトコルの橋渡し役。
3ウェイハンドシェイクを用いて信頼性の高い(切断しにくい)通信を実現する。
仕組みは以下のようなイメージ。つまり、相手が準備できたら通信を始めるから切れにくい。
送る側が受け手側にデータ送っていいか確認
↓
受け手側から送る側に、セッション張っていいか確認
↓
送る側がオッケーを返してから通信を始める。
2017/12/30 追記
データの送信は、受信側から送信側へ「データをここまで受け取った」というのを報告しながら進む。
送信側は、この報告を受けつつ次の送信作業を行う。
また一定時間報告が来なければ、正常に受け取れなかったと判断してデータの再送も行う。
この仕組みで、確実にデータを送ることができる。
セッションを切断するときもハンドシェイクをしてから切断をする。
UDPとは
User Datagram Protocolの略。
TCPと同じで、ネットワーク層とL4より上位の階層のプロトコルの橋渡し役。
TCPとの違いは、3ウェイハンドシェイク的な仕組みがないこと。
信頼性は落ちるけど、その分高速に処理できる。投げっぱなし。
2017/12/30 追記
投げっぱなしである性質を利用して、複数の送信先に同じデータを送ることもできる。
結論、使い分け大事