📘Ethernet과 MAC 계층
🧠 서론
12장은 대부분의 유선 LAN에서 사용되고 있는 Ethernet 기술을 공부합니다.
→ 이 장에서는 현재 대부분의 유선 LAN(Local Area Network)에서 사용되는 Ethernet 기술을 학습합니다.
Ethernet은 IEEE 802.3 CSMA/CD 기반으로 medium access control(MAC)을 합니다.
→ **이더넷(Ethernet)**은 IEEE 802.3 표준에 기반하며, CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 방식으로 **매체 접근 제어(MAC: Medium Access Control)**를 수행합니다.
12장 초반에서 소개되는 세 가지 Random access MAC 알고리즘들을 분석하는 재미도 느껴보기 바랍니다.
→ 12장 초반에는 세 가지 무작위 접근(Random access, 혹은 contention-based) MAC 알고리즘이 소개되며, 이들의 차이점을 비교 분석하는 데서 재미를 느껴보길 바랍니다.
Good luck ;)
🎯 Goal of MAC
MAC 계층의 목표:
→ **충돌(Collision)**을 줄임으로써 **처리량(Throughput, 링크 효율)**을 높이고, **지연(Latency)**을 줄이는 것
💡 Random Access (Contention-based) MAC
🔹 (Pure / Slotted) ALOHA
- Carrier sensing 없음 (no carrier sensing)
- 충돌 감지 없음 (no collision detection)
- **MAC 계층의 ACK 프레임(Acknowledgment Frame)**을 통해 충돌 발생 여부를 판단 및 해결
- Back-off time (재전송 대기 시간): 무작위(Random)
🔹 (Non-, 1-, p-) Persistent CSMA
- Carrier sensing 있음, 충돌 감지는 없음
- 충돌 발생 시, MAC 계층에서 ACK frame으로 확인
- Back-off time:
- Non-persistent: 무작위(Random)
- 1-persistent: 대기 없음 (즉시 재시도)
- p-persistent: 일정 확률 p로 전송, 실패 시 한 단위 시간(=T_prop)만큼 대기
🔹 CSMA/CD
- 물리 계층(Layer 1) 수준에서 carrier sensing을 통해 충돌 감지 가능
- MAC 계층에서는 ACK 프레임을 사용하지 않음
(단, LLC type 2에서는 ACK를 사용 가능) - Binary Exponential Backoff (이진 지수 백오프) 알고리즘 적용:Back-off time=Random∈[0,2k−1]\text{Back-off time} = \text{Random} \in [0, 2^k - 1]여기서 k는 전송 실패(충돌) 횟수
🆚 Pure ALOHA vs. Slotted ALOHA
🔹 How does pure ALOHA differ from slotted ALOHA?
- Pure ALOHA: 각 station은 아무 시간대에 전송(TX)을 시작
- Slotted ALOHA: 시간을 slot 단위로 나누고, 각 station은 slot 시작 시점에만 전송 (시간 동기화 필요)
공통점:
→ 송신자는 수신자가 보내는 ACK frame을 통해 충돌 여부를 판단하고, 충돌이 발생하면 무작위 시간(random amount of time) 대기 후 재전송
🔹 Why is the vulnerable time of slotted ALOHA reduced to half?
- Pure ALOHA:
- (다른 TX 중 내가 TX 시작) → 충돌
- (내가 TX 중 다른 TX 시작) → 충돌
→ 즉, frame의 양쪽에서 충돌 위험 존재
- Slotted ALOHA:
- station들은 동일한 slot 내에서만 TX 시도
- slot 시작 시점에만 TX하므로, 진행 중인 다른 TX에 영향 없음
→ 결과적으로, **충돌이 발생할 수 있는 시간(vulnerable time)**이 절반으로 줄어듦
🔹 Utilization (U): 링크 효율
🟩 Pure ALOHA
- U=G⋅e−2GU = G \cdot e^{-2G}
- 예: G = 0.5일 때, U = 0.18
→ 네트워크에서 단위시간당 평균 0.5개의 frame을 전송하면, 링크의 최대 18%만 사용 가능
🟦 Slotted ALOHA
- U=G⋅e−GU = G \cdot e^{-G}
- 예: G = 1일 때, U = 0.37
→ 네트워크에서 단위시간당 1개의 frame 전송 시, 링크의 최대 37% 사용 가능
📌 G (Network Load)
→ 단위시간(frame time) 동안 collision domain 내 station들의 평균 전송 시도 횟수 (Poisson 분포 가정)
✅ 결론 정리
Slotted ALOHA는 vulnerable time을 절반으로 줄임으로써, 충돌 없이 전송 성공할 확률을 증가시킴
→ 결과적으로 **Pure ALOHA보다 약 2배 높은 링크 효율(throughput)**을 달성 가능
❓ What is a cost of the slotted ALOHA to reduce collision?
Slotted ALOHA의 단점:
→ Collision domain 내 모든 station이 시간 동기화를 유지해야 하므로, **동기화(clock sync)**를 위한 추가 기술적 구현이 필요
📘 CSMA, CSMA/CD, BEB, MAC 주소 구조
🔹 What are pros/cons of nonpersistent and 1-persistent CSMA respectively?
→ Non-persistent CSMA
- 단점: **네트워크 부하가 낮은 상황(low-load)**에서는 station이 채널이 idle일 때 기다렸다가 재시도하므로, **불필요한 idle time(유휴 시간)**이 생기고, 그로 인해 링크 효율 저하 및 불필요한 지연 증가
→ 1-persistent CSMA
- 장점: idle 상태를 발견하자마자 즉시 전송하므로, low-load 환경에서는 빠른 전송 가능 → 효율적
🔹 If we were to choose between two protocols for high-load networks, which would you like to pick?
→ Non-persistent CSMA는 고부하(high-load) 네트워크에서 **1-persistent CSMA보다 더 높은 처리량(throughput)**을 달성할 수 있음
→ 그 이유는 1-persistent 방식은 station들이 동시에 채널을 차지하려 하여 충돌을 증가시키기 때문
🔹 CSMA 작동 특성 요약
CSMA는 전송 전에 carrier sensing(반송파 감지)을 통해 충돌을 회피하려 하고,
전송 후에는 ACK(수신 확인)를 기다려 전송 성공 여부를 판단
→ **Propagation time(전파 지연 시간)**이 짧고, 프레임 크기가 큰 경우, CSMA의 효율이 더욱 좋아짐
📘 CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
CSMA/CD는 1-persistent CSMA + BEB(Binary Exponential Backoff) 방식
🔹 Why CSMA/CD requires (transmission time ≥ 2 × end-to-end propagation time)?
→ 전송 도중 충돌이 발생했는지를 감지해야만 하므로,
→ **충돌 감지 시간(slot time)**은 **왕복 전파 지연 시간(2 × propagation time)**보다 작으면 안 됨
→ CSMA/CD는 전송 시작 전에 carrier sensing을 수행하고, 전송 중에도 감지를 지속
→ 충돌 감지를 위해, 프레임 전송 시간 ≥ slot time = 2 × propagation time
🔹 If a frame is too small...
→ 프레임이 너무 작아서 전송 시간이 짧으면 충돌 감지 전에 전송이 끝나버림
→ 이 경우 CSMA/CD는 충돌을 감지하지 못하고 ACK도 사용하지 않기 때문에, 일반 CSMA보다 오히려 성능이 더 나쁠 수 있음
🔹 Slot time의 의미
A와 D가 양 끝에 있는 버스 링크 상에서, A가 보낸 신호가 D에 도달하고 충돌이 발생해 D가 jamming signal을 보낸 다음, A가 그 신호를 수신하기까지 걸리는 시간
→ 즉, 충돌을 제대로 감지하기 위한 최소 시간 = slot time
= 한쪽 끝에서 충돌 발생 후 jamming signal이 반대편 끝에 도달할 때까지의 시간
✅ CSMA/CD의 작동 조건
- 전송 시간 T_trans ≥ slot time
- 왕복 전파 지연 시간 ≤ slot time
(즉, 2 × end-to-end propagation time ≤ slot time)
🔹 예시 계산: 10Mbps Ethernet
- IEEE 802.3 기준, slot time = 51.2 microseconds
- 최소 MAC 프레임 크기 =51.2×10−6×10×106=512 bits=64 bytes51.2 × 10^{-6} × 10 × 10^6 = 512 \text{ bits} = 64 \text{ bytes}
→ CSMA/CD가 제대로 동작하려면 최소 64 byte의 프레임이 필요
🔹 전송 거리 조건 예시
프레임 길이 L = 1500 byte, 링크 속도 R = 100Mbps, 전파 속도 V = 3 × 10⁸ m/s일 때,
- 최대 링크 길이 d ≈ 180,000 m 이하
- 링크 속도가 100Gbps로 올라가면, d ≤ 18m로 훨씬 더 짧아짐
🔹 전송 중 충돌 감지 예시
링크 길이 = 500m, 전파 지연 = 10μs/km
→ A에서 전송 시작 후, D에서 충돌 발생 시
→ A는 1000비트 정도 전송한 시점에 충돌을 감지하고 전송 중단
반면 CSMA는 전체 프레임 전송 후 + 2 × 전파 지연을 기다린 후 ACK 실패를 통해 충돌 유추
📘 Binary Exponential Backoff (BEB)
🔹 How does BEB work?
→ 전송 실패 횟수 k가 증가할수록, 다음 back-off time은 [0, 2^k - 1] 범위 내의 랜덤 값
🔹 Why is BEB efficient?
→ 네트워크가 혼잡할수록(heavier), 더 긴 back-off time을 유도하여,
→ 충돌 확률을 낮추고 CSMA/CD 효율을 높임
🔹 Drawback of BEB
→ 전송 시도를 많이 한 station은 오히려 전송 기회가 더 적어지는 불공정성 발생
→ 즉, 후속으로 진입한 station이 더 높은 전송 확률을 갖게 되어 **TX fairness(전송 공정성)**이 저하됨
📘 MAC 주소 구조
MAC 주소는 총 6 Octets = 48비트로 구성되며,
→ IP 주소처럼 지역 정보를 담고 있는 구조는 아님
→ 단, 첫 번째 Octet의 LSB로 Unicast/Multicast 여부를 판별함
- LSB = 0 → Unicast 주소
- LSB = 1 → Multicast 주소
예: MAC 주소가 0x446A03015C49일 때
→ 첫 octet = 0x44 = 01000100 → LSB = 0 → Unicast
📘 Ethernet의 역사 및 발전 기술
🔹 History of Ethernet
전통적인 공유 이더넷(10Mbps)은 허브(hub)를 사용한 half-duplex 방식으로, 한 번에 하나의 station만 전송할 수 있었기 때문에 CSMA/CD가 필요했습니다.
→ 10Mbps Ethernet은 공유 매체(shared medium) 방식의 네트워크였고, **허브(hub)**를 사용해 half-duplex 모드로 동작했습니다.
→ 이때는 한 번에 하나의 station만 전송 가능했기 때문에 CSMA/CD 방식이 필수였습니다.
최대 1Gbps까지의 Ethernet은 half-duplex NIC와 hub를 사용하여 구현 가능했습니다.
→ 1Gbps 이하에서는 여전히 half-duplex 모드 + 허브를 통해 Ethernet 구현이 가능했으며, 여전히 CSMA/CD가 사용될 수 있었습니다.
🔹 CSMA/CD가 잘 작동하려면 필요한 두 기술
(1) Carrier Extension
→ MAC 프레임이 너무 짧을 경우, 충돌 감지를 위해 무의미한 extension 데이터를 프레임 뒤에 덧붙이는 방식
→ 전송 시간을 늘려 slot time 이상을 확보하여 충돌 감지를 가능하게 함
(2) Frame Bursting
→ 여러 개의 짧은 frame을 연속적으로 전송할 경우, 각각에 extension을 붙이는 대신 여러 frame을 묶어서 burst 전송
→ extension보다 불필요한 정보 전송이 줄고 링크 효율이 더 높음
🔹 High-speed Switched Ethernet
고속 스위치 기반 이더넷은 full-duplex로 동작하며, 한 station이 동시에 TX와 RX가 가능하고, 두 station이 동시에 전송도 가능하므로 CSMA/CD가 필요 없습니다.
→ **고속 Ethernet (예: 1Gbps 이상)**은 **스위치(switch)**를 사용한 full-duplex 방식으로 구현됩니다.
→ 이때는 동시 송수신(TX/RX) 및 다중 station 간 동시 통신이 가능하므로, CSMA/CD는 더 이상 필요하지 않습니다.
단, 이전 표준과의 호환(backward compatibility)을 위해 기존 frame format은 유지합니다.
→ 즉, 프레임 구조는 IEEE 802.3의 형식을 유지하여 과거 장비와의 호환성을 확보합니다.
📘 Multilane Distribution (MLD)
100-Gbps Ethernet에서는 큰 프레임을 66-bit 단위로 나누어, 다중 병렬 채널을 통해 동시에 전송함.
→ 고속 Ethernet에서는 전송 속도를 높이기 위해, 프레임을 **66비트 단위(word)**로 분할하고,
→ **여러 병렬 채널(multiple parallel lanes)**을 사용하여 동시에 전송하는 방식입니다.
📘 Virtual LAN (VLAN)
"일부 station들이 동일한 LAN에 속한다"는 의미는, 이들이 같은 broadcast domain에 있다는 뜻이다.
→ 즉, VLAN이란 **논리적으로 같은 브로드캐스트 도메인(broadcast domain)**에 속한 station들로 구성된 가상의 LAN을 의미함
🔹 Why are there multiple LANs instead of one?
→ 하나의 LAN을 모든 사용자가 공유할 경우,
- 보안 문제 발생
- 트래픽 병목
- 부서 또는 서비스 간의 분리 어려움
→ 이를 해결하기 위해, 여러 개의 VLAN을 구성
🔹 What is a Virtual LAN?
→ **VLAN (Virtual LAN)**은 물리적 위치와 무관하게 논리적으로 구성된 네트워크 그룹
→ 동일한 VLAN에 속한 station들은 같은 브로드캐스트 도메인에 있음
🔹 When and why do we form VLANs?
→ 다음과 같은 경우 VLAN을 구성함:
- 부서/팀 단위로 네트워크를 분리하고자 할 때
- 보안 강화를 위해
- 네트워크 성능 최적화를 위해
🔹 How to configure VLAN membership?
→ VLAN 구성 방법:
- 포트 기반: 특정 switch 포트를 VLAN에 할당
- MAC 기반: MAC 주소로 VLAN 결정
- 프로토콜 기반 등 다양
🔹 통신 방식
서로 다른 VLAN에 속한 station들 간의 통신은 Layer 3 라우팅 기능이 필요하다.
→ 즉, 서로 다른 VLAN은 다른 IP 서브넷에 속하므로, Layer 3 (IP 주소 기반) 라우팅이 필요함
이를 위해 라우터(router) 혹은 Layer-3 switch가 필요하다.
→ Layer-3 switch는 L2 MAC 기반 스위칭과 L3 IP 라우팅을 모두 수행 가능
단, L3 switch는 기존 라우터와 달리 firewall, NAT, tunneling, QoS 등의 edge 기능은 수행하지 않으므로 LAN과 WAN의 경계 장비로는 적합하지 않다.
→ 즉, L3 스위치는 내부 LAN 간 고속 연결용이지, **인터넷 연결용 경계 장비(bordering router)**로는 부적합
'CS > 정보통신공학' 카테고리의 다른 글
[정보통신공학] 연습문제 ch10 (0) | 2025.06.04 |
---|---|
[정보통신공학] 연습문제 ch09 (0) | 2025.06.04 |
[정보통신공학] CH11 교수님 요약 정리 (0) | 2025.05.28 |
[정보통신공학] CH10 교수님 요약 정리 (0) | 2025.05.20 |
[정보통신공학] CH09 교수님 요약 정리 (0) | 2025.05.10 |