[NETWORK] MAC Protocol
๐ Created: 2025.04.30 Wed
๐๏ธ Updated: 2025.05.21 Wed
Reading time ~5 minutes
๋ชฉ์ฐจ
๊ฒฝ์ ๋ค์ค ์ ๊ทผ ๋ฐฉ์ (Random/Contention-Based Access Protocol)
๋ณต์์ ์ฌ์ฉ์๋ค์ด ํ๋์ ์ฑ๋(๊ณต์ ๋งค์ฒด)์ ๋๊ณ ์๋ก ๊ฒฝ์ํ๋ฉฐ ๋๋์ด์ฐ๋ ๋ฐฉ์์ด๋ค.
- ๋งค์ฒด ์ ๊ทผ ์์ ๊ฒฐ์ : ๊ฐ ๋ ธ๋๋ ์ฐ์ ์์ ์์ด ์ ์ก์ ์์ ๋กญ๊ฒ ์๋ํ๋ค
- ๋งค์ฒด ์ํ ๋์: ์ ๊ฒฝ ์ฐ์ง ์๋๋ค.
์๋จ์ ๋ฉํ - ์ ์ก ์ฑ๊ณต/์คํจ ํ๋จ: ํ์์๋ณด๋ค ์๋์ง ๋ ๋ฒจ์ด 2๋ฐฐ๊ฐ ๋๋ค
- ์ถฉ๋ ์ฒ๋ฆฌ: ๊ฐ ์ฅ์น๋ ์ถฉ๋์ ๊ฐ์งํ๊ณ ๋๋คํ ์๊ฐ์ ๊ธฐ๋ค๋ฆฐ ํ ์ฌ์ ์ก์ ์๋ํ๋ค
Random Access ํน์ง
- ๋ชจ๋ ๋ ธ๋๊ฐ ํ๋ฑํ๋ค: ์ค์๊ตญ์ ์ํ ์ ์ด๊ฐ ์๋ค
- ์์์ ๊ฐํจ
- ๋น๊ณํ์ ์ ์ก: ๋ ธ๋๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์๊ฐ์ด ๋ฏธ๋ฆฌ ์ ํด์ ธ ์์ง ์๋ค.
- ๊ท์น ๋ถ์ฌ: ๋ค์ ์ ์ก ๋ ธ๋๋ฅผ ์ง์ ํ๋ ๊ท์น์ด ์๋ค.
- ๊ฒฝ์ ๋ฐ์: ์ฌ๋ฌ ๋ ธ๋๋ค์ด ๋์์ ์ ์ก์ ์๋ํ ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.
1. ALOHA
1970๋ ๋์ด ํ์์ด ๊ตฐ๋์ ์๋ ์ฌ๋ค๊ฐ์ ๋ฌด์ ๋ฐ์ดํฐ ํต์ ๋ง(ํจํท ๋ผ๋์ค๋ง)์ ๊ตฌ์ฑํ๊ธฐ ์ํ ์ฐ๊ตฌ์์ ๋ฐ์ ํ๋ค. ์ฌ๋ฌ ๋ ธ๋๋ค์ด ํ๋์ ๋งํฌ๋ฅผ ๊ณต์ ํ๋ค.
1.1. Pure ALOHA (์์ ALOHA):
๊ฐ๊ฐ์ ๋ ธ๋๋ ๋ณด๋ผ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒฝ์ฐ, ์ธ์ ๋ ์ง ์ ์ก์ ์๋ํ๋ค. ํ๋์ ์ฑ๋์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ๊ฐ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.
1.1.1. Main Idea
- ๊ฐ๊ฐ์ ๋ ธ๋๋ ๋ณด๋ผ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒฝ์ฐ, ์ธ์ ๋ ์ง ์ ์ก์ ์๋ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์๊ฐ ACK๋ฅผ ๋๋ ค์ค ๊ฒ์ ๊ธฐ๋ค๋ฆฐ๋ค.
- ์์ ์๋ก๋ถํฐ ACK๋ฅผ ๋ฐ์๋ค๋ฉด ์ฑ๊ณต์ ์ผ๋ก ํต์ ์ ๋๋ธ๋ค.
- timeout ์๊ฐ ๋ด์ ACK๋ฅผ ๋ฐ์ง ๋ชปํ ๊ฒฝ์ฐ, ์ก์ ์๋ frame์ด ํ๊ดด-์ถฉ๋๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๊ณ , ์ฌ์ ์กํ๋ค.
- Tp: ์ต๋ ์ ์ก ์ง์ฐ ์๊ฐ(Maximum Propagation Delay)
- Time-out period: \(2 \times {T_p}\), S -> R, R -> S ์ด 2๋ฒ์ ๋ฐ์ดํฐ ์ ์ก์ ๊ณ ๋ ค
- R: ๋๋ค๊ฐ, \(0 <= R <= 2^K-1\)
- K: ์ ์ก ์คํจ ํ์
- Kmax: ๋ณดํต 15
- Tfr: ํ๊ท frame ์ ์ก ์๊ฐ
- Backoff time - TB: ์ฌ์ ์ก ๋๊ธฐ ์๊ฐ
- \[T_B = R \times {T_p}\]
- \[T_B = R \times {T_{fr}}\]
-> Tp์ด๋ Tfr์ ๊ฐ์ ๊ฐ์ผ๊น?
์ ํ ์๊ฐ Tp: ๋คํธ์ํฌ์์ ์ ํธ๊ฐ ๋ฌผ๋ฆฌ์ ๋งค์ฒด๋ฅผ ํตํด ์ ํ๋๋ ์๊ฐ์ด๋ค. ๊ฑฐ๋ฆฌ์ ์ ํ ์๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
ํ๋ ์ ์ ์ก ์๊ฐ Tfr: ํ๋์ ํ๋ ์์ ์ ์กํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด๋ค. ํ๋ ์ ํฌ๊ธฐ์ ์ ์ก ์๋์ ์ํด ๊ฒฐ์ ๋๋ค.
๋ฐ๋ผ์, Tp โ Tfr
1.1.2. ๋ฌธ์ ์
2๊ฐ ์ด์์ ๋ ธ๋์์ ๋ณด๋ธ ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ํ์ ๋, ์ด ๋ชจ๋ ๋ ธ๋๋ค์ด timeout ์๊ฐ ํ์ ์ฌ์ ์ก์ ํ๊ฒ ๋๋ฉด ๋ ๋ค์ frame์ด ์ถฉ๋ํ๊ฒ ๋๋ค.
1.1.3. ํด๊ฒฐ๋ฐฉ๋ฒ
- timeout ์๊ฐ์ด ์ง๋ ํ์, ๊ฐ ๋ ธ๋๋ค์ ์ฌ์ ์ก์ ํ๊ธฐ ์ ์ ๋๋คํ ์๊ฐ(random backoff time, Tb)์ ๊ธฐ๋ค๋ฆฐ๋ค.
- ์ฌ์ ์ก์ผ๋ก ์ธํ ์ฑ๋์ congesting์ ๋ง๊ธฐ ์ํด, ์ฌ์ ์ก ์ต๋ ์๋ ํ์ Kmax์ ์๋ํ ํ, ๋ ธ๋๋ค์ ์ ์ก์ ํฌ๊ธฐํ๊ณ ๋์ค์ ๋ค์ ์๋ํ๋ค.
1.1.4. Vulnerable time
Vulnerable time: ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ํฐ ๊ธฐ๊ฐ
Pure ALOHA์ vulnerable time: \(2 \times {T_{fr}}\)
1.1.5. Throughput
\[S = G \times {e^{-2G}} \\ S_{max} = 0.184 \; when \; G = 1/2\]- S: throughput, ์ฑ๊ณต์ ์ธ ์ ์ก๋ฅ
- G: average number of frames generated by the system during one frame transmission time, Tfr ์๊ฐ๋์ ๊ทธ ์์คํ ์์์ ์์ฑ๋๋ frame์ ๊ฐ์ ํธ๋ํฝ ๊ฐ๋(Traffic Intensity), ์ด๋น ํ๊ท ์ ์ก ์๋ ํ์
1.2. Slotted ALOHA (์ฌ๋กฏํ ALOHA):
์ ์ก์ ์๊ฐ ์ฌ๋กฏ์ ๋ง์ถฐ ์๋ํ๋ค. ๊ฐ ์ฅ์น๋ ์ ํด์ง ์ฌ๋กฏ์ ์ ์ก์ ์๋ํ๊ณ , ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋๋คํ ์ฌ๋กฏ ํ์ ์ฌ์ ์ก์ ์๋ํ๋ค.
1.2.1. Vulnerable time
Slotted ALOHA vulnerable time: \({T_{fr}}\)
1.2.2. Throughput
\[S = G \times {e^{-2G}} \\ S_{max} = 0.368 \; when \; G = 1\]2. CSMA (Carrier Sense Multiple Access)
CSMA: ์ฑ๋ ๊ฐ์ง ๋ค์ค ์ ์ ๋ฐฉ์์ด๋ค. ์ก์ ์ ๋งค์ฒด๋ฅผ ๋จผ์ ๊ฐ์ง(carrier sense)ํ๊ณ , ๋น์ด ์์ผ๋ฉด ์ ์ก, ์ฌ์ฉ ์ค์ด๋ฉด ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด๋ค.
๋์ ํ๋ฆ
- Station์ ์ ์กํ๋ ค๋ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ๋ฉด,
- ๋งค์ฒด๊ฐ ์ฌ์ฉ ์ค์ธ์ง ๋จผ์ ๊ฐ์งํ๋ค (Carrier Sense).
- ๋งค์ฒด๊ฐ idle(๋น์ด ์์ผ๋ฉด) ์ฆ์ or ์ผ์ ๊ท์น์ ๋ฐ๋ผ ์ ์กํ๋ค.
- ๋งค์ฒด๊ฐ busy(์ฌ์ฉ ์ค)์ด๋ฉด ๋๊ธฐํ๊ฑฐ๋ ์ฌ์๋ํ๋ค.
Vulnerable time: propagation time \(T_p\)
Persistence Methods
์ฑ๋์ด busyํ ๋ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ?
- 1-Persistent
- Nonpersistent
- p-Persistent
์ ํ | ๋์ ๋ฐฉ์ | ํน์ง | ์ถฉ๋ ๊ฐ๋ฅ์ฑ |
---|---|---|---|
1-persistent CSMA | ๋งค์ฒด๊ฐ ๋น๋ฉด ์ฆ์ ์ ์ก | ๊ฐ์ฅ ๋จ์ํ์ง๋ง ์ถฉ๋ ์ํ โ | ๋์ |
non-persistent CSMA | ๋งค์ฒด๊ฐ ์ฌ์ฉ ์ค์ด๋ฉด ๋๋ค ์๊ฐ ๋๊ธฐ ํ ์ฌ์๋ | ํผ์ก ํํผ ํจ๊ณผ ์์ | ์ค๊ฐ |
p-persistent CSMA (์ฌ๋กฏ ๊ธฐ๋ฐ) | ๋งค์ฒด๊ฐ ๋น๋ฉด ํ๋ฅ p๋ก ์ ์ก, (1-p)๋ฉด ๋๊ธฐ | ์ฃผ๋ก ์ฌ๋กฏ ๊ธฐ๋ฐ ๋คํธ์ํฌ์์ ์ฌ์ฉ | ๋ฎ์ |
1-Persistent
- idleํ ๋, (ํ๋ฅ 1๋ก) ๋ฐ๋ก ๋ณด๋ธ๋ค
Nonpersistent
- ์ ์กํ๋ ค๋ ์ฅ์น๊ฐ ๋จผ์ ์ฑ๋์ ๊ฐ์งํ๋ค.
- idleํ๋ฉด, ์ฆ์ ์ ์กํ๋ค.
- busyํ๋ฉด, ๋๋คํ ์๊ฐ๋งํผ ๊ธฐ๋ค๋ฆฐ ๋ค ๋ค์ ๊ฐ์ง๋ฅผ ๋ฐ๋ณตํ๋ค.
- ์ฆ์ ์ฌ์๋ํ์ง ์๋๋ค(non-persistent)
- ํผ์ก์ด ์ํ๋ ๋๊น์ง ๋ฌด์์ ๋๊ธฐํ๋ค
p-Persistent
- ์คํ ์ด์ ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๊ณ ํ ๋, ๋จผ์ ๋งค์ฒด๊ฐ ๋น์ด ์๋์ง ๊ฐ์งํ๋ค.
- idleํ ๋,
- ํ๋ฅ p๋ก ์ ์กํ๋ค
- ํ๋ฅ (1 โ p)๋ก ์ ์ก์ ์ฌ๋กฏ ์๊ฐ๋งํผ ์ง์ฐํ๊ณ ๋ค์ 1๋ฒ ๋จ๊ณ๋ก ๋์๊ฐ๋ค
- busyํ ๋, ์ฑ๋์ด ๋น์ด์ง ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค
p๊ฐ์ด ์์์๋ก ๋ ๊ธฐ๋ค๋ฆฌ๊ณ , ์ฆ๊ฐํ ์๋ก ์ฆ์ ์ ์กํ๊ฒ ๋๋ค
Throughput
- 1-Persistent: G=1์ผ ๋, ์ฝ 50%
- Nonpersistent: 3 < G < 8์ผ ๋, ์ฝ 90% G: average number of frames generated by the system during one frame tranmission time
3. CSMA/CD (CSMA with Collision Detection)
CSMA/CD๋ ์ ์ ์ด๋๋ท(Ethernet)์์ ์ฌ์ฉ๋๋ ์ถฉ๋ ๊ฐ์งํ ๋งค์ฒด ์ ๊ทผ ์ ์ด(MAC) ๋ฐฉ์์ด๋ค. CSMA + ์ถฉ๋ ๊ฐ์ง(Collision Detection) ๋ฉ์ปค๋์ฆ
๋์ ์๋ฆฌ (์ ์ก ์ ์ฐจ)
- ๋งค์ฒด ๊ฐ์ง: ์ ์ก ์ ์ฑ๋์ด ๋น์ด ์๋์ง ํ์ธ (Carrier Sense)
- ์ ์ก ์๋: ์ฑ๋์ด idle์ด๋ฉด ๋ฐ์ดํฐ ์ ์ก ์์
- ์ ์ก ์ค ๊ฐ์ง: ์ ์ก ์ค ์ถฉ๋ ๋ฐ์ ์ฌ๋ถ๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ฐ์ง
- ์ถฉ๋ ๊ฐ์ง: ์ ์ ๋ณํ ๋ฑ์ ํตํด ์ถฉ๋์ด ๋ฐ์ํ์์ ํ๋จํ๋ค. normal ์ํ์ ์๋์ง ๋ ๋ฒจ์ 2๋ฐฐ๊ฐ ๋๋ค.
- ์ถฉ๋ ํ ์ฒ๋ฆฌ:
- ์ฆ์ ์ ์ก ์ค๋จ
- Jam Signal์ ๋คํธ์ํฌ์ ์ ์กํ์ฌ ๋ค๋ฅธ ์ฅ์น๋ค์ ์ถฉ๋์ ์๋ฆฐ๋ค
- ์ฌ์ ์ก์ ์ํ backoff ์๊ฐ์ ๋๋คํ๊ฒ ์ค์ (Binary Exponential Backoff)
์ถฉ๋ ์กฐ๊ฑด ๋ฐ ์ต์ ํ๋ ์ ํฌ๊ธฐ
- ์ถฉ๋์ ์ ํ ์ง์ฐ ์๊ฐ ๋ด์ ๋ฐ์
- ์ด๋ฅผ ๊ณ ๋ คํด, ์ถฉ๋์ ๊ฐ์งํ ์ ์๋๋ก ์ต์ ํ๋ ์ ํฌ๊ธฐ๊ฐ ์กด์ฌ
- ์ต์ ํ๋ ์ ํฌ๊ธฐ ์กฐ๊ฑด:
- Tfr: ์ต์ ํ๋ ์ ์ ์ก ์๊ฐ
- Tp: ์ ํ ์ง์ฐ ์๊ฐ
4. CSMA/CA(CSMA with Collision Avoidance)
CSMA/CA: ์ถฉ๋ ํํผ๋ฅผ ์ํ ํ๋กํ ์ฝ๋ก, ์ฃผ๋ก ๋ฌด์ LAN์์ ์ฌ์ฉ๋๋ค. ์ถฉ๋ ๋ฐ์ ์ ์๋ฐฉ์ ๋ชฉํ๋ก ํ๋ค.
์ธ ๊ฐ์ง ์ ๋ต
- Interframe Space(IFS)
- Contention Window
- Acknowledgements
์๋ ์๋ฆฌ:
RTS/CTS (Request to Send / Clear to Send)๋ฅผ ์ฌ์ฉํ์ฌ ์ถฉ๋์ ๋ฏธ๋ฆฌ ๋ฐฉ์งํฉ๋๋ค.
IFS (Interframe Space)์ Contention Window ๋ฑ์ ์ฌ์ฉํ์ฌ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์ค์ด๊ณ ๋คํธ์ํฌ์ ํผ์ก์ ํผํฉ๋๋ค.
์ฅ์ :
- ๋จ์์ฑ: ๊ตฌํ์ด ๊ฐ๋จํ๊ณ , ๋ณ๋์ ๋๊ธฐํ๋ ์๊ฐ ๋ถํ ์์ด ์์ ๋กญ๊ฒ ์ ์กํ ์ ์์ต๋๋ค.
- ์์ ํจ์จ์ฑ: ์ฌ์ฉ ๊ฐ๋ฅํ ๋์ญํญ์ ๋์ ์ผ๋ก ๊ณต์ ํ ์ ์์ด, ์ฌ์ฉ์ ์๊ฐ ์ ์ ๋ ํจ์จ์ ์ ๋๋ค.
- ์ ์ฐ์ฑ: ๋คํธ์ํฌ์ ์๋ก์ด ์ฅ์น๊ฐ ์ถ๊ฐ๋ ๋, ๋์ ์ผ๋ก ๋งค์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋จ์ :
- ์ถฉ๋ ๋ฐ์: ์ถฉ๋์ด ์์ฃผ ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ฌ์ ์ก์ ํด์ผ ํ๋ฏ๋ก ์ ์ก ํจ์จ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
- ์ค์ผ์ผ ๋ฌธ์ : ์ฌ์ฉ์ ์๊ฐ ๋ง์์๋ก ์ถฉ๋ ํ๋ฅ ์ด ๋์์ ธ, ๋คํธ์ํฌ๊ฐ ๋นํจ์จ์ ์ผ๋ก ๋ณํ ์ ์์ต๋๋ค.
- ์ฑ๋ฅ ์ ํ: ๋คํธ์ํฌ ํธ๋ํฝ์ด ๋ง์์ง๋ฉด, Throughput์ด ๊ธ๊ฒฉํ ๊ฐ์ํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
- Contention Method ๊ฒฝ์ ๋ฐฉ์ - ์ ๋ณดํต์ ๊ธฐ์ ์ฉ์ดํด์ค
- [๋ฐ์ดํฐํต์ ] ALOHA
- ๊ธฐ์ด์ปดํจํฐ๋คํธ์ํฌ 25 (Medium Access Control, Random Access Protocols, ALOHA, CSMA)
- CSMA/CA
- Data Communications and Networking with TCP/IP Protocol Suite, Sixth Edition - Behrouz A, Forouzan