안녕하세요.
arp 관련해서 구현을 하시고 싶으신거죠?
먼저, 아래의 URI 페이지로 넘어가셔서 W7100A Application Note (Docs & Sample Codes)을 다운받으세요.
wiznet.co.kr/ko/product-item/imcu7100-evb/
받으신 파일의 압축을 풀고, 아래의 경로대로 폴더에 접속하시면 ARP를 구현한 예제가 있습니다.
W7100A_AN_SampleCodes_v1.51 → Applications → MACRAW
간단한 설명을 드리자면,
W5500칩은 내부적으로 ARP를 처리합니다.
W5500칩을 이용하여 상대방 Peer 와 통신할 때, 칩 내부적으로 ARP 패킷을 전송한 뒤 MAC에 대한 정보를 받고 Data 통신을 하게 되는데요.
만약 사용자가 이를 직접 구현하고 싶다면 다음과 같은 방법으로 구현하셔야 합니다.
-
Socket을 새로 생성합니다. (이 말은 현재 Data전송하는 Socket에 ARP를 전송할 Socket을 따로 생성해야한다는 뜻입니다.)
-
다운로드 한 ARP Example을 이용하여 ARP 패킷 전송 (W5xxx 시리즈와 W7xxx 시리즈는 Socket 생성방법이 다릅니다. 이를 확인해주세요.)
Application 부분의 구현은 따로 수정이 필요없을 것으로 보입니다. 다만 Socket 생성 방법이 다르니 확인하고 작성해주시면 될 것 같습니다.
ARP는 크게 Request (요청) 패킷과 Response (응답) 패킷으로 나뉘게 됩니다.
Request는 말그대로 IP에 MAC을 요청하는 것이고, Response는 요청에 대한 응답으로 자신의 MAC주소를 패킷에 첨부하여 전송하게 됩니다.
감사합니다.