2009-03-24 6 views
-1

WinPcap을 사용하여 일련의 사용자 지정 UDP 패킷을 만들어 이더넷 계층에 주입했습니다.어떻게 전체 대역폭을 사용합니까?

각 패킷은 1000 패킷, 1440 바이트를 보냈습니다. 100 Mbps 대역폭의 경우 2.1 초 걸립니다.

전체 대역폭을 어떻게 사용합니까?

답변

1

귀하의 처리량은 10 메가 비트 연결과 정확히 일치하는 것으로 보입니다. 물론 10mbit는 어디에도 관여되어 있지 않습니까?

1

원래 질문을 잘못 읽고 this의 중복이라고 생각했습니다. 그러나 100Mbps는 완전히 다른 것입니다.

매우 겸손한 하드웨어라도 문제없이 100Mbps 연결을 포화시킬 수 있어야합니다. 특히 1440 바이트 UDP 패킷을 사용하는 경우 특히 그렇습니다.

krosenvold에서 제안한 것처럼 수치는 100Mbps가 아닌 10Mbps 연결처럼 의심스러워 보입니다. 나는 그들이 100Mbps에 있다는 것을 확신하기 위해 모든 링크를 끝에서 끝까지 점검 할 것입니다. 해당 체인의 모든 10Mbps 링크가 문제가 될 것입니다.

사용중인 장비에 따라 링크 자동 협상에 문제가 있음을 발견 할 수 있습니다. 일부 장비는 악명이 높으므로 자동 교섭을 해제하고 링크 속도를 100Mbps로 설정하여 더 나은 결과를 얻을 수 있습니다.

그리고 사용중인 pcap 파일을 가지고 있으므로 속도 테스트를 수행하기 위해 tcpreplay을 사용해 보시기 바랍니다. 가능한 가장 빠른 속도로 파일을 재생하기 위해 tcpreplay가 제공하는 몇 가지 옵션이 있습니다. (특히, this 위키 항목을보십시오)

그 결과가 현재보고있는 것보다 다른 경우 pcap 파일의 문제점을 지적 할 수 있습니다. 예를 들어, pcap 파일에는 파일을 재생할 때 사용할 수있는 타이밍 정보가 들어 있습니다. pcap 파일의 타이밍을 10Mbps 네트워크에서 가져온 경우 (예를 들어) 실시간으로 재생하면 현재보고있는 결과를 얻을 수 있습니다.

0

데이터 교환 경로의 모든 장치와 매체가 100mbps에서 작동하는지 확인하십시오. 연결은 가장 약한 링크만큼 빠릅니다. 또한 모든 장치 (네트워크 카드 포함)가 Full-Duplex 모드로 작동하는지 확인하십시오.

0

전송 중에 CPU 사용은 어떻게됩니까?

병목 현상을 찾아야합니다. NIC/네트워크 또는 CPU가 될 수 있습니다. 각 패킷에 대해 NIC를 "여는"것이 아닌지 확인하십시오.

잘못된 :

loop{ 
    OpenDevice 
    SendPacket 
} 

좋은 :

OpenDevice 
loop{ 
SendPacket 
} 
+0

나중에 당신입니다 kalmi 은 단일 패킷에 여러 개의 프레임을 시도하라고 말하고있다 권리? – krishnakumar

+0

음 ... 그 말이별로 의미가 없을 것입니다 ... 패킷이 충분히 큽니다 ... 코드를 좀 보여 주시겠습니까? 우리는 아직 어떤 언어를 사용하고 있는지 알지 못합니다 ... 또는 어떤 API를 사용하고 있습니까? –

+0

안녕하세요 kalmi 내 메일 주소는 내 코드를 보냅니다. 이 경우 – krishnakumar

관련 문제