UDP์™€ ํฌํŠธ

UDP์™€ ํฌํŠธ

๊ฐœ์š”

์ด ๋ฌธ์„œ์—์„œ๋Š” UDP(User Datagram Protocol)์™€ ํฌํŠธ ๋ฒˆํ˜ธ์˜ ๊ฐœ๋…์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. TCP์™€ ๋Œ€๋น„๋˜๋Š” UDP์˜ ํŠน์ง•์„ ์ดํ•ดํ•˜๊ณ , ์ „์†ก ๊ณ„์ธต์—์„œ ํฌํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๋‚œ์ด๋„: โญโญ ์˜ˆ์ƒ ํ•™์Šต ์‹œ๊ฐ„: 2์‹œ๊ฐ„ ์„ ์ˆ˜ ์ง€์‹: 10_TCP_Protocol.md


๋ชฉ์ฐจ

  1. UDP์˜ ํŠน์ง•
  2. UDP ํ—ค๋” ๊ตฌ์กฐ
  3. TCP vs UDP ๋น„๊ต
  4. ํฌํŠธ ๋ฒˆํ˜ธ์˜ ๊ฐœ๋…
  5. ํฌํŠธ ๋ฒˆํ˜ธ ๋ฒ”์œ„
  6. ์†Œ์ผ“
  7. ์—ฐ์Šต ๋ฌธ์ œ
  8. ๋‹ค์Œ ๋‹จ๊ณ„
  9. ์ฐธ๊ณ  ์ž๋ฃŒ

1. UDP์˜ ํŠน์ง•

1.1 UDP ๊ธฐ๋ณธ ๊ฐœ๋…

UDP(User Datagram Protocol)๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅธ ์ „์†ก์„ ์œ„ํ•œ ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       UDP ํŠน์ง•                                   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                  โ”‚
โ”‚  1. ๋น„์—ฐ๊ฒฐ (Connectionless)                                     โ”‚
โ”‚     - ์—ฐ๊ฒฐ ์„ค์ •/ํ•ด์ œ ๊ณผ์ • ์—†์Œ                                  โ”‚
โ”‚     - ํ•ธ๋“œ์…ฐ์ดํฌ ์—†์ด ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก                          โ”‚
โ”‚                                                                  โ”‚
โ”‚  2. ๋น„์‹ ๋ขฐ์„ฑ (Unreliable)                                       โ”‚
โ”‚     - ์ „๋‹ฌ ๋ณด์žฅ ์—†์Œ                                            โ”‚
โ”‚     - ์ˆœ์„œ ๋ณด์žฅ ์—†์Œ                                            โ”‚
โ”‚     - ์žฌ์ „์†ก ์—†์Œ                                               โ”‚
โ”‚                                                                  โ”‚
โ”‚  3. ๋น ๋ฅธ ์ „์†ก (Fast)                                            โ”‚
โ”‚     - ์ตœ์†Œํ•œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ                                         โ”‚
โ”‚     - ์—ฐ๊ฒฐ ์„ค์ • ์ง€์—ฐ ์—†์Œ                                       โ”‚
โ”‚                                                                  โ”‚
โ”‚  4. ๋‹จ์ˆœํ•จ (Simple)                                             โ”‚
โ”‚     - ์ž‘์€ ํ—ค๋” (8 bytes)                                       โ”‚
โ”‚     - ์ƒํƒœ ์œ ์ง€ ๋ถˆํ•„์š”                                          โ”‚
โ”‚                                                                  โ”‚
โ”‚  5. ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ/๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์ง€์›                                โ”‚
โ”‚     - ๋‹ค์ˆ˜์—๊ฒŒ ๋™์‹œ ์ „์†ก ๊ฐ€๋Šฅ                                   โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

1.2 UDP ๋™์ž‘ ๋ฐฉ์‹

UDP ๋ฐ์ดํ„ฐ ์ „์†ก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚     ์†ก์‹ ์ž      โ”‚                    โ”‚     ์ˆ˜์‹ ์ž      โ”‚
โ”‚                 โ”‚                    โ”‚                 โ”‚
โ”‚  Application    โ”‚                    โ”‚  Application    โ”‚
โ”‚      โ”‚          โ”‚                    โ”‚      โ–ฒ          โ”‚
โ”‚      โ–ผ          โ”‚                    โ”‚      โ”‚          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚                    โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚   UDP     โ”‚  โ”‚     Datagram 1     โ”‚  โ”‚   UDP     โ”‚  โ”‚
โ”‚  โ”‚           โ”‚โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ–บโ”‚           โ”‚  โ”‚
โ”‚  โ”‚ No state  โ”‚  โ”‚     Datagram 2     โ”‚  โ”‚ No state  โ”‚  โ”‚
โ”‚  โ”‚ No ACK    โ”‚โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ–บโ”‚ No ACK    โ”‚  โ”‚
โ”‚  โ”‚           โ”‚  โ”‚     Datagram 3     โ”‚  โ”‚           โ”‚  โ”‚
โ”‚  โ”‚           โ”‚โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€X (์†์‹ค)   โ”‚  โ”‚           โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚                    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                 โ”‚                    โ”‚                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ํŠน์ง•:
- ๊ฐ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์€ ๋…๋ฆฝ์ 
- ์†์‹ค๋˜์–ด๋„ ์žฌ์ „์†ก ์—†์Œ
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹ ๋ขฐ์„ฑ ์ฒ˜๋ฆฌ

