W5500 관련 네트워크 연결 문의

제품 관련 이외에 일반적인 내용에 대한 포럼
simhannom
Posts: 2
Joined: Thu Nov 03, 2016 4:29 pm

W5500 관련 네트워크 연결 문의

Postby simhannom » Thu Dec 29, 2016 2:17 pm

안녕하세요. 귀사의 W5500을 이용하여 네트워크 통신을 사용하고있습니다.

현장에서 특이 사항이 발생하여 문의 드립니다. 현상은 아래와 같습니다.
1. 환경 : 고정 IP 로 라우터와 연결. 장비 - 라우터 - KTF 장비 - VPN ~~~~ VPN
2. 문제 : 다른 업체 장비를 연결하면 정상적으로 통신이 가능.
문제 장비를 연결하면 서버에 connect 를 못함.
3. 현상 : 기본적으로 디버깅을하면 socket 연결 후 connect 를 진행하면 연결 확인 하는 부분에서 계소 socket_closed 로 체크가되면서 에러 발생.

위와 같은 현상이 계속 발생하고 있습니다.
그래서 문의 사항을 드리려고 합니다.
1. 기존 sample 코드에서 socket(SOCK_DHCP, Sn_MR_TCP,5000,0x00) 해당 코드로 소켓 을 연결하는데 5000이라는 port의 의미는 무엇있가요
2. socket 함수의 내부에 보면 마지막단에 sn의 상태를 계속 읽어서 SOCK_CLOSED 가 아닐때까지 while를 도는데 DHCP 모드와 Static 모드의 경우 어떠한 값으로 체크가 되어야 정상적으로 socket을 연결했다고 인식할수 있나여? [ 문제 발생 현장에서는 계속 0x22 로 체크가 됩니다 ]
3. connect 부분에서 if (getSn_IR(sn)&Sn_IR_TIMEOUT) 에서 true가 나오면 타임아웃으로 빠지는데 해당 코드의 경우 어떤 상황인지 알고 싶습니다

기본적으로 제공받은 sample 소스에서수정된 부분은 거의 없으며 거의 비슷하다고 보면 됩니다.

관련되어 답변 부탁드립니다

Kei
Posts: 27
Joined: Thu Nov 10, 2016 1:17 pm

Re: W5500 관련 네트워크 연결 문의

Postby Kei » Tue Jan 03, 2017 5:05 pm

안녕하세요.


먼저 간단한 답변 드린 후에, 자세한 답변에 필요한 내용을 질문하겠습니다.

1. socket 이라는 함수는 소켓을 open하는 기능입니다. socket에는 port정보가 필요합니다.
DHCP서버에 IP할당 요청을 하려면 디바이스도 소켓이 필요하기 때문에 이러한 과정을 거치는 것입니다.
그 소켓을 여는데 사용하는 정보 중 하나가 포트번호입니다.
하지만, DHCP는 사용하는 포트가 정해져 있습니다.
DHCP Server는 67번 포트를 사용하며, Client(장비)는 68번 포트를 사용합니다.
따라서 실제 소스라면, 68번으로 변경해주셔야 합니다.
1번 답변과 관련하여, 일반적으로 알려지거나 예약된 포트 정보에 대해서는 아래 링크를 참조하시면 되겠습니다.
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
추가로, Client 포트번호를 고정해서 사용하는 이유에 대해서는 아래 링크를 참조하시면 되겠습니다.
http://serverfault.com/questions/517223/why-does-dhcp-have-fixed-client-and-server-port-numbers

2. 체크하신 Hex값으로는 0x01입니다. 즉 Sn_CR 레지스터 상태가 OPEN(0x01)이 되어야 합니다.
이는 Static과 DHCP와는 상관없이 동일합니다.
다만, 그 외의 레지스터 상태는 TCP/UDP 와 Server/Client에 따라 구분됩니다.

3. 코드 내용은 연결 시도 시 TimeOut이 발생한 경우에 실행됩니다. 이러한 이유로 표현하신대로 타임아웃으로 빠지는 것입니다.
질문자님의 상황을 빗대어 표현하면,
장비(client) - 서버(server) 연결을 시도할 때, client로부터 요청한 내용에 대한 server의 응답을 전혀 받지 못한 경우에 발생합니다.
client로부터 server로 연결신호가 닿지 않거나 server가 응답을 해주지 않는 경우가 되겠습니다.


2,3번에 대해서 자세한 내용은 아래 링크의 Sn_CR과 Sn_IR 레지스터를 참조하시면 되겠습니다.
http://wizwiki.net/wiki/lib/exe/fetch.php?media=products:w5500:w5500_ds_v107e_160224.pdf

추가적으로, "기본적으로 제공받은 sample 소스"가 어떤 소스인지 알려주시거나 링크 주시면, 보다 정확하고 빠른 답변이 가능하겠습니다.


업무에 도움이 되셨길 바랍니다.
감사합니다.


Return to “일반적인 내용”

Who is online

Users browsing this forum: No registered users and 1 guest