대역폭을 결정하기 위해 TCP 연결을 통해 전송해야하는 세그먼트/바이트의 최소 수를 결정하는 데 사용할 수있는 수식이 있으며 느린 시작을 고려합니다 및 혼잡 방지? 나는 pathrate tool에 대해 알고 있지만 가능하다면 앱에 통합하여 하강 야구장 그림을 얻을 수있는 간단한 것을 원합니다. 하나의 사용 예는 작은 파일을 자동으로 다운로드하기위한 최적의 스레드 수를 결정하기 위해 웹 서버에서 일부 데이터를 다운로드하는 것입니다. 이것은 내가 게시 한 이전 질문과 관련이 있습니다. TCP, HTTP and the Multi-Threading Sweet SpotTCP 느린 시작, 정체 방지 및 대역폭 결정
1
A
답변
0
대역폭을 결정하기 위해 고정 바이트 수가 필요하다고 생각하지 않습니다. 이 수는 네트워크 유형 및 속도에 따라 달라질 수 있습니다.
Bandwidth은 시간 간격을 통해 전송 된 일부 리소스의 척도입니다. 실제 데이터를 얻으려면 측정해야합니다. 여기에 some hints 그 일을하는 방법
1
당신은 "scholar.google.com"을 실행하고 "TCP chirp"를 검색 할 수 있습니다. 그러나이를 위해서는 고용 타이머가 필요하며, 커널 TCP 혼잡 제어 알고리즘을 작성하지 않으면 사용자 공간에서 TCP를 다시 구현해야합니다. 그리고 그 자체만으로는 좋은 결과를 얻지 못할 것입니다 (범용 OS는 실시간으로 타이머 관련 작업을 잘하지 못하고 사용자 공간에서 실행됩니다).
이론상 TCP 처프를 사용하면 "최적"대역폭을 결정하기 위해 4-5 개의 세그먼트 (일반적으로 더 긴 세그먼트의 세그먼트로 더 나은 해상도를 얻을 수 있음)가 필요합니다.
어떤 경로가 사용되는지 알 수 없으므로 (예 : 위성 링크 또는 TV 방향으로 진행), 상당한 양의 데이터 (10MB 이상, 아마도 1GB까지)가 필요할 수 있습니다. 임의의 경로에 대한 적절한 측정. (위성은 많은 dozend MB/s 대역폭을 가질 수 있지만 1000-3000 ms 범위의 대기 시간도 걸릴 수 있으며 TCP는 cwnd를 열기 위해 몇 번의 왕복 시간이 필요합니다 (측정을 시작하기 전에 약 10 RTT라고 말하고 싶습니다) ...
관련 문제
- 1. 대역폭 저장 GPRS 및 TCP
- 2. Resque : 느린 작업자 시작 및 포킹
- 3. 느린 JPA는 시작
- 4. Eclipse : 느린 시작 시간
- 5. iPhone에서 느린 시작
- 6. 정말 느린 AMI 시작
- 7. TCP 클라이언트의 대역폭 속도를 확인하는 방법
- 8. 다운로드 시작 결정
- 9. sed 출력이 정체 됨
- 10. 스크립트/서버 시작 여부 결정
- 11. WCF 및 네트워크 대역폭 조절
- 12. 유창한 nHibernate 느린 시작 시간
- 13. Rubygems and Bundler : 느린 시작
- 14. 대역폭 제한 및 HttpWebRequest
- 15. 테마 변경 및 일부 플러그인 추가시 Emacs 느린 시작
- 16. 파일에서 변경된 시작 및 끝 바이트 범위 결정
- 17. Java Web Start 응용 프로그램의 느린 시작
- 18. 64 비트 및 메모리 대역폭
- 19. Unity 기반 응용 프로그램의 느린 시작 시간
- 20. IronPython 시작 시간이 너무 느린 이유는 무엇입니까?
- 21. 매우 느린 Java 응용 프로그램 시작
- 22. OpenSSL 오류로 인해 win32에서 Apache2.2 시작 방지
- 23. Android : 애니메이션 시작 방지 애니메이션 실행 중
- 24. 방지 시작 메뉴, WP7 응용 프로그램
- 25. 최소 데이터 전송으로 대역폭 측정
- 26. tcp checksum 및 tcp 오프 로딩
- 27. Grails에서 Tcp 클라이언트 및 Tcp 서버 다루기
- 28. CUDA 이론상의 대역폭 대 유효 대역폭
- 29. 대역폭 관리?
- 30. 소프트웨어 대역폭/데이터베이스 성장 공식
나는 일반적인 목적이며 가능한 모든 상황에서 작동 할 것입니다. 가장 일반적인 상황의 80 %, 지상 기반 네트워크를 통한 표준 유선 또는 무선 연결 . –