1.3 UDP ์‚ฌ์šฉ ์‚ฌ๋ก€

UDP๊ฐ€ ์ ํ•ฉํ•œ ๊ฒฝ์šฐ:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 1. ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ                                              โ”‚
โ”‚    - ๋™์˜์ƒ, ์Œ์„ฑ ํ†ตํ™” (VoIP)                                   โ”‚
โ”‚    - ์•ฝ๊ฐ„์˜ ํŒจํ‚ท ์†์‹ค๋ณด๋‹ค ์ง€์—ฐ์ด ๋” ๋ฌธ์ œ                        โ”‚
โ”‚                                                                  โ”‚
โ”‚ 2. ๊ฒŒ์ž„                                                         โ”‚
โ”‚    - ๋น ๋ฅธ ์‘๋‹ต์ด ์ค‘์š”                                           โ”‚
โ”‚    - ์˜ˆ์ „ ์œ„์น˜ ์ •๋ณด๋Š” ์˜๋ฏธ ์—†์Œ                                 โ”‚
โ”‚                                                                  โ”‚
โ”‚ 3. DNS ์ฟผ๋ฆฌ                                                     โ”‚
โ”‚    - ๋‹จ์ผ ์š”์ฒญ/์‘๋‹ต                                             โ”‚
โ”‚    - ์—ฐ๊ฒฐ ์„ค์ • ์˜ค๋ฒ„ํ—ค๋“œ ๋ถˆํ•„์š”                                  โ”‚
โ”‚                                                                  โ”‚
โ”‚ 4. DHCP                                                         โ”‚
โ”‚    - ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ํ•„์š”                                          โ”‚
โ”‚                                                                  โ”‚
โ”‚ 5. IoT / ์„ผ์„œ ๋ฐ์ดํ„ฐ                                            โ”‚
โ”‚    - ๋Œ€๋Ÿ‰์˜ ์†Œ๊ทœ๋ชจ ๋ฉ”์‹œ์ง€                                       โ”‚
โ”‚    - ์ผ๋ถ€ ์†์‹ค ํ—ˆ์šฉ ๊ฐ€๋Šฅ                                        โ”‚
โ”‚                                                                  โ”‚
โ”‚ 6. SNMP (๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ)                                         โ”‚
โ”‚    - ๊ฐ„๋‹จํ•œ ์š”์ฒญ/์‘๋‹ต                                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

1.4 UDP์˜ ์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
๋น ๋ฅธ ์ „์†ก ์†๋„ ์ „๋‹ฌ ๋ณด์žฅ ์—†์Œ
์ ์€ ์˜ค๋ฒ„ํ—ค๋“œ ์ˆœ์„œ ๋ณด์žฅ ์—†์Œ
์—ฐ๊ฒฐ ์„ค์ • ๋ถˆํ•„์š” ํ˜ผ์žก ์ œ์–ด ์—†์Œ
๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ์ง€์› ํ๋ฆ„ ์ œ์–ด ์—†์Œ
์„œ๋ฒ„ ๋ถ€ํ•˜ ์ ์Œ ๋ณด์•ˆ ์ทจ์•ฝ (์Šคํ‘ธํ•‘)

2. UDP ํ—ค๋” ๊ตฌ์กฐ

2.1 UDP ํ—ค๋” ํ˜•์‹

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |       Destination Port        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Length             |           Checksum            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Data                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

์ด ํ—ค๋” ํฌ๊ธฐ: 8 bytes (64 bits)

2.2 ํ—ค๋” ํ•„๋“œ ์„ค๋ช…

ํ•„๋“œ ํฌ๊ธฐ ์„ค๋ช…
Source Port 16 bits ์†ก์‹ ์ž ํฌํŠธ ๋ฒˆํ˜ธ (์„ ํƒ์‚ฌํ•ญ, 0 ๊ฐ€๋Šฅ)
Destination Port 16 bits ์ˆ˜์‹ ์ž ํฌํŠธ ๋ฒˆํ˜ธ
Length 16 bits UDP ํ—ค๋” + ๋ฐ์ดํ„ฐ ์ „์ฒด ๊ธธ์ด (์ตœ์†Œ 8)
Checksum 16 bits ์˜ค๋ฅ˜ ๊ฒ€์ถœ (IPv4์—์„œ ์„ ํƒ, IPv6์—์„œ ํ•„์ˆ˜)

2.3 UDP ์ฒดํฌ์„ฌ ๊ณ„์‚ฐ

UDP ์ฒดํฌ์„ฌ์€ Pseudo Header๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ณ„์‚ฐ

Pseudo Header (IPv4):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       Source IP Address                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    Destination IP Address                       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    Zero (8)    โ”‚  Protocol (17)  โ”‚        UDP Length            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

์ฒดํฌ์„ฌ ๊ณ„์‚ฐ ๋ฒ”์œ„:
1. Pseudo Header
2. UDP Header
3. UDP Data

๋ชฉ์ :
- IP ํ—ค๋”์˜ ์ฃผ์†Œ ์ •๋ณด๊ฐ€ ๋ณ€์กฐ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธ
- ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ

2.4 UDP vs TCP ํ—ค๋” ๋น„๊ต

TCP ํ—ค๋” (20-60 bytes):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Src Portโ”‚Dst Portโ”‚  Seq Number  โ”‚  Ack Number  โ”‚Offsetโ”‚Flags  โ”‚
โ”‚ Window  โ”‚Checksumโ”‚Urgent Pointerโ”‚    Options   โ”‚      โ”‚       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

