IPRAW 프로그램을 구동시 PING TEST 되지 않아 문의 드립니다.
PING 테스트 시에 ARP 프로토콜로 보내기는 하나 수신은 되지 않는 것 같습니다.
원래는 ICMP프로토콜로 보내는 것으로 알고 있는데 무엇이 문제 일까요?
회로구성에 문제가 있는지 회로를 첨부하였습니다. 그리고 수신이 되는지 확인 할 방법은 없는지요?(레지스터 확인 방법)
Sn_CR(SENDOK)에 값이 제대로 써졌다면, Sn_IR(SENDOK)가 interrput로 뜨게 됩니다.
먼저, Timeout 발생 원인은 다음과 같습니다.
Timeout interrupt
ARP Timeout
TCP Timeout
1번은 RTR과 RCR로 Data재전송의 시간과 횟수를 설정하여 Timeout을 발생합니다.
3번 TCP로 동작하기 때문에 상관없습니다.
2번은 ARP Response의 수신을 기다리다 난 Timeout입니다.
동작원리는 다음과 같습니다.
통신시 상대방의 IP address 로 MAC address 를 알기 위해 자동으로 ARP-request 를 전송합니다.
이때 상대방의 ARP response 수신을 기다리는데, RTR 의 설정 대기 시간 동안 ARP-response 의 수신이없으면, Timeout 이 발생하고 ARP-request 를 Retransmission 합니다. ‘RCR + 1’만큼 반복하게 되며, ‘RCR + 1’개의 ARP-request retransmission 이 일어나고, 그에 대한 ARP-response 가 없다면, Final timeout 이 발생하게 되고, Sn_IR(TIMEOUT) = ‘1’ 됩니다.