리눅스에서의 패킷 흐름?
글쓴이: NewbieProgrammer / 작성시간: 화, 2007/03/27 - 8:24오전
리눅스에서 PF_PACKET으로 생성한 소켓을 통해 low level 통신을 구현하려고 합니다.
Kernel 레벨이 아닌 User 레벨의 프로그램을 만드려고 하는데요, 궁금한 점이 생겨서 질문드립니다.
제가 지금까지 찾아본 바에 의하면 저렇게 생성한 소켓으로 recvfrom()을 이용하여 이더넷 프레임을 읽게되면
그 안에 담긴 패킷이 상위 레이어로 가는 경우 소켓 버퍼에서 사라지지 않고 단지 읽어오기만 되는 것이더군요.
그렇다면 이더넷 프레임까지만 이용하는 다른 프로토콜들(예를 들면 ARP)은 그 이후의 흐름이 어떻게 되는 것인가요?
계속 소켓 버퍼에 남아있을리는 없을 것이고, 커널이 이더넷 헤더의 frame type을 보고 상위 레이어로 전달할 필요가
없는 패킷이면 일정 시간이 지난뒤 버퍼에서 지워버리나요?
Forums:
댓글 달기