junyeokk
Blog
Network·2025. 06. 14

Data center network

image.png
  • 데이터센터는 수천에서 수십만 대의 서버(host)가 좁은 공간에 밀집 배치되어 거대한 인터넷 서비스를 제공하는 인프라이다.
    • e-Business: 아마존, 쇼피파이 등
    • 콘텐츠 서비스: 유튜브, 아카마이, 애플, 마이크로소프트
    • 검색 및 데이터 분석: 구글, 페이스북, 바이두 등
  • 도전 과제
    • 멀티 애플리케이션 환경
      • 수많은 애플리케이션이 동시에 수백만 클라이언트를 서비스해야 함
      • 각 애플리케이션이 사용하는 컴퓨팅 자원(서버, 네트워크, 스토리지)을 효율적으로 분배해야 함
    • 신뢰성 (Reliability)
      • 하드웨어 고장, 네트워크 장애, 과부하 등 다양한 실패 조건이 빈번하게 발생
      • 이러한 장애가 서비스 전체 중단으로 확산되지 않도록 설계되어야 함
    • 부하 분산과 병목 방지 (Load balancing & Bottleneck avoidance)
      • 네트워크, CPU, 디스크 등 자원이 한 곳에 몰려 병목이 발생하지 않도록 스마트하게 분산(load balancing)해야 함
      • 예를 들어, 같은 요청을 처리할 수 있는 여러 서버 중 가장 여유 있는 서버로 라우팅해야 함
    • Microsoft의 시카고 데이터센터는 40피트 크기의 컨테이너 안에 수천 대의 서버가 탑재

네트워크 요소

image.png
  • 데이터센터는 스위치-서버만 연결한 형태가 아니라, 다단계 네트워크 구조를 갖는다.
  • Border Router (엣지 라우터)
    • Tier-1 스위치와 외부 인터넷/백본 네트워크를 연결하는 출입구 역할
    • 데이터센터 외부의 다른 지역 혹은 클라이언트와 통신 시 필요
  • Tier-1 스위치
    • 여러 개의 Tier-2 스위치를 연결
    • 약 16개의 Tier-2와 연결되는 것이 일반적
    • Tier-1 스위치끼리는 상호 연결되어, 데이터센터 내부 대부분의 통신을 커버
  • Tier-2 스위치
    • 여러 개의 TOR 스위치를 연결
    • 한 Tier-2 스위치는 보통 ~16개의 TOR 스위치와 연결
    • 역할: 랙 간 통신 중계
  • TOR (Top-of-Rack) 스위치
    • 각 랙에 1대씩 배치된 스위치
    • 모든 서버는 이 TOR 스위치에 유선으로 연결됨
    • TOR 스위치는 일반적으로 40~100Gbps 이더넷 링크를 사용
    • 역할: 랙 내부 서버 간 통신, 상위 스위치로 트래픽 전달
  • 서버 랙(Server Rack)
    • 기본 단위: 하나의 랙(Rack)에는 20~40개의 서버 블레이드가 수직으로 꽂혀 있음
    • 서버 자체는 호스트(host)이며, 각자 가상 머신이나 서비스를 실행
image.png
  • F16은 Facebook이 설계한 스케일 아웃 가능한 Clos 패브릭 구조를 기반으로 한다.
    • Clos 네트워크는 다단계 스위치 구조로 서로 다른 경로를 통해 다수의 TOR ↔ TOR 통신 경로를 제공
    • 이 구조는 무한히 가까운 서버 간 지연(latency)을 유지하고 수평적 확장이 용이함
  • Spine Switch (중앙 Spine 계층)
    • 네트워크의 고속 백본 역할
    • 다수의 Fabric Switch에서 올라온 트래픽을 받아 다른 Fabric Switch로 전달해주는 중앙 교환 허브 같은 역할 수행
    • 고속 대역폭, 낮은 지연이 요구됨
  • Fabric Switch
    • TOR 스위치와 Spine 스위치 간을 중계하는 계층
    • 기존 3단계 구조의 “Tier-2” 역할과 유사
    • 단순한 L2/L3 패킷 포워딩 기능 수행
    • 다수의 TOR과 다수의 Spine 간 매트릭스 연결 구조를 형성
  • Top-of-Rack (TOR) 스위치
    • 각 서버 랙마다 존재하는 로컬 스위치
    • 서버와 직접 연결됨
    • TOR에서 패브릭 스위치로 업링크

