링크 애그리게이션

링크 애그리게이션(link Aggregation)은 컴퓨터 네트워크에서 하나의 연결이 지탱할 수 있는 것 이상으로 스루풋을 증가시키기 위해, 또 링크 중 하나가 실패할 것을 대비하여 다중화(redundancy)를 제공하기 위해 여러 네트워크 연결을 병렬로 연결하는 여러 가지 방식에 적용된다. 링크 애그리게이션 그룹(LAG)은 수많은 물리적 포트를 하나로 병합하여 하나의 고대역 데이터 경로를 만들어주며 그룹 내 멤버 포트들 간에 트래픽 부하 분산을 구현하고 연결의 신뢰성을 강화한다.

스위치와 서버 사이의 링크 애그리게이션.

이 방식을 기술하는 다른 우산 용어들로는 포트 트렁킹(port trunking)[1], 링크 번들링(link bundling)[2], 이더넷/네트워크/NIC 본딩[1], NIC 티밍(NIC teaming), 네트워크 이중화, 네트워크 다중화가 있다.

개요 편집

링크 애그리게이션은 이더넷 연결에서 두 가지 문제를 해결한다: 대역폭 제한, 회복성 결여.

첫 번째 문제의 경우 대역폭의 요구는 선형적으로 늘어나지 않는다. 이더넷의 대역폭은 역사적으로 여러 세대에 걸쳐 10씩 증가해왔다: 10 Mbit/초, 100 Mbit/초, 1000 Mbit/초, 10,000 Mbit/초. 대역폭 한계에 마주치기 시작하면 유일한 옵션은 비용이 엄청날 수 있는 다음 세대로 이동하는 것 뿐이다. 다른 솔루션으로는 1990년대 초에 네트워크 제조업체들 중 다수가 도입한 것으로서 채널 본딩을 통해 2개의 물리 이더넷 링크를 하나의 논리 링크로 병합하는 것이다. 이 해결책들 중 대부분은 수동 구성 및 유사 장비가 애그리게이션의 양측에 필요했다.[3]

두 번째 문제는 일반적인 포트-케이블-포트 연결에서 3개의 단일 장애점을 동반한다.

IEEE 링크 애그리게이션 편집

표준화 작업 편집

1990년대 중반까지 대부분의 네트워크 스위치 제조업체들은 스위치 간 대역폭 증가를 위한 사유 확장으로서 애그리게이션 기능을 포함하였다. 그러나 각 제조업체는 자신들만의 방식을 개발하였으므로 호환성 문제가 있었다. IEEE 802.3 그룹은 스터디 그룹을 구성하여 1997년 11월 미팅에서 상호 운용 가능한 링크 계층 표준을 만들었다.[3] 이 그룹은 다중화도 추가할 수 있는 자동화된 구성 기능을 포함하는 것에 조속히 동의하였다. 이것이 "링크 애그리게이션 컨트롤 프로토콜"(Link Aggregation Control Protocol, LACP)로 되었다.

  • 2000년: 802.3ad 최초판
  • 2008년: 802.1 레이어로 이동

리눅스 본딩 드라이버 편집

리눅스 본딩 드라이버(Linux bonding driver)[4]는 여러 개의 네트워크 인터페이스 컨트롤러를 이른바 (NIC) 슬레이브로 불리는 둘 이상의 단일 논리 본딩 인터페이스로 병합하는 방식을 제공한다.

드라이버 모드 편집

리눅스 본딩 드라이버의 모드[4](네트워크 인터페이스 애그리게이션 모드)는 로드 시에 커널 본딩 모듈의 변수로 제공된다.

  • 라운드 로빈(balance-rr)
  • 액티브-백업
  • XOR
  • 브로드캐스트
  • IEEE 802.3ad 동적 링크 애그리게이션(802.3ad, LACP)
  • 적응형 전송 부하 분산(Adaptive transmit load balancing, balance-tlb)
  • 적응형 부하 분산(adaptive load balancing, balance-alb)

리눅스 팀 드라이버 편집

리눅스 팀 드라이버(Linux Team driver)[5]는 본딩 드라이버의 대안을 제공한다. 주된 차이점은 팀 드라이버 커널 부분에는 오직 필수적인 코드만 포함되어 있으며 코드의 나머지 부분(링크 확인, LACP 구현, 의사 결정 등)은 teamd 데몬의 일부로서 사용자 공간에서 실행된다는 점이다.

같이 보기 편집

각주 편집

  1. Guijarro, Manuel; Ruben Gaspar; 외. (2008). “Experience and Lessons learnt from running High Availability Databases on Network Attached Storage” (PDF). 《Journal of Physics: Conference Series》. Conference Series (IOP Publishing) 119 (4): 042015. doi:10.1088/1742-6596/119/4/042015. 2020년 10월 7일에 원본 문서 (PDF)에서 보존된 문서. 2009년 8월 17일에 확인함. Network bonding (also known as port trunking) consists of aggregating multiple network interfaces into a single logical bonded interface that correspond to a single IP address. 
  2. “IEEE 802.3ad Link Bundling”. 시스코 시스템즈. 2007년 2월 27일. 2012년 3월 15일에 확인함. 
  3. “IEEE 802 Trunking Tutorial”. 1997년 11월 11일. 2013년 8월 13일에 확인함. 
  4. “The Linux Foundation: Bonding”. 2010년 12월 28일에 원본 문서에서 보존된 문서. 2017년 9월 3일에 확인함. 
  5. libteam project

외부 링크 편집