veth 가상 이더넷의 기본 구조
veth는 항상 상호 연결된 쌍으로 생성되는 Layer 2 가상 네트워크 장치입니다. 한쪽 인터페이스에 전송된 패킷은 즉시 다른 쪽 인터페이스에서 수신되며, 어느 쪽이든 다운되면 전체 쌍의 링크 상태가 다운됩니다. 생성 명령은 ip link add veth0 type veth peer name veth1이며, 각 끝은 서로 다른 네트워크 네임스페이스에 배치할 수 있습니다.
네임스페이스 간 연결 메커니즘
veth의 주요 용도는 격리된 네트워크 네임스페이스를 서로 연결하거나 호스트 네임스페이스와 연결하는 것입니다. 한쪽 끝을 컨테이너 네임스페이스로, 다른 쪽 끝을 호스트 네임스페이스로 이동시키면 양방향 통신이 가능합니다. 브리지와 조합하면 여러 컨테이너 간 통신도 구현됩니다.
실무에서의 성능 제약사항
veth 쌍은 순수 소프트웨어 구성으로 하드웨어 오프로드 기능(TSO, GSO, 체크섬 오프로드)이 없습니다. 따라서 10Gbps 이상의 고처리량 워크로드에서는 CPU 코어가 포화될 수 있으며, 이를 완화하기 위해 Cilium CNI의 eBPF 기반 처리나 SR-IOV 패스스루를 검토해야 합니다. 일반적인 마이크로서비스 환경에서는 성능이 충분합니다.