Wiznet Academy

위즈네트 아카데미

OPEN PROJECT

오픈 프로젝트

WIZnet Treasure Ping & ARP Message

3914 2018.05.28 14:10 조회 수 : 15

### Introduction


이 글에서는 Ping과 Arp 메세지에 대해 알아보고 전송하는 방법에 대해 소개하고자 한다.
Ping 메세지는 흔히 네트워크의 상태를 확인하기위해 전송하는 메세지로써 ICMP Protocol의 한 종류이다.
user는 host의 동작유무를 확인하기 위해 ICMP echo request를 전송한다.
host가 동작중일 경우 ICMP echo reply를 전송해주어 동작유무를 확인한다.
Arp 메세지는 IP Address를 통해 MAC Address를 얻어오기 위한 메세지이다.
일반적인 제품들은 네트워크 통신에서 IP Address를 설정한 후 데이터를 전송 할 경우 Arp가 자동으로 수행되도록 제공하고있다.
이제 W5100S 에서는 Socket open없이 command 설정을 통해 Arp와 Ping message를 전송하는 방법과 기존 제품인 W5100으로 전송하는 방법에 대해 알아보고자 한다.

---          
### Ping Message          
앞서 말했듯이 서버의 동작 여부를 확인하고 싶을 때는 Ping 메세지를 전송하면 된다.
W5100으로 Ping Message를 전송하기 위해서는 IPraw모드로 Socket을 Open하여 ICMP 메세지를 Software로 구현하여 전송해야 한다.
Arduino EthernetSheild를 이용할경우 제공하고 있는 코드를 이용하면 간편하게 전송할 수 있다.
아래 Link에서 코드와 전송밥법에 대해 알 수 있다.

https://labby.co.uk/arduino-visual-icmp-ping-multiple-server-monitor-icmp-echo-request/

W5100S로도 W5100과 같은 방법으로 전송이 가능하다.
하지만 W5100S는 Socket Open없이 Command 설정만으로도 PING 메세지를 전송할 수 있다.
Socket을 Open 하지 않아도 된다는점과 Software로 ICMP 메세지를 구현하지 않아도 된다는 점에서 더 편리하다고 할 수 있다.
Ping Message를 전송하기위해서 Retranmission Timer Value, Retransmission Count Value, Sequence Number, Identifier, Destination IP 를 설정후 Command를 설정하면 Ping request 패킷이 전송된다.
아래 Link에서 코드와 전송밥법에 대해 알 수 있다.

http://wizwiki.net/wiki/doku.php?id=products:w5100s:application:slc

---          
### ARP Message

앞서 말했듯이 Arp란 IP Address를 통해 MAC Address 를 얻기위한 메세지이다.
일반적인 경우 User가 arp 메세지를 강제로 전송할 필요는 없다.
User가 Destination IP를 설정한 후 데이터를 전송하기만 하면 Arp가 진행된 후 해당 Mac Address로 데이터가 전송되어지기 때문이다.
하지만 한번 Arp가 실행되어 Destination의 Mac Address를 얻어온 후에 Destination의 주소가 바껴버릴경우에는 이전 Address로 데이터 전송이 유지된다.
이럴경우 강제로 ARP가 전송되도록 설정해주어야 한다.
W5100으로 ARP를 강제로 전송하기 위해서는 MACraw 모드로 Socket을 Open후 Arp를 Software로 구현한 후 전송하여야한다.
하지만 Socket을 Open해야하고 Arp 메세지를 구현해야하는 불편함이 있다. 따라서 Destination IP를 바꾼후 다시 설정하는것을 추천한다.
Destination IP가 변경될때마다 Arp를 다시수행하게 된다.
하지만 Ping Message와 마찬가지로 W5100S에서는 W5100과 같이 Arp를 전송할 수 있지만 Command 설정만으로도 ARP 메세지를 전송할 수 있다.
전송방법은 Ping과 같으며, ARP의 경우는 Sequence Number, Identifier의 설정 필요없다.

---          
Curator : becky from WIZnet </br>          
Email : becky@wiznet.io