# 리눅스 전체 네트워크 스택 다이어그램 (2024)

> Clean Markdown view of GeekNews topic #23800. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=23800](https://news.hada.io/topic?id=23800)
- GeekNews Markdown: [https://news.hada.io/topic/23800.md](https://news.hada.io/topic/23800.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-10-21T09:56:16+09:00
- Updated: 2025-10-21T09:56:16+09:00
- Original source: [zenodo.org](https://zenodo.org/records/14179366)
- Points: 2
- Comments: 1

## Topic Body

- 이 다이어그램은 **리눅스 네트워크 스택**의 모든 계층과 요소를 시각적으로 보여줌  
- 다이어그램에는 **가상화, 리눅스 컨테이너, 에뮬레이션, 패러버추얼라이제이션** 등 다양한 가상화 기술이 포함됨  
- **네트워크 소켓**부터 **네트워크 스택(상위: TCP, UDP / 하위: GRO, RPS, RFS, GSO)** 까지 전체 계층 구조를 담고 있음  
  
#### # 주요 구성 요소  
  
- **네트워크 스택**  
  - 네트워크 스택의 **상위 계층**(TCP, UDP)  
  - 네트워크 스택의 **하위 계층**(GRO, RPS, RFS, GSO)  
- **네트워크 스케줄러** 구성  
- **NetFilter와 트래픽 컨트롤**  
  - Bridge, Bond 인터페이스, Tap 인터페이스 등 다양한 **네트워크 인터페이스** 포함  
- **디바이스 드라이버**  
  - 큐(Queue)  
  - NAPI  
  - IRQ 핸들러  
- **NIC에서 가속되는 네트워크 기능**  
  - 체크섬 오프로드, VLAN, VxLAN, GRE, TSO, LRO, RSS 등  
  
#### # 특징 및 부가정보  
  
- 각 계층은 **최적화 팁**과 **통계 정보**를 함께 제공함  
- **네트워크 카드**로 이어지는 전체적인 흐름까지 자세하게 연결함  
- 본 다이어그램은 “**Operativni sustavi i računalne mreže - Linux u primjeni**” 교재의 일부로 전문적인 참고 자료로 활용 가치가 높음

## Comments



### Comment 45214

- Author: neo
- Created: 2025-10-21T09:56:16+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=45639995) 
* 이런 수준 높은 문서가 많이 필요함을 느낌  
  나는 여러 해 동안 IP tables를 제대로 활용하지 못했음  
  책도 사고, 블로그의 다양한 예제도 시도해 봤지만, 무엇이 어떻게 동작하는지 이해가 되지 않아 제대로 사용할 수 없었음  
  그러던 중 패킷이 커널을 통과하는 과정을 보여주는 도식(플로우차트)을 발견했고, 이게 각 룰 체인이 적용되는 정확한 순서와 sysctl 값이 어디서 반영되는지 알 수 있게 해줌  
  이 도식 덕분에 원하는 대로 규칙을 직접 적을 수 있게 되었고, 동작 성능까지 고려해 적절한 규칙을 선택할 수 있게 됨  
  도식 하나가 정말 세상을 바꾼 것처럼 전부 첫 시도부터 제대로 동작함  
  좋은 도식의 힘이 엄청남을 직접 경험함

  * 혹시 이 도식이 [여기](https://en.wikipedia.org/wiki/File%3aNetfilter-packet-flow.svg) 있는 것인지 궁금함

  * 방화벽에서 패킷이 어떤 규칙에 정확히 걸렸는지를 로그로 남겨주는 TRACE 타겟도 필히 언급하고 싶음  
      큰 규모의 방화벽에서는 정말 필수적인 도구임

  * 그 도식을 공유해 줄 수 있을지 물어보고 싶음  
      나도 iptables의 세계를 제대로 경험해보고 싶음

  * 나 역시 IP tables를 오랫동안 이해하지 못했음  
      그러다 FreeBSD와 pf tables를 알게 되었고, 지금은 네트워크 엔지니어처럼 느껴짐  
      물론 공부엔 시간과 노력이 들었지만, 학습이 잘 맞아떨어졌고 점점 더 많은 걸 쌓으며 배울 수 있었음  
      누구든 직접 도전해보길 추천함  
      [FreeBSD 방화벽 관련 공식 문서](https://docs.freebsd.org/en/books/handbook/firewalls/)도 참조할 만함  
      최근에는 The Book of PF 4판이라는 책도 출간됨

* 혹시 관심 있는 사람이 있다면, 이 도식의 저자가 Linux 디스크 I/O 흐름도도 만들었음을 알리고 싶음  
  [여기에서 디스크 I/O 도식](https://zenodo.org/records/15234151) 확인 가능함  
  이 모든 도식은 'Operativni sustavi i računalne mreže - Linux u primjeni'라는 저자 책에서 출발함  
  [책 원문](https://zenodo.org/records/17371946) 역시 공개되어 있음  
  저자의 탁월하고 친절한 작업에 박수를 보냄

  * 혹시 이 책에 영어 번역본이 있는지 궁금함

  * 디스크 I/O 도식 너무 뛰어남  
      공유해줘서 고맙다는 이야기 전함

* Linux Kernel map도 정말 훌륭한 자료이니 참고하길 권함  
  [Linux Kernel map 링크](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)

* Hrvoje Horvat에게 이렇게 상세한 도식 만들어줘서 고맙다는 인사 전함  
  덕분에 Network stack 공부가 정말 한결 쉬워질 것 같음  
  저자의 책 "Operativni sustavi i računalne mreže - Linux u primjeni"도 크로아티아어를 배울 가치가 느껴질 정도임  
  책 출간 축하하며, 이러한 소중한 기여에 다시 한번 감사 인사 전함  
  [책 링크](https://zenodo.org/records/17371946)

* 저자의 작업이 믿기지 않을 정도로 훌륭함  
  진심으로 영어 번역본이 있었으면 하는 바람임

* 정말 멋진 자료라고 생각함  
  만약 누군가 이런 도식을 자동으로 생성해주는 시각화 도구를 개발한다면 더욱 신날 것 같지만, 아마 현실적으로는 불가능에 가까울 것 같음

  * 자동 생성을 위해서는 이 도식이 보여주는 많은 추상화 단계를 처리해야 해서 정말 어려울 것 같음  
      그래도 Mermaid나 PlantUML 같은 도구가 어느 정도 까지는 비슷한 영역을 보여줄 수 있고, PGF/TikZ는 이미지를 생성하는 대신 텍스트 생성에서 도전을 시도해볼 만한 대상임

* 컨테이너 환경에서도 VM에서와 비슷하게 자체 TCP/IP stack을 쓸 수 있다는 점 언급하고 싶음  
  slirp4netns를 사용하면 컨테이너가 자체 네트워킹을 갖게 되고, 반면 pasta를 쓰면 커널의 TCP/IP stack을 직접 활용함  
  궁금하다면 [여기 링크의 다이어그램](https://passt.top/passt/about/)을 참고하면 자세함

* 나는 특별히 네트워크 스택을 정식으로 공부하지 않았는데도, 수십 년간 Linux를 써오다 보니 대부분의 스택 구조가 익숙해져서 신기한 느낌임

* 혹시 다이어그램을 svg 파일로 볼 수 있는지 궁금함  
  pdf에만 포함되어 있어 읽기 어렵게 느껴짐

  * 임베디드 PDF 뷰어 아래에 "Download"를 누르면 PDF 전체를 받을 수 있음

* *단순화된 그림임*  
  실제로는 iptables나 nftables까지는 들어가 있지 않음

  * iptables를 유심히 바라보면, iptables 역시 나를 쳐다본다는 느낌임
