[W6100] TCP, ping 동시 통신시 ping 응답 오류 - Destination unrechable


아래의 경우 ping reply 시 Destination unreachable 이 발생합니다.

packet을 보면 id가 잘못되어 있습니다.
checksum 이 currect 인것으로보아 packet이 깨진것은 아닌 것같습니다.


통신 연결상태는 다음과 같습니다. (한 device에 2개의 w6100이 있습니다.)
W6100 eth1(192.168.10.3) TCP 서버 <-------> PC (192.168.10.111) TCP Client
W6100 eth1(192.168.10.3) <-------> PC (192.168.10.111) PING
W6100 eth2(192.168.11.3) TCP 서버 <-------> PC (192.168.11.111) TCP Client
W6100 eth1(192.168.11.3) <-------> PC (192.168.11.111) PING

대략 1초에 한번씩 요청/응답하는(TCP, ping 각각) 구조입니다.
PC의 TCP Client는 개발한 SW사용중이고, ping 은 cmd창에서 실행했습니다.
캡처는 pc에서 wireshark로 잡았습니다.

ㅁ 아래 처럼 발생합니다.

  1. PC가 ping 을 요청하고 ping 응답을 받기전에 TCP 요청을 할 때 발생합니다.
  2. checksum 이 currect입니다. 외부 노이즈같은 영향으로 packet이 깨진것이 아닌 것 같습니다. 해당 device만 이상한지 확인하기위해 바꿔봤는데 마찬가지 현상이 발생합니다.
  3. 잘못된 것은 ping reply의 id만입니다. seq등도 모두 맞습니다.
  4. 여기 포럼을 검색해보니 약간 비슷한 경우가 있습니다. 관련이 있는지는 모르겠습니다.
    W5300 ICMP ping reply data error when UDP communication via MACRAW socket
  5. 1분~5분간격으로 발생합니다.


통신내용은 같게, 다른 구성으로 (PC를 2대로 구성 - TCP통신하는 PC따로, PING시도하는 PC따로) 시험하면 문제 없습니다.
TCP만 통신해도 문제가 없고, PING만해도 문제가 없습니다.
같이 할때만 문제입니다.


해결할 방법을 알수 있을까요? ping이 끊기니 통신이 가끔씩 죽는다는 오해를 받고 있습니다.

20220920_1721_pingerr.zip (331.5 KB)

자답입니다.

결국 ping auto reply 는 포기하고,
소켓하나 열어서 ipraw4 모드로 ICMP(ping) 받아 직접 처리하는 것으로 해결보았습니다.

저문제 발생하는게, 좀 편차가 심합니다.
빠르면 1분에 2번도 생기는데, 늦으면 15분동안 발생하지 않기도하고,
어느날은 좀 괜찮다가 어느날은 많이 발생하고…
PC가 다르면 잘 발생하지 않기도 합니다.
ㅠ.ㅠ