W7100-s2e 패킷 문제
MCU & Boards
No replies yet. Be the first to reply.
Join the discussion.
MCU & Boards
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: W7100-s2e 패킷 문제
by irina WIZnet ·
먼저, 15초 간격으로 한 달 간 256byte 크기의 데이터를 목적지로 전달하고자 할 때 GB 단위의 데이터 전송이 필요한 것은 정상적인 상황입니다.
데이터를 패킷 형태로 나누어 전송하며 망을 공유하는 패킷 데이터 교환망(일반적인 인터넷 망의 구조) 에서는 데이터를 목적지까지 정확히 전송하기 위해 여러 네트워크 계층의 Header가 데이터 앞에 각각 붙어 전송됩니다. 이 때문에 실 데이터에 헤더 데이터가 더해진 것이 이더넷 망의 실제 전송해야 할 데이터 양으로 보셔야 합니다. (원인 #1)
그리고 W7100-S2E 제품에서는 별도의 설정이 없을 경우, serial data가 발생 할 때마다 이를 패킷으로 만들어 인터넷 망으로 전송합니다. Serial 데이터 발생 마다 패킷이 발생하도록 되어있는 구조이므로 worst case의 경우 한 패킷에 1byte의 데이터만 포함되어 있을 수도 있으며, 위즈네트 칩의 경우 헤더를 포함한 TCP 패킷의 하나의 최소 크기는 60byte입니다. (원인 #2)
따라서 느린 baudrate를 사용하여 한 패킷에 1byte의 데이터를 포함하여 전송한다고 가정하고 15초 간격으로 256byte의 데이터를 전송한다고 하면, TCP client 기준으로 한 달간 발생할 수 있는 worst case의 패킷량은 대강 다음과 같습니다.
한 번에 전송되는 데이터 : 120 (syn) + 15,360 (data 256 x 60) + 120 (fin)
하루에 전송되는 데이터 : 한 번에 전송되는 데이터 x 5760 ( = 86400 / 15), 약 85Mbyte
한 달간 전송되는 데이터 (30일 기준) : 하루에 전송되는 데이터 x 30, 약 2.57Gbyte
좀 더 나은 경우를 가정하여 패킷 당 3byte의 데이터가 전송된다고 하면, 한 달간 44Mbyte의 실 데이터 전송을 위해 약 883Mbyte의 패킷 전송이 이루어집니다.
때문에 설정이 없을 경우 위와 같은 패킷 전송이 이루어지는 것은 정상적인 상황입니다.
<Sol.>
이러한 패킷 발생 문제를 해결하기 위해 W7100-S2E에서는 Data Packing Condition을 지원합니다.
Serial data가 발생하는 대로 네트워크로 전송하는 것이 아니라 시간 / 크기 / 특정문자를 만날 때까지 버퍼에 데이터를 모았다가 한 번에 전송하도록 하는 기능입니다. (중복 적용 가능합니다.) 저희 Configuration tool의 Serial 탭에서 확인하실 수 있으며 중복 적용 가능합니다. 정확한 수치는 드리기 어려우니 네오쿼터스에서 전송하는 데이터의 양과 주기에 따라 적절한 설정 값을 찾아보시면 될 것 같습니다.
참고로 제가 시간 3000 (ms), 크기 255 (byte)를 설정하고 256바이트를 전송한 결과치를 토대로 산출한 한 달 예상 패킷량은 약 100Mbyte입니다.
하지만 데이터가 255 byte를 넘어서면 크기 값 설정은 빼는 것이 좋을 듯 하며, 시간 또한 상황에 맞게 테스트 해 보시기 바랍니다.