본문 바로가기
👩🏻‍💻Computer Science/infra-architecture

제7장 네트워크 장비 이중화, 사이트 이중화

by devhertz 2025. 8. 17.

 

7.7 네트워크 장비 이중화

7.7.1) L2 스위치 이중화

지금까지는 각 서버에 대해 살펴봤고, 이제 서버를 서로 연결하는 장치인 스위치 이중화에 대해 정리하겠다. 먼저, 스위치와 라우터 관련 개념을 복습해보면

[PC1]──┐
       ├─[Switch]───[Router]───🌐(Internet)
[PC2]──┘
  • Switch: PC1과 PC2가 같은 네트워크(예: 192.168.0.x)면 MAC 주소 보고 포워딩.
  • Router: 외부 인터넷 접속 시, 목적지 IP 보고 “어느 쪽으로 보내야 하는지” 판단.
추가개념 설명
L2 Switch 가장 일반적인 스위치. MAC 주소 기반.
L3 Switch 라우팅 기능을 가진 스위치. MAC + IP 둘 다 다룸. 성능과 유연성 ↑
게이트웨이 라우터가 기본 게이트웨이 역할 수행 → “내부에서 외부로 나가는 기본 출구”

그렇다면, 스위치 이중화는 어떤 방식으로 이뤄질까? (그림7.31)

  • 스위치를 서로 캐스케이드해서 패킷이 흐르도록 함.
  • 두 개의 포트를 서로 다른 스위치에 각각 꽂아 스위치 장애에 대비함.
  • 캐스케이드(Cascade) : 스위치와 스위치를 케이블로 직렬 연결해서 포트를 확장하는 방식
    • 목적: 스위치 수직 확장 (포트 확장)
    • 방식: 일반적으로 UTP 또는 광케이블로 포트 간 연결
    • 한계: 너무 깊게 연결하면 병목 발생 -> 스패닝 트리(STP) 등으로 루프 방지 필요

어떤 원리로 구현이 되는 것인가?

  • 스위치를 크로스 케이블 등으로 연결하면 서로 다른 스위치 간 통신이 가능.(캐스케이드)
  • 하지만 최근에는 하나의 스위치를 하나의 네트워크에서만 이용하는 것이 아니라 복수의 네트워크에 연결하는 경우도 있어서 이런 경우에는 스위치가 복수의 VLAN을 설정.

이때, 케이블은 어떻게 연결될까? (그림7.32)

  • 스위치 간에 VLAN 통신을 할 때는 각각의 VLAN을 연결해야함
  • 하지만 트렁크 포트(여러 VLAN의 트래픽을 하나의 물리적 포트를 통해 동시에 전달할 수 있게 해주는 포트)를 이용하면 포트를 복수의 VLAN에 소속시킬 수 있음.
  • 트렁크 포트를 사용하려면 VLAN 데이터를 식별할 수 있도록 설정해야 함.
  • 최근에는 IEEE802.IQ로 표준화된 VLAN 태그 기술이 자주 이용됨

