Connect가 안됩니다

#1

우선 아래와 같은 조건으로 설정하여 connect하려고 하는데 잘 안되어서 문의드립니다.

local address : 192.168.11.11
local port : 5051
dest. address : 192.168.11.2
dest. port : 5000
gateway : 192.168.11.1
subnet : 255.255.255.0

Power on시에 설정하는 값이 있고, open시에 설정하는 값이 있고, connect시에 설정하는 값이
있습니다. 그런데 계속 connect가 안된다고 하네요.
그래서 단계별로 메모리 덤프를 해 보았습니다.

어떤문제인지 알려주셨으면 합니다.

뉴콘테크
조장호 배상

— Power on시 WIZ820초기화 후 레지스터 설정값 덤프

NCT>ipread 0x0000
0000 : 00 C0 A8 0B 01 FF FF FF 00 00 04 A3 90 78 08 C0
0010 : A8 0B 0B 00 00 00 00 17 70 03 00 00 00 00 00 03
0020 : 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00
0030 : 00 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00
0040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
NCT>ipread 0x4000
4000 : 00 00 00 00 00 00 FF FF FF FF FF FF 00 00 00 00
4010 : 00 00 00 00 00 00 80 00 00 00 00 00 00 00 02 02
4020 : 08 00 00 00 00 00 00 00 00 00 00 00 FF 40 00 00
4030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

— socket()함수를 부른 후의 레지스터 설정값 덤프
NCT>sopen

NCT>ipread 0x0000
0000 : 00 C0 A8 0B 01 FF FF FF 00 00 04 A3 90 78 08 C0
0010 : A8 0B 0B 00 00 00 00 17 70 03 00 00 00 00 00 03
0020 : 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00
0030 : 00 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00
0040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
NCT>ipread 0x4000
4000 : 21 00 00 13 13 BB FF FF FF FF FF FF 00 00 00 00
4010 : 00 00 05 B4 00 00 80 00 00 00 00 00 00 00 02 02
4020 : 08 00 00 00 00 00 00 00 00 00 00 00 FF 40 00 00
4030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

NCT>ipaddr
IPADDR : 192.168.11.11

NCT>ipport
local Port : 5051

NCT>destaddr
DEST. IPADDR : 192.168.11.2

NCT>destport
Dest. Port : 5000

NCT>subnet
SUBNET MASK : 255.255.255.0

NCT>gateway
GATEWAY : 192.168.11.1

----- connect()함수를 부른 후 설정값 덤프
NCT>sconnect
Connection Failed. Please Check the settings.

NCT>ipread 0x0000
0000 : 00 C0 A8 0B 01 00 00 00 00 00 04 A3 90 78 08 C0
0010 : A8 0B 0B 00 00 00 00 17 70 03 00 00 00 00 00 03
0020 : 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00
0030 : 00 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00
0040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
NCT>ipread 0x4000
4000 : 21 00 00 00 13 BB FF FF FF FF FF FF C0 A8 0B 02
4010 : 13 88 05 B4 00 00 80 00 00 00 00 00 00 00 02 02
4020 : 08 00 00 00 00 00 00 00 00 00 00 00 FF 40 00 00
4030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

#2

Power On시와 Socket open register 값은 모두 정상이며,
sconnect 이후 register값은 값을 분석해보면
S0_CR(0x04001) = 0x00
S0_IR(0x4002) = 0x00
Sn_SR(0x4003) = 0x00

S0_CR command(CONNECT)를 정상 수행했다고 보면(Command cleared), S0_IR이 Timeout(0x08) 없이 Sn_SR이 SOCK_CLOSED(0x00) 상태로 변했다고 보면, 상대방의 RST packet 전송에 의한 것으로 볼수 있습니다.
만약 초기 설정값과 RCR의 3번 재전송이 발생했다면 S0_IR = 0x08로 설정되고 S0_SR이 SOCK_CLOSED로 변경되어야 합니다. 상대방 아이피나 상대방 포트넘버가 똑바로 기록되어 있는 것으로 보아, 상대방이 접속을 허용해야 하나 현재 알수 없는 원인으로 접속이 이루어지지 않은 것으로 판단됩니다.

보다 자세한 분석을 위해서는 Packet을 캡쳐하여 분석해봐야 합니다.
우선 상대방이 해당포트(5000)으로 Listen하고 있지 않을 가능성이 가장 커보입니다만, 보다 정확한 원인 파악을 위해
Wireshark(프리웨어) 프로그램으로 패킷을 캡쳐하여 포스트해주세요.

#3

덕분에 진도를 잘 나가게 됩니다.

다시 뵙길… ^^