답변:
netem iproute에 의해 제어 커널 모듈.
커널로 Netem을 컴파일해야합니다.
Networking -->
Networking Options -->
QoS and/or fair queuing -->
Network emulator
netem 모듈이로드되면 iproute의 tc를 사용하여 다음을 수행 할 수 있습니다.
tc qdisc add dev tap0 root netem delay 50ms loss 50%
(50 % 패킷 손실, 50ms의 추가 지연)
sch_netem
입니다. 일반적으로 수동으로로드 할 필요가 없으며 필요에 따라 자동으로로드됩니다.
rate
옵션을 : tc qdisc add dev lo root handle 1:0 netem delay 10ms rate 1mbit limit 1000
. lo
(localhost에 액세스하기위한) 와 같은 일부 장치의 경우 대기열 길이도 설정해야합니다 ifconfig lo txqueuelen 1000
.
클라이언트 쪽?
물방울 은 원하는 것을해야합니다. 우분투 (또는 데비안이라고 생각합니다) sudo apt-get install trickle
를 실행하고 있다면로 설치 한 다음 실행할 수 있습니다. trickle -s -d 10 -u 10 firefox
(또는, 한동안 사용하지 않았습니다) 파이어 폭스를 실행하여 다운로드 및 업로드 속도를 초당 10 킬로바이트로 제한합니다.
우분투에서 'wondershaper'라는 도구를 사용하여 네트워크에서 사용 가능한 모든 대역폭을 사용하지 못하게하는 방법을 찾았습니다. 다른 리눅스 데스트로에서도 존재하기를 바랍니다. 다음 명령을 사용하여 Linux 홈 PC가 사용할 수있는 대역폭을 제한 할 수 있습니다.
sudo wondershaper eth0 1000 200
이로 인해 다운로드 제한이 1000 킬로 비트로 제한되고 200 킬로 비트로 늘어납니다. 자세한 정보 / 옵션에 대해서는 wondershaper 매뉴얼 페이지를 참조하십시오.
wondershaper
데비안 패키지 입니다.
sudo wondershaper clear eth0
NIST는 NistNet이라는 네트워크 시뮬레이터를 만듭니다.
http://snad.ncsl.nist.gov/nistnet/ (링크가 죽은 것 같습니다)
http://cs.ecs.baylor.edu/~donahoo/tools/nistnet/
NistNet을 사용하면 선택한 통신 링크를 에뮬레이트하는 라우터를 만들 수 있습니다.
가장 간단한 작동을 위해 두 네트워크 사이에 두 개의 NIC가있는 상자에 있습니다.
예를 들어 위성 링크를 통해 작동해야하는 응용 프로그램이 있습니다.
데이터는 BIG 대기 시간이있는 2Mbps 링크를 통과 할 수 있습니다. 제어는 동일한 대기 시간으로 128kbps 링크를 거쳐야했습니다.
NistNet은 128kbps에서 모두 작동하도록 도와주었습니다.
NistNet을 사용하면 대역폭뿐만 아니라 대기 시간도 시뮬레이션 할 수 있으며 사용 중이거나 신뢰할 수없는 링크를 시뮬레이션하여 패킷을 삭제합니다.
임의 연결을 시뮬레이트하려면 대역폭을 제한하지 말고 지연 시간을 줄이십시오.
패킷을 조각화하는 것을 잊지 마십시오. 가짜 링크에서 멋진 작은 MTU를 설정할 수 있습니다.
IIRC에 패킷 지터를 추가하면 고장난 패킷에 대처할 수 있는지 알 수 있습니다.
나는 과거에 개인적으로 wondershaper 를 사용 했지만 ADSL 연결을 최대한 활용하는 반대 사용 사례로 작성되었습니다.
그래도 여기에 언급 된 다른 것들을 시도해야합니다.
로컬에 설치된 오징어 프록시 를 사용 하여 저속 링크에서 웹 페이지를 테스트하는 등의 대역폭을 제한 할 수 있습니다 .
배포판에서 오징어 프록시 를 설치 하십시오. Fedora에서는 매우 쉽습니다 yum install squid
.
다음에 추가하십시오 /etc/squid/squid.conf
:
delay_pools 1
delay_class 1 1
delay_access 1 allow all
delay_parameters 1 16000/16000
이렇게하면 대역폭이 약 128kbps (16000bps)로 제한됩니다.
오징어 시작 :/etc/init.d/squid start
프록시 서버 localhost
포트 를 사용하도록 브라우저를 구성하십시오 3128
.
아직 데비안 저장소에서 "iprelay"라는 ip_relay를 언급 한 사람은 없습니다 . 그것은 물방울 이 하는 방식으로 전화를 가로 채지 않고 TCP 프록시로 작동하며 프록시 (예 : 웹 브라우저)를 사용하거나 사용자 정의 대상 포트 (telnet, ssh, ftp, curl, 외 ).
설정하기가 조금 더 어렵지만 종종 물방울이 발생하지 않는 상황에서 작동합니다.