트렁크 포트 이용 시에 필요한 대책

  • 트렁크 포트에 장애 발생시 스위치 전체에 장애가 발생하는거 아냐?, 트렁크 포트의 통신이 병목 지점이 되는거 아냐? 라는 의문을 가진 독자를 위한 대책을 알아보자. 일단 맞는말이다.
  • 그림7.33 (네트워크 이중화 방식 중 "링크 집합"이란게 있다.)
    • 링크 집합(Link Aggregation): 여러 개의 물리적 이더넷 링크를 하나의 논리 링크로 묶어서 대역폭을 증가시키고 이중화(failover) 를 가능하게 만드는 방식
      • 왜쓰는가?
        • 성능향상: 1Gbps 포트 2개를 묶으면 최대 2Gbps 사용 가능
        • 이중화: 한쪽 링크에 장애가 생겨도 나머지 링크로 트래픽 우회 가능
        • 부하분산: MAC주소, IP주소, 포트번호 등을 기준으로 트래픽 분산 전송
      • 사용조건
        • 서버와 스위치 양쪽 모두 링크 집합을 지원해야 함
        • 스위치 쪽에서는 동일한 VLAN, 동일한 스패닝 트리 도메인으로 구성 필요
        • LACP(IEEE 802.3ad) 를 사용하는 경우 자동으로 링크 그룹이 설정되고, 장애 복구도 자동화됨
      • 다른 말로도 불림 (밴더사나 OS에 따라 용어만 다름)
        • EtherChannel (Cisco 스위치)
        • NIC Teaming
        • LAG (Link Aggregation Group)
        • IEEE 802.3ad (정식 표준)
  • 그래서 트렁크 포트는 이 기능을 이용해 여러 포트를 묶어 사용함으로써 트렁크 포트 통신이 병목 지점이 되는 것을 방지하고 안정성을 높일수 있음.
  • 여러 개로 묶은 네트워크 포트를 사용해 부하분산하는 방식에는 여러 가지가 있다.
    • 예로, 본딩에는 라운드 로빈 방식이 있음
      • 이더 채널에서는 송수신이나 목적지 MAC주소에 따라 어떤 포트를 사용할지 결정하는 방식이 있고
      • 목적지 MAC 주소에 따라 부하분산을 하는 경우, 목적지 서버가 한 대라면 하나의 포트에 통신이 집중되기 대문에 설정시에 이를 고려해야함.
  • 링크를 묶는 것 자체는 단순하지만, “어떻게 트래픽을 분산하느냐” 는 설정에 따라 성능이 크게 달라짐.
대표적 부하분산 방식 설명 주의점
Round-Robin 순차적으로 모든 포트에 트래픽을 고르게 분산 순서대로 분산되지만 세션이 나뉘어질 위험 → 일부 서비스에선 비정상 동작 가능
해시 기반 (Layer 2 / Layer 3 / Layer 4) MAC/IP/포트 번호 등을 해시해서 포트를 정함 해시 대상이 적으면 분산이 잘 안됨 (예: 목적지 MAC만 쓸 경우, 단일 서버 대상이면 한 포트에 몰림)
송신·수신 분리 기반 송신은 라운드로빈, 수신은 한 포트 고정 일반적인 NIC teaming 구조
802.3ad(LACP) 링크 상태를 협의하며 성능 향상 + 이중화 스위치와 서버 양쪽 모두 LACP 지원해야 가능
  • 그렇다면, 이 링크 애플리케이션을 시스템의 어디에 적용해야 할까?
    • 주의할 점) 예시로 클라 웹 파이지 표시가 무거워서 네트워크 문제라고 판정한 경우에 이떄 대역 확장을 목적으로 웹 서버의 인터페이스를 링크집합 한다고 해도 인터넷의 출입 회선이 웹 서버의 인터페이스 회선보다 좁다면 병목 현상 제거 효과를 기대할 수 없다.
    • 일반적으로 링크 집합은 트렁크 포트, NAS 접속 인터페이스 등에 이용한다.
    • 링크 집합 검토가 유용하긴 하지만, 네트워크 대역을 검토할 떄는 통신 출발지와 목적지 사이에 있는 모든 대역을 고려한 후 병목 지점을 찾아서 문제를 해결하는 것이 중요함.
올바른 적용 대상 이유
트렁크 포트 (스위치 간 연결) 스위치 간 백본 대역폭 증가 및 이중화
NAS/스토리지 인터페이스 대용량 데이터 입출력 처리 성능 확보
서버 ↔ 스위치 간 링크 단일 서버가 다수의 클라이언트에 응답할 때 (ex. 웹 서버, DB 서버 등)
코어 ↔ 엣지 스위치 구간 내부 트래픽 다량 흐르는 구간에 적절

결론

  • 링크 집합은 “어디가 병목인가?” 를 명확히 분석한 다음 적용해야 함
  • 출발지 ↔ 목적지 사이의 전체 경로(통신 경로) 를 보고 병목점을 찾아야 함
  • 단순히 서버 인터페이스 묶는다고 전체 성능이 개선되진 않음

참고)

스위치 이중화에서 NIC 본딩(리눅스OS)
[서버]
   ├─ eth0 ─┐
   └─ eth1 ─┘ => Bond0 (논리적 NIC, LACP 등으로 묶음)

