The Wonder Shaper

소프트웨어 스크린 샷:
The Wonder Shaper
소프트웨어 정보:
버전: 1.1a
업로드 날짜: 2 Jun 15
개발자: Bert Hubert
라이센스: 무료
인기: 32

Rating: nan/5 (Total Votes: 0)

원더 셰이퍼는 기능의 많은 매우 특별한 네트워크 셰이퍼 스크립트입니다. 리눅스 2.4 이상에서 작동합니다.
목표
나는 성배를 작성하려고 :
* 항상 interfactive 트래픽에 대한 낮은 지연 시간을 유지한다.
이 다운로드하거나 업로드하는 파일이 SSH 또는 텔넷을 방해해서는 안 것을 의미한다. 다음은 가장 중요한 것들, 심지어 200ms의 지연 시간 이상 일할 부진이다.
* 위 또는 다운로드하는 동안 합리적인 속도로 '서핑'허용
HTTP는 '대량의 트래픽에도 불구하고, 다른 트래픽이 너무 많이 밖으로 익사하지 않아야합니다.
* 확인 업로드 다운로드 해가되지 않는지 확인하고, 주변의 다른 방법
이것은 업스트림 트래픽은 단순히 다운로드 속도를 파괴 훨씬 관찰 현상이다. 그것은이 모든 대역폭의 작은 비트의 비용으로 가능하다고 밝혀졌습니다. 업로드, 다운로드 및 SSH가 서로 상처를 이유는 케이블이나 DSL 모뎀 등 많은 국내 액세스 장치에 큰 큐의 존재입니다.
이유는 기본적으로 잘 작동하지 않습니다
ISP는 그들이 빠른 사람들이 다운로드 할 수있는 방법만을 벤치마킹 것을 알고있다. 가용 대역폭 외에, 다운로드 속도가 심각하게 TCP / IP의 성능을 저해 패킷 손실에 의해 크게 영향을 받는다. 대형 큐는 packetloss을 방지하고, 다운로드 속도를 높일 수 있습니다. 따라서 ISP는 큰 큐를 구성합니다.
이 큰 큐는 그러나 상호 작용을 손상. 키 스트로크 (keystroke) 먼저 긴 (!) 초 수 상류 큐, 여행, 원격 호스트로 이동해야합니다. 그 다음은 화면에 표시되기 전에 다음, 해당 ISP에있는 다운 스트림 큐를 통과해야한다 돌아 오는 패킷에 이르게 표시됩니다.
이 하우투는 어떻게 난도질하고 여러 가지 방법으로 큐를 처리하지만, 슬프게도, 모든 큐가 우리에게 접근하는 가르친다. 상류 큐 아마 케이블 모뎀이나 DSL 장치 내부에 살고있는 반면, ISP에서 큐 이상은, 완전히 출입 금지입니다. 당신은 할 수있다 않거나 구성하지 못할 수 있습니다. 대부분의 아마.
그래서, 다음은 무엇? 우리가 그 큐 중 하나를 제어 할 수 없습니다, 그들은 제거하고 리눅스 라우터로 이동해야합니다. 다행히이 가능합니다.
제한 업로드 속도 다소
진정으로 가능한 속도보다 우리의 업로드 속도에 약간 덜를 제한함으로써, 더 큐는 우리의 모뎀에 내장되지 않습니다. 큐는 이제 리눅스로 이동합니다.
제한 다운로드 속도
이것은 우리가 정말 얼마나 빨리 인터넷 배송 우리에게 데이터에 영향을 미칠 수 없기 때문에 약간 까다 롭습니다. 그러나 우리는 우리가 원하는 단지 속도 둔화 TCP / IP를 일으키는, 너무 빨리 들어오는 패킷을 드롭 할 수 있습니다. 우리가 불필요하게 트래픽을 드롭하고 싶지 않기 때문에, 우리는 우리가 더 빠른 속도로 수 '버스트'크기를 구성합니다.
우리는이 작업을 수행 한 후 지금, 우리는 (짧은 버스트 제외) 완전히 다운 스트림 대기열을 제거하고, 리눅스가 제공하는 모든 힘과 상류 큐를 관리 할 수​​있는 능력을 얻을 수있다.
대화 형 트래픽이 큐를 건너 보자
무엇을 할 수 남아 것은 확실 대화 형 트래픽이 상류 큐의 앞쪽으로 이동하는 것입니다. 업로드 다운로드를 다치게하지 않도록하기 위해, 우리는 또한 큐의 전면에 ACK 패킷을 이동합니다. 이것은 일반적으로 두 가지 방법으로 대량의 트래픽을 생성 할 때 관찰 된 거대한 침체가 발생하는 것이다. 하류 트래픽에 대한 확인 응답은 업스트림 트래픽과 경쟁해야하고, 처리 지연 얻는다.
우리는 또한 큐의 앞에 다른 작은 패킷을 이동 -이 Microsoft에서 모든처럼, TOS 비트를 설정하지 않는 운영 체제를 사용하는 데 도움이됩니다.
사용자가 우선 순위가 낮은 트래픽을 지정할 수 있습니다 (1.1의 새로운 기능!)
때때로 당신은 중요한 트래픽을 늦추고 낮은 우선 순위 나가는 트래픽을 알 수 있습니다. 이 경우, 다음과 같은 옵션을 사용하면 도움이 될 수 있습니다 :
NOPRIOHOSTSRC
낮은 우선 순위가 있어야 네트워크의 호스트 또는 넷 마스크로 설정
NOPRIOHOSTDST
낮은 우선 순위가 있어야 인터넷에 호스트 또는 넷 마스크로 설정
NOPRIOPORTSRC
낮은 우선 순위가 있어야 소스 포트로 설정합니다. 당신이 당신의 트래픽에 중요하지 않은 웹 서버가있는 경우, 80로 설정
NOPRIOPORTDST
낮은 우선 순위를 가져야한다 대상 포트로 설정합니다.
wshaper과 wshaper.htb의 시작을 참조하십시오
결과
우리가 이렇게하면 우리 얻을 네덜란드 XS4ALL에서 훌륭한 ADSL 연결을 사용하여 다음 측정 :
기준 대기 시간 :
왕복 최소 / 평균 / 최대 = 14.4 / 17.1 / 21.7 MS
트래픽 조절없이, 다운로드하는 동안 :
왕복 최소 / 평균 / 최대 = 560.9 / 573.6 / 586.4 MS
트래픽 조절없이, 업로드하는 동안 :
왕복 최소 / 평균 / 최대 = 2041.4 / 2332.1 / 2427.6 MS
220kbit / s의 업로드시 컨디셔너와 함께 :
왕복 최소 / 평균 / 최대 = 15.7 / 51.8 / 79.9 MS
850kbit / s의 다운로드하는 동안 컨디셔너와 함께 :
왕복 최소 / 평균 / 최대 = 20.4 / 46.9 / 74.0 MS
업로드 할 때, 다운로드가 가능한 속도의 80 % ~에서 진행합니다. 약 90 %로 업로드합니다. 대기 시간은 아직 이유를 파악, 850 밀리로 이동합니다.
당신이이 스크립트에서 기대할 수있는 것은 실제 업 링크 속도에 많이 의존한다. 최고 속도로 업로드 할 때, 항상 앞서 키 스트로크 (keystroke)의 단일 패킷이 될 것입니다. 계산하여 업스트림 속도하여 MTU를 분할 - 그것은 당신이 달성 할 수있는 대기 시간의 하한이다. 일반적인 값은보다 다소 높은 것이다. 더 나은 효과를 위해 당신의 MTU를 낮 춥니 다!
작은 테이블 :
업 링크 속도는 | 업로드로 인한 대기 시간을 예상
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
그래서 (언로드 링크 핑) 기준 측정을, 당신의 효과적인 대기 시간을 계산하고 표에 번호를 찾아, 그것을 추가 할 수 있습니다. 그것은 당신이 기대할 수있는 최선에 관한 것입니다. 이 번호는 상류 키 스트로크 (keystroke)가 앞서 그것의 대부분 반에서 전체 크기의 패킷을 가지고 있다고 가정 계산에서 비롯됩니다.
이 귀결 :
   MTU * 0.5 * 10
   -------------- + baseline_latency
       kbit
