낮은 대역폭, 높은 대기 시간 환경을 어떻게 시뮬레이션합니까?


201

원격 사이트에서 VPN의 조건을 에뮬레이트하려면 서버에 대한 낮은 대역폭, 높은 대기 시간 연결을 시뮬레이션해야합니다. 소프트웨어 패키지를 실행하기 위해 최상의 조합을 발견 할 수 있도록 대역폭과 대기 시간을 조정할 수 있어야합니다.


7
좋은 질문입니다! ASP .NET 웹 개발과 관련된 답변을 듣고 싶습니다.
Carl

답변:


79

들어 맥 OS 는이 네트워크 링크 컨디셔너 구성 지연 대역폭 및 패킷 손실을 시뮬레이션합니다. 그것은에 포함되어 엑스 코드에 대한 추가 도구 패키지. 스크린 샷


12
"네트워크 연결 컨디셔너"환경 설정 창은에서 다운로드 할 수 엑스 코드에 대한 하드웨어 IO 도구의 일부입니다 developer.apple.com/downloads
avernet

Genymotion에서 작동하지 않는 것 같습니다. (검은 색 화면)
Bruno

1
새로운 엑스 코드 버전에 대한 다운로드 링크 : developer.apple.com/download/more/?q=Additional%20Tools
jstorm31

감사합니다. 패키지의 현재 이름과 현재 링크로 답변을 업데이트했습니다.
Jon Colverson

37

이 작업을 수행하기 위해 FreeBSD 머신을 설정하는 훌륭한 글이 있습니다. 표준 오래된 데스크탑을 가져 와서 추가 NIC를 던지고 빌드하십시오.

이 글은 http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html .

위 지침의 5 단계에서 방화벽을 활성화하고 있습니다. 다른 IP 연결을 시뮬레이션하기 위해 다음과 같은 작업을 수행 할 수 있습니다.

/etc/rc.firewall.56k다음을 포함 하는 파일 을 작성하십시오 .

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

그리고 변경 /etc/rc.conf... 라인을 교체

firewall_type="open"

firewall_type="/etc/rc.firewall.56k"

재부팅하면 56K 브리지가 생깁니다!

Macintosh에서 작업하는 경우 해당 OS에 기본적으로 ipfw가 내장되어 있습니다. 공항과 이더넷을 통해 네트워크 트래픽을 라우팅하여 공항에서 오는 모든 것이 내가 모방하려는 것과 동일한 특성을 갖도록 설정하여 동일한 작업을 수행했습니다. 터미널에서 직접 ipfw 명령을 호출하여 동일한 효과를 얻을 수 있습니다.


27

과거에는 Linux Netem (Network Emulation) 기능 을 사용하는 브리지를 사용했습니다 . 지연 구성 (첫 번째 예는 WAN), 패킷 손실, 손상 등을 도입 할 수 있도록 고도로 구성 가능합니다.

편집 : 설정을 제어하는 MasterShaper 웹 인터페이스 도 있습니다 .

Netem이 내 응용 프로그램에서 매우 잘 작동했지만 WANem을 여러 번 사용 하게 되었습니다. 제공된 부팅 가능한 ISO (및 가상 어플라이언스 이미지)를 사용하면 매우 편리합니다.


내 필요에 완벽하며 Ubuntu 14.04 서버에서 즉시 사용할 수 있습니다!
RobM

21

찰스

나는 우연히 찰스 프록시 응용 프로그램을 디버깅 웹 및 네트워크 대기 시간을 에뮬레이션에서 큰 성공을했다. Windows, Mac 및 Linux에서 작동합니다.

Mac의 Charles

대역폭 스로틀 / 대역폭 시뮬레이터

Charles는 인터넷 연결의 대역폭과 대기 시간을 조정하는 데 사용할 수 있습니다. 이를 통해 고속 연결을 사용하여 모뎀 상태를 시뮬레이션 할 수 있습니다.

대역폭은 초당 임의의 바이트로 조절 될 수 있습니다. 이를 통해 모든 연결 속도를 시뮬레이션 할 수 있습니다.

대기 시간은 임의의 밀리 초로 설정 될 수도 있습니다. 대기 시간 지연은 느린 연결에서 발생하는 대기 시간, 즉 요청과 다른 쪽 끝에서 수신되는 요청 사이의 지연을 시뮬레이션합니다.

더미 넷

