Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webでの通信プロトコルの紹介とこれから

 Webでの通信プロトコルの紹介とこれから

Avatar for Hironori Yamada

Hironori Yamada

December 15, 2021

More Decks by Hironori Yamada

Other Decks in Programming

Transcript

  1. TCP Transmission control protocol ネットワークで使⽤される主要プロトコルの⼀種 すべてのデータが受信されることを保証する TCPはコネクション型プロトコルであり2台のコンピューター間で通信が⾏われる前に まずお互いの接続を確認する(3way handshake) TCPで重要なのはデータの配信を保証するということ

    データパケットが誤って届かない場合はTCPはそれを再送信する パケット通信の図 データパケットが通信する中で壊れたり届かなかったりすると、後続の通信をストップし 再度同じパケットを届ける この際にオーバーヘッドが発⽣してしまうのがデメリット
  2. 次世代のプロトコルについて QUIC quick udp internet connection Googleが2013年に発表し実装を進めているHTTP/3の基盤となるプロトコル 前述したUDPをもとに作成されておりTCPとUDPのいいところ取りな規格 接続環境が悪いほど通信効率が⾼くなるという特徴を持つ クライアントとサーバーの両⽅で443ポートが開放されている必要がある

    モダンブラウザなら既に対応している パケット通信の図 データパケットが通信する中で壊れたり届かなかったりしても、別のパケットブロックが複数の データパケット情報を保持しており、それを元に再構築しデータを届けることが可能。
  3. HTTP Hypertext Transfer Protocol 前述したTCP,UDP,IPとはまた別の層にあるアプリケーション層のプロトコル アプリケーションやWEBページがもつ情報のやり取りに使⽤される HTTP/ ◯ ←このように表される (HTTP/2

    など) 速度、セキュリティ、通信⽅法などが改良される毎にバージョン分けがされている 最新のバージョンはHTTP/3 現在のインターネット上ではHTTP/2とHTTP/3が併⽤されている状態 HTTPのバージョンについて
  4. IP TCP TLS/SSL HTTP/2 UDP HTTP/2 UDP QUIC TLS/SSL HTTP/3

    暗号化 handshake アプリケーション層 トランスポート層 インターネット層 Ethernet ネットワーク インターフェース層 インターネットにおける通信プロトコルの構成 HTTP/3ではQUIC内でTSL/SSLが⾏っていた通信の暗号化を⾏いTSL/SSLは ハンドシェイクの際にのみ使⽤されるようになる QUICの役割はトランスポート層からアプリケーション層にまで及ぶ次世代規 格となり今までのプロトコル構成を改変させるほどの技術
  5. 参考 マスタリングTCP/IP―⼊⾨編―(第6版) 単⾏本 ‒ 2019/12/1 井上 直也 (著), 村⼭ 公保

    (著), ⽵下 隆史 (著), 荒井 透 (著), 苅⽥ 幸雄 (著) GoogleのQUICプロトコル:TCPからUDPへWebを移⾏する https://postd.cc/googles-quic-protocol-moving-web-tcp-udp/ HTTPのバージョンについてまとめ https://qiita.com/hirooka0527/items/13767855358f83db5e02 ネットワークやTCP/IPやHTTPの基本(初学者向け) https://qiita.com/ryosuketter/items/ba54d595a31f4ad0a58f HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策〜Fastly奥⽒が解説(前編) https://www.publickey1.jp/blog/21/http3web_tcptlshttp2http3fastly.html