요소 (10)는 아주 정확하지 않지만 실제로는 잘 작동한다.
커널
당신이 최근의 분포를 실행하는 경우, 모든 확인해야한다. 당신의 QoS 옵션 2.4이 켜져 있어야합니다.
당신이 당신의 자신의 커널을 컴파일하면, 사용할 수있는 몇 가지 옵션이 있어야합니다. 특히, 네트워킹 옵션 메뉴, QoS 및 / 또는 공정 큐잉에 차례로 적어도 CBQ, PRIO, SFQ, 침투, 교통 치안, QoS 지원, 요금 견적, QoS를 분류, U32 분류, fwmark 분류.
실제로, 나는 (그리고 대부분의 배포판은) 단지 모든 전원을 켭니다.
스크립트
이 스크립트는 두 가지 버전, 표준 커널에서 작동하며 CBQ를 사용하여 구현 한에 온다. 다른 하나는 기본 커널에없는 우수한 HTB의 qdisc를 사용. CBQ 버전은 더 HTB 하나보다 테스트!
'wshaper'와 'wshaper.htb'을 참조하십시오.
동조
이 스크립트는 ISP에 연결의 '진짜'속도를 알 필요가있다. 이것은 다른 ISP들이 나타나는 비트의 다른 종류를 사용할 선행으로 판정하기 어렵다. 사람들은 다음과 같은 기술을 사용하여 성공을보고 :
당신의 상류와 하류의 절반 속도로 ISP에 지정을 모두 추정하고있다. 업로드하는 동안 및 다운로드하는 동안 상호 작용을 확인 - 스크립트가 작동하는지 지금 확인합니다. 위의 계산이 대기 시간을 제공한다. 그렇지 않은 경우 스크립트가 오류없이 실행 있는지 확인합니다.
대기 시간이 돌아올 때까지 이제 천천히 스크립트의 업스트림 및 다운 스트림 수를 증가시킨다. 이 방법 당신은 당신의 연결을위한 최적의 값을 찾을 수 있습니다. 당신이 행복하면 내가 잘 작동 번호 목록을 할 수 있도록, 저에게 알려주십시오. 내가있는 사용 ISP 및 가입, 그 평판이 사양의 이름을 알려, 그래서 당신을 여기에 나열하고 다른 사람에게 수고를 덜 수 있습니다하시기 바랍니다.
설치
당신이 전화를하면 /etc/ppp/ip-up.d 할 수있는 스크립트를 복사 할 수 있으며, 각 연결에서 실행됩니다.
당신이 인터페이스에서 셰이퍼를 제거하려면, 'wshaper 정지'를 실행합니다. '상태 wshaper'실행 상태 정보를 참조하십시오.
알려진 문제
당신이 오류를 얻을 경우, 다음과 같이, 첫 번째 줄에 -x를 추가 :
#! / 빈 / bash는 -x
그리고 다시 시도하십시오. 이 오류를주는 선을 보여줍니다. 나에게 연락하기 전에, 당신은 iproute의 최신 버전을 실행하고 있는지 확인!
여기에, 컴파일 선호하는 경우 최신 버전의 리눅스 대리점에서 발견, 또는 할 수 있습니다 :
 ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz

개발자의 기타 소프트웨어 Bert Hubert

코멘트 The Wonder Shaper

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!