🔹 LAN
**LAN (Local Area Network, 근거리 통신망)**은 상대적으로 제한된 지역에서 하나의 관리자가 소유하고 운영하는 네트워크를 의미합니다.
최근에는 인터넷 사용량 증가로 인해, 하나의 LAN이 **여러 개의 라우터(router)**를 포함한 **다수의 서브 네트워크(sub-network)**로 구성되는 경우가 많습니다.
하지만 이 장(11장)에서는, **송신지(source station)**와 **수신지(destination station)**가 같은 서브네트워크에 연결되어 있으며, 라우터(L3-router) 없이 물리 계층(L1)의 장비인 tap, hub, repeater, 또는 데이터 링크 계층(L2)의 장비인 bridge, L2-switch만으로 통신이 이루어지는 경우를 가정합니다.
🔹 Types of communication, i.e., types of addresses
Unicast / Multicast / Broadcast / Anycast
→ 네트워크에서 통신은 다음과 같은 주소 방식에 따라 나뉩니다:
- Unicast (유니캐스트): 하나의 수신자에게만 전송
- Multicast (멀티캐스트): 특정 그룹에 속한 여러 수신자에게 전송
- Broadcast (브로드캐스트): 동일 네트워크 내 모든 노드에게 전송
- Anycast (애니캐스트): 다수의 수신 후보 중, 가장 가까운 노드에게 전송
🔹 What are concerns in LAN?
→ 주소 지정(Addressing): 누가 누구에게 데이터를 보낼 것인가?
→ 매체 접근 제어(Media Access Control): 여러 사용자가 동시에 전송을 시도할 때, 접근을 어떻게 조정할 것인가? **충돌(collision)**은 어떻게 해결할 것인가?
→ 한 사용자가 너무 긴 메시지를 한 번에 보낸다면 어떻게 해야 할까? → 메시지를 **여러 개의 작은 프레임(frame)**으로 나눠 전송함
🔹 Types of Wired LAN topology
→ **버스(선형) 토폴로지(Bus topology)**는 **단일 케이블(single cable)**을 여러 장치가 공유하는 구조이며, 일반적으로 half-duplex (반이중) 통신을 사용합니다. 무선 LAN은 이 버스 구조와 유사한 논리를 따릅니다.
Ring topology
→ **링형 토폴로지(Ring topology)**는 장치들이 고리 형태로 연결되어, 데이터가 한 방향(혹은 양방향)으로 순차적으로 전달됩니다.
Tree topology
→ **트리형 토폴로지(Tree topology)**는 계층적 구조로, 여러 분기(branch)가 존재하며 버스와 스타의 혼합형 구조입니다.
Star topology
→ **스타형 토폴로지(Star topology)**는 **중앙 노드(hub/switch)**를 중심으로 모든 장치가 독립적으로 연결되어 있습니다.
🔹 What are key functions of LLC and MAC respectively?
→ LLC (Logical Link Control) 서브 계층은 상위 계층을 고려해 설계되었으며, payload(데이터)에 담긴 정보가 어떤 상위계층 프로토콜(예: IP, BPDU, IPX 등)에 속하는지를 구분하기 위해 **DSAP (Destination Service Access Point)**를 사용합니다.
→ 이를 통해 Demultiplexing(복수 프로토콜 식별 및 분기) 기능을 수행하며, 선택적으로 흐름 제어(flow control) 및 오류 제어(error control) 기능도 지원합니다. 이 알고리즘은 **HDLC(High-level Data Link Control)**와 유사합니다.
→ MAC (Media Access Control) 서브 계층은 하위 계층(물리 계층)을 고려한 설계로, 다음과 같은 기능을 수행합니다:
- 전송할 데이터를 담은 **프레임(frame)**을 생성
- 수신된 frame에서 목적지 MAC 주소 확인
- **CRC (Cyclic Redundancy Check)**를 통해 오류 검출(error detection) 수행
- 매체 접근 제어(media access control) 알고리즘 (예: CSMA/CD 등) 구현
🔹 What are differences between HDLC and IEEE 802.3?
→ **HDLC(High-level Data Link Control)**는 8비트 주소 필드 하나만을 가집니다.
→ HDLC는 **중앙 노드(primary)**가 통신을 제어하고, **각 단말(station, secondary)**이 이에 종속되어 통신하는 구조였습니다. 따라서 주소 필드는 수신자만을 나타내는 1개만 존재하고, 송신자와 수신자를 모두 표현할 수 없기 때문에, 여러 사용자가 중앙 장비 없이 서로 통신하는 LAN 구조에서는 부적절합니다.
→ 또한 HDLC는 MAC 계층에서 다중 접근 제어(multiple access control) 알고리즘을 제공하지 않습니다.
🔹 LLC가 제공하는 3가지 서비스 모드는 다음과 같습니다. 각각의 서비스는 다양한 응용 분야에 적합합니다.
- Unacknowledged connectionless-mode (비연결, 무확인 모드)
→ 연결 없이 데이터 전송, 확인 응답 없음. 가장 빠르지만 신뢰성은 낮음 - Connection-mode (연결 모드)
→ 데이터 전송 전에 연결을 설정하고, 흐름 제어 및 오류 제어 포함. 신뢰성 높음 - Acknowledged connectionless-mode (비연결, 확인 모드)
→ 연결은 설정하지 않지만 수신 확인(Acknowledgement)은 수행. 유연성과 신뢰성의 균형
🔹 **MAC 알고리즘의 설계 파라미터(Design Parameters)**는 다음과 같습니다:
- Centralized (중앙 집중형) vs Distributed (분산형)
- Synchronous (동기식): 예) FDMA (Frequency Division Multiple Access), TDMA (Time Division Multiple Access)
- Asynchronous (비동기식): 예) CSMA (Carrier Sense Multiple Access), CDMA (Code Division Multiple Access), OFDMA (Orthogonal Frequency Division Multiple Access)
🔹 Bridge (브리지)
→ **브리지(Bridge)**의 목적은 물리 계층(Physical layer) 수준에서 **충돌 도메인(collision domain)**을 분리함으로써 LAN을 확장하고, 처리량(throughput)을 증가, **종단 간 지연(end-to-end latency)**을 줄이는 것입니다.
→ 여러 개의 LAN 세그먼트를 브리지로 연결할 경우, 다음과 같은 추가적인 장점이 있습니다:
- 신뢰성(Reliability) 향상: 장애를 국소화하여 전체 네트워크의 안정성 증가
- 보안(Security) 강화: 서로 다른 세그먼트 간 접근을 제어 가능
- 지리적 확장성(Geography) 제공: 물리적으로 떨어진 지역의 네트워크 연결 가능
→ 브리지는 동일한 MAC 프로토콜뿐만 아니라 서로 다른 MAC 프로토콜을 사용하는 LAN들 사이도 연결할 수 있습니다.
→ 브리지에는 LLC(Logical Link Control) 서브 계층이 존재하지 않습니다. ❌
→ MAC 계층까지만 처리하며, 상위 계층의 프로토콜은 처리하지 않음.
🔹 What are the advantages or disadvantages of fixed/dynamic routing?
→ 고정 라우팅(Fixed routing):
- 장점: 설정이 간단하고 예측 가능
- 단점: 네트워크 환경이 바뀌면 유연하게 대처하기 어렵고 유지 보수가 어려움
→ 동적 라우팅(Dynamic routing):
- 장점: 네트워크 구조 변화에 적응 가능
- 단점: 초기 학습 시간이 필요하며 구현 복잡성 ↑
🔹 Forwarding table (전달 테이블)
→ **포워딩 테이블(Forwarding Table)**은 다음과 같은 방식으로 동작합니다:
- 새로운 entry를 만들 때: 프레임의 송신자(source)의 MAC 주소를 저장
- 테이블을 검색할 때: 프레임의 수신자(destination)의 MAC 주소를 key로 사용
→ IEEE 802.1D MAC 브리지 프로토콜의 포워딩 테이블은 다음과 같은 항목들을 포함합니다:
<MAC 주소, 출력 포트, 상태, 타이머>
→ 프레임 F가 포트 X로 도착하면, 브리지는 포워딩 테이블에서 프레임 F의 목적지 MAC 주소와 일치하는 엔트리 E를 탐색합니다.
→ 탐색된 entry E의 포트 Y가 포트 X와 다르고, Y가 차단되지 않은 경우 → 프레임 F는 **전달(forwarding)**됩니다.
→ 프레임 F는 다음과 같은 경우 **차단(filtering)**됩니다:
- entry E의 포트가 현재 입력 포트 X와 같을 경우
- 해당 entry의 포트 상태가 차단(blocking) 상태일 경우
(연습문제에 추가설명)
→ 일치하는 entry를 찾을 수 없는 경우, 즉 아직 MAC 주소 학습(Address learning)이 이루어지지 않았을 수 있으므로, 프레임 F는 **네트워크 전체에 플러딩(flooding)**됩니다.
→ 브리지 기반 LAN에서 **루프(loop)**가 존재하면 다음 두 가지 문제가 발생할 수 있습니다:
Broadcast storm
→ 브로드캐스트 스톰: 브로드캐스트 MAC 주소 (0xFFFFFFFFFFFF)를 가진 프레임이 무한 반복 전달되면서 네트워크가 마비됨
MAC address flapping
→ MAC 주소 플래핑: 같은 MAC 주소가 여러 포트를 통해 반복적으로 학습되며, 포워딩 테이블이 계속 변경됨
→ 이로 인해 무한한 플러딩(flooding) 또는 **비정상적인 필터링(filtering)**이 발생함
→ 따라서 브리지 기반 LAN의 루프를 제거하기 위해, **스패닝 트리 알고리즘(Spanning Tree Algorithm)**이 필요합니다.
🔹 IEEE 802.1D Spanning Tree Protocol (STP)
→ IEEE 802.1D MAC 브리지는 루프 없이 LAN 세그먼트를 연결하는 **최소 스패닝 트리(Minimum Spanning Tree, MST)**를 형성하려 합니다.
→ 각 브리지는 고유한 Bridge ID와 **포트별 비용(cost)**을 설정합니다.
→ 전체 네트워크에서 **루트 브리지(Root Bridge)**를 선출합니다.
→ 각 브리지는 루트 브리지까지 도달하는 비용이 가장 낮은 포트를 **루트 포트(Root Port)**로 지정합니다.
→ 각 LAN 세그먼트에는, 루트 브리지로부터 가장 가까운 포트를 **지정 포트(Designated Port)**로 지정합니다.
→ 루트 포트도 아니고 지정 포트도 아닌 포트는 **차단 상태(blocking)**로 설정하여 사용하지 않습니다.
→ 하지만 추후 토폴로지 변경 시 사용될 수 있으므로 완전히 제거되지는 않습니다.
→ 이 모든 과정은 브리지들이 **BPDU (Bridge Protocol Data Unit)**를 주고받으며, **분산 알고리즘(distributed algorithm)**으로 자율적으로 진행됩니다.
🔹 Hub, Bridge, L2-Switch의 차이점
→ **허브(Hub)**와는 달리, **브리지(Bridge)**와 **L2 스위치(Layer 2 Switch)**는 **버퍼(buffer)**를 활용하여 서로 다른 MAC 프로토콜이나 **전송 속도(data rate)**를 사용하는 노드들도 연결할 수 있습니다.
→ **허브에 연결된 모든 station(단말)**은 **동일한 충돌 도메인(collision domain)**에 속합니다. 따라서 동시에 여러 station이 전송을 시도하면 충돌이 발생하기 쉬워 네트워크 성능이 저하됩니다.
→ 반면, 브리지와 L2 스위치는 충돌 도메인을 분리함으로써, 충돌을 줄이고 처리량(throughput)을 향상시킵니다.
→ 브리지와 L2 스위치는 허브보다 훨씬 더 지능적이며, 포트별로 도달한 MAC 주소를 학습하고 이를 바탕으로 프레임을 특정 포트로만 전달할 수 있습니다.
→ 또한, 네트워크에 루프가 형성될 경우 **스패닝 트리(Spanning Tree)**를 계산해 루프를 해결할 수 있습니다.
→ 브리지와 달리, L2 스위치는 여러 개의 프레임을 동시에 전달할 수 있고, **각 포트에서 선로 속도(wire speed)**로 작동할 수 있어 고속 LAN 구현에 적합합니다.
→ 브리지는 한 번에 하나의 프레임만을 저장-전달(store-and-forward) 방식으로 처리하고, 일반적으로 2개 포트만 사용하는 장비라서, 하드웨어 성능 면에서 L2 스위치보다 떨어집니다.
→ L2 스위치는 브리지의 기능을 포함하면서, **다수의 포트(multi-ports)**를 가진 스타 토폴로지(star topology) 형태로 장치들을 연결하고, cut-through 전송 방식을 사용하여 고속 전송을 지원하는 고성능 장비입니다.
→ 허브에 연결된 모든 장치는 하나의 충돌 도메인에 속하므로, **동시에 두 장치가 송신(TX)**을 시도하면 충돌이 발생합니다.
→ 따라서, 허브에 연결된 모든 장치가 하나의 충돌 도메인에 있고, 이 때문에 충돌을 방지하기 위한 MAC 프로토콜이 반드시 필요합니다.
→ L2 스위치는 버퍼를 사용해 여러 프레임을 동시에 포트 간 스위칭할 수 있으므로 포트 간 충돌은 없지만, 연결된 station이 Half-duplex NIC를 사용하고 있다면, 해당 포트도 Half-duplex로 동작하게 되고, 이 스위치 포트와 station 간 구간이 하나의 충돌 도메인이 됩니다.즉, 스위치와 station 사이에 동시 TX 가 일어날 수 없어 둘 사이에 MAC 프로토콜이 필요하다.
→ 따라서 이 경우에도 MAC 프로토콜이 필요합니다.
→ 만약 station의 NIC 카드가 full-duplex이고 스위치 포트도 full-duplex 모드로 동작한다면, **동시에 송수신(TX와 RX)**이 가능해집니다.
→ 이렇게 되면, point-to-point 링크 상에서 충돌이 발생하지 않기 때문에 MAC 프로토콜도 불필요해집니다. (자세한 설명은 12장에서 계속됨)
→ **L2 스위치는 브리지보다 더 많은 포트(interface)**를 가지고 있습니다.
만일 모두 half duplex NIC 카드를 사용하는 station들이 L2-SW에 연결되어있다면, max. throughput은 (스위칭 보드의 성능이 뒷받침된다는 가정하에) Source station과 destination station이 중복되지 않게 짝지어 (pair-wise하게) 통신하는 경우 (가령 10Mbps port 6개면, max. throughput은 30Mbps)에 해당한다.
Full-duplex mode로 동작하는 L2-SW와 연결된 station이 모두 full-duplex adapter (NIC)를 사용한다면 (스위칭 보드의 성능이 뒷받침된다는 가정하에) 각 station이 TX와 RX를 동시에 할 수 있게되므로, max. throughput은 (모든 링크가 동일한 속도라고 가정할 때) [ link speed X port_개수 ] 로 증대한다.
🔹 Cut-through vs Store-and-forward Switch
What are differences between a cut-through switch and a store-and-forward switch?
→ Store-and-forward 스위치는 프레임 전체를 수신한 후 오류를 확인한 뒤 전송합니다.
→ 반면 cut-through 스위치는 목적지 MAC 주소만 읽고 바로 다음 포트로 전송을 시작합니다.
→ 결과적으로 cut-through 방식이 지연(latency)은 더 적지만, 오류에 민감합니다.
'CS > 정보통신공학' 카테고리의 다른 글
[정보통신공학] 연습문제 ch09 (0) | 2025.06.04 |
---|---|
[정보통신공학] CH12 교수님 요약 정리 (0) | 2025.05.31 |
[정보통신공학] CH10 교수님 요약 정리 (2) | 2025.05.20 |
[정보통신공학] CH09 교수님 요약 정리 (0) | 2025.05.10 |
[정보통신공학] 중간고사 연습문제 (0) | 2025.04.16 |