네트워크 스택(TCP/IP)이 localhost로 전송된 UDP 메시지를 처리하는 방법을 이해하려고 합니다. 나는 그것이 스택 아래로 IP 계층으로 내려가고 localhost가 보이면 스택 위로 다시 보낸다고 가정합니다.
또한 네트워크 스택(TCP/IP)이 자신의 NIC로 가는 UDP 메시지를 어떻게 처리하는지 알고 싶습니다. 내 네트워크 카드에 192.168.0.1이 할당되어 있고 소스 주소와 대상 주소가 동일하면 어떻게 됩니까? 하드웨어를 벗어나고 스택 아래로 얼마나 멀리 가나요?
이러한 일이 발생하는 모든 Linux 소스 코드는 크게 감사하겠습니다!
답변1
하드웨어에는 도달하지 않습니다. 전자의 경우 루프백 인터페이스 linux/drivers/net/loopback.c에서 처리됩니다. 후자의 경우 NIC를 지원하는 모든 드라이버에서 처리됩니다. "netstat -i"를 사용하면 각 인터페이스와 관련된 통계는 물론 해당 인터페이스로 들어오고 나가는 트래픽을 생성하는 netcat과 같은 기능도 볼 수 있습니다.