[질문!!!] madwifi와 ping..
글쓴이: youdotan / 작성시간: 금, 2009/07/31 - 9:46오전
사정이 생겨서
현재 madwifi-0.7.4내의 소스들을 수정하며 make,dmesg 명령등을 통해 무선랜에서의 패킷전송을 확인하고 있습니다.
ping ***.***.***.***을 치면 리눅스로부터 특정 client에게 패킷(64kb)을 보내고 ack수신여부 및 걸린 시간이 나오더군요
이것을 madwifi-0.7.4내의 소스들이 관리해 줍니까?
좀더 구체적으로 madwifi에 if_ath.c라는 파일에 전송시작과 완료지점에 do_gettimeofday를 사용하여 전송시간을 측정했는데
ping이랑은 전혀 다른 값이 나오더군요.
걸리는 시간도 다르고, 패킷전송횟수도 다르고..
물론 기록하는 방식의 차이일 수도 있겠지만
예를 들어 ping을 보내다가 도중에 끊어도 madwifi내용을 dmesg로 확인해 봤자 전송실패를 잘 다루지 않습니다.
질문이 좀 어렵습니다만
혹시 이 부분 조금이라도 해보신 분 계시다면 답변 부탁드리겠습니다.
기다릴께요.
Forums:
질문 내용이 이해가 되지 않습니다만...
먼저 MadWifi의 정확히 어떤 지점에서 시간차를 측정해 보셨는지 묻고 싶고요.
요즘 유통되고 있는 Atheros Wifi chip들은 대부분 Hardware Buffer를 갖고 있어서
TX queue에 입력하는 부분에서 시간을 측정했다면 잘못된 값을 얻을 가능성이 높습니다.
(TX interrupt가 나오기는 합니다만 실제로 실험해보면 TX interrupt가 발생한 이후에
packet의 처리가 종료됩니다. TX interrupt를 정확한 실제 처리 시간으로 보기에는 무리가
있습니다.)
그리고 MadWifi에서 관리하는 정보로는 개별 packet의 ack 수신 여부와 걸린 시간을 알
수 없습니다. (전체 통계는 유지하고 있습니다)
* 패킷 전송 횟수는 ping이 발생하기 이전에 ARP나 IEEE 802.11 management, control 패킷
등의 전송 때문에 ping의 횟수보다 많게 나오는 것이 정상입니다.
* ping을 보내다 끊는 것이 전송 실패로 인정될 이유는 없다고 봅니다. ping 응용 프로그램이
user signal에 의해 종료된 것이지 MadWifi에서는 전송에 실패하지 않았을 것이기 때문입니다.
좋은 답변 감사합니다.
-
댓글 달기