[CS] ๋คํธ์ํฌ(Network)
๐ ๋คํธ์ํฌ(Network)
1. ์ธํฐ๋ท(Internet)
์ธํฐ๋ท ํ๋กํ ์ฝ ์ค์ํธ(TCP/IP)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์ ์ธ๊ณ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๋ ์ปดํจํฐ ๋คํธ์ํฌ ํต์ ๋ง์ ์ผ์ปซ๋ ๋ง์ด๋ค.
์ธํฐ๋ท ํน์ง
- ์ธํฐ๋ท์ ์๋ก ๋์์ ์ฐธ์ฌํ ์ ์๋ ์๋ฐฉํฅ ํต์ ์ ์ ๊ณตํ๋ค.
- ์ด๋ฏธ์ง, ์์ฑ, ๋์์ ๋ฑ ๋ค์ํ ํฌ๋งท์ผ๋ก ํต์ ์ด ๊ฐ๋ฅํ๋ค.
- ์ธํฐ๋ท์ ์ต๋ช ์ฑ์ ์ ๊ณตํ๋ค.
- ์ปดํจํฐ๋ ์ ์ฅ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ์ฌ๋๊ณผ ๋ฐ๋ ์ฌ๋ ๋ชจ๋ ์๊ฐ์ ์ ์ฝ์ ๋ฐ์ง ์๊ณ ์ปดํจํฐ๊ฐ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ง ๋์ด ์๋ค๋ฉด ์ธ์ ๋ ์ง ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
2. ์ธํฐ๋ท ํ๋กํ ์ฝ IP (internet Protocol)
์ธํฐ๋ท ํ๋กํ ์ฝ์ ์ธํฐ๋ท์ด ํตํ๋ ๋คํธ์ํฌ์์ ์ด๋ค ์ ๋ณด๋ฅผ ์์ ํ๊ณ ์ก์ ํ๋ ํต์ ์ ๋ํ ๊ท์ฝ์ ์๋ฏธํ๋ค.
IP ์ฃผ์
IP ์ฃผ์๋ ๋คํธ์ํฌ ํ๊ฒฝ์์ ์ปดํจํฐ(๋ ธ๋)๊ฐ ํต์ ํ๊ธฐ ์ํด ๊ฐ ์ปดํจํฐ์ ๋ถ์ฌ๋ ๋คํธ์ํฌ ์ ์ฃผ์๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
Packet
ํจํท(Packet)์ด๋ ๋คํธ์ํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ๋ปํ๋ค.
์ธํฐ๋ท์ ํตํด์ ์ฐ๋ฆฌ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ํจํท์ผ๋ก ์ ๋ฌ๋๊ณ ์์ ๋๋ค.
์ด๋ฉ์ผ์ ๋ณด๋ผ ๋, ์นํ์ด์ง์ ์ ์ํ ๋, ์์์ ์คํธ๋ฆฌ๋ฐํ ๋ ๋ชจ๋ ํจํท์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ค๊ณ ๊ฐ๊ณ ์์ผ๋ฉฐ,
๊ฐ ํจํท์๋ ์์ ์๊ฐ ์์ฒญํ ๋ฐ์ดํฐ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ๊ฐ ์ ๋์ฐฉํ๊ธฐ ์ํด ํ์ํ IP ์ฃผ์, ํจํท์ ๊ฐ์, ์ธํฐ๋ท ํ๋กํ ์ฝ ๋ฑ ๋ค์ํ ์ ๋ณด๋ ๊ฐ์ด ์๋ค.
3. TCP(Transmission Control Protocol)
TCP(Transmission Control Protocol)๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ด์์ ์์ ํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ํต์ ํ๋ ๊ท์ฝ์ด๋ค.
ํต์ ์๋๋ฅผ ๋์ด๋ฉด์๋ ์์ ์ฑ, ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ ์ ์๋ค.
ํ์ฌ๋ IP(Internet Protocol)์ ์ฎ์ด์ TCP/IP๋ก ํํํ๊ธฐ๋ ํ๋ค.
- SYN(Sequence Number) : TCP ํต์ ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ๋จ์๋ก ๋ถํ ํ๋๋ฐ, ๋ถํ ๋ ๋ฐ์ดํฐ์ ์์์ด๋ค.
- ACK(Acknowledgment Number) : ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฅ์์, ๋ค์์ผ๋ก ๋ฐ๊ณ ์ถ์ TCP ์ธ๊ทธ๋จผํธ์ Sequence Number์ด๋ค.
4. UDP(User Datagram Protocol)
UDP๋ User Datagram Protocol์ ์ฝ์๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๊ทธ๋จ ๋จ์๋ก ์ฒ๋ฆฌํ๋ ํ๋กํ ์ฝ์ด๋ค.
๋น์ฐ๊ฒฐํ, ์ ๋ขฐ์ฑ์ด ์๋ ์ ์ก ํ๋กํ ์ฝ์ด๋ฉฐ, ๋ฐ์ดํฐ๊ทธ๋จ ๋จ์๋ก ์ชผ๊ฐ๋ฉด์ ์ ์ก์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์ ์ก๊ณ์ธต์ ์ํ๋ค.
UDP๋ ์ ์ฌ์ฉํ ๊น?
UDP์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๋ฐ์ดํฐ์ ์ ์์ฑ์ด๋ค, ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ๊ฐ TCP๋ณด๋ค ๋น ๋ฅด๋ค.
๊ทธ๋ ๊ธฐ์ ์ฃผ๋ก ์ค์๊ฐ ๋ฐฉ์ก๊ณผ ์จ๋ผ์ธ ๊ฒ์์์ ์ฌ์ฉ๋๋ค.
๋คํธ์ํฌ ํ๊ฒฝ์ด ์์ข์ ๋, ๋๊ธฐ๋ ํ์์ ์๊ฐํ๋ฉด ๋๋ค.
UDP์ ํน์ง
- IP ๋ฐฉ์๊ณผ ๊ฑฐ์ ๋น์ทํ๋ค
- 3 way handshake๋ฅผ ํ์ง ์๋๋ค
- ๋ฐ์ดํฐ ์ ์ก, ์๋ต, ์์๋ฅผ ๋ณด์ฅํ์ง ์์(๋น์ ๋ขฐ์ฑ)
- ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ด ๊ฑฐ์ ์๋ค.
- ๊ธฐ๋ฅ์ด ์๊ณ ์ฐ๊ฒฐ์ ํ์ง ์๋ ๋์ ์๋๊ฐ ๋น ๋ฅด๋ค.
- IP์ ์ฐจ์ด์ ์ผ๋ก PORT๊ฐ ์กด์ฌํ๋ค.
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ -> ์ฒดํฌ์ฌ(checksum)์ ํฌํจํ๊ณ ์๋ค.
- ์๋ชป๋ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์ง ์๋๋ก ๋ง๋ค์ด์ค๋ค.
5. PORT
์ด๋ฒ์ ์๊ฒ ๋ ๊ฐ๋ ์ ํน์ง์ ์ ๋ฆฌํด๋ณด์ธ์.
๐๋ ํผ๋ฐ์ค
1. https://www.tcpschool.com/webbasic/intro
3. https://www.geeksforgeeks.org/why-does-dns-use-udp-and-not-tcp/