๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Group_Study/Networking

[3์ฃผ์ฐจ] TCP์˜ Segment Structure

by ํฌ์ŠคํŠธ์‰์ดํฌ 2022. 10. 5.

TCP: Segment Structure

TCP์˜ ํŠน์ง•

โœ” point-to-point: one sender(socket), one receiver(socket)
โœ” reliable, inorder byte stream
โœ” piplelined
โœ” full duplex: ์–‘๋ฐฉํ–ฅ data flow
โœ” send & receive buffers: ๊ฐ๊ฐ ๋Œ€์‘๋˜๋Š” ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
โœ” connection oriented
โœ” flow controlled
โœ” condition controll

TCP segment์˜ ๊ตฌ์กฐ

image


โœ” ๊ฐ ํ—ค๋” ํ•„๋“œ์˜ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒŒ ์ค‘์š”ํ•˜๋‹ค
โœ” src/dest port#: 16bit -> 0 ~ 2^16 - 1
โœ” seq#
โœ” ACK#
โœ” checksum: ์—๋Ÿฌ ํ™•์ธ
โœ” receive window: ํ˜„์žฌ ๋‚จ์•„์žˆ๋Š” ๋นˆ ๊ณต๊ฐ„
โœ” ...

TCP์—์„œ์˜ seq#์™€ ACK

image


โœ” TCP์˜ seq#: ๋ฐ์ดํ„ฐ์˜ ์ฒซ ๋ฐ”์ดํŠธ์˜ ์ˆœ์„œ ๋ฒˆํ˜ธ
โœ” TCP์˜ ACK: cumulatice ACK์„ ์‚ฌ์šฉ
ใ€€ใ€€ใ€€ใ€€ใ€€ex) ACK(10): 9๋ฒˆ๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ , 10๋ฒˆ ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ๋Œ€๊ธฐ
โœ” receiver๋Š” sender๊ฐ€ ๋งŒ๋“  seq#๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ buffer์— ๋„ฃ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŠธ๋ž˜ํ‚นํ•œ๋‹ค.

Timeout

Timeout value๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•  ๊ฒƒ์ธ๊ฐ€?

โœ” RTT(Round Trip Time): ๋„คํŠธ์›Œํฌ์—์„œ ์ถœ๋ฐœ์ง€์ ์—์„œ ์ „์†กํ•œ ์‹ ํ˜ธ๊ฐ€ ๋„์ฐฉ์ง€์ ์„ ๊ฑฐ์ณ ๋‹ค์‹œ ์ถœ๋ฐœ์ง€์ ์œผ๋กœ ๋Œ์•„์˜ค๊ธฐ๊นŒ์ง€์˜ ์‹œ๊ฐ„(์™•๋ณต์‹œ๊ฐ„)
โœ” ๊ทธ๋Ÿฌ๋‚˜ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๊ฑฐ์น˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋‹ค๋ฅด๊ณ  queing delay ๋•Œ๋ฌธ์— RTT๋Š” ์ „๋ถ€ ๋‹ค๋ฅด๋‹ค

Estimated RTT

image

 

image


โœ” ์ตœ๊ทผ ์ธก์ •๋œ RTT์— ์ ์€ ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๋Š” ๊ฐ€์ค‘ํ‰๊ท 

TCP์˜ timeout value

image


โœ” estimated rtt์— ์ผ์ •์ •๋„์˜ margin์„ ๋”ํ•ด์ค€๋‹ค

๋Œ“๊ธ€