Art of Pr0gr4m

[Linux Kernel] network (networking stack) 본문

IT/Linux Kernel

[Linux Kernel] network (networking stack)

pr0gr4m 2021. 7. 14. 20:59

리눅스 커널 네트워킹 스택에 대해 설명합니다.

sk_buff, ICMP, IP, 라우팅 서브시스템, 이웃 서브시스템(ARP, NDISC), TCP, UDP, SCTP, netfilter 등에 대해 포스팅 중입니다.

블로그가 아닌 깃허브 페이지에 작성하였기 때문에 링크들을 첨부합니다.

 

※ 해당 포스트 내용들은 기본적으로 Linux Kernel Networking 서적을 레퍼런스로 하고 있습니다.

 

0-1. Linux Kernel Build

Linux Kernel Build - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel Build

해당 포스트는 Ubuntu 20.04 버전을 기준으로 리눅스 커널을 빌드하고 설치하는 방법을 설명합니다.

pr0gr4m.github.io

 

0-2. Debugging Filesystem

Linux Debugging FileSystem - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Debugging FileSystem

해당 포스트에서는 커스텀 디버깅 파일시스템을 통하여 커널 디버깅하는 방법을 설명합니다.

pr0gr4m.github.io

 

0-3. ftrace

Linux Ftrace - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Ftrace

해당 포스트에서는 기본적인 ftrace 사용법에 대하여 설명합니다. ftrace는 커널 내부 동작을 파악하기 위하여 사용하는 디버깅 도구입니다. 다음과 같은 기능들이 있습니다. dynamic kernel function traci

pr0gr4m.github.io

 

1. sk_buff 구조체

Linux Kernel SKB - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel SKB

해당 포스트에서는 sk_buff 구조체에 대하여 설명합니다.

pr0gr4m.github.io

 

2. ICMPv4

Linux Kernel ICMPv4 - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel ICMPv4

해당 포스트에서는 리눅스 커널의 ICMPv4 구현에 대해 설명합니다.

pr0gr4m.github.io

 

3. IPv4

Linux Kernel IPv4 - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel IPv4

해당 포스트에서는 리눅스 커널의 IPv4 구현에 대해 설명합니다.

pr0gr4m.github.io

 

4. IPv4 Routing Subsystem

Linux Kernel IPv4 Routing Subsystem - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel IPv4 Routing Subsystem

해당 포스트에서는 리눅스 커널의 IPv4 라우팅 서브시스템 구현에 대해 설명합니다.

pr0gr4m.github.io

 

5. Neighbour Subsystem

Linux Kernel Neighbour Subsystem - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel Neighbour Subsystem

해당 포스트에서는 리눅스 커널의 이웃 탐색 시스템과 ARP 프로토콜 구현에 대해 설명합니다.

pr0gr4m.github.io

 

6. IPv6

Linux Kernel IPv6 - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel IPv6

해당 포스트에서는 리눅스 커널의 IPv6 구현에 대해 설명합니다.

pr0gr4m.github.io

 

7. ICMPv6

Linux Kernel ICMPv6 - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel ICMPv6

해당 포스트에서는 리눅스 커널의 ICMPv6 구현에 대해 설명합니다.

pr0gr4m.github.io

 

8. Netfilter

Linux Kernel Netfilter - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel Netfilter

해당 포스트에서는 리눅스 커널의 넷필터에 대해 설명합니다. 넷필터 서브시스템은 네트워크 스택 내에서 패킷이 이동하는 여러 지점에 콜백을 등록하는 것을 비롯해 주소나 포트 변경, 패킷 dr

pr0gr4m.github.io

 

9. Socket, UDP, TCP

Linux Kernel Layer 4 Network - Linux Kernel Analysis (pr0gr4m.github.io)

 

Linux Kernel Layer 4 Network

해당 포스트는 리눅스 커널의 Layer 4 계층에 대하여 설명합니다.

pr0gr4m.github.io