ping에서 dup 발생하는 문제
글쓴이: linuxs / 작성시간: 월, 2004/05/31 - 4:59오후
안녕하세요 무선랜을 설치해서 Ad-hoc 모드로 설정한 다음 A에서 B로 통신하도록 하였습니다. 통신은 잘 돼는데 ping을 날렸을때 (dup!)라는 메시지가 불규칙적으로 나옵니다. 문서를 찾아보니 broadcast에 대한 응답이 중복되있다고 그러더군요..그리고 이런 현상이 나타나면 보안에 취악하다고 하던데..
비슷한 경험 있는분 조언 부탁드립니다. 커널에서 네트워크 옵션을 잘못 설정한건지 모르겠습니다.
Forums:
무선랜에서는 duplication이 종종 발생할 수 있는 것으로 정상적인
무선랜에서는 duplication이 종종 발생할 수 있는 것으로 정상적인 상황으로 보입니다.
무선구간에서 손실도 많고 충돌도 많이 생길수 있기 때문에 이더넷과는 달리 무선랜에서는 unicast packet에 대하여는 패킷을 받는 놈이 ACK 응답을 합니다.
이더넷은 CSMA/CD (Carrier Sense Multiple Access / Collision Detection)인데,
무선랜(WiFi)는 CSMA/CA (.../Collision Avoidance) 입니다.
유선에 비하여 collsion을 검출할때 비용 및 한계가 있기 때문에 가능한 충돌을 회피하는 방법을 사용하죠. 이중 하나가 보낸 packet에 대한 ACK 응답을 주는 것입니다.
예를 들어 다음과 같은 상황이면 duplication이 발생할 수 있죠.
A ------------------- B
--- ICMP request ->
<-- ACK -------------
<-- ICMP reply -----
--- ACK -----X
<-- ICMP reply -----
--- ACK ------------>
A가 ACK를 응답을 하였는데 이것을 B가 못받으면 B는 재전송을 합니다.
이렇게 되면 결과적으로 A는 두번의 ping 응답을 받은 셈이 되죠.
물론 Driver에서 Frame sequence를 확인하여 중복된 packet을 걸러준다면 이와 같은 상황은 발생치 않을 테지만 보통은 굳이 이런 처리는 하지 않을 거에요.
이더넷을 사용해서 문제가 발생치 않는다면 kernel은 문제가 없는 것으로 생각하시면 됩니다.
댓글 달기