Bond0 ──────────┐
                ├─ [Switch A]
                └─ [Switch B]

  • eth0, eth1은 실제 물리 포트인데, OS에서 bond0이라는 논리 NIC로 묶어서 사용.
  • 이 본딩에 Active-Standby 또는 Active-Active 설정이 들어감.
  • 이때 Switch A, B도 각각 서로 캐스케이드되거나 L2/L3 스위치로 이중화돼 있으면 전체 네트워크가 장애에 강해짐.
모드 설명 장점
Active-Standby (mode 1) 하나만 사용, 장애 시 전환 안정성 ↑
LACP (mode 4) IEEE 802.3ad, 여러 NIC를 병렬 처리 성능 + 이중화
Broadcast (mode 3) 모든 NIC로 송신 특수 목적
  • 대부분의 기업 서버는 mode 1 (Active-Standby) 또는 mode 4 (LACP) 사용.
링크 집합, 트렁크 포트 사용예시
  • 두 개념은 서로 배타적 관계가 아니라, 함께 쓰는 경우도 매우 흔함.
  • 스위치 A와 스위치 B를 2개의 포트로 링크 집합 (LAG) 구성하고,
  • 이 LAG 인터페이스를 트렁크 포트로 설정해서 여러 VLAN 트래픽을 전송할 수 있음.
[Switch A]                           [Switch B]
+----------+                        +----------+
| Port 1   |──┐      Link 1        ┌| Port 1   |
| Port 2   |──┘───── Link 2 ───────┘| Port 2   |
+----------+                        +----------+
     \                                  /
     LAG 1 (Link Aggregation)       LAG 1

     +-------- VLAN Trunk (802.1Q) --------->
     (LAG 전체에 트렁크 태깅 설정)

  • 링크 집합 (LAG): 속도 향상 + 이중화 목적 (물리 링크 묶기)
    • 같은 목적지로 가는 복수의 차선(링크)를 합쳐 고속도로로 만든 것 (대역폭 넓히기용)
  • 트렁크 포트: 여러 VLAN 트래픽을 한 포트로 전달 (VLAN 태깅)
    • 고속도로에 여러 노선(VLAN)이 표시돼 있는 차들이 달리는 길

7.7.2) L3 스위치 이중화

  • L3 스위치 이중화는 라우팅 기능이 있는 스위치를 두 대 이상 준비해, 게이트웨이 역할이 죽지 않게 IP 경로를 빠르게 전환(failover) 할 수 있게 하는 이중화 구조
  • 왜 필요?
    • 게이트웨이 단일 실패 방지: L2 스위치와 달리 L3 스위치는 기본적으로 게이트웨이 역할을 하므로, 죽으면 네트워크 단절
    • 라우팅 경로 유지: 한 쪽 장비에 장애가 나도 IP 경로를 유지함
    • 통신 경로 빠른 복구: 기존 연결이 살아있는 것처럼 빠르게 재전송 가능
  • 기본적으로 액티브-스탠바이 구성
대표적인 구현방식 설명 장점 단점
VRRP (Virtual Router Redundancy Protocol) 가상 IP를 만들어 Master와 Backup 스위치가 공유 간단, 신속 L2 장애 시엔 한계
HSRP (Cisco 전용) VRRP와 거의 동일한 방식 Cisco 장비 간 호환성 표준 아님
GLBP (Cisco 전용) 다중 스위치를 동시에 Active 상태로 운영 (부하분산 포함) 부하분산+이중화 복잡, Cisco 한정
MLAG / VSS / Stack 두 대를 논리적 1대로 묶어 운영 L2, L3 통합 이중화 가능 구성 복잡, 벤더 의존

그림 7.35

VRRP(Virtual Router Redundancy Protocol)
  • 여러 대의 라우터/L3 스위치가 하나의 "가상 IP"를 공유해서, 사용자가 장애를 인식하지 못하게 만드는 이중화 기술
  • 전용 링크가 필요 없음.
  • VRRP를 이용하는 VLAN의 경우는 소속된 모든 포트가 생존 감시 대상이 됨.
  • 일반적으로 연결이 끊어지지 않는 것을 전제로 해서 스위치 간 트렁크 포트를 설계함.
  • 동작흐름)
