OSI๋ชจ๋ธ์ 4๊ณ์ธต์ธ ์ ์ก ๊ณ์ธต์ ๋ํด ๊ณต๋ถํ๊ธฐ
๐ ์ ์ก ๊ณ์ธต_์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ์ ์กํ๊ธฐ
๐ What I Will Learn
- ์ ์ก ๊ณ์ธต์ ์ญํ ์ ์ดํดํ๋ค
- ์ฐ๊ฒฐํ ํต์ ๊ณผ ๋น์ฐ๊ฒฐํ ํต์ ์ ์ดํดํ๋ค
- TCP๋ฅผ ์ดํดํ๋ค
- UDP๋ฅผ ์ดํดํ๋ค
LESSON 23. ์ ์ก ๊ณ์ธต์ ์ญํ
1) ์ ์ก ๊ณ์ธต์ ๋ ๊ฐ์ง ์ญํ
โ ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ๋์ฐฉํ๋์ง ํ์ธ
โก ์ ์ก๋ ๋ฐ์ดํฐ์ ๋ชฉ์ ์ง๊ฐ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ธ์ง ์๋ณ
OSI๋ชจ๋ธ์ ๋ฌผ๋ฆฌ ๊ณ์ธต, ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต, ๋คํธ์ํฌ ๊ณ์ธต์ 3๊ณ์ธต์ด ์์ผ๋ฉด ๋ชฉ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ค.
๋คํธ์ํฌ ๊ณ์ธต์์ ๋ค๋ฅธ ๋คํธ์ํฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋ฉด ๋ผ์ฐํฐ๊ฐ ํ์ํ๊ณ , ๋ผ์ฐํฐ์ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ ์กํ ์ ์์ง๋ง,
- ๋ผ์ฐํ ์ ๋ณด๊ฐ ์๋ชป๋ ์ ์๊ณ
- ๋ง์ ๋ผ์ฐํฐ๋ฅผ ๊ฒฝ์ ํ๋ ๋์ค์ ๋ผ์ฐํฐ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฑฐ๋
- ํจํท์ด ์์๋๊ฑฐ๋ ์ ์ค๋๋๋ผ๋
์ด 3๊ณ์ธต์์๋ ์๋ฌด๊ฒ๋ ํ ์ ์๋๊ฒ ์๋ค
OSI๋ชจ๋ธ์ ์ ์ก ๊ณ์ธต์ ๋ชฉ์ ์ง์ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ํ์!!!
์ ์ก ๊ณ์ธต์๋ ์ค๋ฅ๋ฅผ ์ ๊ฒํ๋ ๊ธฐ๋ฅ์ด ์์ด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํ๋๋ก ์์ฒญํ๋ค
์ฆ, ๋คํธ์ํฌ ๊ณ์ธต์์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ์ ์ก ๊ณ์ธต์์๋ ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ๋์ฐฉํ๋์ง ํ์ธ
์ ์ก ๊ณ์ธต์ ์ปดํจํฐ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ๊ณ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฌํด์ผ ํ๋์ง ํ๋จ ํ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฌํ ์ ์๋๋ก ํด์ค๋ค
- ์ ์ก ๊ณ์ธต์ ๋ ๊ฐ์ง ์ญํ โ ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ๋์ฐฉํ๋์ง ํ์ธ
โก ์ ์ก๋ ๋ฐ์ดํฐ์ ๋ชฉ์ ์ง๊ฐ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ธ์ง ์๋ณ
1) ์ฐ๊ฒฐํ ํต์ ๊ณผ ๋น์ฐ๊ฒฐํ ํต์
์ ์ก ๊ณ์ธต์ ํน์ง์ ๊ฐ๋จํ ์์ฝํ๋ฉด ์ ๋ขฐ์ฑ/์ ํ์ฑ๊ณผ ํจ์จ์ฑ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค
- ์ ๋ขฐ์ฑ/์ ํ์ฑ: ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ง์ ๋ฌธ์ ์์ด ์ ๋ฌํ๋ ๊ฒ
- ํจ์จ์ฑ: ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ ๋ฌํ๋ ๊ฒ
์ฌ๊ธฐ์ ์ ๋ขฐํ ์ ์๊ณ ์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ํต์ ์ ์ฐ๊ฒฐํ ํต์ ์ด๋ผ๊ณ ํ๊ณ ,
์ฐ๊ฒฐํ ํต์ : ์ ๋ขฐ์ฑ/์ ํ์ฑ์ด ์ฐ์ ์ธ ํต์ ์ด๋ผ์ ์ฌ๋ฌ ๋ฒ ํ์ธํ๊ณ ๋ณด๋ด๋, ์๋ํธ๊ณผ ํ์ธํด๊ฐ๋ฉฐ ํต์ ํ๋ ๋ฐฉ์
ํจ์จ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ํต์ ์ ๋น์ฐ๊ฒฐํ ํต์ ์ด๋ผ๊ณ ํ๋ค
๋น์ฐ๊ฒฐํ ํต์ : ํจ์จ์ฑ์ด ์ฐ์ ์ธ ํต์ ์ด๋ฏ๋ก ํ์ธ ์ ์ฐจ ์์ด ์ผ๋ฐฉ์ ์ผ๋ก ๋ณด๋ด๋, ์๋ํธ์ ํ์ธํ์ง ์๊ณ ์ผ๋ฐฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐฉ์
์์) ๋์์: ๋ฐ์ดํฐ๊ฐ ๋ฆ๊ฒ ๋์ฐฉํด์ ํ๋ฉด์ด ๋ฒ๋ฒ ๊ฑฐ๋ฆฌ๋ ๊ฒ ๋ณด๋ค, ๋ฐ์ดํฐ๊ฐ ์ฝ๊ฐ ์ ์ค๋๋๋ผ๋ ์ํํ๊ฒ ๋ณด๋ ๊ฒ์ด ์ข์ผ๋๊น!
์ ์ก ๊ณ์ธต์ ์ฐ๊ฒฐํ ํต์ ํ๋กํ ์ฝ์๋ TCP๊ฐ ์ฌ์ฉ๋๊ณ , ๋น์ฐ๊ฒฐํ ํต์ ํ๋กํ ์ฝ์๋ UDP๊ฐ ์ฌ์ฉ๋๋ค
LESSON 24. TCP์ ๊ตฌ์กฐ
1) TCP(Transmission Control Protocol, ์ ์ก ์ ์ด ํ๋กํ ์ฝ)๋?
TCP: ์ ์ก ๊ณ์ธต์์ ์ ๋ขฐํ ์ ์๋ ์ ํํ ํต์ ์ ์ ๊ณตํ๋, ์ ๋ขฐ์ฑ/์ ํ์ฑ์ด ์ฐ์ ์ธ ์ฐ๊ฒฐํ ํต์ ํ๋กํ ์ฝ์ธ TCP
-
์ธ๊ทธ๋จผํธ(segment): TCP ํค๋๊ฐ ๋ถ์ ๋ฐ์ดํฐ
-
TCP ํค๋: TCP๋ก ์ ์กํ ๋ ๋ถํ๋ ํค๋. ๋ชฉ์ ์ง๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ๋๋ก ์ ์กํ๊ธฐ ์ํด ํ์ํ ์ ๋ณด๊ฐ ์๋ค
๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ์ฐ๊ฒฐ(connection)์ด๋ผ๋ ๊ฐ์์ ๋ ์ ํต์ ๋ก ํ๋ณด ์์ ์ ํด์ผํ๋๋ฐ, ์ด ์ฐ๊ฒฐ์ ํ๋ฆฝํ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค
์ฐ๊ฒฐ(connection): TCP ํต์ ์์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ์ฅ์ ํต์ ๋ก๋ก, ์ฐ๊ฒฐ์ ํ๋ฆฝํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค
TCP ํค๋์๋ ์ฝ๋ ๋นํธ๋ผ๋ ๋ถ๋ถ์ด ์๋๋ฐ, ์ฝ๋ ๋นํธ๋ TCP ํค๋์ ์ฐ๊ฒฐ ์ ์ด ์ ๋ณด๊ฐ ๊ธฐ๋ก๋๋ ๊ณณ์ด๋ค
์ด๊ธฐ๊ฐ์ 0์ด๊ณ , ์ฐ๊ฒฐ์ ํ๋ฆฝํ๋ ค๋ฉด SYN(์ฐ๊ฒฐ ์์ฒญ)๊ณผ ACK(ํ์ธ ์๋ต)๊ฐ ํ์ํ๋ค
2) 3-way ํธ๋์ ฐ์ดํฌ(three-way handshake)๋?
์ฐ๊ฒฐ(connection)์ SYN(์ฐ๊ฒฐ ์์ฒญ)๊ณผ ACK(ํ์ธ ์๋ต)๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฆฝ ํ ์ ์๊ณ ์ ๋ขฐํ ์ ์๋ ์ฐ๊ฒฐ์ ํ๋ ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ํจํท ๊ตํ์ ์ธ ๋ฒ(three-way handshake) ํ์ธ ํ๋ค
3-WAY ํธ๋์ ฐ์ดํฌ(three-way handshake): ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ ์ ์ฐ๊ฒฐ์ ํ๋ฆฝํ๊ธฐ ์ํด ํจํท ์์ฒญ์ ์ธ๋ฒ ๊ตํํ๋ ๊ฒ์ ์๋ฏธ.
ํธ๋์ ฐ์ดํฌ๋ ์ฌ๋๋ค์ด ์๋๋ฐฉ์ ํ์ธํ๊ณ ์ ์๋ฅผ ํ๋ ๊ฒ์ฒ๋ผ ๋ฐ์ดํฐ ํต์ ์์๋ ํ์คํ๊ฒ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์๋์ง ํ์ธํ๋ฉด์ ์ด๋ฃจ์ด์ง๋ ํต์ ์๋จ์ด๋ค.
โ ํต์ ์ ํ๋ ค๋ฉด ์๋ฒ์๊ฒ ํ๊ฐ๋ฅผ ๋ฐ์์ผ ํ๋ฏ๋ก, ๋จผ์ ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์ฐ๊ฒฐ ํ๋ฆฝ ํ๊ฐ๋ฅผ ๋ฐ๊ธฐ ์ํ ์์ฒญ(SYN)์ ๋ณด๋ธ๋ค.
โก ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์์ฒญ์ ๋ฐ์ ํ์ ํ๊ฐํ๋ค๋ ์๋ต์ ํ์ ํ๊ธฐ ์ํด ์ฐ๊ฒฐ ํ๋ฆฝ ์๋ต(ACK)์ ๋ณด๋ธ๋ค. ๋์์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ์ดํฐ ์ ์ก ํ๊ฐ๋ฅผ ๋ฐ๊ธฐ ์ํด ์ฐ๊ฒฐ ํ๋ฆฝ ์์ฒญ(SYN)๋ฅผ ๋ณด๋ธ๋ค.
โข ์๋ฒ์ ์์ฒญ์ ๋ฐ์ ํด๋ผ์ด์ธํธ๋ ์๋ฒ๋ก ํ๊ฐํ๋ค๋ ์๋ต์ผ๋ก ์ฐ๊ฒฐ ํ๋ฆฝ ์๋ต(ACK)๋ฅผ ๋ณด๋ธ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋๋ฟ๋ง ์๋๋ผ ์ ์กํ ํ์๋ ์ฐ๊ฒฐ์ ๋๊ธฐ ์ํ ์์ฒญ์ ๊ตํํด์ผ ํ๋ค. ์ฐ๊ฒฐ์ ๋์ ๋๋ FIN(์ฐ๊ฒฐ ์ข ๋ฃ)๊ณผ ACK(ํ์ธ ์๋ต)๋ฅผ ์ฌ์ฉํ๋ค
โ ์ปดํจํฐ 1์์ ์ปดํจํฐ 2๋ก ์ฐ๊ฒฐ ์ข
๋ฃ ์์ฒญ(FIN)์ ๋ณด๋ธ๋ค.
โก ์ปดํจํฐ 2์์ ์ปดํจํฐ 1๋ก ์ฐ๊ฒฐ ์ข
๋ฃ ์๋ต(ACK)๋ฅผ ๋ฐํํ๋ค.
โข ๋ํ ์ปดํจํฐ 2์์๋ ์ปดํจํฐ 1๋ก ์ฐ๊ฒฐ ์ข
๋ฃ ์์ฒญ(FIN)์ ๋ณด๋ธ๋ค.
โฃ ์ปดํจํฐ 1์์ ์ปดํจํฐ 2๋ก ์ฐ๊ฒฐ ์ข
๋ฃ ์๋ต(ACK)์ ๋ฐํํ๋ค.
LESSON 25. ์ผ๋ จ๋ฒํธ์ ํ์ธ ์๋ต ๋ฒํธ์ ๊ตฌ์กฐ
1) ์ผ๋ จ๋ฒํธ์ ํ์ธ ์๋ต ๋ฒํธ๋?
3-way ํธ๋์ ฐ์ดํฌ๊ฐ ๋๋๊ณ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ฑฐ๋ ์๋๋ฐฉ์ด ๋ฐ์ ๋๋ TCP ํค๋์ ์ผ๋ จ ๋ฒํธ(sequence number)์ ํ์ธ ์๋ต ๋ฒํธ(acknowledgement number)๋ฅผ ์ฌ์ฉํ๋ค.
TCP๋ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํด์ ๋ณด๋ด๋๋ฐ
-
์ผ๋ จ๋ฒํธ๋ ์ก์ ์ธก์์ ์์ ์ธก์ _์ด ๋ฐ์ดํฐ๊ฐ ๋ช ๋ฒ์งธ ๋ฐ์ดํฐ์ธ์ง_ ์๋ ค ์ฃผ๋ ์ญํ ์ ํ๋ค.
- ์ ์ก๋ ๋ฐ์ดํฐ์ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ถ์ฌํ๋ฉด ์์ ์๋ ์๋ ๋ฐ์ดํฐ์ ๋ช ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋์ง ์ ์ ์๋ค.
-
ํ์ธ ์๋ต ๋ฒํธ๋ ์์ ์ธก์ด _๋ช ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋์ง_ ์ก์ ์ธก์ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
- ๊ทธ๋์ ์ด ๋ฒํธ๋ ๋ค์ ๋ฒํธ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋๋ฐ๋ ์ฌ์ฉํ๋ค.
๋ฐ์ดํฐ๊ฐ ํญ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ฌ๋๋ ๊ฒ์ ์๋๋ฏ๋ก ์ผ๋ จ๋ฒํธ์ ํ์ธ ์๋ต ๋ฒํธ๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๊ฐ ์์๋๊ฑฐ๋ ์ ์ค๋ ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํ๊ฒ ๋์ด์๋ค. ์ด๊ฒ์ ์ฌ์ ์ก ์ ์ด๋ผ๊ณ ํ๋ค.
1) ์๋์ฐ ํฌ๊ธฐ๋?
์๋์ฐ ํฌ๊ธฐ: ๋ฒํผ(์๋๋ฐฉ์๊ฒ ์์ธ ์ธ๊ทธ๋จผํธ๋ฅผ ์ผ์์ ์ผ๋ก ๋ณด๊ดํ๋ ์ฅ์) ์ฉ๋์ ํฌ๊ธฐ
TCP์ ํน์ง์ ์ธ๊ทธ๋จผํธ(๋ฐ์ดํฐ) ํ๋๋ฅผ ๋ณด๋ผ ๋๋ง๋ค ํ์ธ ์๋ต์ ํ ๋ฒ ๋ฐํํ๋ ํต์ ์ธ๋ฐ, ํ ๋ฒ ๋ณด๋ผ ๋๋ง๋ค ํ ๋ฒ ์๋ต์ ๋ฐํํ๋ ๋ฐฉ์์ด์ด์ ํจ์จ์ด ๋ฎ๋ค
ํ์ง๋ง, ๋งค๋ฒ ํ์ธ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฐ์ํด์ ๋ณด๋ด๊ณ ๋ ๋ค์์ ํ์ธ ์๋ต์ ๋ฐํํ๋ฉด ํจ์จ์ด ๋์์ง์ง๋ง ์๋๋ฐฉ์๋ ์ธ๊ทธ๋จผํธ๊ฐ ์ ์ ์์ด๊ฒ ๋๋ค. ์๋๋ฐฉ์๊ฒ ์์ธ ์ธ๊ทธ๋จผํธ๋ ๋ฒํผ(buffer)๋ผ๋ ์ฅ์์ ์ผ์์ ์ผ๋ก ๋ณด๊ดํ๋ค.
- ๋ฒํผ(buffer) ๋๋ถ์ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฐ์ํด์ ๋ณด๋ด๋ ์์ ์ธก์ ๋์ํ ์ ์๊ณ ํจ์จ๋ ๋์์ง๋ค
- ํ์ง๋ง ์์ ์ธก์ ๋๋์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ก๋๋ฉด ๋ณด๊ดํ์ง ๋ชปํ๊ณ ๋์ณ ๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๋ฅผ ์ค๋ฒํ๋ก(overflow)๋ผ๊ณ ํ๋ค.
์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ์ง ์๋๋ก ๋ฒํผ์ ํ๊ณ ํฌ๊ธฐ๋ฅผ ์๊ณ ์์ด์ผ ํ๋ค. ๊ทธ๊ฒ์ด TCP ํค๋์ ์๋์ฐ ํฌ๊ธฐ(window size) ๊ฐ์ ํด๋นํ๋ค.
์๋์ฐ ํฌ๊ธฐ: ์ผ๋ง๋ ๋ง์ ์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด ๋ ์ ์๋์ง๋ฅผ ๋ํ๋ธ๋ค. ์ฆ, ํ์ธ ์๋ต์ ์ผ์ผ์ด ํ์ง ์๊ณ ์ฐ์ํด์ ์ก์์ ํ ์ ์๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ค.
LESSON 26. ํฌํธ ๋ฒํธ(port number)์ ๊ตฌ์กฐ
1) ํฌํธ ๋ฒํธ(port number)๋?
ํฌํธ ๋ฒํธ: ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ธ์ง ๊ตฌ๋ถํ๋ ์ญํ
์ ์ก ๊ณ์ธต์ ์ญํ ์ค ์ ์ก๋ ๋ฐ์ดํฐ์ ๋ชฉ์ ์ง๊ฐ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ (์น ๋ธ๋ผ์ฐ์ ๋ ๋ฉ์ผ ํ๋ก๊ทธ๋จ ๋ฑ)์ธ์ง ๊ตฌ๋ถํ๋ ์ญํ ์ ํ๊ธฐ ์ํด์ TCP ํค๋์ ์ถ๋ฐ์ง ํฌํธ ์ฃผ์(source port number)์ ๋ชฉ์ ์ง ํฌํธ ์ฃผ์(destination port number)๊ฐ ํ์ํ๋ค. TCP ํค๋์ ํฌํธ ๋ฒํธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ถํ ์ ์๊ฒ ๋๋ค.
ํฌํธ ๋ฒํธ๋ 0 ~ 65535๋ฒ
๊น์ง ์ฌ์ฉํ ์ ์๊ณ , ํฌ๊ฒ ์ธ ์ข
๋ฅ๋ก ๊ตฌ๋ถ๋๋ค.
ํฌํธ ์ข ๋ฅ | ๋ฒ์ | ์ค๋ช |
---|---|---|
์ ์๋ ค์ง ํฌํธ (well-known port) | 0๋ฒ ~ 1023๋ฒ | ์ฃผ์ ํ๋กํ ์ฝ์ด ์ฌ์ฉํ๋๋ก ์์ฝ๋์ด ์์ ์ผ๋ฐ์ ์ผ๋ก ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ |
๋ฑ๋ก๋ ํฌํธ (registered port) | 1024๋ฒ ~ 49151๋ฒ | - 1024๋ฒ: ์์ฝ๋์ด ์์ง๋ง ์ฌ์ฉ๋์ง๋ ์๋ ํฌํธ - 1025 ์ด์: ๋๋ค ํฌํธ๋ผ๊ณ ํ๊ณ ํด๋ผ์ด์ธํธ ์ธก์ ์ก์ ํฌํธ๋ก ์ฌ์ฉ |
๋์ ํฌํธ (dynamic port) | 49152๋ฒ ~ 65535๋ฒ | ย |
์ ํ๋ฆฌ์ผ์ด์ | ํฌํธ ๋ฒํธ |
---|---|
SSH | 22 |
SMTP | 25 |
DNS | 53 |
HTTP | 80 |
POP3 | 110 |
HTTPS | 443 |
์ด์ฒ๋ผ ๋์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๊ฐ ํฌํธ ๋ฒํธ๊ฐ ์์ด์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์๋ก ๊ตฌ๋ถ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋๋ ์๋๋ฐฉ์ **IP ์ฃผ์**๊ฐ ํ์ํ์ง๋ง, ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉ๋๊ณ ์๋์ง ๊ตฌ๋ถํ๋ ค๋ฉด **TCP๋ ํฌํธ ๋ฒํธ**๊ฐ ํ์ํ๋ค.
LESSON 27. UDP(User Datagram Protocol)์ ๊ตฌ์กฐ
1) UDP(User Datagram Protocol)๋?
UDP: ์ฌ์ฉ์ ๋ค์ด์ด๊ทธ๋จ ํ๋กํ ์ฝ. ์ ์ก ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ด๊ณ ๋น ๋ฅด๊ฒ ๋ณด๋ผ ๋ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ
UDP๋ ๋น์ฐ๊ฒฐํ ํต์ ์ด๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ TCP์ฒ๋ผ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ํ์ธ ์์ ์ ์ผ์ผ์ด ํ์ง ์๋๋ค.
UDP๋ TCP์ ๋ฌ๋ฆฌ ํจ์จ์ฑ</span>์ ์ค์ํ๊ฒ ์ฌ๊ธฐ๋ ํ๋กํ ์ฝ ์ด๋ผ TCP์ ๊ฐ์ ์ ๋ขฐ์ฑ๊ณผ ์ ํ์ฑ์ ์๊ตฌํ๊ฒ ๋๋ฉด ํจ์จ์ด ๋จ์ด์ง๋ค.
UDP์ ์ฅ์ ์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ณด๋ด๋ ๊ฒ์ด๋ผ์ ์คํธ๋ฆฌ๋ฐ ๋ฐฉ์์ผ๋ก ์ ์กํ๋ ๋์์ ์๋น์ค์ ๊ฐ์ ๊ณณ์ ์ฌ์ฉ๋๋ค.
- ๋์์์ TCP ๋ฐ์ดํฐ ํต์ ์ผ๋ก ์ ์กํ๋ฉด ์์ ์ ํ์ธํ๋๋ฐ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ค์ ๋์์์ ์ํ ํ๊ฒ ๋ณผ ์ ์๋ค. ๊ทธ๋์ ๋์์ ๊ฐ์ ๊ฑด ๋๊ฐ ๋น ๋ฅธ UDP๋ฅผ ์ฌ์ฉํ๋ค.
2) UDP ํค๋๋?
UDP ์์๋ UDP ํค๋๊ฐ ๋ถ์ ๋ฐ์ดํฐ๋ฅผ UDP ๋ฐ์ดํฐ ๊ทธ๋จ์ด๋ผ๊ณ ํ๋ค.
- TCP์ UDP ์ฐจ์ด
- TCP๋ ๋ฒ๊ฑฐ๋กญ๊ฒ ์ฌ๋ฌ ๋ฒ ํ์ธ ์๋ต์ ๋ณด๋ด๋ฉด์ ์ ์กํ์ง๋ง,
- UDP๋ ํจ์จ์ฑ๊ณผ ๋น ๋ฅธ ์๋๊ฐ ์ค์ํด์ ์๋๋ฐฉ์ ํ์ธํ์ง ์๊ณ ์ฐ์ํด๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ๋ค.
- ๋ํ UDP๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ์๋ ์ปดํจํฐ๋ ๋คํธ์ํฌ ์ฅ๋น์ ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด๋ก ๋ณด๋ผ ์ ์๋ค. ์ด๊ฒ์ ๋ธ๋ก๋์บ์คํธ๋ผ๊ณ ํ๋ค.
:: ์ฉ์ด ์ ๋ฆฌ๐ก
-
์ ์ก ๊ณ์ธต(transport layer, ํธ๋์คํฌํธ ๊ณ์ธต)
: ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ฌํ๋ ์ญํ ์ ํ๋ฏ๋ก ์์ ๊ณ์ธต๋ค์ด ๋ฐ์ดํฐ ์ ๋ฌ์ ์ ํจ์ฑ์ด๋ ํจ์จ์ฑ์ ์ ๊ฒฝ ์ฐ์ง ์๋๋ก ํ๋ค. ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋๊ฑฐ๋ ๋๋ฝ๋์ง ์๊ณ ์ค๋ฅ ์์ด ์์์ ๋ง๊ฒ ์ ์ก๋๋๋ก ๊ด๋ฆฌํ๋ค. -
์ฐ๊ฒฐํ(connection-oriented)
: ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ ์ ์ฐ๊ฒฐ์ ๋งบ๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋์ ๊ณ์ ์ฐ๊ฒฐ์ ๊ด๋ฆฌํ๋ ํ๋กํ ์ฝ์ ํ ํํ๋ค. -
๋น์ฐ๊ฒฐํ(connectionless)
: ์ฐ๊ฒฐ(connection)์ ๋ํ ์ด๊ธฐํ ๊ณผ์ ์ด ์๋ ํต์ ์ด๋ค. -
TCP(Transmission Control Protocol, ์ ์ก ์ ์ด ํ๋กํ ์ฝ)
: ์ ์ก ๊ณ์ธต์ ํ๋กํ ์ฝ์ ์ฐ๊ฒฐํ(connection-oriented) ํต์ ๋ฐฉ์์ด๋ฉฐ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํ๋ค. -
๋์ญํญ(bandwidth)
: ์ ํด์ง ์๊ฐ ๋์ ์ ์ก๋ ์ ์๋ ๋ฐ์ดํฐ์ ์(์ฃผ๋ก ์๋๋ฅผ ์๋ฏธํ๋ค)์ ๋งํ๋ค. ๋์ญํญ์ ์ ํ์ ์ด๋ค. -
UDP(User Datagram Protocol)
: ์ ๋ณด๋ฅผ ์๋ก ์ฃผ๊ณ ๋ฐ์ ๋ ๋ณด๋ด๋ ์ชฝ์์ ์ผ๋ฐฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ํต์ ํ๋กํ ์ฝ์ด๋ค. ์ฐ๊ฒฐ์ ๋งบ์ ํ์๊ฐ ์๊ณ ์ ๋ณด๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ๋๋ค๋ ์ ํธ๋ ํ์ํ์ง ์๋ค. -
3-way ํธ๋์ ฐ์ดํธ(three-way handshake)
: TCP ํต์ ์์ ์ฌ์ฉํ๋ ์ ๋ขฐ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํ ํต์ ๋ฐฉ์์ด๋ค. ์ปดํจํฐ ๊ฐ์ ์ฐ๊ฒฐ์ ๋งบ๊ธฐ ์ํ ์ด๊ธฐํ ๊ณผ์ ์ผ๋ก ์ธ ๋จ๊ณ๋ก ๋์ด ์์ด์ three-way๋ผ๊ณ ๋ถ๋ฅธ๋ค. -
์ ์๋ ค์ง ํฌํธ(well-known ports)
: ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ ์ ์๋๋ก ์์ฝ๋์ด ์๋ ํฌํธ๋ก 1~1023๋ฒ ํฌํธ๋ฅผ ๋งํ๋ค. -
๋ธ๋ก๋์บ์คํธ(broadcast)
: ๋คํธ์ํฌ์ ๋ชจ๋ ์ปดํจํฐ์ ์ฅ๋น์ ๊ฐ์ ํจํท์ ์ผ๊ด ์ ์กํ๋ ๋ฐฉ์์ด๋ค. -
์ผ๋ จ๋ฒํธ(sequence number)
: TCP์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋๋ง๋ค ๊ฐ ๋ฐ์ดํฐ์ ๊ณ ์ ํ ๋ฒํธ๋ฅผ ๋ถ์ฌํด์ ์ ์ก์ ์๋ํ๋ค. ์ด ๋ฒํธ๋ฅผ ์ด์ฉํ์ฌ TCP ํจํท์ ์์๋ฅผ ์ ์ดํ ์ ์๋ค. -
ํฌํธ ๋ฒํธ(port number)
: ์ปดํจํฐ๊ฐ ๋ฐ์ดํฐ ํต์ ์ ํ ๋ ํตํ๊ณ ์ ํ๋ ๋คํธ์ํฌ ์๋น์ค๋ ํน์ ํ๋ก์ธ์ค๋ฅผ ์๋ณํ๋ ๋ ธ๋ฆฌ ๋จ์๋ค. ํฌํธ ๋ฒํธ๋ 0~65535๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. 0~1023๋ฒ์ ์ ์๋ ค์ง ํฌํธ(well-known ports)๋ก ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ ์ ์๋๋ก ์์ฝ๋ ๋ฒํธ๋ค.