W5200 공인ip 접속실패 관련 문의

현재 W5200+8bit MCU을 Client Mode로 사용하고 있는 개발자 입니다.
발생되고 있는 문제는 사설 네트워크 망에서는 192.168.0.n 에서는 잘동작하나
허브를 통하여 외부망을 거쳐 공인IP Server에 접속을 하여야 하는데 현재 접속이 되지 않고 있는 상태입니다.

  1. Test1
    • 고정IP에 32768 Port 설정 : 외부 서버와 접속안됨.
  2. Test2
    • DHCP 할당, 32768 Port 설정 : 외부 서버와 접속되어 잘동작하나 서버 Restart시 재접속 안됨.

위 두가지 경우 모두 Ping은 정상적으로 되었습니다.
관련하여 PC Program Client 소스에 AF_inet, PE 두가지 속성이 있는데 혹 W5200에서 설정이 필요한 것인지,
아니면 Code로 추가구현이 필요한 사항인지 확인 부탁 드립니다.
또한 Sample Code 부탁 드립니다.
수고하십시오.

안녕하세요.

제가 알고 있는 내용으로 설명드리겠습니다.

1번

  • 이와 같은 문제에 대해서 여쭤보고 답변드리겠습니다.
    2번
  • client의 port 번호 또한 랜덤한 값으로 변경하셔야합니다.
    접속이 끊겼다고는 하나, 해당 port번호를 Server쪽에서 끊지 않은 경우가 있기 떄문입니다.
    저희 Driver를 보시면 client의 port번호는 접속시마다 변경되도록 되어있습니다.

AF_INET와 PE_INET를 말씀하시는 거라면, W5200은 PE_INET입니다.
하지만 W5200자체에 별도로 설정해주는 부분은 없으며, 저희가 제공하는 드라이버를 보시면,
PE_INET를 나타냄을 알수 있습니다.

application code는 cortex-m3에 한하여 제공되고 있으며, W5200는 별도로도 제공되고 있어 참고하시면 좋을 것같습니다.

Cortex-m3 code URL : [url]http://www.wiznet.co.kr/sub_modules/en/product/product_detail.asp?Refid=634&page=1&cate1=5&cate2=7&cate3=56&pid=1144&cType=2[/url]
W5200 Driver URL : [url]http://www.wiznet.co.kr/sub_modules/en/product/product_detail.asp?Refid=642&page=1&cate1=5&cate2=7&cate3=56&pid=1144&cType=2[/url]

사용하시는 mac 주소나 ip가 서로 충돌이 없는 Unique한 값을 사용하시는지 확인하세요.

IP정보와 MAC 주소가 잘못되지 않았다면 외부와의 통신이나 로컬의 통신이나 동일하게 동작합니다.
외부연결시 접속이 안되는 경우는 라우터등에 해당 단말의 정보가 제대로 등록이 되지 않았기 때문입니다.

공유기를 통한 접속이 제대로 이루어지는 것으로 보아 아이피나 맥주소의 값이 승인된 것이 아닐 가능성이 높습니다.

서버가 리스타트시 재접속을 하지 않는다는 것은, 사용자가 서버 연결이 끊어졌을 때를 확인 하여 재접속을 시도하지 않는것으로 재접속이 필요하다면 다시 접속하시는 코드가 있어야 합니다.
서버 연결은 해당 socket이 close되거나 Keep Alive check등으로 확인할 수 있습니다.

또한 Client 코드 작성시 실수를 많이 하는 부분은 Source 포트 넘버는 이전에 사용했던 값을 사용해선 안됩니다. 물론 서버쪽 Listen 포트는 동일한 값을 사용해야겠지요.