Windows 환경에서 10Gbps 이더넷 카드를 이용해 통신을 하려고 합니다.
동시에 6개의 포트에서 UDP로 각 1.0Gbps의 속도로 수신을 하려는데,
송신측에서 흐름 제어를 지원하지 않는다는 조건이 걸려 있습니다.
이것이 가능한가를 시험하기 위해서 Windows용 iperf로 1시간 정도 돌려보면,
datagram out of order가 UDP 8~20 datagram정도 납니다.
이럴 때 어떻게 설정을 해야 수신 중 저러한 out-of-order 상황이 발생하지 않게 할 수 있는지가 궁금합니다.
수신측은 Windows 7을 사용하고 있고
현재 네크워크 연결 -> 로컬 영역 연결 속성 -> 장치 구성 -> 고급 에 들어가서 설정할 수 있는 옵션은 이렇게 되어 있습니다.
- 대형 전송 오프로드 V2 (IPv4, IPv6 모두 활성화)
- 링크 상태 이벤트 기록 (활성화)
- 성능 옵션
1. 낮은 대기 시간 인터럽트 (사용 안함)
2. 수신 버퍼 (2048)
3. 전송 버퍼 (1024)
4. 인터럽트 조절 속도 (적응)
5. 흐름 제어 (비활성화 - 위에서 언급했는데, 이 옵션은 활성화할 수 없는 상황입니다)
- 수신측 배율 (활성화)
- 수신측 배율 대기열 (8개 대기열)
- 오프로딩 옵션 (IPsec 비활성화, TCP 체크섬 오프로드 Rx&Tx 활성화, UDP 체크섬 오프로드 Rx&Tx 활성화)
- 우선순위 및 VLAN (모두 활성화)
- 인터럽트 조절 (활성화)
- 점보 패킷 (9014B)