1. Master가 가상 IP로 ARP 응답을 계속 보냄 (MAC: Virtual MAC 사용)
2. Backup 장비는 일정 시간 간격으로 Master의 VRRP Advertisement 메시지를 수신
3. Master가 장애나 다운되면, 광고 메시지가 일정 시간 이상 감지되지 않음
4. Backup이 Master로 승격 (우선순위 기반, default 100)
5. Backup이 Virtual IP와 Virtual MAC을 가져가고, ARP 응답을 시작
6. 클라이언트는 ARP 캐시를 갱신하지 않아도 통신 계속 가능 (MAC이 동일하므로)
주요 구성요소 설명
Virtual IP 클라이언트가 디폴트 게이트웨이로 사용하는 주소
Virtual MAC 00:00:5e:00:01:XX 형식. 클라이언트는 이 MAC으로 패킷 전송
Advertisement Interval 기본값: 1초 간격으로 VRRP 광고 전송
Priority 숫자가 높을수록 우선순위 높음 (0은 비활성화, 255는 절대 마스터)
Preemption 더 높은 Priority의 장비가 살아나면 다시 Master로 탈환 가능
  • 장점)
    • IP 변경 없이 게이트웨이 이중화
    • 빠른 장애 복구 (기본 3초 이내)
    • 라우터 간 다중 경로 제어 가능
    • Cisco, Juniper 등 다수 벤더 호환 가능 (RFC 5798)

그림 7.36

장애가 발생하면 어떻게 되나?

  • 백업 라우터가 애드버타이즈먼트를 일정시간 수신하지 못하면 마스터 라우터 역할을 인계하는데, 여기서 페일오버는 애드버타이즈먼트가 실패한 후 일반적으로 수십 초 사이에 쵸체됨
  • 백업 라우터가 마스터 라우터로 승격되고 가상 라우터 주소가 이동한다.
  • 이 때문에 서버에서 B 네트워크로 가는 경로가 바뀐 것을 알 수 있음
  • 이런 식으로 L3 스위치가 이중화 된다.
  • 또한 VRRP 프로토콜은 L3 스위치뿐만 아니라 부하분산 장치나 방화벽 등의 이중화에도 폭넓게 사용되기 때문에 꼭 이해하고 넘어가야함.

7.7.3) 네트워크 토폴로지

  • 설계없이 장비를 조합하면 네트워크 전체가 먹통이 되는 중대한 장애가 발생할 수 있기 때문에 구성이 중요함
  • 토폴로지 (Topology): 네트워크 장비들 간의 물리적 or 논리적 연결 구조를 의미
    • 스타형, 버스형, 링형, 메시형 등
  • 예시) A, B, C, D가 스위치로 연결되어 있음.
    • 물리적으로는 A–B–C–D로 이어져 있고, 동시에 A–D라는 백업선도 있다면 이 전체 구조는 토폴로지
    • 하지만 평상시에는 A–B–C–D 경로를 택한다면, 이게 “현재 시점의 유효한 라우팅 경로”
    • 즉, "단 하나의 경로가 선택되는 것"은 네트워크의 동작 방식(Routing Decision) 이고, "그 선택이 가능한 전체 구조"는 토폴로지.
  • 네트워크에서 가장 중요한 것은 특정 시점에 출발지부터 목적지까지 경로가 하나가 되는 것.
  • 하지만, 경로가 하나인 것과 장애에 대비해 이중화하는 것은 서로 상반된 것이기 때문에 실제 네트워크에서는 이 상반되는 조건에 대응할 필요가 있음
  • 네트워크는 특정 경로가 정해져 있지 않으면 목적지까지 정보를 전달할 수 없고, 이와같이 복수의 경로가 존재하는 네트워크 구성을 루프(Loop)라고 함.
  • 경로가 다수 존재하면 안정성 측면에서 좋지 않다.
  • 이 모순을 해결하기 위한 수단으로 스패닝 트리 프로토콜(STP)이라는 것을 이용할 수 있음.
