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

이 방식을 기술하는 다른 우산 용어들로는 '''포트 트렁킹'''(port trunking)<ref name=Guijarro/>, '''링크 번들링'''(link bundling)<ref>{{웹 인용 |url=http://www.cisco.com/en/US/docs/ios/12_2sb/feature/guide/sbcelacp.html |title=IEEE 802.3ad Link Bundling |publisher=[[시스코 시스템즈]] |date=2007-02-27 |accessdate=2012-03-15}}</ref>, '''이더넷/네트워크/NIC 본딩'''<ref name=Guijarro>{{저널 인용 |last = Guijarro |first = Manuel |author2 = Ruben Gaspar |year = 2008 |title = Experience and Lessons learnt from running High Availability Databases on Network Attached Storage |journal = [[Journal of Physics: Conference Series]] |volume = 119 |series = Conference Series |publisher = IOP Publishing |doi = 10.1088/1742-6596/119/4/042015 |issue = 4 |url = http://www.iop.org/EJ/article/1742-6596/119/4/042015/jpconf8_119_042015.pdf |format = PDF |accessdate = 2009-08-17 |quote = 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. |pages = 042015 |display-authors = etal |archive-date = 2020-10-07 |archive-url = https://web.archive.org/web/20201007113759/https://www.iop.org/EJ/article/1742-6596/119/4/042015/jpconf8_119_042015.pdf/ |url-status =  }}</ref>, '''NIC 티밍'''(NIC teaming), '''네트워크 이중화''', '''네트워크 다중화'''가 있다.

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

첫 번째 문제의 경우 대역폭의 요구는 선형적으로 늘어나지 않는다. 이더넷의 대역폭은 역사적으로 여러 세대에 걸쳐 10씩 증가해왔다: 10 [[메가비트|Mbit]]/초, 100 Mbit/초, 1000 Mbit/초, 10,000 Mbit/초. 대역폭 한계에 마주치기 시작하면 유일한 옵션은 비용이 엄청날 수 있는 다음 세대로 이동하는 것 뿐이다. 다른 솔루션으로는 1990년대 초에 네트워크 제조업체들 중 다수가 도입한 것으로서 [[채널 본딩]]을 통해 2개의 물리 이더넷 링크를 하나의 논리 링크로 병합하는 것이다. 이 해결책들 중 대부분은 수동 구성 및 유사 장비가 애그리게이션의 양측에 필요했다.<ref name=firstieeemeeting>{{웹 인용 |title=IEEE 802 Trunking Tutorial |url=http://grouper.ieee.org/groups/802/3/trunk_study/tutorial/index.html |date=1997-11-11 |accessdate=2013-08-13}}</ref>

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

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

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

== 리눅스 본딩 드라이버 ==
리눅스 본딩 드라이버(Linux bonding driver)<ref name="lbond">{{웹 인용 |url=http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding |제목=The Linux Foundation: Bonding |확인날짜=2017-09-03 |archive-date=2010-12-28 |archive-url=https://web.archive.org/web/20101228000337/https://www.linuxfoundation.org/collaborate/workgroups/networking/bonding |url-status= }}</ref>는 여러 개의 [[네트워크 인터페이스 컨트롤러]]를 이른바 (NIC) 슬레이브로 불리는 둘 이상의 단일 논리 본딩 인터페이스로 병합하는 방식을 제공한다.
=== 드라이버 모드 ===
리눅스 본딩 드라이버의 모드<ref name="lbond"/>(네트워크 인터페이스 애그리게이션 모드)는 로드 시에 커널 본딩 모듈의 변수로 제공된다.
* 라운드 로빈(balance-rr)
* 액티브-백업
* XOR
* 브로드캐스트
* IEEE 802.3ad 동적 링크 애그리게이션(802.3ad, LACP)
* 적응형 전송 부하 분산(Adaptive transmit load balancing, balance-tlb)
* 적응형 부하 분산(adaptive load balancing, balance-alb)

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

== 같이 보기 ==
* [[IEEE 802.1aq]]
* [[MC-LAG]]
* [[신장 트리 프로토콜]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://grouper.ieee.org/groups/802/3/ad/index.html IEEE P802.3ad Link Aggregation Task Force]
* [http://wiki.mikrotik.com/wiki/Manual:Interface/Bonding Mikrotik link Aggregation / Bonding Guide]
* [https://web.archive.org/web/20190701201158/https://www.ibm.com/support/knowledgecenter/POWER5/iphc3_p5/iphc3_vios_configuring_sea.htm?origURL=api%2Fredirect%2Fpowersys%2Fv3r1m5%2Findex.jsp Configuring a Shared Ethernet Adapter ( SEA ) - IBM]
* [http://www.ibm.com/developerworks/aix/library/au-managevlans/index.html?ca=drs Managing VLANs on mission-critical shared Ethernet adapters - IBM]
* [https://web.archive.org/web/20121019131903/http://www.linuxfoundation.org/collaborate/workgroups/networking/networkoverview Network overview by Rami Rosen (section about bonding)]

{{IEEE 표준}}

[[분류:이더넷]]
[[분류:링크 프로토콜]]
[[분류:네트워크 성능]]