Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Webでの通信プロトコルの紹介とこれから
Search
Hironori Yamada
December 15, 2021
Programming
25
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webでの通信プロトコルの紹介とこれから
Hironori Yamada
December 15, 2021
More Decks by Hironori Yamada
See All by Hironori Yamada
コーディングの時間・工数・見積についてのお話
janham
0
84
Webブラウザのお仕事
janham
0
30
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
630
残高管理から台帳サービスへの進化
artoy
1
200
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
1
160
Next.js: The final boss of Web Performance
guaca
0
280
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
780
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
ラッコキーワード サービス紹介資料
rakko
1
5.4M
A Tale of Four Properties
chriscoyier
163
24k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Design in an AI World
tapps
1
350
Transcript
WEBでの通信プロトコルの紹介とこれから
通信プロトコルとは 異なるデバイスやコンピューターなどが互いに通信するために制定された⼿順や規約のこと → 通信するときはお互いにお決まりごとの上で情報をやり取りしましょうね!的なもの インターネットにおいては基本的にInternet Protocol(IP)という通信プロトコルが根底にある そしてWEBページを表⽰したりする際にも通信プロトコルが使⽤されることになるが、 WEBページを表⽰する場合はWEBページがそのまま順番にすべて表⽰されることが期待される またファイルがダウンロードされる場合も⼀部だけでなくファイル全体が必要であり データが⽋落していたり順序が狂っている場合はなんのメリットもない
これらを実現するためには接続するデバイス同⼠の信頼が良好である必要があり、 それによってはじめてデータが正しく受信されることが保証される
TCP Transmission control protocol ネットワークで使⽤される主要プロトコルの⼀種 すべてのデータが受信されることを保証する TCPはコネクション型プロトコルであり2台のコンピューター間で通信が⾏われる前に まずお互いの接続を確認する(3way handshake) TCPで重要なのはデータの配信を保証するということ
データパケットが誤って届かない場合はTCPはそれを再送信する パケット通信の図 データパケットが通信する中で壊れたり届かなかったりすると、後続の通信をストップし 再度同じパケットを届ける この際にオーバーヘッドが発⽣してしまうのがデメリット
UDP user datagram protocol TCPとは異なりデータの配信を保証せず、送り⼿は相⼿側で無事データが受信されたかどうかは気にしない データ配信を保証しないことで、再送信の必要がなくオーバーヘッドが少ないためTCPより⾼速 ブロードキャストや動画ストリーミング、ライブ配信などによく使⽤される通信プロトコル パケット通信の図 データパケットが通信する中で壊れたり届かなかったりしても、後続の通信をストップすることなく パケットを送り続ける。届かなかったパケットは破棄。その分通信が速い。
次世代のプロトコルについて QUIC quick udp internet connection Googleが2013年に発表し実装を進めているHTTP/3の基盤となるプロトコル 前述したUDPをもとに作成されておりTCPとUDPのいいところ取りな規格 接続環境が悪いほど通信効率が⾼くなるという特徴を持つ クライアントとサーバーの両⽅で443ポートが開放されている必要がある
モダンブラウザなら既に対応している パケット通信の図 データパケットが通信する中で壊れたり届かなかったりしても、別のパケットブロックが複数の データパケット情報を保持しており、それを元に再構築しデータを届けることが可能。
HTTP Hypertext Transfer Protocol 前述したTCP,UDP,IPとはまた別の層にあるアプリケーション層のプロトコル アプリケーションやWEBページがもつ情報のやり取りに使⽤される HTTP/ ◯ ←このように表される (HTTP/2
など) 速度、セキュリティ、通信⽅法などが改良される毎にバージョン分けがされている 最新のバージョンはHTTP/3 現在のインターネット上ではHTTP/2とHTTP/3が併⽤されている状態 HTTPのバージョンについて
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の役割はトランスポート層からアプリケーション層にまで及ぶ次世代規 格となり今までのプロトコル構成を改変させるほどの技術
まとめ • 通信プロトコルについて理解を深めておくことはフロント↔バックエンド↔サーバーサイド を横断して開発や運⽤を⾏う際には必ず必要となる知識なのでこの機会に⼊⾨知識を整理す ることができたのは良かったと思う。 • 今回紹介したQUICを始め今のインターネットに⽋かせない技術の開発の先端を担うGoogle やAmazonやFacebookなどはもはや⼀企業ではなくインターネット基盤の⼀部として存在 していることを改めて痛感させられた。 •
次のステップとしては今回の通信に関連してセキュリティの基礎知識を深められればと思う
参考 マスタリング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