STP (Spanning Tree Protocol)
  • 스위치 간의 루프(Loop)를 방지하기 위해, 논리적으로 트리 형태의 구조를 만드는 프로토콜
    • L2 네트워크에서 순환 루프 방지가 핵심 목적
  • 사용목적
    • 스위치를 이중화하면 물리적으로는 Loop가 생길 수밖에 없음
    • 이더넷은 TTL이 없음 → 루프가 생기면 브로드캐스트 폭풍(broadcast storm), MAC 테이블 혼란 등 발생
    • STP는 Loop를 자동으로 감지하고, 일부 링크를 차단(Block)하여 트리(Loop-free) 구조를 유지함
단계 설명
1. Root Bridge 선출 네트워크에서 가장 중심이 될 스위치를 하나 선정 (Bridge ID 기준)
2. 경로 비용 계산 각 스위치에서 루트 브리지까지의 경로 비용(Path Cost) 계산
3. 역할 부여 각 포트에 대해 역할 지정:
- Root Port(RP): 루트 브리지까지 가장 짧은 경로
- Designated Port(DP): 각 세그먼트에서 대표 포트
- Blocked Port: 루프 방지를 위해 차단된 포트
4. 루프 차단 루프가 생길 수 있는 링크는 차단하여 트리 구조로 구성
핵심용어 설명
Bridge ID 스위치마다 고유한 ID (우선순위 + MAC 주소)
BPDU STP에서 쓰는 제어 프레임. 루트 브리지 선출, 경로 갱신 등에 사용
Path Cost 포트 속도 기반 비용 (빠를수록 낮음. ex: 1Gbps = 4, 10Gbps = 2)
Root Bridge 최상위 스위치. 모든 경로의 기준점
Root Port 루트 브리지까지 최단 경로의 포트 (스위치마다 하나)
Designated Port 세그먼트 내에서 대표 포트. 통신 허용
Blocked Port 루프 방지를 위해 차단된 포트 (백업용처럼 생각하면 됨)
  • 단점
    • 계산에 최대 50초가 걸려서 장애 발생 시 정지 시간이 길다.
    • 하지만 현재는 RSTP라는 STP 개선판이 주로 사용돼서 페일오버 시간은 거의 제로에 가까움
    • 이외에도 L2 페브릭이나 네트워크 오버레이의 새로운 토폴로지 개념이 등장
RSTP(Rapid Spanning Tree Protocol)

 

항목 설명
표준 IEEE 802.1w
페일오버 속도 1~2초 이내로 수렴 가능 (거의 제로에 가까움)
차이점 포트 상태 및 전이 방식 개선 → 빠른 수렴 / 빠른 링크 활성화
주요 기능 Edge Port, Alternate Port, Backup Port 개념 도입
대안 기술 설명 장점
L2 Fabric (예: TRILL, SPB) 전통적인 STP 없이 L2 트래픽을 루프 없이 최적 경로로 라우팅 루프 없이 모든 링크 사용 가능
EVPN + VXLAN L2를 L3 네트워크 위에 Overlay로 구성 확장성 + 유연성 + 멀티테넌시
SDN 기반 구조 (예: OpenFlow) 중앙에서 네트워크 흐름 제어 동적 제어, 자동화 가능
FabricPath (Cisco) TRILL 기반의 Cisco 독자 기술 STP 없이 L2 확장 가능
  • 현대적인 인프라에서는 STP/RSTP는 최소화, Overlay 네트워크와 동적 라우팅 + L3 스위치 기반 설계가 핵심

네트워크 구성의 대표적인 패턴

  • 이중화와 확장성을 고려할 때 자주 쓰이는 구조로 사다리형, 십자형이 있음
