UDP ํ๋กํ ์ฝ
- UDPํค๋๋ 8๋ฐ์ดํธ๋ก ๊ฐ๋ตํ ๊ตฌ์กฐ (์ต์ํ๋ ์ค๋ฒํค๋ ๊ตฌ์กฐ)
- ๋น์ฐ๊ฒฐํ์ ์ ๋ขฐ์ฑ์ด ๋ฎ์ ์ ์ก ํ๋กํ ์ฝ
- ๋ฉ์์ง ๋จ์์ ์ ์ก ํ๋กํ ์ฝ
- ๋ฉ์์ง๋ฅผ ๋ ์์ ๋จ์๋ก ์๋ฅด๊ฑฐ๋ ์ฌ์กฐํฉ X
- ํ์ํ ๊ฒฝ์ฐ ์์ฉ๊ณ์ธต ํน์ IP๊ณ์ธต์์ ์๋ฅด๊ณ ์ฌ์กฐํฉ
- ๋น์ ๊ท์ ์ก์ ์จ(Unregulated Sending Rate)
- ์ก์ ์จ์ ๊ฐ์ญํ์ง ์๊ณ , ์์ฉ๊ณ์ธต์ ์๋๋๋ก ์ ์ก (๋คํธ์ํฌ ์ํฉ ๊ณ ๋ คX)
- TCP๋ ์์ฒด์ ์ผ๋ก ์ก์ ์จ ์ ์ด
TCP ํ๋กํ ์ฝ
- ์คํธ๋ฆผ ๋ฐฐ๋ฌ(Stream Delivery) ์๋น์ค ์ ๊ณต
- ๋ฐ์ดํธ ์คํธ๋ฆผ ํํ๋ก ๋ฐ์ดํฐ ์ก์์
- ๋ฐ์ดํฐ์ ์์๊ณผ ๋์ ๊ตฌ๋ถํ์ง ์๊ณ ์ฐ์์ ์ธ ๋ฐ์ดํฐ์ ํ๋ฆ์ผ๋ก ์ฒ๋ฆฌ
- ํ๋ฆ์ ์ด์ ์ค๋ฅ์ ์ด๋ฅผ ์ํ ์ก์์ ๋ฒํผ(Buffer)
- TCP ์ธ๊ทธ๋จผํธ(Segment)
- TCP๋ ์คํธ๋ฆผ ๋ฐฐ๋ฌ์ ์ ๊ณตํ์ง๋ง, ํ์๊ณ์ธต์ธ IPํ๋กํ ์ฝ์ ํจํท์ ํํ๋ก ๋ฐ์ดํฐ ์ ๋ฌ
- -> TCP๋ ์ผ๋ จ์ ๋ฐ์ดํธ๋ฅผ ์ธ๊ทธ๋จผํธ๋ผ๋ ํจํท์ผ๋ก ๊ทธ๋ฃนํ
- ์ ์ด์ค ํต์ ์๋น์ค : ์๋ฐฉํฅ ๋ฐ์ดํฐ ์ก์์
- ์ ๋ขฐ์ฑ ์๋น์ค : ํ์ธ์๋ต ๋ฉ์ปค๋์ฆ์ ์ด์ฉํ์ฌ ์ค๋ฅ์๋ ๋ฐ์ดํฐ ์ ์ก ์๋น์ค ์ ๊ณต
- ์ฐ๊ฒฐ ์งํฅ ์๋น์ค
- ๋ TCP๊ฐ์ ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ ์ดํ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํ
- ๋ฐ์ดํฐ ๊ตํ์ด ์๋ฃ๋ ์ดํ์ ์ฐ๊ฒฐ ์ข ๋ฃ
- ๋ฒํธํ ์์คํ
- ์ค์ IPํจํท์ผ๋ก ์ ์ก๋๋ ์ธ๊ทธ๋จผํธ ๋จ์์ ์์๋ฒํธ๋ ์์ผ๋ฉฐ, ๋ชจ๋ ๋ฐ์ดํฐ ๋ฐ์ดํธ์ ์์ ๋ฒํธ๋ฅผ ๋ถ์ฌํจ
- TCPํค๋์ ์ก์ ์์๋ฒํธ : ํ์ฌ ์ธ๊ทธ๋จผํธ์ ์๋ ์ฒซ๋ฒ์งธ ๋ฐ์ดํธ์ ์์๋ฒํธ(์์ ๋ฒํธ๋ถํฐ ์์)
- TCPํค๋์ ํ์ธ ์๋ต๋ฒํธ : ์์ ์ธก์์ ์์ ํ๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ๋ค์ ๋ฐ์ดํธ์ ์์๋ฒํธ
* TCP ์ธ๊ทธ๋จผํธ(Segment)
- ์ก์ ์ / ์์ ์ ํฌํธ๋ฒํธ (Source/Destination Port Address) : ์ก์ ์ธก/์์ ์ธก ์์ฉํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถํ๋ ํฌํธ์ฃผ์
- ์์๋ฒํธ(Sequence Number)
- ์ธ๊ทธ๋จผํธ์ ํฌํจ๋ ๋ฐ์ดํฐ์ ์ฒซ๋ฒ์งธ ๋ฐ์ดํธ์ ๋ถ์ฌ๋ ๋ฒํธ
- ์ฐ๊ฒฐ ์ค์ ์, ๋์ ๋ฐ์๊ธฐ๋ฅผ ์ด์ฉํด์ ์ด๊ธฐ ์์๋ฒํธ ์์ฑ
- ํ์ธ ์๋ต๋ฒํธ(Acknowledgement Number) : ์์ ์ธก์์ ์์ ํ ๊ฒ์ ๊ธฐ๋ํ๋ ๋ค์ ๋ฐ์ดํธ์ ์์ ๋ฒํธ
- ํค๋๊ธธ์ด(Header Length)
- TCPํค๋์ ๊ธธ์ด๋ก์ 4๋ฐ์ดํธ ์๋์ ๊ฐ์๋ก ํํ
- 5(5x4=20๋ฐ์ดํธ)์์ 15(15x4=60๋ฐ์ดํธ) ์ฌ์ด์ ๊ฐ
- ์๋์ฐ ํฌ๊ธฐ(Window Size) : ์์ ๊ธฐ์ ์๋์ฐ(rwnd; receiving window) ํฌ๊ธฐ
- ๊ฒ์ฌํฉ(Checksum) : ๋ฐ์ดํฐ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํ ํ๋
- ๊ธด๊ธํฌ์ธํฐ(Urgent Pointer) : ๊ธด๊ธํ๋๊ทธ(Urgent Flag)๊ฐ 1๋ก ์ค์ ๋ ๊ฒฝ์ฐ์๋ง ์๋ฏธ์๋ ๊ฒ์ผ๋ก, ๊ธด๊ธ ๋ฐ์ดํฐ ๋ฐ์ดํธ ์์น ํํ
- ์ต์ (Option) : ์ต๋ 40๋ฐ์ดํธ๊น์ง์ ์ถ๊ฐ์ ์ธ ์ ๋ณด ์ ๋ฌ ํ๋
- ์ ์ด ํ๋(Control Field) : ์ฐ๊ฒฐ ์ค์ /ํด์ /๋ฆฌ์ , ๋ฐ์ดํฐ ์ ์ก ๋ชจ๋ ๋ฑ์ ํํํ๋ ํ๋๊ทธ
* TCP ์ต์
- ์ต๋ 40๋ฐ์ดํธ๊น์ง์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ํ๋
- 2๊ฐ์ง ์ ํ์ ์ต์ ํ๋ : Single-byte / Multiple-byte
- ์ต๋ ์ธ๊ทธ๋จผํธ ํฌ๊ธฐ(MSS; Maximum Segment Size)
- ํ๋์ ์ธ๊ทธ๋จผํธ๋ก ์์ ํ ์ ์๋ ๋ฐ์ดํฐ ๋ถ๋ถ์ ์ต๋ ํฌ๊ธฐ
- ์ฐ๊ฒฐ ์ค์ ๋จ๊ณ์์ ์์ ํ๊ณ ์ ํ๋ MSS๊ฐ์ ๊ตํํ์ฌ ์์ ๊ฐ์ผ๋ก ๊ฒฐ์ ํ๋ฉฐ, ์ด ์ต์ ์ด ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ 536๋ฐ์ดํธ
- ์ฐ๊ฒฐ์ด ์ ์ง๋์ด ์๋ ๋์์๋ ๋ณ๊ฒฝ๋์ง ์์
- ์๋์ฐ ํ์ฅ ์ธ์(Window Scale Factor)
- ๋คํธ์ํฌ๊ฐ ๊ณ ์ํ๋ ์ํฉ์์ ๊ธฐ๋ณธํค๋์ ํฌํจ๋ ์์ ์ธก ์๋์ฐ ํฌ๊ธฐ๋ ์ต๋ 65,535 ๋ฐ์ดํธ๋ก์ ๋ถ์ถฉ๋ถํ ์ ์์
- ์๋์ฐ ํ์ฅ ์ธ์๋ ์ฐ๊ฒฐ ์ค์ ๊ณผ์ ์์๋ง ๊ฒฐ์ ๊ฐ๋ฅํ๋ฉฐ, ์ฐ๊ฒฐ์ด ์ ์ง๋์ด ์๋ ๋์์๋ ๋ณ๊ฒฝ๋์ง ์์
- ์๋ก์ด ์์ ์๋์ฐ ํฌ๊ธฐ = ๊ธฐ๋ณธํค๋์ ์์ ์๋์ฐ ํฌ๊ธฐ X 2(์๋์ฐ ํ์ฅ์ธ์)
- ํ์์คํฌํ(Timestamp) : ํจํท์ ์๋ณต์๊ฐ(RTT; Round Trip Time)์ ์ธก์ ํจ
- SACK-ํ์ฉ, SACK ์ต์
- TCP ๊ธฐ๋ณธ ํค๋์ ์๋ ํ์ธ์๋ต์ ๋์ ํ์ธ์๋ต ๋ฐฉ์
- ๋์ ํ์ธ ์๋ต๋ฐฉ์๋ง ์ฌ์ฉํ๋ฉด N-ํ๋ ์-ํํด ๋ฐฉ์์ฒ๋ผ ๋นํจ์จ์ ์ธ ์ํฉ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ์
- ์ ํ์ ํ์ธ์๋ต(SACK; Selective ACK)๋ฅผ ์ด์ฉํ์ฌ, ์ด๋ ์ธ๊ทธ๋จผํธ๊ฐ ์ ์์ ์ผ๋ก ๋์ฐฉํ์๋์ง ์ ํํ ์ ๋ณด๋ฅผ ์ ๋ฌํ ์ ์์
'software engineering > ์ปดํจํฐ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Network] TCP์ ์ ์ก์ ์ด (0) | 2023.11.09 |
---|---|
[Network] TCP์ ๊ธฐ๋ณธ ๋์ (0) | 2023.11.09 |
[Network] ์ ์ก๊ณ์ธต์ ARQ ํ๋กํ ์ฝ (1) | 2023.11.06 |
[Network] ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ (0) | 2023.11.06 |
[Network] ARP(Address Resolution Protocol) (0) | 2023.10.11 |