Kubernetes Topology Aware Routing

EKS의 기본 서비스 라우팅은 클러스터 안에 있는 Pod들에게 트래픽을 무작위로, 혹은 라운드로빈 방식으로 분배합니다. 그러다 보니 요청이 다른 가용 영역(AZ)에 있는 Pod로 자주 전달되는데, AWS VPC에서는 AZ 간 데이터 전송에 과금이 붙기 때문에 이런 cross-AZ 트래픽은 비용 증가와 지연 시간 증가로 곧장 이어집니다. Kubernetes 1.24에서 도입된 Topology Aware Routing(TAR)은 바로 이 문제를 해결하기 위해 만들어진 기능입니다. Pod 간 통신이 발생할 때, 가능하다면 같은 AZ에 있는 Pod를 우선적으로 호출하도록 네트워크 정책을 조정합니다. ...

2025년 11월 14일 · 4 분 · Donghyung Ko
iptables mangle 테이블의 패킷 처리 흐름

A Deep Dive into iptables and Netfilter

이 글은 원문 A Deep Dive into Iptables and Netfilter Architecture을 번역하여 작성한 글입니다. iptable란? iptables는 netfilter 프레임워크를 제어하는 데 사용되는, 리눅스 커널에 내장된 네트워크 스택입니다. NIC를 거쳐 유입되는 모든 네트워크 패킷은 netfilter에 등록된 룰을 거쳐 제어됩니다. iptables는 netfilter가 패킷 조작을 위해 제공하는 훅에서 룰을 관리하는 역할을 합니다. iptables를 활용하면 특정 조건에 부합하는 패킷을 드롭하거나, 패킷의 출발지(source) 또는 목적지(destination)를 수정하는 것 등이 가능합니다. Netfilter Hook netfilter는 패킷 제어를 위한 다섯 가지 훅을 제공합니다. 모든 패킷은 전송 방향(incoming 혹은 outgoing)에 따라 각 훅에 등록된 패킷 제어 규칙이 적용됩니다. netfilter에서 지원하는 훅은 다음과 같습니다. ...

2022년 3월 7일 · 5 분 · Donghyung Ko
Linux Bridge 네트워크 구성도

가상 네트워크 인터페이스 (Linux Virtual Networking Interface)

이 글은 아래의 원문을 읽고 내용의 일부를 한글로 정리한 글입니다. https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking/ 리눅스는 컨테이너 기술의 기반이 되는 가상 네트워킹(virtual networking) 관련 기능을 다양하게 제공한다. 이 글에서는 리눅스 가상 네트워킹에서 자주 사용되는 대표적인 네트워크 인터페이스를 살펴본다. Bridge Linux Bridge는 일반적인 네트워크 스위치와 유사하게 동작한다. Bridge는 주로 라우터, 게이트웨이, VM 등에서 패킷을 목적지로 전달(forwarding)하는 역할을 수행한다. Bridge는 STP, VLAN filter, multicast snooping 등의 기능도 추가로 지원한다. 아래 소스 코드는 리눅스에서 Bridge를 생성하고 서로 다른 네트워크 인터페이스와 연결하는 과정을 보여주는 예시이다. 이 과정을 거치면 브릿지를 통해 VM 1, VM 2와 network naemspace 1은 서로 통신할 수 있게 된다. ...

2021년 6월 24일 · 3 분 · Donghyung Ko