다음 상황이라고 가정해보자:
115,2 kbits/s ppp (modem) 인터넷 링크를 갖고 있다 (115,2/10 = 11,5 kbytes/s); 물론 그러한 유형의 연결은 있다! eth 연결의 경우는 115,2 를 8 로 나눌 것이다; ppp 연결의 경우는 시작/중지 비트때문에 (8 + 1 + 1 = 10) 10으로 나눈다.
어떤 LAN 스테이션을 갖고 있으며 사용자들이 언제든지 다량의 다운로드를 하고 있다.
얼마나 많은 다운로드를 하는 지에 상관없이 웹 페이지가 빨리 오픈되길 원한다.
인터넷 인터페이스는 ppp0이다.
랜 인터페이스는 eth0이다.
네트워크는 192.168.1.0/24 이다.
믿거나 말거나 들어오는 트래픽을 결정하는 것은 쉬운 일이며 라우팅 또는 큐잉 (queuing) 알고리듬에 관해 많은 책을 읽을 필요는 없다.
이를 작동시키기 위해서 적어도 스퀴드 프록시 (Squid proxy) 가 필요하며 이를 미세 조정하고 싶다면 ipchains 또는 iptables 및 CBQ 에 익숙해질 필요가 있을 것이다.
테스트를 위해 IPTraf 를 설치할 수 있다.
스퀴드는 아마 리눅스에서 사용할 수 있는 가장 진보된 HTTP 프록시 서버로 다음 두가지 방식으로 대역폭을 보호할 수 있게 해준다:
첫번째는 프록시 서버의 주된 특징이다 -- 프록시 서버는 메모리 또는 디스크상에 다운로드 받은 웹 페이지, 그림과 다른 객체들을 계속 간직할 수 있으며 따라서 두 사람이 동일한 웹 페이지를 요청하고 있다면 인터넷이 아닌 로컬 프록시에서 다운로드되는 것이다.
통상적인 캐싱 (caching) 과는 별도로 스퀴드는 지연풀 (delay pool) 이라 불리는 특별한 특징을 갖고 있는데 이러한 지연풀 덕택에 URL 에 존재하는 소위 'magic words' 에 따라 합리적인 방식으로 인터넷 트래픽을 제한하는 것이 가능하다. 예를 들어 magic word 는 '.mp3', '.exe' or '.avi' 등일 수 있으며 .avi 와 같은 URL 의 모든 구별되는 부분도 magic word 로 정의될 수 있다.
지연풀 특징을 이용해 스퀴드에게 특정 속도 (이 문서에서는 대략 5kbytes/s) 로 이러한 유형의 파일들을 다운로드하라고 말할 수 있다. 랜 사용자들이 동시에 파일들을 다운로드한다면 이들은 전체적으로 5kbytes/s 속도로 다운로드될 것이며 웹 페이지, 이메일, 뉴스, irc 등에게 남아있는 대역폭을 남겨줄 것이다.
물론 인터넷이 웹 페이지 (http 또는 ftp) 를 통해 파일들을 다운로드하는데만 사용되지는 않는데 추후 냅스터, 리얼오디오 및 다른 가능한 것들에 대해 대역폭을 제한하는 방법을 다룰 것이다.