通信一つも、数多の技術の結晶
from Network ~ComputerとComputerをつなぐもの~
OSI参照モデルという「Computer間の通信技術」を7層に分けたModelがある
https://gyazo.com/e4e882fa8caff8b085c26eb6e3fe0c46
引用元)OSI参照モデルまとめ - Qiita
「Computer間の通信を安心・安全に行う」のは想像以上に難しい
何百kmも離れた
数億、数十億のComputerが繋がれた
そんなInternetの中を「安心・安全」にするためには技術がたくさん使われている
7層。それぞれになっていることが違う
ざっくりは以下のようになっている
1. 物理層 物理的にどういうものを通るの?(光ファイバ?無線LAN?)
2. Datalink層 物理線の中で、ソフトウェア的にどうデータを送る?(無線LANの規格 etc)
3. Network層 通信線は途中で何度も分岐するけど…「通信経路」をどう選ぶ?(IP)
4. Transport層 相手にdata送るときの「error(dataが壊れちゃったetc)」をどう防ぐ?(TCP)
5. Session層 大きいData送るのに時間かかるけどどうやる?(TCP)
6. Presentation層 送るデータは「どんな言語(文字コードなど)、どんな形式」で送られている?
7. Application層 PC,serverではどんな形式で読み込み/書き出しされる?(HTTP)
ネットはTCP/IPにてなりたっているため、TCP/IPを使うことに合わせた整理もある
TCP/IPモデルと言う
https://gyazo.com/c96a6e7a38a6f8eeb2b3b56985a5c4e2
引用元)OSI参照モデルとTCP/IPモデル TCP/IP入門
正確にはTCPの代わりにUDPを使うこともある
TCPとUDPの違いとは?~Ethernet接続におけるオーバーヘッド削減ノウハウ~ | ハートランド・ザ・ワールド
UDPは、コネクションレス型のプロトコルであることから、TCPに比べると信頼性がないものの高速に転送を行うことができます。
TCPは「信頼性がある」分だけ遅い。
基本的に機能がrichになると重い/遅いので、どんなに小さくても高頻度なProcessは最適化するべき