네트워크 계층에서 IP 패킷이 전달되는 과정
2025. 2. 2. 23:21ㆍLinux*security/Network
반응형
IP 패킷 흐름 (Linux Kernel Network Stack 기준)
- 패킷 수신 (Inbound)
- net_rx → ip_rcv → NF_IP_PRE_ROUTING (Netfilter) → ip_rcv_finish
- 목적지가 로컬이면: ip_local_deliver → ip_local_deliver_finish
- 목적지가 다른 노드(Forwarding): ip_forward → NF_IP_FORWARD → ip_forward_fin/ish
- 패킷 전송 (Outbound)
- ip_queue_xmit → ip_finish_output → NF_IP_POST_ROUTING
- 인터페이스를 통해 전송: dev_queue_xmit
- Forwarding (라우터 역할)
- ip_forward → NF_IP_FORWARD → ip_forward_finish
이 흐름을 통해 패킷이 수신(Ingress)되거나 송신(Egress)되며, 필요 시 포워딩될 수도 있다.
IP 패킷 흐름 (Linux Kernel Network Stack 기준)
1. 패킷 수신 (Inbound)
- NIC에서 패킷 수신
- net_rx: 네트워크 인터페이스 카드(NIC)에서 패킷을 수신
- IP 프로토콜 핸들링
- ip_rcv: 수신된 패킷을 IP 계층에서 처리
- NF_IP_PRE_ROUTING: Netfilter 훅으로, 패킷 필터링(iptables) 등의 기능 수행
- ip_rcv_finish: 패킷 헤더 검증이 끝난 후 처리
- 로컬 전달 여부 결정
- 목적지가 현재 호스트라면 ip_local_deliver → ip_local_deliver_finish
- 목적지가 다른 네트워크 노드라면 ip_forward로 전달
2. 패킷 전달 (Forwarding, 라우터 기능 수행 시)
- ip_forward: 라우팅 테이블을 확인하여 패킷을 전달할지 결정
- NF_IP_FORWARD: Netfilter 훅을 거쳐 패킷 필터링 적용
- ip_forward_finish: 다음 홉(Next Hop)으로 패킷을 전송
3. 패킷 전송 (Outbound)
- ip_queue_xmit: 패킷을 네트워크 인터페이스로 전송 준비
- ip_finish_output: 패킷의 마지막 처리
- NF_IP_POST_ROUTING: Netfilter 훅에서 NAT 등의 작업 수행
- dev_queue_xmit: 실제 네트워크 인터페이스를 통해 패킷 전송
IP 패킷 흐름 (Linux Kernel Network Stack 기준)
1. 패킷 수신 (Inbound)
- NIC에서 패킷 수신
- net_rx: 네트워크 인터페이스 카드(NIC)에서 패킷을 수신
- IP 프로토콜 핸들링
- ip_rcv: 수신된 패킷을 IP 계층에서 처리
- NF_IP_PRE_ROUTING: Netfilter 훅으로, 패킷 필터링(iptables) 등의 기능 수행
- ip_rcv_finish: 패킷 헤더 검증이 끝난 후 처리
- 로컬 전달 여부 결정
- 목적지가 현재 호스트라면 ip_local_deliver → ip_local_deliver_finish
- 목적지가 다른 네트워크 노드라면 ip_forward로 전달
2. 패킷 전달 (Forwarding, 라우터 기능 수행 시)
- ip_forward: 라우팅 테이블을 확인하여 패킷을 전달할지 결정
- NF_IP_FORWARD: Netfilter 훅을 거쳐 패킷 필터링 적용
- ip_forward_finish: 다음 홉(Next Hop)으로 패킷을 전송
3. 패킷 전송 (Outbound)
- ip_queue_xmit: 패킷을 네트워크 인터페이스로 전송 준비
- ip_finish_output: 패킷의 마지막 처리
- NF_IP_POST_ROUTING: Netfilter 훅에서 NAT 등의 작업 수행
- dev_queue_xmit: 실제 네트워크 인터페이스를 통해 패킷 전송
이와 같은 구조를 통해 IP 패킷이 네트워크 스택을 거쳐 전달된다.
추가적인 질문이 있으면 알려주세요! 😊
반응형
'Linux*security > Network' 카테고리의 다른 글
Cisco EIGRP (0) | 2025.02.23 |
---|---|
L2TP (Layer 2 Tunneling Protocol) (0) | 2025.02.01 |
VLAN 을 사용하여 4대의 PC와 라우터, 스위치 간의 연결을 설정 (0) | 2025.01.31 |
HSRP는 고가용성 라우터 (0) | 2025.01.31 |
와일드카드 마스크(wildcard mask) (0) | 2025.01.10 |