[W5500] UDP 통신 패킷 단편화 관련 문제 문의드립니다.

안녕하세요.

임베디드 환경에서 W5500으로 UDP 통신을 수행하려고 합니다.

주기는 200Hz이고 한번에 송신하고자 하는 패킷 사이즈가 MTU를 넘는 2000byte 가량 됩니다.

원래 기대했던 바는 송신 어플리케이션에서 위와 같은 크기의 패킷을 보내는 과정에서 단편화가 일어나더라도

수신장치에서도 하나의 패킷으로 받아서 처리하고자 하는 것이었습니다.

그런데 와이어샤크로 송신하는 패킷을 받아보니 패킷이 두개로 쪼개져서 각각 UDP 프로토콜로 표시가 되는 것이었습니다.

사전에 노트북-노트북 연결된 실험 환경에서 와이어 샤크로 봤을 때는 첫번쨰는 UDP 프로토콜로 표시되고 MTU사이즈만큼 Length가 표시되고, 남은 길이의 자료는 ip라는 프로토콜로 표시되어 수신하는 네트워크 장비에서 다시 하나의 패킷으로 붙여주는 것 같더라구요.

상황을 보면 W5500칩이 큰 패킷을 나누면서 각각 UDP 프로토콜로 보내는 것이 아닌가 하는데 제대로 파악하고 있는지도 모르겠습니다.

큰 패킷을 수신단에서 하나의 패킷으로 받도록 단편화시키는 것이 W5500 칩을 사용하는 통신에서 설정이 가능한지, 가능하다면 어떻게 하면 되는 것인지 알고 싶습니다…

이것때문에 일이 잘 안되고 있어서… ㅠㅠ 꼭 알고 싶습니다.;;

고수님들의 답변을 기대하면서, 미리 감사드립니다.

안녕하세요.
WIZnet 연구원 Matthew입니다.
W5500은 데이터가 MTU보다 크다면 Fragmentation(조각화) 되어 보내게 되고,
쪼개져서 첫번째 보낸 데이터와 그 다음 번 데이터는 같은 포맷의 헤더로 패킷이 나가게 됩니다.
노트북 - 노트북 송신 패킷에 대한 WireShark 를 보내주시면, 검토 후 답변 드리겠습니다.
감사합니다.

답장 감사합니다.

답 주신 것만으로도 상황 파악은 가능해졌습니다.

수고하세요^^

      1. 오전 11:25에 “Matthew Yu” wiznet@discoursemail.com님이 작성:

Matthew https://forum.wiznet.io/u/matthew WIZnet Team
September 21

안녕하세요.
WIZnet 연구원 Matthew입니다.
W5500은 데이터가 MTU보다 크다면 Fragmentation(조각화) 되어 보내게 되고,
쪼개져서 첫번째 보낸 데이터와 그 다음 번 데이터는 같은 포맷의 헤더로 패킷이 나가게 됩니다.
노트북 - 노트북 송신 패킷에 대한 WireShark 를 보내주시면, 검토 후 답변 드리겠습니다.
감사합니다.

안녕하세요.

저도 상기 질문자와 같은 고민을 하고 있어서 답글 올립니다.
현재 저는 WIZ550S2E 모듈을 이용하여 제품 개발이 완료된 상태이나
몇가지 문제점 때문에 제품 출고를 하지 못하고 있습니다.

기존 WIZ550S2E 모듈을 이용하여 1000Byte 이하의 데이타 통신은 완성된 상태입니다.
그러나 최근 저의 고객사에서 1600Byte 의 데이타 통신을 요구 하여서 WIZ550S2E 모듈의
펌웨어 버젼을 v1.0.3 에서 v1.1.2 로 업그레이드를 하였으며 v1.1.2 업그레이드 이후
AT Command 에 문제점이 발견되어서 한국어 포럼 / S2E 모듈 카테고리에 질문을 올려 놓은
상태 이며 위 문제와 관련하여 답변을 주신다는 연락도 받았습니다.

문제는 AT Command의 문제점이 해결될지라도 위에 질문하신 분과같이 데이타가 조각화 되고
다시 재조합이 되지 않는다면 저의 시스템도 문제가 발생할거같습니다.

왜냐하면 현재 모듈 펌웨어 버젼 v1.0.3 을 이용하여 제가 프로그램상으로 1600Byte
의 데이타를 800Byte * 2 로 나누어서 두번에 걸쳐서 전송을 해보았으나 정상적인 통신이
되지 않습니다.

필요하시다면 위에 질문하신분 대신 제가 현재 통신이 잘되는 시스템의 와이어 샤크 프레임 분석 자료와
제가 WIZ550S2E 모듈을 이용하여 구현한(현재 문제가되는 통신) 시스템의 통신 프레임을 와이어샤크로
캡춰 해서 보내드릴수 있습니다. 발송가능한 메일주소를 보내주시기 바랍니다.

좋은 답변 기다리겠습니다.
감사합니다.

카테고리를 한국어 포럼으로 이동하고, 게시물 제목에 [W5500]을 추가하였습니다.

W5500을 이용하여 UDP 단일화(Fragmentation)을 하기 위해서는 사용자가 응용(Application)단에서 UDP 단일화를 위한 컨트롤을 직접 하셔야 합니다.

감사합니다.

1 Like