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
TCP/UDPの違い
Search
kubo-hide-kun
July 28, 2019
Programming
6.3k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TCP/UDPの違い
学校の授業課題として作成したスライドです.
担当教員からは外部への公開の許可は貰っています.
kubo-hide-kun
July 28, 2019
More Decks by kubo-hide-kun
See All by kubo-hide-kun
CA BASE NEXT でスクロールに 連動したUIを構築した話
kubo_programmer
1
620
ハイレベルな環境こそが最高である 科学的なお話
kubo_programmer
0
180
SQL Injection
kubo_programmer
0
140
IPアドレスとは何か?
kubo_programmer
0
3.9k
クライアント/サーバーシステム
kubo_programmer
0
16k
DHCPサーバ
kubo_programmer
0
3.6k
How to make Readable Slide
kubo_programmer
0
180
AtomicDesignの説明と所感
kubo_programmer
0
2k
Moonblock入門
kubo_programmer
3
1.5k
Other Decks in Programming
See All in Programming
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.3k
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
220
残高管理から台帳サービスへの進化
artoy
1
220
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
200
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.6k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
150
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.1k
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
170
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
150
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
ChromeでローカルLLM
ryu1013
0
170
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
540
A Soul's Torment
seathinner
8
3.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Code Reviewing Like a Champion
maltzj
529
40k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Speed Design
sergeychernyshev
33
2.2k
Transcript
ネットワーク プログラミング [TCP/UDPの違い]
アジェンダ!! CHAPTER 1 通信プロトコルとは何か? CHAPTER 2 TCPプロトコルについて知ろう! CHAPTER 3
UDPプロトコルについて知ろう!
CHAPTER 1 通信プロトコルとは 何か ? ?
通信プロトコルとは? ・ネットワークで データ通信 を行うための 規約 ・コミュニケーション を行うための 具体的なルール 意思/内容を伝え合う 同じ言語を使用する
LINEを使って伝える いくつかのルール上にコミュニケーションが成立 例) 人と人の会話
コンピュータ通信のプロトコル 以下のような規約などが必要となる. サービス (アプリケーション) メッセージ形式 (フォーマット) 通信手順 (送受信の動作) コネクション管理 (確立・切断)
データ転送の信頼性 (誤り検出/訂正,再送) 通信方式 (信号,伝送媒体)
CHAPTER 1 TCPプロトコル について知ろう!
TCPプロトコルとは? TCPは データ配信の信頼性 を重視したプロトコル (この制約上 1対1の通信 でしか利用できない) 受信側がデータを 受け取れるかを確認 データを規定の大きさに
分割して送信 送り終えたら 通信を終了する ①通信の確立 ②データの送信 ③通信の終了
通信の開始 通信相手に通信状況を伝える手段として, コントロールフラグが使われる(TCPヘッダに取り付け)
「通信しましょう」 「了解です.通信しましょう」 「了解です」 U R G A C K P S H R S T S Y N F I N ԼਤͷΑ͏ʹ૬खͱ֬ೝ͠ͳ͕Β ΓऔΓ͢Δ͜ͱΛϋϯυγΣΠΫͱ͍͏ɽ 役割 URG 緊急がデータがあるか ACK 通信の確認に対して了解したか PSH すぐにアプリケーション層に渡すか RST 通信を強制的に切断するか SYN 通信の開始を要求するか FIN 通信の終了を要求するか コントロールフラグの構造
アプリケーションデータ データ(1/3) データ(2/3) データ(3/3) 「どのアプリケーションを利用するか」や 「元に戻すための番号」などの情報 データ(2/3) データ(3/3) データ(1/3) セグメント
データを 一定の大きさに分割 データの分割
データのやり取り 1番です 2番です 1番届きました. 2番お願いします. TCPヘッダに番号を書き込み, セグメントを送信. 順番通りに来てるか 確認し,送信側に 次の番号を知らせる
無事に届いていたら, 次のセグメントを送信. 届いたセグメントを 番号順に並べる.
問題があった時の対処 送信 返答 再送信 再送信 送信 返答がないから再送しよう 既にあるので 2つ目は捨てよう 送信
壊れているので破棄しよう 再送が必要なので返答はしないよ Case① セグメントの 遅延/消失 Case③ データの破損 Case② 確認応答の 遅延/消失
CHAPTER 2 UDPプロトコル について知ろう!
UDPプロトコルの特徴 相手の状況を調べず 取り敢えず送信するよ 何があっても 送信しない 受け取っても 返答しない ① 打ち合わせをしない ②
複数の相手に同時に送信 これはTCPには不可能
まとめ: TCP と UDP の違い しっかり受け取りました どうぞ〜 データは確実に相手に届く データに 異常なし!
TCP ~ 信用第一 ~ どうぞ ! UDP ~ 速さで勝負 ~ 早いけど…. 失敗も…. 使用例: www, 電子メールなど 使用例: IP, 電話, ストリーミングなど
[参考文献]