흰색남자 2022. 11. 20. 15:56

nat은 network address translation 의 약자이며, ip 주소를 변환하는 프로톨이다.

nat에는 snat, dnat 두 가지가 존재한다.

snat은 외부 퍼블릭 대역에서 사설 대역으로 들어올 경우 주로 사용된다.

dnat은 로드밸런서에서 주로 사용된다. 또한 사설ip 대역에서 public ip 대역으로 나갈때도 사용함.

nat을 사용하는 이유는 ipv4의 한계로 인해 사용되며, 모든 ip가 public ip로 부여되면 ip의 고갈이 일어나기 때문에 public, private 대역을 나누어서 사용한다.

하나의 public 대역은 똑같은 private 대역의 네트워크가 중복됨.

쿠버네티스에서는 이러한 ip 대역의 중복을 해결하기 위해 cni가 나왔고, ipam이 해당 대역을 관리함.

또한 각 노드에는 bird라는 칼리코 컴포넌트가 들어가있어, 어드 노드에 어떤 사설 ip가 존재하는지 bgp 프로토콜을 사용하여 알림.