K8S Networking을 이해하는데 필요한 용어들과 배경지식들을 정리하고자 한다.
They provide processes with their own system view, thus isolating independent processes from each other. In other words, namespaces define the set of resources that a process can use (You cannot interact with something that you cannot see). At a high level, they allow fine-grain partitioning of global operating system resources such as mounting points, network stack and inter-process communication utilities.
The namespaces are per-process attributes. Each process can perceive at most one namespace. In other words, at any given moment, any process P belongs to exactly one instance of each namespace.
veth
는 virtual ethernet device 의미하며 보통 pair로 정의된다. (veth pair
)
veth pair
는 네트워크 네임스페이스들을 터널로서 연결
The veth devices are virtual Ethernet devices. They can act as tunnels between network namespaces to create a bridge to a physical network device in another namespace, but can also be used as standalone network devices.
도커 컨테이너가 생성될 때마다 도커 엔진이 자동으로 veth***
인터페이스를 생성한 후 각 컨테이너의 eth
와의 터널을 만든다.
*그림 출처 - Digging into Linux namespaces
LAN
- 동일한 IP 대역과 동일한 Subnet Mask를 통해서 ARP Broadcast가 미치는 범위
Hub
와 Switch
Hub
는 물려있는 PC의 MAC 주소를 저장/관리하지 않기 때문에 모든 포트에 패킷 전송 --> 충돌로 인한 성능 저하 (Switching Hub는 이를 개선한 장비)Switch
는 MAC 주소를 기억하기 때문에 목적지 포트에만 패킷 전송ARP는 네트웍에 물려있는 장비 수가 많아질수록 비효율적
VLAN
- Layer 2 계층 네트웍을 Broadcast Domain으로 나눔.
VLAN
그룹 할당 방식