Infosec403

etherchannel_bonding_작성중.txt

7.33 KB · text/plain · 업로드 2026-09-02 12:21

Etherchannel? Bonding?



Ethernet + Channel -> 이더넷 채널
 - Cisco에서 개발한 기술
 - 대역폭 부족이 원인
 -> 이더넷 케이블 여러 개를 묶어서 하나의 인터페이스처럼 쓰자(묶인 하나의 논리적 인터페이스는 PortChannel이라고 한다)
 --> 나중에 업계 표준으로 발전 -> IEEE 802.3ad(LACP, Link Aggregation Control Protocol) : 이건 국제 표준 프로토콜임

Bond + ing -> 묶다, 결속하다, 부착하다, 붙이다
 -> 서버 측에서 여러 개의 랜카드 하나로 묶을 수 있는 기술이 필요했음
 --> 커널 개발자들이 여러 NIC를 묶어 하나의 논리적 인터페이스처럼 보이게 하는 커널 드라이버 개발함
 ---> 이런 랜카드 묶음 작업을 Bonding이라고 부르기 사작했다.. (윈도우나 RedHat 계열에서는 Teamding이라고 부르기도 한다)


그러면 왜 여러 개를 하나로 묶어서 쓰냐?
 -> Scale-up: 네트워크 속도를 높이는 가장 단순한 방법 -> 더 빠른 장비를 쓰는거
              -> 이때, 네트워크 속도가 빨라질수록, 랜카드나 네트워크 장비에게 요구되는 연산력은 기하급수적으로 늘어남
                 (왜냐? 많은 방향에서 들어오는 트래픽이 그만큼 더 빨리 들어올테니까)
              --> 고성능 장비는 비싼 반면, 1Gbps짜리 랜카드나 랜케이블은 널려있음
              ---> 비싼 장비 사느니, 싼 장비 여러 개로 묶어 쓰는 게 경제적이다 ::: 경제성

 -> SPoF(Single Point of Failure): 단일 장애점
                                   -> 서버와 스위치, 회사와 회사, 국가와 국가를 잇는 망이 케이블 하나에 의존한다?
                                   -> 그거 끊어지면 전체 서비스나 네트워크가 다운됨
                                   --> 그렇다고 물리적으로 망 하나를 더 만들자니 두 배의 돈을 써야 한다
                                   ---> 랜카드 하나, 포트 하나, 케이블 하나가 다운되어도 서비스는 안 끊기게 하고싶다 ::: 안정성


본딩의 경우:
mode가 있음(0~6, 7개)

자주 쓰이는 모드는 0 1 4
0-balance-rr    : 로드밸런싱+장애조치(failover) -> 랜카드 하나씩 번갈아가며 전송(라운드로빈)
1-active-backup : 1개의 인터페이스(랜선)만 활성화(active), 나머지는 대기(standby) -> 로드밸런싱 없이 failover만
2-balance-xor   : 0과 비슷하지만, 같은 목적지로 가는 트래픽은 항상 같은 인터페이스 타기
3-broadcast     : 모든 패킷을 복제해 전송(완벽한 이중화를 위해) -> ! 대역폭이 낭비됨. 절대 통신 실패하면 안되는경우만 이렇게 한다
4-LACP          : 표준. 속도/duplex가 같은 링크를 묶어 대역폭 확보와 failover !!!!(0과 무슨차이인지 체크해야함)
5-balance-tlb   : outbound 트래픽만 분산 처리, inbound 트래픽은 active 상태인 인터페이스로만 받음
6-balance-alb   : balance-alb에 인바운드 트래픽 부하분산까지 더한거임: ARP 협상을 통해 인바운드트래픽 여러 NIC으로 나누어받음(ARP로 어떻게 잘 하는거같음)


여기에 쓰이는 프로토콜은?
LACP(Link Aggregation Control Protocol) -> 표준. 스위치/리눅스/라우터 다 가능. cisco 아니어도 가능
PAgP(Port Aggregation Protocol) -> Cisco 스위치 전용: 오직 '시스코' '스위치' 사이에서만 정상적으로 작동


Static Etherchannel
 : 프로토콜 사용하지 않고, 관리자가 포트 묶어주는 방식
 : 단순하고 빠르다
 ! 양쪽 장비가 잘 안 맞을 때 오류 감지가 안 된다.. 루프나 패킷 드롭 발생 가능

