LACP
Link Aggregation Control Protocol · 링크 집계 제어 프로토콜
는 여러 링크를 하나의 집계에 포함할 수 있는지 상대 장비와 확인하는 표준 제어 프로토콜이다. 물리 포트의 up 상태와 논리 집계에서 실제 송수신이 허용된 상태를 구분한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 잘못된 상대나 서로 다른 집계에 연결된 포트가 같은 채널에 섞이지 않도록 협상한다.
- System ID·Key·Port ID와 상태 비트를 교환하여 집계 참여와 양방향 전달 준비를 확인한다.
- 이웃 정보의 갱신·만료와 멤버 장애를 논리 연결 상태에 반영한다.
02어떤 순서로 동작하나
- 모드 지정
active는 적극적으로 LACPDU 교환을 시작하고 passive는 상대의 교환에 응한다. 양쪽 passive만으로는 일반적으로 집계 협상이 시작되지 않으며 정적 on·PAgP와도 구분한다.
- 정보 교환
와 의 시스템 ID·키·포트 ID·상태를 전달한다. 상대가 자신의 정보를 어떻게 알고 있는지까지 보므로 한쪽의 물리 link up만으로 협상 성공을 선언하지 않는다.
- 선택과 동기화
호환되는 멤버를 Aggregator에 선택하고 상대와 집계 문맥을 동기화한다. Sync가 없거나 서로 다른 를 가리키면 같은 논리 링크로 안전하게 쓰는 조건을 충족하지 못할 수 있다.
- 전달과 감시
Collecting·Distributing으로 사용자 프레임 수신·송신을 허용하고 주기 정보를 감시한다. 정보가 오래되면 · 등의 처리로 멤버가 집계 전달에서 빠질 수 있다.
03먼저 알아둘 용어와 구성요소
- 현재 LACPDU를 송신한 측의 시스템·키·포트 정보다.
- 송신자가 알고 있는 상대 측의 정보다.
- 같은 장비에서 함께 집계할 수 있는 포트 집합을 식별하는 값이다.
- 집계에서 각 멤버의 사용자 프레임 수신·송신 허용 상태를 별도로 표시한다.
- 상대와 집계·포트 상태가 일관된 조건에 있음을 나타내는 상태 비트다. 사용자 전달에는 다른 상태 조건도 필요하다.
- 일정 시간 새 정보를 받지 못해 상대 정보 만료 처리를 시작한 상태다.
- 유효한 상대 정보 대신 기본 파트너 정보를 적용하는 상태다.
- 상태 비트에서 능동 교환인 active인지 수동 응답인 passive인지를 나타낸다.
- 상대에게 요청하는 정보 만료 간격의 short·long 조건을 나타내는 상태 비트다.
실습: LACP 미결합 포트와 해시 분산 구별
채널 생성·멤버 협상·데이터 분산을 서로 다른 검증 단계로 해석한다.
실습 구성과 전제
- IOS의 Ethernet0/0~3을 1로 묶는 가상 스위치 연습이다. 양끝의 속도·duplex·L2/L3· 조건을 맞춘다.
- 일괄 디버그 출력 대신 상태 조회를 기본으로 한다. 아래 로그는 실제 기록의 핵심 오류를 발췌한 것이며 새로 실행한 결과가 아니다.
양끝 협상 모드와 구성 정리
- 적어도 한쪽은 active여야 협상을 시작한다. 이 생성되었다는 로그만으로 모든 물리 포트가 묶였다는 뜻은 아니다.
- 는 링크의 속도를 자동 협상하는 프로토콜이 아니다. 링크 호환성과 / 정보로 집합 가능 여부를 판단한다.
textinterface range Ethernet0/0 - 3 channel-group 1 mode active no shutdown end show etherchannel summary show lacp neighbor실제 명령 흐름을 정리한 예시. ·Trunk 정책은 양끝에 미리 맞춘다.
확인 기준양끝이 active/passive 또는 active/active이고 같은 링크 집합인지 확인한다.
suspended와 bundled 분리
- 실제 로그는 remote port에서 가 활성화되지 않아 Et0/1 등이 suspended되었다고 기록한다. 물리 링크가 살아 있어도 협상이 되지 않으면 데이터 집합에 참여하지 못한다.
- 같은 기록의 summary에는 Et0/0(s), Et0/1(s), Et0/2(P), Et0/3(P)가 있다. Po1(SU)만 보고 네 링크 전부 정상이라고 판단하면 안 된다.
text%EC-5-L3DONTBNDL2: Et0/1 suspended: LACP currently not enabled on the remote port. 1 Po1(SU) LACP Et0/0(s) Et0/1(s) Et0/2(P) Et0/3(P)실제 기록에서 읽은 오류와 요약 행
확인 기준s는 suspended, P는 bundled이다. 상대 설정과 케이블 대응을 먼저 확인한다.
LACPDU 상태와 상대 정보 확인
- 선택 패킷은 Slow Protocols 안의 이며 와 정보가 나뉜다. 양쪽의 System·Key·Port를 같은 필드끼리 대조한다.
- 상태 0x3d에는 ·Aggregation··Collecting·Distributing이 표시된다. 단순히 MAC이 작은 장비가 마스터라서 모든 링크를 지휘한다는 설명으로 줄이지 않는다.
원본 크기로 보기 ↗- Slow Protocols subtype LACP와 Actor/Partner TLV가 보인다.
- 상태 0x3d에 Synchronization·Collecting·Distributing이 표시된다.
확인 기준동기화·수집·분배 상태를 멤버별로 확인한다.
협상 성공과 트래픽 분산 정책 구분
- show load-balance의 src-dst-ip는 이 장비의 현재 분산 정책이다. 모든 장비의 보편 기본값으로 외우지 않는다.
- 한 주소쌍 흐름은 같은 멤버로 몰릴 수 있다. 한 번의 ping만으로 총 대역폭 증가를 측정하지 말고 여러 흐름과 포트별 카운터를 비교한다.
textshow etherchannel load-balance show interfaces Ethernet0/2 show interfaces Ethernet0/3실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.
원본 크기로 보기 ↗- 현재 정책은 src-dst-ip다.
- Non-IP는 MAC, IPv4·IPv6는 IP 주소 조합을 사용한다고 표시된다.
확인 기준멤버가 P인 것과 각 멤버에 균등 부하가 생기는 것은 다른 조건이다.
실습에서 확인한 동작 원리
- 채널 논리 인터페이스 생성과 멤버 데이터 전달 참여는 다르다.
- 단일 흐름의 한 링크 사용은 해시 정책의 정상 결과일 수 있다.
04예제로 따라가기
- 상태 0x3d는 ·Aggregation·Sync·Collecting·Distributing 비트가 1이고 비트가 0인 예다. active이며 long 조건을 요청하지만 정책 정합까지 표현하는 값은 아니다.
- 두 멤버의 System ID가 서로 다르면 실제 케이블이 독립된 두 스위치로 이어졌는지 확인한다. 다중 섀시 집계 기술 없이 channel-group 번호만 맞춰 두 스위치를 하나로 만들 수는 없다.
- 가 정상이라도 단일 전송은 해시로 멤버 하나에 배치될 수 있다.4×1Gbps 채널의 4Gbps 합계를 단일 흐름의 보장 속도로 읽지 않는다.
05혼동하기 쉬운 점과 확인 기준
- Key의 숫자가 양쪽 장비에서 반드시 같아야 한다는 단순 규칙으로 해석하지 않는다. 각 시스템 내부 집계 문맥과 상대 정보의 일관성을 확인해야 한다.
- 는 목록··방화벽을 자동 동기화하지 않는다. 제어 협상 후 특정 만 실패하면 실제 데이터 정책으로 범위를 옮긴다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
Cisco Nexus: LACPDU와 멤버 상태 해석
· 정보와 비트를 실제 출력에 대응시켜 물리 up과 집계 송수신 허용을 구분한다. CLI는 Nexus 예제다.
- State 0x3d의 비트
- System ID·Key의 역할
- ·Collecting·Distributing 구분
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.