did_story
[๋คํธ์ํฌ] 3.2 Multiplexing / demultiplexing | ๋ค์คํ / ์ญ๋ค์คํ ๋ณธ๋ฌธ
[๋คํธ์ํฌ] 3.2 Multiplexing / demultiplexing | ๋ค์คํ / ์ญ๋ค์คํ
์ด์ ์์ 2025. 10. 22. 00:04[๋คํธ์ํฌ] 3.1 Transport-layer services | ์ ์ก ๊ณ์ธต ์๋น์ค
์ ์ก ๊ณ์ธต ์๋น์ค๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์ ๋จผ์ ์ฉ์ด์ ๋ํ ์ ๋ฆฌ๋ถํฐ ๋ค์ด๊ฐ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.์ฉ์ด์ ๋ฆฌํ๋ก๊ทธ๋จ ๋์คํฌ์ ์ ์ฅ๋ ์คํํ์ผ.ํ๋ก์ธ์ค ํ๋ก๊ทธ๋จ์ ์คํํ ์ด๋ค Instance. ํ๋์ ํ๋ก๊ทธ๋จ์ผ๋ก
didcheck.tistory.com
1. ๊ฐ๋ ์์ฝ
๋คํธ์ํฌ ํต์ ์์๋ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ (ํ๋ก์ธ์ค)์ด ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค.
์๋ฅผ ๋ค์ด, ํ ์ปดํจํฐ์์ ์น ๋ธ๋ผ์ฐ์ (HTTP)์ ๋ฉ์ ์ (TCP), DNS(Client)๊ฐ ๋์์ ์๋ํ ์ ์์ฃ .
์ด๋ ์ ์ก ๊ณ์ธต(Transport Layer) ์ ๊ฐ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ํตํด ํจ์จ์ ์ผ๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด
‘๋ค์คํ(Multiplexing)’์ ‘์ญ๋ค์คํ(Demultiplexing)’๋ผ๋ ๊ณผ์ ์ ์ํํฉ๋๋ค.
(1) ์ก์ ์ธก ๋ค์คํ (Multiplexing at Sender)
์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ์ ์ก ๊ณ์ธต์ ํตํด ๋ฌถ๋ ๊ณผ์
๊ณผ์
- ์ฌ๋ฌ ์์ผ(socket)์ผ๋ก๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ(Data)๋ฅผ ์์งํ๋ค.
- ๊ฐ ๋ฐ์ดํฐ์ ์ถ๋ฐ์ง/๋ชฉ์ ์ง ํฌํธ ๋ฒํธ ๋ฑ ์ ์ด ์ ๋ณด(Transport Header)๋ฅผ ์ถ๊ฐํ๋ค.
- ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ๋จ์๋ฅผ ์ธ๊ทธ๋จผํธ(Segment)๋ผ๊ณ ํ๋ค.
- ์ธ๊ทธ๋จผํธ๋ฅผ ํ์ ๊ณ์ธต(๋คํธ์ํฌ ๊ณ์ธต)์ ์ ๋ฌํ์ฌ, ๋คํธ์ํฌ ๊ฒฝ๋ก๋ฅผ ํตํด ๋ชฉ์ ์ง๋ก ์ ์กํ๋ค.
- ์ฆ, ๋ค์คํ๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ํ๋๋ก ํตํฉ(Multiplex) ํ๋ ์ญํ ์ ํ๋ค.
(2) ์์ ์ธก ์ญ๋ค์คํ (Demultiplexing at Receiver)
๋์ฐฉํ ์ธ๊ทธ๋จผํธ๋ฅผ ํด๋นํ๋ ์์ผ์ผ๋ก ์ ํํ ๋ถ๋ฐฐํ๋ ๊ณผ์
๊ณผ์
- ์์ ์ธก์ ์ ์ก ๊ณ์ธต์ ๋คํธ์ํฌ ๊ณ์ธต์ผ๋ก๋ถํฐ ์ธ๊ทธ๋จผํธ๋ฅผ ์์ ํ๋ค.
- ์ธ๊ทธ๋จผํธ์ ํค๋ ์ ๋ณด(ํฌํธ ๋ฒํธ ๋ฑ)๋ฅผ ๋ฅผ ๋ถ์ํ์ฌ, ๋ฐ์ดํฐ๊ฐ ์ด๋ค ์์ผ์ผ๋ก ๊ฐ์ผ ํ๋์ง ์๋ณํ๋ค.
- ์๋ณ๋ ์์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ์ฌ, ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ธ์ค(P1, P2 ๋ฑ)๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค.
- ์ด ๊ณผ์ ์ ํตํด ๋ฐ์ดํฐ ์คํธ๋ฆผ์ด ์ฌ๋ฐ๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํํ ์ ๋ฌ๋๋ค.
2. Connetionless demultiplexing (UDP)
⇒ UDP๋ ๋น์ฐ๊ฒฐํ ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ๋ก, ๋จ์ํ ๋ค์คํ/์ญ๋ค์คํ ๊ธฐ๋ฅ๋ง ์ ๊ณตํฉ๋๋ค.
์ฆ, ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ “๋๊ตฌ์๊ฒ ๋ณด๋ด๋์ง”๋ง ๋ช ์ํ๊ณ , ์ฐ๊ฒฐ ๊ด๋ฆฌ๋ ์ค๋ฅ ๋ณต๊ตฌ๋ ํ์ง ์์ต๋๋ค.

