전제 :
농촌 지역, 고 대역폭 인터넷 연결을위한 많은 옵션은 없습니다. 지금까지 가장 빠른 속도는 위성 인터넷이지만 비싸고 (장비 및 월간 비용과 대기 시간 단점이 있음) 여러 가정에서 공유하고 싶습니다.
이는 자체적으로 간단합니다. 각 가정 (VLAN 또는 물리적 포트)에 서브넷이있는 라우터를 설정하고 이들 간의 트래픽을 차단하고 해당 서브넷으로 라우팅하거나 이중 NAT를 설정하도록 모뎀을 구성하십시오.
문제 :
TCP가 정상적으로 작동하는 방식은 각 TCP 연결이 사용 가능한 대역폭의 1 / n을 어느 정도 얻습니다. 여기서 n은 연결 수입니다. 따라서 한 가구 / 사용자가 많은 연결을 만들면 전체 연결에서 더 큰 점유율을 얻게됩니다. 이것은 특히 공평하지는 않습니다. 포화 된 연결 고리로 인해 각 가정 은 동등한 지분을 가져야합니다. 반면, 아무도 연결을 사용하지 않을 때는 전체 대역폭을 사용할 수 있어야합니다.
예를 들어, 12Mbit / s 다운 연결을 공유하는 4 가구가 있다고 가정하십시오. 그들 중 하나가 다운로드 / 스트리밍 / 무엇이든 전체 12Mbit / s (또는 거의 근접)를 사용할 수 있어야합니다. 두 세대가 연결을 사용하는 경우 한 세대가 1 개 파일을 다운로드하고 다른 하나는 11 개를 다운로드하는지 여부에 관계없이 각각 6Mbit / s를 가져와야합니다. 각각 4Mbit / s를 얻는다.
내가 지금까지 해결 한 것 :
이와 같은 정책을 구현하기에 가장 좋은 위치 (다운 스트림)는 좁은 파이프의 다른 쪽 끝에 있습니다 (예 : ISP). 분명히이 경우에는 가능하지 않으므로 어떻게 든 근사 할 수있는 것이 좋습니다. 그러나 어떻게? 이와 같은 기능을 지원하는 상용 라우터가 있습니까? Linux 또는 BSD 상자를 구성하여 구성 할 수 있습니까? 방탄 할 필요는 없습니다. TCP 서버 나 공격적인 UDP 서비스가 제대로 작동하지 않으면 아마도 내가 할 수있는 일을 피할 수있을 것입니다. 그러나 많은 RFC 호환으로 구성된 대부분의 트래픽의 일반적인 경우에는 작동해야합니다. TCP 연결.
명확하게하기 위해, 난 하지 특정 응용 프로그램의 우선 순위에 대해 이야기하지만, 오히려 집계 트래픽을 특정 이더넷 장치 또는 IP 주소 범위에서 /로. 일부 트래픽을 다른 트래픽보다 우선 순위가 높은 것은 잘 지원되는 것으로 보이지만 트래픽 클래스에 대역폭을 동일하게 할당하려고 할 때 상황이 명확하지 않습니다.
웹에서 발생하는 트래픽에 대한 정보가 잘못 작성되었거나 생각 나지 않고 역설적이거나 기타 정보가없는 정보가 많이 있습니다. 라우터 하드웨어에 대한 문서는 매우 구체적이지 않으므로 원으로 돌아 다니는 것 같습니다.
내가 이해하는 것처럼 TCP 가이 방식으로 작동하게하는 방법은 실제로 실제로 사용할 수있는 것보다 약간 좁은 파이프를 시뮬레이션하고 인위적으로 패킷을 삭제하여 되돌릴 수 있습니다. 따라서 위의 예제에서 추가 패킷을 인위적으로 삭제하여 모든 사람에게 정확히 3Mbit / s를 제공하는 것이 매우 간단하다고 생각합니다. 대부분의 경우 여분의 용량이 있으므로 연결을 효율적으로 사용하지는 않습니다.
내가 원하는 것을 할 수있는 방법이 있습니까? 내가 잘못 가고 있습니까? 나는 적당히 가격이 책정 된 라우터 / 어플라이언스 또는 리눅스 또는 BSD 배포판을 운영하기위한 일반적인 상자 일지라도 이것에 돈을 쓰려고한다.