UDP ํ—ค๋” (8 bytes):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Src Portโ”‚Dst Portโ”‚   Length    โ”‚   Checksum   โ”‚               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

์ฐจ์ด์ :
- TCP: ์‹œํ€€์Šค ๋ฒˆํ˜ธ, ACK, ํ”Œ๋ž˜๊ทธ, ์œˆ๋„์šฐ, ์˜ต์…˜ ๋“ฑ ํฌํ•จ
- UDP: ์ตœ์†Œํ•œ์˜ ์ •๋ณด๋งŒ ํฌํ•จ (ํฌํŠธ, ๊ธธ์ด, ์ฒดํฌ์„ฌ)

3. TCP vs UDP ๋น„๊ต

3.1 ์ƒ์„ธ ๋น„๊ตํ‘œ

ํŠน์„ฑ TCP UDP
์—ฐ๊ฒฐ ๋ฐฉ์‹ ์—ฐ๊ฒฐ ์ง€ํ–ฅ (3-way handshake) ๋น„์—ฐ๊ฒฐ
์‹ ๋ขฐ์„ฑ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ (์žฌ์ „์†ก) ๋น„์‹ ๋ขฐ์„ฑ (Best Effort)
์ˆœ์„œ ์ˆœ์„œ ๋ณด์žฅ (์‹œํ€€์Šค ๋ฒˆํ˜ธ) ์ˆœ์„œ ๋ฏธ๋ณด์žฅ
ํ๋ฆ„ ์ œ์–ด ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์—†์Œ
ํ˜ผ์žก ์ œ์–ด Slow Start, AIMD ๋“ฑ ์—†์Œ
ํ—ค๋” ํฌ๊ธฐ 20-60 bytes 8 bytes
์ „์†ก ๋‹จ์œ„ Segment Datagram
ํ†ต์‹  ํ˜•ํƒœ 1:1 1:1, 1:N, N:N
์†๋„ ์ƒ๋Œ€์  ๋А๋ฆผ ๋น ๋ฆ„
์˜ค๋ฒ„ํ—ค๋“œ ๋†’์Œ ๋‚ฎ์Œ

3.2 ์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค ๋น„๊ต

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ํ”„๋กœํ† ์ฝœ ์„ ํƒ ๊ธฐ์ค€                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                  โ”‚
โ”‚  TCP ์„ ํƒ:                                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ โ€ข ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์ด ์ค‘์š” (ํŒŒ์ผ ์ „์†ก, ์ด๋ฉ”์ผ)               โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์ˆœ์„œ๊ฐ€ ์ค‘์š” (์›น ํŽ˜์ด์ง€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)                  โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์—ฐ๊ฒฐ ์ƒํƒœ ๊ด€๋ฆฌ ํ•„์š”                                    โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์žฌ์ „์†ก์ด ํ•„์ˆ˜์                                         โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                  โ”‚
โ”‚  UDP ์„ ํƒ:                                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ โ€ข ์‹ค์‹œ๊ฐ„์„ฑ์ด ์ค‘์š” (์ŠคํŠธ๋ฆฌ๋ฐ, ๊ฒŒ์ž„)                       โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์•ฝ๊ฐ„์˜ ์†์‹ค ํ—ˆ์šฉ ๊ฐ€๋Šฅ                                  โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ๋‹จ์ˆœํ•œ ์š”์ฒญ/์‘๋‹ต (DNS)                                 โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ/๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ํ•„์š”                           โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์ž์ฒด ์‹ ๋ขฐ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ตฌํ˜„                              โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.3 ํ”„๋กœํ† ์ฝœ๋ณ„ ์ฃผ์š” ์‚ฌ์šฉ ์˜ˆ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          TCP ์‚ฌ์šฉ                                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ HTTP/HTTPS (80/443)       โ”‚ ์›น ๋ธŒ๋ผ์šฐ์ง•                         โ”‚
โ”‚ FTP (20/21)               โ”‚ ํŒŒ์ผ ์ „์†ก                           โ”‚
โ”‚ SMTP (25)                 โ”‚ ์ด๋ฉ”์ผ ์ „์†ก                         โ”‚
โ”‚ POP3 (110) / IMAP (143)   โ”‚ ์ด๋ฉ”์ผ ์ˆ˜์‹                          โ”‚
โ”‚ SSH (22)                  โ”‚ ๋ณด์•ˆ ์›๊ฒฉ ์ ‘์†                      โ”‚
โ”‚ Telnet (23)               โ”‚ ์›๊ฒฉ ์ ‘์†                           โ”‚
โ”‚ MySQL (3306)              โ”‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค                        โ”‚
โ”‚ PostgreSQL (5432)         โ”‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          UDP ์‚ฌ์šฉ                                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ DNS (53)                  โ”‚ ๋„๋ฉ”์ธ ์กฐํšŒ                         โ”‚
โ”‚ DHCP (67/68)              โ”‚ IP ์ž๋™ ํ• ๋‹น                        โ”‚
โ”‚ SNMP (161/162)            โ”‚ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ                       โ”‚
โ”‚ NTP (123)                 โ”‚ ์‹œ๊ฐ„ ๋™๊ธฐํ™”                         โ”‚
โ”‚ TFTP (69)                 โ”‚ ๊ฐ„๋‹จํ•œ ํŒŒ์ผ ์ „์†ก                    โ”‚
โ”‚ RTP                       โ”‚ ์‹ค์‹œ๊ฐ„ ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆฌ๋ฐ              โ”‚
โ”‚ VoIP (SIP)                โ”‚ ์ธํ„ฐ๋„ท ์ „ํ™”                         โ”‚
โ”‚ ์˜จ๋ผ์ธ ๊ฒŒ์ž„               โ”‚ ์‹ค์‹œ๊ฐ„ ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.4 ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ๋ฒ•