vmware를 사용하여 BSD 또는 Linux를 실행 하고이 기사 (DummyNet) 또는 기사를 사용해 볼 수도 있습니다 .


2
Charles는 HTTP 프록시이므로 HTTP 응용 프로그램 테스트에만 적합합니다. 각자 자신의 의견이지만, 아마도 내가 사용해 본 최악의 소프트웨어 일 것입니다. Mac에서 작업해야하는 동안 짧은 시간 동안 만 사용했습니다. Windows 사용자의 경우 HTTP 디버깅 프록시가 필요한 경우 Fiddler를 권장합니다. 불행히도 OSX 용 Charles 이외의 것을 찾지 못했습니다.
Brad

6
안녕 브래드 어떤 종류의 문제가 있었는지 언급 할 수 있습니까?
Ante

17

clumsy 라는 Windows 용이 깔끔한 프로그램을 찾았습니다 . 그것은 일종의 알파 상태이지만 나에게 잘 작동하는 것처럼 보이고 오픈 소스입니다.

편집 : 다른 사람들은 당신이 서투른 대역폭을 제한 할 수 없다는 것을 알았습니다. 지연 시간과 몇 가지 다른 네트워크 관련 오류 만 추가 할 수 있습니다. 이것은이 답변을 질문에 대한 유효한 답변으로 실격 시키지만 나쁜 네트워크를 시뮬레이션하고 싶을 때 그것을 잘 사용했기 때문에 투표가 0보다 크거나 같은 한 여기에 남겨 둘 것입니다.


서투른 대역폭을 어떻게 제어합니까?
user3731622

3
훌륭한 프로그램. 내가 필요한 것만 난 그것을 추천 해. 매력과 매우 쉽게 작동합니다.
Jh62

1
대부분의 사람들이 "대역폭 제한"이라고 말하면 대역폭을 효과적으로 제한하기 때문에 방대한 양의 대기 시간과 패킷 손실을 추가하는 것만으로도 만족할 것입니다. 또한이 프로그램은 놀랍도록 사용하기 쉽고 Windows에서 시도한 다른 모든 것을 능가합니다.
굴립니다.

13

WANem을 사용해보십시오

WANem은 광역 네트워크 에뮬레이터로, LAN 환경에서 응용 프로그램을 개발 / 테스트하는 동안 광역 네트워크 / 인터넷의 실제 경험을 제공합니다.


1
나는 이것을 시도했지만 작동하지 않는 것 같습니다. 다른 컴퓨터에는 아무런 문제가 없지만 어떤 이유로 든 네트워크에서 IP 주소를 얻지 못합니다.
Michael Beck


7

나는 사용하려고합니다 리눅스에서 netem 을 . 그것으로 추가 지연, 손상, 패킷 손실 및 복제를 시뮬레이션 할 수 있습니다. 루프백 장치에서도 작동합니다.


netem과 같은 Windows 명령이 있습니까?
Shashi Ranjan

6

또 다른 클라이언트 측 프로그램 (Windows 만 해당),이 NetLimiter입니다 - http://www.netlimiter.com


2
Netlimiter는 좋지만 대역폭이 낮을뿐 아니라 지연 시간을 변경할 수 없다고 생각합니까?
Nathan

v3는 지연 시간 시뮬레이션을 계획된 기능으로 나열했습니다. 최근에 출시되었지만 아직 그 기능을 사용하는지 확인하지 못했습니다.
kaliatech

이 기능은 베타 버전 9에 포함되지 않았습니다.
cacba

4
현재 베타 (NetLimiter 4)조차도 지연 시간을 변경할 수 없습니다.
유입

5

Windows 컴퓨터에서 NetBalancer를 사용합니다.

http://seriousbit.com/netbalancer/

2017-10-07 업데이트 : NetBalancer의 마지막 무료 버전은 9.2.7입니다. 프로그램에는 하드 코딩 된 만료 날짜가 있습니다. NetBalancer 서비스를 시작하기 전에 2016-10-18 이전에 시스템 시계를 다시 설정해야합니다. 자세한 내용은 이 기사 를 참조하십시오.


감사합니다!! NetBalancer는이 페이지에 나와있는 유일한 도구로 작업을 할 수 있었고 대기 시간을 제어 할 수 있습니다.
유입



3