UDP ์ญ๋ค์คํ๋ ์ค์ง ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ๋ง์ ์ฌ์ฉํ์ฌ ์์ ํ ์์ผ์ ์๋ณํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, ์๋ก ๋ค๋ฅธ ์ถ๋ฐ์ง IP ์ฃผ์๋ ์ถ๋ฐ์ง ํฌํธ ๋ฒํธ๋ฅผ ๊ฐ์ง ์ฌ๋ฌ UDP ๋ฐ์ดํฐ๊ทธ๋จ์ด๋ผ๋, ๋์ผํ ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด ์์ ํธ์คํธ์ ๋์ผํ ์์ผ์ผ๋ก ๋ชจ๋ ์ ๋ฌ๋ฉ๋๋ค. ์ด๋ ์์ ์์ผ์ด 2-ํํ(๋ชฉ์ ์ง IP, ๋ชฉ์ ์ง ํฌํธ)์ ์ํด์๋ง ์๋ณ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
(1) UDP ์ก์ ์ธก (Multiplexing at Sender)
1. ์์ผ ์์ฑ
- ์ ํ๋ฆฌ์ผ์ด์ ์ UDP ํต์ ์ ์ํด DatagramSocket ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค.
- ์ด๋ ๋ก์ปฌ ํธ์คํธ์ ํน์ ํฌํธ ๋ฒํธ(์: 12534)์ ๋ฐ์ธ๋ฉ(binding) ํฉ๋๋ค.
- ์ด ํฌํธ ๋ฒํธ๋ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ “์ถ์ ๊ตฌ” ์ญํ ์ ํฉ๋๋ค.
2. ๋ฐ์ดํฐ๊ทธ๋จ ์์ฑ ๋ฐ ์ ์ก
- ์์ฑ๋ ์์ผ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋,
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ๋์ ๋ชฉ์ ์ง IP ์ฃผ์ (Destination IP Address)์ ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ (Destination Port Number)๋ฅผ ๋ช ์ํด์ผ ํฉ๋๋ค.
- ์ด ์ ๋ณด๋ฅผ ํตํด UDP๋ ๋ฐ์ดํฐ๊ทธ๋จ(datagram)์ ์์ฑํ์ฌ ํ์ ๋คํธ์ํฌ ๊ณ์ธต์ผ๋ก ์ ๋ฌํฉ๋๋ค.
(2) UDP ์์ ์ธก (Demultiplexing at Receiver)
1. ์ธ๊ทธ๋จผํธ ์์
- ์์ ์ธก ํธ์คํธ๋ ๋คํธ์ํฌ ๊ณ์ธต์ผ๋ก๋ถํฐ UDP ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์ต๋๋ค.
- ์ธ๊ทธ๋จผํธ์ ํค๋์ ํฌํจ๋ ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ๋ฅผ ํ์ธํฉ๋๋ค.
2. ์์ผ ์๋ณ ๋ฐ ์ ๋ฌ
- ์ด์์ฒด์ (OS)๋ ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ์ ์ ์ผ์นํ๋ ์์ผ์ ์ฐพ์ ํด๋น UDP ์ธ๊ทธ๋จผํธ๋ฅผ ์ ๋ฌํฉ๋๋ค.
- ์๋ณ๋ ์์ผ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋๋ฉด, ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ฉ๋๋ค.
3. Connection-oriented demultiplexing (TCP)
⇒ TCP๋ ์ฐ๊ฒฐํ(connection-oriented) ํ๋กํ ์ฝ์ ๋๋ค.
์ฆ, ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ ์ ์ก์ ์์ ์์ ์ ๊ฐ์ ‘์ฐ๊ฒฐ(Connection)’์ ๋จผ์ ์ค์ ํ๊ณ ,
์ด ์ฐ๊ฒฐ์ ํตํด ์์๊ฐ ๋ณด์ฅ๋ ์ ๋ขฐ์ฑ ์๋ ํต์ ์ ์ํํฉ๋๋ค.

