링크 애그리게이션
링크 애그리게이션(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 데몬의 일부로서 사용자 공간에서 실행된다는 점이다.
같이 보기
[편집]각주
[편집]- ↑ 가 나 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.
- ↑ “IEEE 802.3ad Link Bundling”. 시스코 시스템즈. 2007년 2월 27일. 2012년 3월 15일에 확인함.
- ↑ 가 나 “IEEE 802 Trunking Tutorial”. 1997년 11월 11일. 2013년 8월 13일에 확인함.
- ↑ 가 나 “The Linux Foundation: Bonding”. 2010년 12월 28일에 원본 문서에서 보존된 문서. 2017년 9월 3일에 확인함.
- ↑ libteam project