Chrome을 사용하여 웹 사이트를 테스트하기위한 저 대역폭 연결을 시뮬레이션하려면 F12 도구의 네트워크 탭으로 이동하여 대역폭을 선택하여 시뮬레이션 할 사용자 정의 대역폭을 시뮬레이션하거나 작성할 수 있습니다.


1
감사! 찾을 수없는 경우 Chrome 콘솔의 네트워크 탭에있는 '캐시 사용 중지'버튼 오른쪽에 있습니다. 기본값은 "스로틀 없음"입니다.
Alan Willms


1

리눅스를 사용하고 있다면 Traffic Control 프로그램이 이런 종류의 도움이 될 것입니다.


1

http://www.shunra.com 에는 VE Desktop이라는 제품이 있으며 다양한 네트워크 조건을 시뮬레이션하는 데 사용할 수 있습니다. 간단한 UI로 지연 시간, 대역폭 및 패킷 손실을 조정할 수 있습니다. 유일한 경고는 무료가 아닙니다. 도움이 되었기를 바랍니다.


1

한동안이 유형의 테스트를 위해 사용하기 쉬운 도구를 찾고있었습니다. 나는 다른 날에 이것을 발견했다 : 네트워크 지연 시뮬레이터

Windows를 실행중인 경우 확인해야합니다. 설정하고 진행하는 것이 매우 쉬웠으며 실제로 잘 작동하는 것 같습니다. 각 방향에서 대역폭, 대기 시간 및 패킷 손실을 정의 할 수 있습니다. 또 다른 좋은 점은 "Flow Match Conditions"를 정의하여 원하는 트래픽에만 영향을 줄 수 있다는 것입니다. 예, 무료입니다.



1

실험실에서 실제 네트워크 조건을 만들 수 있도록 대역폭, 대기 시간, 패킷 손실, 패킷 순서 변경, 패킷 복제, 패킷 조각화, 네트워크 혼잡 및 더 많은 장애를 구성 할 수있는 NE-ONE 네트워크 에뮬레이터를 살펴보십시오. . 업 링크와 다운 링크에 대해 서로 다른 장애를 구성 할 수 있으므로 업 링크는 양호하지만 다운 링크는 좋지 않습니다. ack가 적시에 돌아 오지 않고 전체 대기 시간으로 인해 앱이 TCP 큐를 처리하는 방식을 보는 데 좋습니다. 따라서 증가합니다!

여기에 개요 비디오가 있습니다 http://www.youtube.com/watch?v=DwtqlE7LcrQ게임 개발자를 겨냥한 있지만 그 내용을 보여줍니다. NE-ONE은 웹 브라우저를 사용하여 구성되므로 설치 및 구성이 매우 쉽습니다. 네트워크 전문가 일 필요는 없습니다 :-)

하드웨어 버전 ( http://www.itrinegy.com/index.php/products/network-emulators/ne-one)이 있거나 VMware ESXi Server에서 실행되는 가상 어플라이언스 (소프트웨어) 버전을 다운로드 할 수 있습니다. 가상 어플라이언스는 VMware의 Solution Exchange (solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator)에서 다운로드 할 수 있습니다.



0

LANforge ICE는 가상 라우팅, 지터, 손상 및 지연에 중점을 둔 네트워크 에뮬레이터 입니다. 프로젝트는 위성 링크, 케이블 및 모뎀 연결, 고속 (10Gbit) 완 에뮬레이션을 에뮬레이션하는 데 사용했습니다. Java GUI를 사용하여 가상 네트워크를 구축하고 트래픽 흐름에 대한 매우 상세한 보고서를 생성 할 수 있습니다. LANforge 제품은 프레임, 이더넷, 레이어 3 및 상태 저장 트래픽 (NFS, http)과 같은 트래픽 생성 기능도 제공합니다. LANforge의 최신 버전에는 정교한 WiFi 테스트 기능도 있습니다.


0

시도해 볼 수 있습니다 : CovenantSQL / GNTE 는 다음과 같이 YAML을 작성하십시오.

group:
  - 
    name: china
    nodes:
      - 
        ip: 10.250.1.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.1.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "100ms 10ms 30%"
    loss: "1% 10%"
  - 
    name: us
    nodes:
      - 
        ip: 10.250.2.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.2.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "1000ms 10ms 30%"
    loss: "1% 10%"

network:
  -
    groups:
      - china
      - us
    delay: "200ms 10ms 1%"
    corrupt: "0.2%"
    rate: "10mbit"

운영 ./generate scripts/your.yaml

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.