- TCP ์์ผ ์๋ณ์: 4-ํํ (4-tuple) TCP ์์ผ, ์ฆ ํน์ ์ฐ๊ฒฐ(Connection)์ ๋ค์ 4๊ฐ์ง ์์์ ์กฐํฉ์ผ๋ก ๊ณ ์ ํ๊ฒ ์๋ณ๋ฉ๋๋ค.
| ๊ตฌ๋ถ | ์ค๋ช |
| ์ถ๋ฐ์ง IP ์ฃผ์ (Source IP address) | ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์ชฝ์ IP |
| ์ถ๋ฐ์ง ํฌํธ ๋ฒํธ (Source port number) | ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํธ |
| ๋ชฉ์ ์ง IP ์ฃผ์ (Destination IP address) | ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ์ชฝ์ IP |
| ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ (Destination port number) | ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํธ |
⇒ ์ธ๊ทธ๋จผํธ ํค๋์ ํฌํจ๋ ์ 4๊ฐ์ง ๊ฐ ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ์ธ๊ทธ๋จผํธ๋ฅผ ์ ๋ฌํ ์ ํํ ์์ผ์ ๊ฒฐ์ ํฉ๋๋ค. (TCP์ ์์ ํธ์คํธ)
(1) ์ฐ๊ฒฐํ ์ญ๋ค์คํ์ ๋์ ์๋ฆฌ
์์ ์ธก์์ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฐ์ ๋,
์ธ๊ทธ๋จผํธ ํค๋์ ํฌํจ๋ 4-ํํ(์ถ๋ฐ์ง/๋ชฉ์ ์ง IP + ํฌํธ ๋ฒํธ)์ ๋ชจ๋ ํ์ธํ์ฌ
์ด๋ค ์์ผ์ ์ ๋ฌํด์ผ ํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์ด์์ฒด์ (OS)๋ ์ด 4-ํํ์ ๊ธฐ์ค์ผ๋ก ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ๋ฐ๋ฅธ TCP ์์ผ์ผ๋ก ์ ๋ฌํฉ๋๋ค.
- ์ด๋ ๊ฒ ํจ์ผ๋ก์จ TCP๋ ์๋ก ๋ค๋ฅธ ํด๋ผ์ด์ธํธ์ ๋์์ ํต์ ํ๋๋ผ๋ ๋ฐ์ดํฐ ํผ์ ์์ด ๋ ๋ฆฝ์ ์ธ ์ฐ๊ฒฐ์ ์ ์งํ ์ ์์ต๋๋ค.
(2) ์๋ฒ ํ๊ฒฝ์์์ ์์
์๋ฅผ ๋ค์ด ์น ์๋ฒ์ ํฌํธ ๋ฒํธ๊ฐ 80์ด๋ผ๋ฉด, ์๋ฒ๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋์์ ์์ฒญ์ ๋ฐ์ ์ ์์ต๋๋ค.
| ํด๋ผ์ด์ธํธ | ์ถ๋ฐ์ง IP | ์ถ๋ฐ์ง port | ์๋ฒ (๋ชฉ์ ์ง IP, ํฌํธ) |
| Client A | 192.168.1.10 | 51000 | 203.0.113.1:80 |
| Client B | 192.168.1.11 | 52000 | 203.0.113.1:80 |
- ๋ ํด๋ผ์ด์ธํธ ๋ชจ๋ ๊ฐ์ ์๋ฒ์ 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ์ง๋ง, ์ด์์ฒด์ ๋ ์ด๋ฅผ ์๋ก ๋ค๋ฅธ ์ฐ๊ฒฐ๋ก ์ธ์ํฉ๋๋ค. ์ถ๋ฐ์ง IP์ ํฌํธ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ๋ ์ด๋ฅผ ์๋ก ๋ค๋ฅธ ์ฐ๊ฒฐ๋ก ์ธ์ํฉ๋๋ค.
- ๋ฐ๋ผ์ ์๋ฒ๋ ๋์์ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ํต์ ๊ฐ๋ฅํ๋ฉฐ, ๊ฐ ์ฐ๊ฒฐ์ ๋ ๋ฆฝ์ ์ธ TCP ์์ผ์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค.
⇒ ์ฆ, UDP vs TCP: UDP๊ฐ ๋ฒํธํ๋ง ๋ณด๊ณ ์๋ฌด๋ ์๋ํ๋ '์ํ ์ฐฝ๊ตฌ'์๋ค๋ฉด, TCP๋ ๊ณ ๊ฐ ํ ๋ช ํ ๋ช ์๊ฒ '์ ๋ด ์๋ด์'์ ๋ถ์ฌ์ฃผ๋ ๋ฐฉ์์ด์์.
### ํ๋ฆฐ๋ถ๋ถ์ด ์๋ค๋ฉด ๋๊ธ๋ก ๋ง์ํด ์ฃผ์ธ์! ๊ฐ์ฌํฉ๋๋ค :) ###
'ComputerScienc๐ > Computer Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋คํธ์ํฌ] Subnet Mask | ์๋ธ๋ท ๋ง์คํฌ (1) | 2026.05.08 |
|---|---|
| [๋คํธ์ํฌ] A,B,C class | IP ์ฃผ์ ํด๋์ค (0) | 2026.05.08 |
| [๋คํธ์ํฌ] 3.3 Connectionless transport: UDP / ๋น์ฐ๊ฒฐ์ฑ ์ด์ก (0) | 2025.11.02 |
| [๋คํธ์ํฌ] 3.1 Transport-layer services | ์ ์ก ๊ณ์ธต ์๋น์ค (0) | 2025.10.15 |