LACP (표준)
 : 표준 프로토콜 기반으로 링크 동적으로 협상 및 관리하는 것
 : Mode: Active / Passive : 능동적으로 상대방에게 프레임(LACPDU)를 보내 채널 형성 시도 / 가만히 대기하다 LACPDU 수신하면 응답만 함
 ! 최소한 한 쪽은 Active가 되어 있어야 채널 형성을 시도한다
 * PAgP도 비슷한데, Active=Desieable, Passive:Auto로 용어가 좀 다르다.



LACP 동작과정


L2SW 기준: 둘 다 세팅 끝내고 선 연결해야함
          + 선 g1/0은 g1/0으로 딱딱 순서 맞춰서 연결해야함

en
conf t
interface range g1/0 - 3
channel-group 1 mode active
no shutdown
end

conf t
interface Port-channel 1
switchport trunk encapsulation dot1q
switchport mode trunk
no shutdown
end

이후 show etherchannel summary 에서 잘 묶여있나, (SU) 로 잘 활성화되어있나 보면 된다
 --> 이 세팅은 Etherchannel LACP 기준임
     스위치간 MODE는 어떻게 작동하나 확인 필요
PAgP는 할지말지도 정해야함
리눅스에서 랜카드 여러개 끼워서 활성화하는 것도 한 번 해봐야함




그래서 어떻게 하나?
 --> 네트워크 장비 - 네트워크 장비
 --> 네트워크 장비 - 서버
 --> 서버 - 서버



















슬레이브 (Slave Interface) 개념
"여러 개의 물리/가상 네트워크 카드(NIC)를 묶어서 하나의 부하로 다루게 할 때, 그 밑에서 실무를 담당하는 개별 카드들"을 의미합니다.
구조적 역할:
우리가 평소 쓰는 ens33, ens34 같은 개별 vNIC들이 본딩의 슬레이브가 됩니다.
이 슬레이브 카드들은 상위의 가상 인터페이스인 bond0**(Master)** 밑으로 편입됩니다.
특징:
슬레이브가 되는 개별 NIC들은 각각의 고유 IP 주소를 잃어버립니다. (IP는 오직 bond0 마스터 인터페이스에만 할당됨)
외부에서 볼 때는 여러 개의 랜카드가 아니라, IP가 하나인 하나의 거대한 랜카드처럼 보입니다.

본딩 모드 (Bonding Mode) 개념
"묶인 슬레이브 랜카드들이 어떤 규칙(전략)으로 협력하여 트래픽을 처리할지 결정하는 방식"입니다. 리눅스 커널에서는 여러 가지 모드(0번~6번)를 제공하며, 목적에 따라 선택합니다.
대표적으로 가장 많이 쓰이는 두 가지 모드입니다.

① Mode 1: Active-Backup (액티브-백업) — 이중화(Fault Tolerance) 목적
작동 방식: 여러 슬레이브 중 오직 1개의 카드(Active)만 일을 하고, 나머지 카드(Backup)는 대기 상태로 있습니다.
Failover (절주): 일하던 Active 카드가 고장나거나 케이블이 뽑히면, 대기하던 Backup 카드가 0.x초 만에 그 자리를 이어받아(Active로 전환) 끊김 없이 통신을 유지합니다.
장점: 물리 스위치 쪽에서 특별한 설정을 안 해도 되므로 구성이 가장 단순하고 안정적입니다.

② Mode 4: 802.3ad / LACP (Link Aggregation Control Protocol) — 속도 병합 + 이중화 목적
작동 방식: 묶인 슬레이브 카드들의 대역폭을 하나로 합쳐서(예: 1Gbps + 1Gbps = 2Gbps 효과) 동시에 데이터를 전송합니다.
장점: 트래픽을 분산 처리(Load Balancing)하여 대역폭을 극대화할 수 있고, 특정 카드가 죽어도 남은 카드로 트래픽이 우회합니다.
조건: 이 모드를 쓰려면 리눅스 서버뿐만 아니라 연결된 물리 스위치 단에서도 LACP(포트 채널) 설정이 반드시 되어 있어야 합니다.

리눅스 본딩(Bonding) 모드는 0번부터 6번까지 총 7가지가 존재