사다리형 Ladder Topology
구조 세로로 백본 스위치를 두고, 가로로 엣지 스위치들이 연결됨 (사다리처럼)
이중화 방식 링크 이중화 + 백본 스위치 이중화
장점 - 단순하고 직관적
- 확장 쉬움
- 백본
-엣지 구분 명확
단점 - 백본 스위치에 장애 발생 시 영향 범위 큼
- 엣지 스위치 간 직접 통신은 비효율
활용 예 중소규모 데이터센터, 오피스 네트워크
십자형 Cross Topology
구조 모든 네트워크 노드가 교차 연결됨, 주로 중앙 분산형 + 다수 포인트 구조
이중화 방식 완전 이중화 (Fully Meshed) 혹은 부분 이중화
장점 - 고신뢰성 (하나의 경로에 문제가 생겨도 다른 경로로 우회 가능)
- 지연 최소화
단점 - 설계 복잡
- 케이블링 복잡, 비용 증가
활용 예 고가용성 필요 데이터센터, 금융망 등 고성능 인프라
주요 네트워크 토폴로지 설명 특징 사용 사례
버스형 (Bus) 모든 노드가 하나의 공유 통신선(버스)에 연결됨 단순 구조, 저렴 / 트래픽 충돌에 취약 오래된 LAN 구조
스타형 (Star) 중앙 허브/스위치를 통해 각 노드 연결 장애 격리 용이 / 허브 장애 시 전체 영향 사무실, 소규모 네트워크
링형 (Ring) 각 노드가 순환 구조로 연결 (양방향 or 단방향) 단방향이면 장애에 취약 / 이중링으로 보완 가능 토큰링 네트워크 등
메시형 (Mesh) 모든 노드가 서로 직접 연결 (Full/Partial) 고신뢰성, 고복원력 / 복잡도, 비용 ↑ 통신사, 백본망
트리형 (Tree) 스타형의 계층적 구조 (루트 → 브랜치 → 리프) 계층적 관리 / 루트 장애시 영향 큼 기업 네트워크, 캠퍼스
하이퍼큐브형 (Hypercube) n차원 큐브 구조로 노드 연결 확장성 뛰어남, 구조 복잡 고성능 컴퓨팅 클러스터
Clos 네트워크 (Fat-Tree) 트리형 구조에서 대역폭 병목을 제거한 구조 (Clos topology) 대규모 병렬처리 / 비용-효율 균형 데이터센터, HPC
스파인-리프 (Spine-Leaf) Clos의 상용화 버전, spine과 leaf 계층 구분 예측 가능한 지연 / 확장성 뛰어남 현대 데이터센터 표준
오버레이 (Overlay) 논리적 네트워크를 물리적 인프라 위에 가상화 SDN, VXLAN 등 / 유연한 라우팅 클라우드, 컨테이너 네트워크
L2 Fabric (EVPN/VXLAN) 이더넷을 패브릭처럼 구성해 L2 확장 레이어2 확장과 멀티테넌시 지원 클라우드 인프라, 멀티 DC
상황 적합한 토폴로지
소규모 사무실 네트워크 스타형, 트리형
고신뢰성 필요 메시형, 십자형
확장성과 균형 사다리형, 스파인-리프
멀티테넌시, 가상화 오버레이, EVPN-VXLAN
대규모 DC, HPC Fat-Tree, Clos, 하이퍼큐브형

7.8 사이트 이중화

  • 사이트 내 이중화 전체 구성도(7.41)
    • 각 시스템 컴포넌트들이 장애를 견딜 수 있는 구조를 가지고 있음을 이해할 것.
    • 보안 관련 내용은 다루지 않았음. (실제로는 L3 스위치 아래에 방화벽 배치)
  • 사이트 간 이중화(그림7.42)
    • 대규모 재해가 발생하면, 데이터 센터 전체가 가동되지 않을 수도 있음
    • 이런 재해에 대한 대책으로 원격지 데이터 센터와 연계하는 기술이 존재함
    • ==> 글로벌 서버 부하분산(GSLB)
    • 원격지에 데이터를 전송할 때 중요한 것은 동기/비동기 여부다.
    • 데이터를 완전히 지키고 싶을 때는 데이터가 원격지에도 기록될 필요가 있기 때문에 동기화 시킴
    • 하지만 이 경우는 데이터를 원격지와 동기화시킬 때 오버헤드가 많이 걸려 응답 속도가 느려짐
    • 비동기라면 응답은 좋지만 데이터를 완전하게 지킬수 없다.
    • 사이트가 떨어져 있을 때는 비동기로 해서 어느 정도의 데이터 손실을 감수하고 있는 구성이 일반적이라고 함

참고 및 출처 - 그림으로 공부하는 IT 인프라 구조(개정판), Jpub

댓글