네트워킹 기초 다시 쌓기 — fd, 파이프, 소켓에서 인터페이스까지 (VXLAN 3부작 ①)
VXLAN 개념을 다시 파고들다가, 정작 그 아래 깔린 IP·MAC·소켓·인터페이스 같은 기초 용어부터 흔들리고 있다는 걸 깨달았다. 파일 기술자(fd) 하나에서 출발해 파이프, 소켓, 그리고 커널 안의 net_device 구조체까지 이어지는 흐름을 정리한, VXLAN 3부작의 1편.
$ whoami
라즈베리파이 k3s 클러스터를 직접 운영하며 리눅스와 네트워크를 공부하는 학부생입니다. 운영하다 막힌 문제를 원인까지 따라가 보고, 같은 문제를 만난 사람이 읽을 수 있게 정리합니다.
VXLAN 개념을 다시 파고들다가, 정작 그 아래 깔린 IP·MAC·소켓·인터페이스 같은 기초 용어부터 흔들리고 있다는 걸 깨달았다. 파일 기술자(fd) 하나에서 출발해 파이프, 소켓, 그리고 커널 안의 net_device 구조체까지 이어지는 흐름을 정리한, VXLAN 3부작의 1편.
3부작의 2편. 1편에서 다진 fd/소켓/net_device 기초 위에서, 패킷이 목적지를 찾아가는 세 단계 조회(라우팅 테이블 → neighbour → FDB)와 브릿지·VTEP·VXLAN 캡슐화를 정리했다.
블로그 데이터베이스 백업이 로컬 서버에만 저장되고 있다는 걸 깨닫고, 외부 저장소로도 사본을 남기는 방법을 알아봤습니다. 그 과정에서 rclone이라는 도구를 처음 접하고, 왜 스크립트가 알아서 구글 드라이브에 로그인할 수 없는지도 이해하게 됐습니다.
운영 중인 개인 블로그 서버의 방문자 로그를 들여다보다가 이상한 패턴들을 발견해서 하나씩 파헤쳐봤습니다. 단순한 봇 스캔인 줄 알았는데, 파다 보니 실제로 뚫려 있던 인증 우회 취약점까지 찾게 된 하루였습니다.
VXLAN 개념을 다시 파고들다가, 정작 그 아래 깔린 IP·MAC·소켓·인터페이스 같은 기초 용어부터 흔들리고 있다는 걸 깨달았다. 파일 기술자(fd) 하나에서 출발해 파이프, 소켓, 그리고 커널 안의 net_device 구조체까지 이어지는 흐름을 정리한, VXLAN 3부작의 1편.
3부작의 2편. 1편에서 다진 fd/소켓/net_device 기초 위에서, 패킷이 목적지를 찾아가는 세 단계 조회(라우팅 테이블 → neighbour → FDB)와 브릿지·VTEP·VXLAN 캡슐화를 정리했다.
3부작의 3편. 3대짜리 라즈베리파이 k3s 클러스터에서 두 노드의 flannel VXLAN MAC이 중복 등록됐던 사고 진단 기록. 처음엔 추측으로 남겨뒀던 근본 메커니즘을, 실제 리눅스 커널 소스(vxlan_set_mac, SKB_DROP_REASON_LOCAL_MAC)로 확정했다.
블로그 데이터베이스 백업이 로컬 서버에만 저장되고 있다는 걸 깨닫고, 외부 저장소로도 사본을 남기는 방법을 알아봤습니다. 그 과정에서 rclone이라는 도구를 처음 접하고, 왜 스크립트가 알아서 구글 드라이브에 로그인할 수 없는지도 이해하게 됐습니다.
hrtimer 콜백에서 시작해서 tasklet, workqueue, threaded IRQ 세 가지 bottom half 기법의 속도 차이를 직접 측정해본 기록이다. 원리를 이해하는 것과 그 원리가 실측치로 얼마나 정직하게 드러나는지 확인하는 것은 완전히 다른 문제였다.
리눅스 커널 인터럽트 처리의 top half/bottom half 구조를 실제로 구현해보는 최종 과제를 시작했습니다. 타이머 인터럽트로 접근하기로 했는데, 하드웨어 IRQ 라인이 없는 상황에서 어떻게 인터럽트를 만들지부터 막혔습니다.
커밋과 PR 단위로 남기는 짧은 작업 기록입니다.
경희대 멋쟁이사자처럼 공식 홈페이지 개발의 CI/CD와 인프라, 운영 및 일부 백엔드 모듈을 담당했습니다.