TCP์™€ UDP๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:

1. ๊ฒŒ์ž„
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚  TCP: ๋กœ๊ทธ์ธ, ์ฑ„ํŒ…, ์ธ๋ฒคํ† ๋ฆฌ (์‹ ๋ขฐ์„ฑ ํ•„์š”)                  โ”‚
   โ”‚  UDP: ์บ๋ฆญํ„ฐ ์ด๋™, ์‹ค์‹œ๊ฐ„ ์ „ํˆฌ (์†๋„ ํ•„์š”)                  โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2. ์ŠคํŠธ๋ฆฌ๋ฐ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚  TCP: ์ œ์–ด ์ฑ„๋„ (์žฌ์ƒ/์ผ์‹œ์ •์ง€/๋ณผ๋ฅจ)                        โ”‚
   โ”‚  UDP: ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ ์ „์†ก (RTP)                              โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3. QUIC (HTTP/3)
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚  UDP ์œ„์— ์‹ ๋ขฐ์„ฑ ๊ณ„์ธต ๊ตฌํ˜„                                  โ”‚
   โ”‚  ์žฅ์ : ๋น ๋ฅธ ์—ฐ๊ฒฐ, HOL Blocking ํ•ด๊ฒฐ                         โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4. ํฌํŠธ ๋ฒˆํ˜ธ์˜ ๊ฐœ๋…

4.1 ํฌํŠธ์˜ ์—ญํ• 

ํฌํŠธ(Port)๋Š” ํ˜ธ์ŠคํŠธ ๋‚ด์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.

ํฌํŠธ์˜ ์—ญํ• 

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          ํ˜ธ์ŠคํŠธ                                  โ”‚
โ”‚                      192.168.1.100                              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚                                                          โ”‚    โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚    โ”‚
โ”‚  โ”‚  โ”‚  Web    โ”‚  โ”‚  SSH    โ”‚  โ”‚  FTP    โ”‚  โ”‚  MySQL  โ”‚    โ”‚    โ”‚
โ”‚  โ”‚  โ”‚ Server  โ”‚  โ”‚ Server  โ”‚  โ”‚ Server  โ”‚  โ”‚ Server  โ”‚    โ”‚    โ”‚
โ”‚  โ”‚  โ”‚         โ”‚  โ”‚         โ”‚  โ”‚         โ”‚  โ”‚         โ”‚    โ”‚    โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜    โ”‚    โ”‚
โ”‚  โ”‚       โ”‚            โ”‚            โ”‚            โ”‚          โ”‚    โ”‚
โ”‚  โ”‚    Port 80     Port 22     Port 21     Port 3306       โ”‚    โ”‚
โ”‚  โ”‚       โ”‚            โ”‚            โ”‚            โ”‚          โ”‚    โ”‚
โ”‚  โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚    โ”‚
โ”‚  โ”‚                         โ”‚                                โ”‚    โ”‚
โ”‚  โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚    โ”‚
โ”‚  โ”‚              โ”‚    TCP/IP Stack     โ”‚                    โ”‚    โ”‚
โ”‚  โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚    โ”‚
โ”‚  โ”‚                         โ”‚                                โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                            โ”‚                                      โ”‚
โ”‚                     Network Interface                             โ”‚
โ”‚                      192.168.1.100                                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                          ๋„คํŠธ์›Œํฌ

๊ฐ ํŒจํ‚ท์˜ ๋ชฉ์ ์ง€ ํฌํŠธ๋ฅผ ํ™•์ธํ•˜์—ฌ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋กœ ์ „๋‹ฌ

4.2 ์†Œ์ผ“ ์ฃผ์†Œ

๋„คํŠธ์›Œํฌ ํ†ต์‹ ์—์„œ ์ข…๋‹จ์ ์€ IP ์ฃผ์†Œ์™€ ํฌํŠธ์˜ ์กฐํ•ฉ์œผ๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค.

์†Œ์ผ“ ์ฃผ์†Œ (Socket Address)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                  โ”‚
โ”‚  ์†Œ์ผ“ ์ฃผ์†Œ = IP ์ฃผ์†Œ + ํฌํŠธ ๋ฒˆํ˜ธ                                โ”‚
โ”‚                                                                  โ”‚
โ”‚  ์˜ˆ์‹œ:                                                          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  192.168.1.100:80    (์›น ์„œ๋ฒ„)                            โ”‚   โ”‚
โ”‚  โ”‚  10.0.0.5:443        (HTTPS ์„œ๋ฒ„)                         โ”‚   โ”‚
โ”‚  โ”‚  192.168.1.50:50000  (ํด๋ผ์ด์–ธํŠธ ์ž„์‹œ ํฌํŠธ)               โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                  โ”‚
โ”‚  TCP ์—ฐ๊ฒฐ์˜ ๊ณ ์œ  ์‹๋ณ„:                                          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  (Source IP, Source Port, Dest IP, Dest Port, Protocol)  โ”‚   โ”‚
โ”‚  โ”‚  = 5-tuple                                                โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4.3 ํฌํŠธ ๋ฒˆํ˜ธ์˜ ํ‘œ๊ธฐ๋ฒ•

