인프라 일기 : Network
개발 일기 1편
이재룡 Apr 19, 2026
[ VLAN과 Bridge ]
- eth0 : 실제 랜카드 → 가상화 환경에서는 단순 통로 역할
- vmbr0 : 가상 브릿지
⇒ 따라서 eth0에 IP를 할당 받게되면 Proxmox 운영체제 자체는 네트워크에 정상적으로 참여 불가능! → 접속 불가!
왜 eth0이 단순 입구(uplink port) 역할만 할까?
- 외부에서
192.168.0.100으로 접속 요청
- 서버의 물리 포트
eth0에 패킷이 도착
eth0은 브릿지의 포트로 L2 동작
- 자신에게 IP가 있는지 확인조차 안 하고 패킷을
vmbr0스위치로 그냥 넘김
vmbr0스위치는 자신에게 할당된 IP가 있는지 check
- 목적지를 잃은 packet이 DROP
[ Bonding ]
Active-Standby
- SPOF 대처용
- 대역폭 확장 X
LACP (Link Aggregation Control Protocol)
LACPDU라는 특수한 제어 패킷
- System ID: 장비의 고유 식별자 (보통 MAC 주소 + 우선순위)
- Port ID: 랜카드가 꽂힌 포트 번호
- Operational Key: 포트의 속도, 전 이중(Full-Duplex) 여부 등 물리적 특성
- State: 현재 포트가 데이터를 보낼 준비가 되었는지 등의 상태 정보
동작 과정
- 1단계: 탐색 및 LACPDU 교환 (Discovery)
- 2단계: 신원 및 기능 검증 (Validation)
- 양쪽 포트의 속도가 동일한지
- Duplex 모드(Full-Duplex)가 일치하는지
- Half-Duplex (양방향 통신 but 동시 불가) → 충돌 발생
- Full-Duplex (양뱡향 동시 통신)
- Half 쪽에서 데이터가 보내는 중에서는 받는 동작이 불가능
- "충돌(Collision)" → 패킷을 버리고 다시 보내기
- 인터넷 속도가 처참하게 느려지거나 패킷 손실(Packet Loss)양쪽 장비는 해당 물리 포트들을 하나의 가상 인터페이스(예: 리눅스의
bond0, 시스코 스위치의Port-Channel)로 묶어버립니다. 이제부터 이 포트들은 각자 행동하지 않고 하나의 팀으로 움직입니다.
⇒ Duplex Missmatch
실제 구현
- Linux bond에서 Slave에 물리 NIC를 다중으로 입력
- Mode 선택
- Active-Backup / 802.3ad
- 중요 : bridge 할당 X
- bond 논리 인터페이스 생성
- vmbr0에 Bridge ports 로 추가하고 vmbr0에 IP 할당