Linux 커널이 패킷을 보유하고 있습니까?

Linux 커널이 패킷을 보유하고 있습니까?

저는 DNS 확인을 위한 타사 프로그램(내장형 솔루션)을 살펴봤고 DNS 쿼리를 업스트림 서버로 보내는 코드에서 connect() 다음 send()를 수행할 것입니다.

send()는 주어진 바이트 수(즉, -1 또는 errno가 설정되지 않음)를 반환하지만 Wireshark에서는 DNS 쿼리를 볼 수 없습니다. 따라서 DNS 프로그램은 패킷이 전송되었다고 생각하지만 이에 대한 응답을 받지 못하고 해당 패킷의 시간이 초과됩니다. 후속 DNS 쿼리는 문제 없이 진행됩니다.

커널이 패킷을 보유하고 있습니까? 그렇다면 왜 이 작업을 수행하는지 어떻게 알 수 있습니까? 이 패킷의 아웃바운드를 차단하는 규칙은 없습니다.

원격 대상에 대한 경로에 도달할 수 없다고 생각하면 커널이 패킷을 보관할 수 있다고 들었습니다. 이런 일이 발생하고 있다면 이에 대해 어떻게 더 알 수 있습니까?

관련 정보