IPv4:
  IP:Port ํ˜•์‹
  ์˜ˆ: 192.168.1.100:80

IPv6:
  [IP]:Port ํ˜•์‹ (๋Œ€๊ด„ํ˜ธ๋กœ IP ์ฃผ์†Œ ๊ฐ์‹ธ๊ธฐ)
  ์˜ˆ: [2001:db8::1]:80
      [::1]:8080

URL์—์„œ:
  http://example.com:8080/path
  https://[2001:db8::1]:443/

5. ํฌํŠธ ๋ฒˆํ˜ธ ๋ฒ”์œ„

5.1 ํฌํŠธ ๋ฒ”์œ„ ๋ถ„๋ฅ˜

ํฌํŠธ ๋ฒˆํ˜ธ ๋ฒ”์œ„ (0 - 65535)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚  Well-known Ports (์ž˜ ์•Œ๋ ค์ง„ ํฌํŠธ)                       โ”‚    โ”‚
โ”‚  โ”‚  0 - 1023                                                โ”‚    โ”‚
โ”‚  โ”‚  โ€ข ์‹œ์Šคํ…œ ์„œ๋น„์Šค ๋ฐ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ                        โ”‚    โ”‚
โ”‚  โ”‚  โ€ข root/๊ด€๋ฆฌ์ž ๊ถŒํ•œ ํ•„์š”                                 โ”‚    โ”‚
โ”‚  โ”‚  โ€ข IANA์—์„œ ๊ด€๋ฆฌ                                         โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚  Registered Ports (๋“ฑ๋ก๋œ ํฌํŠธ)                          โ”‚    โ”‚
โ”‚  โ”‚  1024 - 49151                                            โ”‚    โ”‚
โ”‚  โ”‚  โ€ข ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/์„œ๋น„์Šค์šฉ                            โ”‚    โ”‚
โ”‚  โ”‚  โ€ข IANA์— ๋“ฑ๋ก (ํ•„์ˆ˜๋Š” ์•„๋‹˜)                             โ”‚    โ”‚
โ”‚  โ”‚  โ€ข ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ                               โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚  Dynamic/Private Ports (๋™์ /์‚ฌ์„ค ํฌํŠธ)                  โ”‚    โ”‚
โ”‚  โ”‚  49152 - 65535                                           โ”‚    โ”‚
โ”‚  โ”‚  โ€ข ์ž„์‹œ (Ephemeral) ํฌํŠธ                                 โ”‚    โ”‚
โ”‚  โ”‚  โ€ข ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์‹œ ์ž๋™ ํ• ๋‹น                          โ”‚    โ”‚
โ”‚  โ”‚  โ€ข ๋“ฑ๋ก ๋ถˆ๊ฐ€                                             โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

5.2 ์ฃผ์š” Well-known ํฌํŠธ

ํฌํŠธ ํ”„๋กœํ† ์ฝœ ์„œ๋น„์Šค ์„ค๋ช…
20 TCP FTP-Data FTP ๋ฐ์ดํ„ฐ ์ „์†ก
21 TCP FTP-Control FTP ์ œ์–ด
22 TCP SSH ๋ณด์•ˆ ์‰˜
23 TCP Telnet ์›๊ฒฉ ์ ‘์† (๋น„์•”ํ˜ธํ™”)
25 TCP SMTP ์ด๋ฉ”์ผ ์ „์†ก
53 TCP/UDP DNS ๋„๋ฉ”์ธ ์ด๋ฆ„ ์„œ๋น„์Šค
67 UDP DHCP Server IP ์ž๋™ ํ• ๋‹น (์„œ๋ฒ„)
68 UDP DHCP Client IP ์ž๋™ ํ• ๋‹น (ํด๋ผ์ด์–ธํŠธ)
69 UDP TFTP ๊ฐ„๋‹จํ•œ ํŒŒ์ผ ์ „์†ก
80 TCP HTTP ์›น (๋น„์•”ํ˜ธํ™”)
110 TCP POP3 ์ด๋ฉ”์ผ ์ˆ˜์‹ 
123 UDP NTP ์‹œ๊ฐ„ ๋™๊ธฐํ™”
143 TCP IMAP ์ด๋ฉ”์ผ ์ˆ˜์‹ 
161 UDP SNMP ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ
443 TCP HTTPS ์›น (์•”ํ˜ธํ™”)
445 TCP SMB ํŒŒ์ผ ๊ณต์œ  (Windows)
465 TCP SMTPS SMTP over SSL
514 UDP Syslog ์‹œ์Šคํ…œ ๋กœ๊ทธ
993 TCP IMAPS IMAP over SSL
995 TCP POP3S POP3 over SSL

5.3 ์ฃผ์š” Registered ํฌํŠธ

ํฌํŠธ ํ”„๋กœํ† ์ฝœ ์„œ๋น„์Šค ์„ค๋ช…
1433 TCP MSSQL Microsoft SQL Server
1521 TCP Oracle Oracle Database
3306 TCP MySQL MySQL Database
3389 TCP RDP ์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ
5432 TCP PostgreSQL PostgreSQL Database
5900 TCP VNC ์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ
6379 TCP Redis Redis ์บ์‹œ
8080 TCP HTTP-Alt ๋Œ€์ฒด HTTP ํฌํŠธ
8443 TCP HTTPS-Alt ๋Œ€์ฒด HTTPS ํฌํŠธ
9000 TCP Various PHP-FPM ๋“ฑ
27017 TCP MongoDB MongoDB Database

