---
title: "W6100 TCP Retransmission"
url: "https://maker.wiznet.io/forum/16043"
markdown_url: "https://maker.wiznet.io/forum/16043/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "robin0"
created: "2026-04-20T21:50:19+09:00"
last_activity: "2026-07-31T11:35:49+09:00"
language: "ko"
tags: ["STM32"]
views: 11
replies: 7
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# W6100 TCP Retransmission

## Question

Asked by robin0 on 2026-04-20 in Ethernet Chips.

Wireshark로 Packet을 분석해 보니 문제점이 있어서 문의를 합니다.

1.Hardware 구성
STM32F103 + W6100 을 사용하여 TCP 통신을 하고 있습니다.
W6100-EVB 회로구성과 같게 하였고, STM32F103 FSMC_BUS Driver를 사용했습니다.

2. 통신 조건
PC(win11,client Mode,IP:192.168.1.100) &lt;-> W6100(Server mode,IP:192.168.1.2 Port:2000)

3. 정상 Packet 일 경우
: client에서 요청데이터를 Server로 전송 후, 바로 Server에서 client로 응답데이터 전송

![](https://maker.wiznet.io/upload/ckeditor5/634773112%5F1776721199%2Epng)

4. Retransmission 발생
: client에서 요청데이터를 Server로 전송 후, 약 3초후 Server에서 client로 응답데이터 전송
(지연시간은 Client의 요청데이터에 대한 데이터 처리를 하기 때문에 발생함)

통신은 정상으로 보이지만 client에서 Retransmission을 합니다.

![](https://maker.wiznet.io/upload/ckeditor5/634773112%5F1776721252%2Epng)

Wireshark 파일을 첨부합니다.

Attachments:

- [Ethernet_Process.c](https://maker.wiznet.io/forum/getAttach.asp?aidx=354)

## Replies

### Reply 1 by TheoIm, 2026-04-22

안녕하세요,

기본적인 네트워크 초기화 함수들과 송 수신 과정에서의 코드가 필요합니다.

코드를 남겨주시면 검토 후 답변 드리겠습니다.

감사합니다.

### Reply 2 by robin0, 2026-04-22 (in reply to reply 1)

작성글에 네트워크 Task Code를 첨부하였습니다.

### Reply 3 by robin0, 2026-05-11 (in reply to reply 1)

추가로 필요한 자료가 있나요?

### Reply 4 by robin0, 2026-06-12 (in reply to reply 1)

분석은 언제 끝나나요?

### Reply 5 by robin0, 2026-07-28 (in reply to reply 1)

분석은 언제 끝나나요?When will the analysis of the request be completed?

### Reply 6 by TheoIm, 2026-07-29

안녕하세요, 답변이 늦어 죄송합니다.

통신 장애라기보다 W6100의 Delayed ACK 설정 때문에 발생했을 가능성이 가장 높습니다.
W6100측에서 요청 데이터를 정상 수신했다는 **ACK를 PC측 재전송 timeout 전 까지 보내야** 합니다.

따라서 소켓을 열 때 Delay 없이 ACK를 보내는 옵션을 사용해보시길 바랍니다.

고객님 코드 기준으로 말씀 드리겠습니다.

294번 째 줄에 있는 아래 부분을

변경 전 : tmp = socket(sn, protocol, port, SOCK_IO_NONBLOCK);

변경 후 : tmp = socket(sn, protocol, port, SOCK_IO_NONBLOCK | SF_TCP_NODELAY);

바꿔보시길 바랍니다.

### Reply 7 by robin0, 2026-07-31 (in reply to reply 6)

감사합니다.

적용해 보니 정상 작동하네요.

---

Source: https://maker.wiznet.io/forum/16043