멀티패스

image.png
  • Multipath는 데이터센터의 3계층 스위치 구조 위에서 자연스럽게 형성된다.
    • 이 구조 덕분에 서버 랙 간에 다중 경로 존재가 가능해지고, 슬라이드에서는 그 중 랙 1 ↔ 랙 11 사이의 두 독립 경로를 강조하고 있다.

애플리케이션 계층 라우팅

image.png
  • 로드 밸런서(load balancer)는 데이터센터 외부에서 들어오는 요청을 받아 데이터센터 내부의 여러 서버 중 하나로 적절히 분배하는 장치 또는 소프트웨어다.
  • IP 주소나 포트 수준이 아닌 애플리케이션 레벨 정보를 분석한다.
  • 외부 클라이언트는 로드 밸런서의 하나의 주소만 알면 된다. 로드 밸런서는 내부 서버 구조를 숨긴 채 요청을 적절한 서버에 전달한다.
    • 외부에서는 데이터센터의 물리적/논리적 구조가 보이지 않는다.
  • 여러 서버 중 가장 적절한 서버(가장 여유 있는, 캐시가 있는, 지역적으로 가까운 등에 요청을 할당
    • 무작위(random), 라운드 로빈(round robin), 최소 연결 수, 응답 속도 기반 등 다양한 분산 정책 사용
  • 특정 서버가 다운되면, 로드 밸런서가 자동으로 해당 서버가 제외된다.
    • 새 서버가 추가되면, 즉시 로드 밸런서가 트래픽 분배에 포함되어 무중단 확장과 고가용성 유지 가능

프로토콜 혁신들

image.png
  • link layer - RoCE (RDMA over Converged Ethernet)
    • RDMA(Remote Direct Memory Access): 네트워크를 통해 다른 서버의 메모리에 직접 접근하는 기술
    • RoCE는 RDMA를 이더넷 기반 네트워크에서 구현한 것
    • 장점
      • CPU를 거치지 않고 직접 메모리 접근 → 낮은 지연, 높은 처리량
      • 고성능 컴퓨팅(HPC)이나 머신러닝 학습 클러스터에 자주 사용
  • transport layer - ECN (Explicit Congestion Notification)
    • 기존 TCP는 패킷 손실(loss)을 통해 혼잡을 감지함 → 늦고 비용 큼
    • ECN은 네트워크 장비가 혼잡 상태를 미리 표시(비트 플래그)하고, 수신자가 이를 TCP 발신자에게 알려주는 방식
    • 대표적인 ECN 기반 프로토콜
      • DCTCP (Data Center TCP): Facebook 등에서 사용
      • DCQCN: RoCE 환경에서 사용되는 고급 혼잡 제어 알고리즘
    • 실험적: hop-by-hop backpressure
      • 링크별로 혼잡이 생기면, 다음 홉으로 신호를 보내 전송을 지연시키는 방식
      • 매우 낮은 지연 요구가 있는 환경에서 연구 중 (예: 100Gbps 이상 클러스터)
  • routing, management - SDN (Software-Defined Networking)
    • 중앙 제어 기반 네트워크 관리 → 복잡한 라우팅 정책을 프로그래밍 가능
      • 데이터센터 내부에서 트래픽 엔지니어링, 정책 기반 라우팅 등에 널리 사용됨
      • 관리자는 네트워크 전체를 소프트웨어로 통제 가능
    • 위치 기반 서비스 배치
      • 서로 자주 통신하는 서비스는 물리적으로 가까운 위치(예: 같은 랙 또는 같은 TOR)에 배치
      • 목적: Tier-2, Tier-1 스위치를 통과하는 고비용 통신을 줄이고, 지연을 최소화하며, 네트워크 대역폭을 절약