5.4 ์ž„์‹œ ํฌํŠธ (Ephemeral Ports)

ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์‹œ ์ž„์‹œ ํฌํŠธ ํ• ๋‹น

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                  โ”‚
โ”‚  ํด๋ผ์ด์–ธํŠธ                        ์„œ๋ฒ„                         โ”‚
โ”‚  (192.168.1.10)                   (10.0.0.5)                    โ”‚
โ”‚                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”               โ”‚
โ”‚  โ”‚ ์›น ๋ธŒ๋ผ์šฐ์ € โ”‚                  โ”‚  ์›น ์„œ๋ฒ„    โ”‚               โ”‚
โ”‚  โ”‚  Port: ?    โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚  Port: 80   โ”‚               โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜               โ”‚
โ”‚                                                                  โ”‚
โ”‚  OS๊ฐ€ ์ž„์‹œ ํฌํŠธ ์ž๋™ ํ• ๋‹น:                                      โ”‚
โ”‚  ์˜ˆ: 192.168.1.10:52431 โ†’ 10.0.0.5:80                          โ”‚
โ”‚                                                                  โ”‚
โ”‚  ์šด์˜์ฒด์ œ๋ณ„ ์ž„์‹œ ํฌํŠธ ๋ฒ”์œ„:                                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”‚
โ”‚  โ”‚ Linux:   32768 - 60999 (net.ipv4.ip_local_port_range) โ”‚     โ”‚
โ”‚  โ”‚ Windows: 49152 - 65535                                 โ”‚     โ”‚
โ”‚  โ”‚ macOS:   49152 - 65535                                 โ”‚     โ”‚
โ”‚  โ”‚ BSD:     1024 - 5000 (๊ตฌ๋ฒ„์ „)                          โ”‚     โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

6. ์†Œ์ผ“

6.1 ์†Œ์ผ“์˜ ๊ฐœ๋…

์†Œ์ผ“(Socket)์€ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์˜ ๋์ (Endpoint)์„ ์ถ”์ƒํ™”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์†Œ์ผ“ ํ†ต์‹  ๋ชจ๋ธ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                  โ”‚
โ”‚     Application                         Application             โ”‚
โ”‚         โ”‚                                    โ”‚                  โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”                          โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚    โ”‚ Socket  โ”‚                          โ”‚ Socket  โ”‚             โ”‚
โ”‚    โ”‚ API     โ”‚                          โ”‚ API     โ”‚             โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜                          โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚         โ”‚                                    โ”‚                  โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”                          โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚    โ”‚ Socket  โ”‚โ—„โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ”‚ Socket  โ”‚             โ”‚
โ”‚    โ”‚192.168. โ”‚    TCP/UDP Connection    โ”‚10.0.0.5 โ”‚             โ”‚
โ”‚    โ”‚1.10:5000โ”‚                          โ”‚:80      โ”‚             โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

์†Œ์ผ“ = (ํ”„๋กœํ† ์ฝœ, IP ์ฃผ์†Œ, ํฌํŠธ ๋ฒˆํ˜ธ)

6.2 ์†Œ์ผ“ ํƒ€์ž…

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ์†Œ์ผ“ ํƒ€์ž…                                 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                  โ”‚
โ”‚  SOCK_STREAM (์ŠคํŠธ๋ฆผ ์†Œ์ผ“)                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ โ€ข TCP ์‚ฌ์šฉ                                                โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์—ฐ๊ฒฐ ์ง€ํ–ฅ                                               โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์–‘๋ฐฉํ–ฅ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ                        โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์ˆœ์„œ ๋ณด์žฅ                                               โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                  โ”‚
โ”‚  SOCK_DGRAM (๋ฐ์ดํ„ฐ๊ทธ๋žจ ์†Œ์ผ“)                                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ โ€ข UDP ์‚ฌ์šฉ                                                โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ๋น„์—ฐ๊ฒฐ                                                  โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ๊ณ ์ • ํฌ๊ธฐ ๋ฉ”์‹œ์ง€                                        โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์ˆœ์„œ/์ „๋‹ฌ ๋ณด์žฅ ์—†์Œ                                     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                  โ”‚
โ”‚  SOCK_RAW (๋กœ์šฐ ์†Œ์ผ“)                                           โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ โ€ข IP ๊ณ„์ธต ์ง์ ‘ ์ ‘๊ทผ                                       โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ์ปค์Šคํ…€ ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„                                    โ”‚  โ”‚
โ”‚  โ”‚ โ€ข root ๊ถŒํ•œ ํ•„์š”                                          โ”‚  โ”‚
โ”‚  โ”‚ โ€ข ping, traceroute ๋“ฑ์— ์‚ฌ์šฉ                              โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

6.3 TCP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ๋ฆ„

TCP ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ํ๋ฆ„

       ์„œ๋ฒ„                              ํด๋ผ์ด์–ธํŠธ
         โ”‚                                    โ”‚
    socket()                             socket()
         โ”‚                                    โ”‚
      bind()                                  โ”‚
         โ”‚                                    โ”‚
     listen()                                 โ”‚
         โ”‚                                    โ”‚
     accept() โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€ connect() โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
         โ”‚         (3-way handshake)          โ”‚
         โ”‚                                    โ”‚
      read() โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ write() โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
         โ”‚                                    โ”‚
     write() โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ read()                 โ”‚
         โ”‚                                    โ”‚
     close() โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ close() โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
                   (4-way handshake)

