대기 시간 및 패킷 손실률과 함께 네트워크 대역폭을 계산할 필요가있는 애플리케이션을 작성하려고합니다. 제약 조건 중 하나는 애플리케이션 데이터 자체를 사용하여 대역폭을 수동적으로 측정하는 것입니다.최소 데이터 전송으로 대역폭 측정
온라인으로 읽고 몇 가지 기존 응용 프로그램에서 이해할 수있는 것은 거의 모든 프로그램이 능동적 인 프로빙 기술 (즉, 프로브 패킷의 흐름 생성)을 사용하고 첫 번째 및 마지막 패킷 도착 사이의 시간차를 사용한다는 것입니다 대역폭을 계산합니다.
이러한 기술의 주된 문제점은 프로브 패킷으로 네트워크를 넘치게하는 것입니다. 프로브 패킷은 길게 실행되고 확장 성이 없습니다 (양쪽에서 응용 프로그램을 실행해야하기 때문에). 나는 이것이으로 될 수 있는지 정확하게 모르겠습니다
Bandwidth <= (Receive Buffer size)/RTT.
: 제안의
하나는 보낸 사람에게 다시 그것을 반향하여 패킷의 RTT를 계산하고 다음 식을 사용하여 대역폭을 계산하는 것이 었습니다 수신기는 올바른 RTT를 얻기 위해 항상 패킷을 에코 백하지 않을 수 있습니다. ICMP 사용만으로 많은 서버가 서버를 사용할 수 없기 때문에 항상 작동하지 않을 수 있습니다.
주 응용 프로그램은 TCP 연결을 통해 실행되므로 TCP 연결을 사용하여 특정 기간 동안 제공되는 실제 대역폭을 측정하고 싶습니다. TCP 연결의 대역폭을 측정하는 간단한 기술 (신뢰할 수있는 수식)을 제안 할 수 있다면 정말 감사하겠습니다.
질문에 대한 답변을 수락하는 것을 잊지 마십시오. 당신은 이미 7 가지 질문을했으며, 지금까지는 그 중 하나를 받아 들일 수 없습니다. – glglgl