WIZnet Developer Forum

W5300 외부망을 통한 TCP/IP 통신 문제

W5300을 사용해서 TCP/IP 통신을 하고 있습니다.
서버쪽은 윈도우 프로그램을 만들었구요, Client 쪽은 W5300 보드입니다.
참고 소스는 W5300_Drv_AVR_V1.2.2 예제 소스를 이용하였습니다.

u08 ServerIP[4] = {112,216,161,174};
u08 ClientIP[4] = {10.110.1.250};
u08 Gateway[4] = {10.110.1.241};
u08 Subnet[4] = {255,255,255,240};
u08 Mac[6] = {0x70,0xB3,0xD5,0xF7,0x2E,0xEE};

int main(void)
{

setSHAR(Mac);
setGAR(Gateway);
setSUBR(Subnet);
setSIPR(ClientIP);

while(1){
loopback_tcpc(SocketNo1, ServerIP, PORT_No, bufferRXPacket, 0);
}

}

윈도우프로그램(TCP/IP Server) - W5300보드(TCP/IP Client)
현재 이렇게 구성되어 있는데,
내부망에서는 문제없이 접속되고 데이터 송수신도 잘됩니다.
그런데 외부망을 통하면 이상하게 접속이 안되네요…;;
물론 서버(공인IP)쪽 방화벽에서는 포트포워딩을 해주었구요…

외부망을 통해서 TCP/IP 통신을 하려고 하면 다른 설정이 필요한 부분이 있는지요?
위 소스의 W5300 설정하는 부분에서 추가로 뭔가 더 설정해야 할 것 같은데…
어렵네요…

혹시나 해서
윈도우프로그램(TCP/IP Server : 112.216.161.174) - 윈도우프로그램(TCP/IP Client : 10.110.1.250)
으로 해서 해보면 문제없이 잘됩니다.
Client (10.110.1.250)에서 4btye 데이터를 몇번 보내어 봤는데, wireshark에 보면 아래와 같이 나오네요.


그런데
윈도우프로그램(TCP/IP Server : 112.216.161.174) - W5300보드(TCP/IP Client : 10.110.1.250)
이렇게 구성하면 아래와 같이 나옵니다…

네트워크에 대해 정확한 개념이 부족해서… 무엇을 의미하는지 잘모르겠는데…
해결 방법 좀 알려주실 수 있을까요?
조언 좀 부탁드립니다.

안녕하세요

wireshark 원본 파일을 보내주시기 바랍니다.
forum에 첨부파일로 올려주시거나,
becky@wiznet.io 로보내주세요

안녕하세요,
W5300 외부망 접속 문제로 연락드렸던 허준영입니다.

wireshark 원본파일 첨부하였습니다.
확인 후 조언 좀 부탁드릴께요…ㅜㅜ

메일로는 소스파일 일부도 첨부하여 보냈습니다.

회사에 있는 PC가 TCP/IP Server이며, 주소는 112.216.161.174 포트 3000 입니다.

VSAT-Board : 선박에서 W5300 보드가 KT VSAT 위성을 통해서 회사에 있는 PC 프로그램으로 접속 (Client IP : 10.110.1.247)
VSAT-PC : 선박에서 PC의 윈도우프로그램이 KT VSAT 위성을 통해서 회사에 있는 PC 프로그램으로 접속 (Client IP : 10.110.1.249)
Hotel-Board : 호텔에 있는 공유기를 이용하여 W5300 보드가 KT VSAT 위성을 통해서 회사에 있는 PC 프로그램으로 접속 (Client IP : 192.168.0.76)
Hotel-PC : 호텔에 있는 공유기를 이용하여 PC의 윈도우프로그램이 KT VSAT 위성을 통해서 회사에 있는 PC 프로그램으로 접속 (Client IP : 192.168.0.77)

PC-PC로 접속했을 때 그저께는 4바이트씩 데이터 주고 받는게 wireshark에서 보였는데, 오늘 원본 파일 보내드리려고 다시 해보니 데이터 전송은 잘되는데 wireshark에는 안보이는 것 같네요…

조언… 감사드립니다.
wireshark 파일.zip (123.8 KB)

이글의 아래의 사진에 Broadcast로 되어있는 부분은 ARP packet이 나가고 있는 부분입니다.
TCP Client(W5300)에서 Server로 접속을 시도할경우 ARP request/reply동작이 완료해야만
TCP Syn packet이 나가게 되어있습니다.

그러므로 첨부해주신그림파일중 ARP protocol로 되어있는 부분은 해당 IP를 찾지 못해서 ARP packet을 보내게 됩니다…

또한 이전 글에 TCP Client(W5300)의 IP가 10.110.1.250이라고 하셨는데, ARP packet을 보니, 10.110.1.247로 되어있네요.
image

그리고 wireshark.zip내의 4개 파일모두 TCP Server(112.216.161.174)로 접속을 한 부분이 전혀없습니다.

확인부탁드립니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.