Network·2025. 06. 14
Data center network
- 데이터센터는 수천에서 수십만 대의 서버(host)가 좁은 공간에 밀집 배치되어 거대한 인터넷 서비스를 제공하는 인프라이다.
- e-Business: 아마존, 쇼피파이 등
- 콘텐츠 서비스: 유튜브, 아카마이, 애플, 마이크로소프트
- 검색 및 데이터 분석: 구글, 페이스북, 바이두 등
- 도전 과제
- 멀티 애플리케이션 환경
- 수많은 애플리케이션이 동시에 수백만 클라이언트를 서비스해야 함
- 각 애플리케이션이 사용하는 컴퓨팅 자원(서버, 네트워크, 스토리지)을 효율적으로 분배해야 함
- 신뢰성 (Reliability)
- 하드웨어 고장, 네트워크 장애, 과부하 등 다양한 실패 조건이 빈번하게 발생
- 이러한 장애가 서비스 전체 중단으로 확산되지 않도록 설계되어야 함
- 부하 분산과 병목 방지 (Load balancing & Bottleneck avoidance)
- 네트워크, CPU, 디스크 등 자원이 한 곳에 몰려 병목이 발생하지 않도록 스마트하게 분산(load balancing)해야 함
- 예를 들어, 같은 요청을 처리할 수 있는 여러 서버 중 가장 여유 있는 서버로 라우팅해야 함
- Microsoft의 시카고 데이터센터는 40피트 크기의 컨테이너 안에 수천 대의 서버가 탑재
- 멀티 애플리케이션 환경
네트워크 요소
- 데이터센터는 스위치-서버만 연결한 형태가 아니라, 다단계 네트워크 구조를 갖는다.
- 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)이며, 각자 가상 머신이나 서비스를 실행
- 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에서 패브릭 스위치로 업링크
멀티패스
- Multipath는 데이터센터의 3계층 스위치 구조 위에서 자연스럽게 형성된다.
- 이 구조 덕분에 서버 랙 간에 다중 경로 존재가 가능해지고, 슬라이드에서는 그 중 랙 1 ↔ 랙 11 사이의 두 독립 경로를 강조하고 있다.
애플리케이션 계층 라우팅
- 로드 밸런서(load balancer)는 데이터센터 외부에서 들어오는 요청을 받아 데이터센터 내부의 여러 서버 중 하나로 적절히 분배하는 장치 또는 소프트웨어다.
- IP 주소나 포트 수준이 아닌 애플리케이션 레벨 정보를 분석한다.
- 외부 클라이언트는 로드 밸런서의 하나의 주소만 알면 된다. 로드 밸런서는 내부 서버 구조를 숨긴 채 요청을 적절한 서버에 전달한다.
- 외부에서는 데이터센터의 물리적/논리적 구조가 보이지 않는다.
- 여러 서버 중 가장 적절한 서버(가장 여유 있는, 캐시가 있는, 지역적으로 가까운 등에 요청을 할당
- 무작위(random), 라운드 로빈(round robin), 최소 연결 수, 응답 속도 기반 등 다양한 분산 정책 사용
- 특정 서버가 다운되면, 로드 밸런서가 자동으로 해당 서버가 제외된다.
- 새 서버가 추가되면, 즉시 로드 밸런서가 트래픽 분배에 포함되어 무중단 확장과 고가용성 유지 가능
프로토콜 혁신들
- 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 스위치를 통과하는 고비용 통신을 줄이고, 지연을 최소화하며, 네트워크 대역폭을 절약
- 중앙 제어 기반 네트워크 관리 → 복잡한 라우팅 정책을 프로그래밍 가능