Python ์˜ˆ์‹œ (์„œ๋ฒ„):
import socket

# ์†Œ์ผ“ ์ƒ์„ฑ
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ
server.bind(('0.0.0.0', 8080))

# ์—ฐ๊ฒฐ ๋Œ€๊ธฐ
server.listen(5)

# ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์ˆ˜๋ฝ
client, addr = server.accept()
print(f"Connected: {addr}")

# ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ 
data = client.recv(1024)
client.send(b"Hello, Client!")

# ์—ฐ๊ฒฐ ์ข…๋ฃŒ
client.close()
server.close()

6.4 UDP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ๋ฆ„

UDP ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ํ๋ฆ„

       ์„œ๋ฒ„                              ํด๋ผ์ด์–ธํŠธ
         โ”‚                                    โ”‚
    socket()                             socket()
         โ”‚                                    โ”‚
      bind()                                  โ”‚
         โ”‚                                    โ”‚
   recvfrom() โ—„โ”€โ”€โ”€โ”€โ”€โ”€ sendto() โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
         โ”‚                                    โ”‚
    sendto() โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ recvfrom()            โ”‚
         โ”‚                                    โ”‚
     close()                              close()

ํŠน์ง•:
- connect() ๋ถˆํ•„์š” (๋น„์—ฐ๊ฒฐ)
- ๊ฐ ๋ฉ”์‹œ์ง€์— ๋ชฉ์ ์ง€ ์ฃผ์†Œ ํฌํ•จ
import socket

# UDP ์„œ๋ฒ„
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('0.0.0.0', 9999))

data, addr = server.recvfrom(1024)
print(f"From {addr}: {data}")
server.sendto(b"ACK", addr)

6.5 ์†Œ์ผ“ ์ƒํƒœ ํ™•์ธ

# Linux - ์†Œ์ผ“ ์ƒํƒœ ํ™•์ธ
ss -tuln                    # TCP/UDP ๋ฆฌ์Šค๋‹ ์†Œ์ผ“
ss -tan                     # ๋ชจ๋“  TCP ์—ฐ๊ฒฐ
ss -tan state established   # ์—ฐ๊ฒฐ๋œ TCP๋งŒ

# netstat (๊ตฌ๋ฒ„์ „)
netstat -an | grep LISTEN
netstat -tunlp

# macOS
netstat -an | grep LISTEN
lsof -i -P | grep LISTEN

# Windows
netstat -an | findstr LISTEN
netstat -ano

7. ์—ฐ์Šต ๋ฌธ์ œ

๋ฌธ์ œ 1: TCP vs UDP ์„ ํƒ

๋‹ค์Œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•œ ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•˜์„ธ์š”.

a) ์€ํ–‰ ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ b) ๋ผ์ด๋ธŒ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐฉ์†ก c) ์ด๋ฉ”์ผ ์ „์†ก d) ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„์˜ ์บ๋ฆญํ„ฐ ์œ„์น˜ ๋™๊ธฐํ™” e) ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ f) IoT ์„ผ์„œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (1์ดˆ๋งˆ๋‹ค)

๋ฌธ์ œ 2: ํฌํŠธ ๋ฒˆํ˜ธ ๋งค์นญ

๋‹ค์Œ ์„œ๋น„์Šค์™€ ๊ธฐ๋ณธ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์—ฐ๊ฒฐํ•˜์„ธ์š”.

์„œ๋น„์Šค:               ํฌํŠธ:
a) HTTPS              1) 22
b) MySQL              2) 25
c) SMTP               3) 53
d) SSH                4) 443
e) DNS                5) 3306

๋ฌธ์ œ 3: UDP ํ—ค๋” ๋ถ„์„

๋‹ค์Œ UDP ํ—ค๋”(16์ง„์ˆ˜)๋ฅผ ๋ถ„์„ํ•˜์„ธ์š”.

01 BB 00 35 00 1C 8A 7E

a) Source Port๋Š”? b) Destination Port๋Š”? (์–ด๋–ค ์„œ๋น„์Šค?) c) UDP Length๋Š”? (๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋Š”?) d) Checksum์€?

๋ฌธ์ œ 4: ์†Œ์ผ“ ์‹๋ณ„

ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์Œ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ A: 192.168.1.10:50001 โ†’ ์„œ๋ฒ„: 10.0.0.5:80
ํด๋ผ์ด์–ธํŠธ B: 192.168.1.10:50002 โ†’ ์„œ๋ฒ„: 10.0.0.5:80
ํด๋ผ์ด์–ธํŠธ C: 192.168.1.20:50001 โ†’ ์„œ๋ฒ„: 10.0.0.5:80

a) ์„œ๋ฒ„๋Š” ์ด ์„ธ ์—ฐ๊ฒฐ์„ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋‚˜์š”? b) 5-tuple์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์—ฐ๊ฒฐ์„ ํ‘œํ˜„ํ•˜์„ธ์š”.


์ •๋‹ต

๋ฌธ์ œ 1 ์ •๋‹ต

