![Linux 커널이 패킷을 보유하고 있습니까?](https://rvso.com/image/168796/Linux%20%EC%BB%A4%EB%84%90%EC%9D%B4%20%ED%8C%A8%ED%82%B7%EC%9D%84%20%EB%B3%B4%EC%9C%A0%ED%95%98%EA%B3%A0%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
저는 DNS 확인을 위한 타사 프로그램(내장형 솔루션)을 살펴봤고 DNS 쿼리를 업스트림 서버로 보내는 코드에서 connect() 다음 send()를 수행할 것입니다.
send()는 주어진 바이트 수(즉, -1 또는 errno가 설정되지 않음)를 반환하지만 Wireshark에서는 DNS 쿼리를 볼 수 없습니다. 따라서 DNS 프로그램은 패킷이 전송되었다고 생각하지만 이에 대한 응답을 받지 못하고 해당 패킷의 시간이 초과됩니다. 후속 DNS 쿼리는 문제 없이 진행됩니다.
커널이 패킷을 보유하고 있습니까? 그렇다면 왜 이 작업을 수행하는지 어떻게 알 수 있습니까? 이 패킷의 아웃바운드를 차단하는 규칙은 없습니다.
원격 대상에 대한 경로에 도달할 수 없다고 생각하면 커널이 패킷을 보관할 수 있다고 들었습니다. 이런 일이 발생하고 있다면 이에 대해 어떻게 더 알 수 있습니까?