채널 본딩 (Channel Bonding)

채널 본딩(Channel Bonding) (또는 이더넷 본딩) 은 호스트 컴퓨터에서 안전성이나 전송속도를 높이기 위해서 두개 이상의 네트워크 인터페이스를 다루는 방식입니다.

이더넷 인터페이스에서 채널 본딩을 하기 위해서는 이더넷 네트워크 스위치와 호스트 컴퓨터의 운영 체제에서 이를 지원해야한다. 디스크의 RAID 구성에 입출력 스트리핑이 필요한 것처럼 채널 본딩에는 네트워크 인터페이스 상의 프레임 전달 스트리핑이 필요하다. 이런 이유로 채널 본딩은 “묶음식노드구성 (RAIN)” 혹은 “묶음식네트워크구성(redundant array of independent network interfaces)“라고 불리기도 한다.

채널 본딩의 방법

  1. balance-rr
    • (Round Robin) Load Balancing, 송신할 패킷마다 사용하는 NIC을 바꾼다.
  2. active-backup
    • Failover, bond내에서 한개의 Slave만 사용
    • 포트문제가 생길경우 다른 Slave가 Enable
  3. balance-xor
    • Load Balancing, 소스와 목적지의 MAC을 XOR 연산을 통해 사용할 NIC를 결정하여 분배
  4. Broadcast
    • Fault-Tolerance, 모든 Slave으로 데이터전송(failover), 일반적으로는 잘 사용안함.
  5. 802.3ad
    • Dynamic Link Aggregation, IEEE 802.3ad 프로토콜을 이용하여 동적 Aggregation 작성
    • 대역폭 상승, 부하 분산, Failover 지원
  6. balance-tlb(TLB)
    • 적응형 송신 부하 분산, 송신패킷 로드밸런싱, 송신시 부하가 낮은 NIC이용
    • 수신은 특정 NIC이용
  7. balance-alb(ALB)
    • 적응형 부하 분산, 송수신패킷 로드밸런싱, 송수신시 부하가 낮은 NIC를 사용

위 내용은 [참고2, 3]을 정리한 내용입니다.