a) ์€ํ–‰ ๊ฑฐ๋ž˜ โ†’ TCP (์‹ ๋ขฐ์„ฑ ํ•„์ˆ˜) b) ๋ผ์ด๋ธŒ ์ŠคํŠธ๋ฆฌ๋ฐ โ†’ UDP (์‹ค์‹œ๊ฐ„์„ฑ ์ค‘์š”, ์ผ๋ถ€ ์†์‹ค ํ—ˆ์šฉ) c) ์ด๋ฉ”์ผ ์ „์†ก โ†’ TCP (๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ํ•„์š”) d) ๊ฒŒ์ž„ ์บ๋ฆญํ„ฐ ์œ„์น˜ โ†’ UDP (์‹ค์‹œ๊ฐ„, ์ตœ์‹  ๋ฐ์ดํ„ฐ๋งŒ ์˜๋ฏธ ์žˆ์Œ) e) ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ โ†’ TCP (์™„์ „ํ•œ ๋ฐ์ดํ„ฐ ํ•„์š”) f) IoT ์„ผ์„œ ๋ฐ์ดํ„ฐ โ†’ UDP (๋นˆ๋ฒˆํ•œ ์†Œ๊ทœ๋ชจ ๋ฉ”์‹œ์ง€, ์ผ๋ถ€ ์†์‹ค ํ—ˆ์šฉ)

๋ฌธ์ œ 2 ์ •๋‹ต

  • a) HTTPS โ†’ 4) 443
  • b) MySQL โ†’ 5) 3306
  • c) SMTP โ†’ 2) 25
  • d) SSH โ†’ 1) 22
  • e) DNS โ†’ 3) 53

๋ฌธ์ œ 3 ์ •๋‹ต

01 BB 00 35 00 1C 8A 7E

a) Source Port: 0x01BB = 443 (HTTPS)
b) Destination Port: 0x0035 = 53 (DNS)
c) UDP Length: 0x001C = 28 bytes
   ๋ฐ์ดํ„ฐ ํฌ๊ธฐ: 28 - 8 = 20 bytes
d) Checksum: 0x8A7E

๋ฌธ์ œ 4 ์ •๋‹ต

a) ์„œ๋ฒ„๋Š” 5-tuple๋กœ ๊ฐ ์—ฐ๊ฒฐ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค: (Protocol, Src IP, Src Port, Dst IP, Dst Port)

b) 5-tuple ํ‘œํ˜„: - ํด๋ผ์ด์–ธํŠธ A: (TCP, 192.168.1.10, 50001, 10.0.0.5, 80) - ํด๋ผ์ด์–ธํŠธ B: (TCP, 192.168.1.10, 50002, 10.0.0.5, 80) - ํด๋ผ์ด์–ธํŠธ C: (TCP, 192.168.1.20, 50001, 10.0.0.5, 80)

์„ธ ์—ฐ๊ฒฐ ๋ชจ๋‘ Src IP ๋˜๋Š” Src Port๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค.


8. ๋‹ค์Œ ๋‹จ๊ณ„

UDP์™€ ํฌํŠธ๋ฅผ ์ดํ•ดํ–ˆ๋‹ค๋ฉด, DNS์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”.

๋‹ค์Œ ๋ ˆ์Šจ

  • 12_DNS.md - DNS ๋™์ž‘ ์›๋ฆฌ, ๋ ˆ์ฝ”๋“œ ์œ ํ˜•

๊ด€๋ จ ๋ ˆ์Šจ

์ถ”์ฒœ ์‹ค์Šต

  1. ss ๋˜๋Š” netstat๋กœ ์‹œ์Šคํ…œ์˜ ์—ด๋ฆฐ ํฌํŠธ ํ™•์ธ
  2. Wireshark๋กœ UDP ํŒจํ‚ท ์บก์ฒ˜ ๋ฐ ๋ถ„์„
  3. ๊ฐ„๋‹จํ•œ TCP/UDP ์—์ฝ” ์„œ๋ฒ„ ๊ตฌํ˜„

9. ์ฐธ๊ณ  ์ž๋ฃŒ

RFC ๋ฌธ์„œ

  • RFC 768 - User Datagram Protocol
  • RFC 793 - Transmission Control Protocol
  • RFC 6335 - Internet Assigned Numbers Authority (IANA) Procedures

๋ช…๋ น์–ด ์ฐธ๊ณ 

# ํฌํŠธ ํ™•์ธ (Linux)
ss -tuln                     # ๋ฆฌ์Šค๋‹ ํฌํŠธ
ss -tan state established    # ์—ฐ๊ฒฐ๋œ ์†Œ์ผ“
lsof -i :80                  # ํŠน์ • ํฌํŠธ ์‚ฌ์šฉ ํ”„๋กœ์„ธ์Šค

# ํฌํŠธ ํ™•์ธ (macOS)
netstat -an | grep LISTEN
lsof -iTCP -sTCP:LISTEN

# ํฌํŠธ ํ™•์ธ (Windows)
netstat -an | findstr LISTENING
netstat -ano | findstr :80

# ํฌํŠธ ์Šค์บ”
nmap -p 1-1000 target_ip     # TCP ํฌํŠธ ์Šค์บ”
nmap -sU -p 53,67,123 target # UDP ํฌํŠธ ์Šค์บ”

# UDP ํ…Œ์ŠคํŠธ
nc -u target_ip 53           # UDP ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

ํ•™์Šต ์ž๋ฃŒ


๋ฌธ์„œ ์ •๋ณด - ์ตœ์ข… ์ˆ˜์ •: 2024๋…„ - ๋‚œ์ด๋„: โญโญ - ์˜ˆ์ƒ ํ•™์Šต ์‹œ๊ฐ„: 2์‹œ๊ฐ„

to navigate between lessons