Tôi cần mô phỏng kết nối băng thông thấp, độ trễ cao đến máy chủ để mô phỏng các điều kiện của VPN tại một trang web từ xa. Băng thông và độ trễ phải có thể điều chỉnh để tôi có thể khám phá sự kết hợp tốt nhất để chạy gói phần mềm của chúng tôi.
Tôi cần mô phỏng kết nối băng thông thấp, độ trễ cao đến máy chủ để mô phỏng các điều kiện của VPN tại một trang web từ xa. Băng thông và độ trễ phải có thể điều chỉnh để tôi có thể khám phá sự kết hợp tốt nhất để chạy gói phần mềm của chúng tôi.
Câu trả lời:
Đối với macOS , có Bộ điều hòa liên kết mạng mô phỏng băng thông, độ trễ và mất gói có thể định cấu hình. Nó được chứa trong gói Công cụ bổ sung cho Xcode .
Có một bài viết tuyệt vời về việc thiết lập một máy FreeBSD để làm việc này - lấy máy tính để bàn cũ tiêu chuẩn của bạn, ném vào một NIC bổ sung và xây dựng.
Bài viết có sẵn tại http://www.freebsd.org/doc/en/articles/filtering- điều chỉnh / article.html .
Trong bước 5 của các hướng dẫn ở trên, bạn đang bật tường lửa. Để chỉ mô phỏng một kết nối IP khác, bạn có thể (ví dụ) làm như sau:
Tạo một tệp /etc/rc.firewall.56k
chứa các mục sau:
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
Và thay đổi /etc/rc.conf
... thay thế dòng
firewall_type="open"
với
firewall_type="/etc/rc.firewall.56k"
khởi động lại, và bạn đã có cho mình một cây cầu 56K!
Nếu bạn tình cờ làm việc từ Macintosh, hệ điều hành đó có ipfw được tích hợp vào nó theo mặc định. Tôi đã làm điều tương tự bằng cách định tuyến lưu lượng truy cập mạng qua Sân bay và qua ethernet, thiết lập nó để mọi thứ đi qua sân bay đều có những đặc điểm giống như bất cứ điều gì tôi đang cố gắng mô phỏng. Bạn có thể gọi các lệnh ipfw trực tiếp từ thiết bị đầu cuối và nhận được các hiệu ứng tương tự.
Trước đây, tôi đã sử dụng một cây cầu sử dụng chức năng Linux Netem ( Mô phỏng mạng). Nó có cấu hình cao - cho phép đưa ra các độ trễ (ví dụ đầu tiên là cho mạng WAN), mất gói, hỏng, v.v.
EDIT: Ngoài ra còn có giao diện web MasterShaper để kiểm soát cài đặt.
Tôi lưu ý rằng Netem đã hoạt động rất tốt cho các ứng dụng của tôi, nhưng tôi cũng đã kết thúc việc sử dụng WANem nhiều lần. ISO có thể khởi động được cung cấp (và hình ảnh thiết bị ảo) làm cho nó khá tiện dụng.
Tôi tình cờ thấy Charles ứng dụng gỡ lỗi web và đã thành công lớn trong việc mô phỏng độ trễ của mạng. Nó hoạt động trên Windows, Mac và Linux.
Điều chỉnh băng thông / giả lập băng thông
Charles có thể được sử dụng để điều chỉnh băng thông và độ trễ của kết nối Internet của bạn. Điều này cho phép bạn mô phỏng các điều kiện modem bằng kết nối tốc độ cao của bạn.
Băng thông có thể được điều chỉnh theo bất kỳ byte tùy ý nào trong một giây. Điều này cho phép bất kỳ tốc độ kết nối được mô phỏng.
Độ trễ cũng có thể được đặt thành bất kỳ số mili giây tùy ý. Độ trễ độ trễ mô phỏng độ trễ trải nghiệm trên các kết nối chậm hơn, đó là độ trễ giữa việc đưa ra yêu cầu và yêu cầu được nhận ở đầu kia.
Bạn cũng có thể sử dụng vmware để chạy BSD hoặc Linux và thử bài viết này (DummyNet) hoặc bài này.
Tôi tìm thấy chương trình nhỏ gọn này cho Windows gọi là vụng về . Nó thuộc loại trạng thái alpha, nhưng nó có vẻ hoạt động tốt với tôi và nó là nguồn mở.
Chỉnh sửa: Những người khác nhận thấy rằng bạn không thể giới hạn băng thông một cách vụng về và điều đó là đúng. Bạn chỉ có thể thêm Độ trễ và một vài lỗi liên quan đến mạng khác. Điều này sẽ loại bỏ câu trả lời này là câu trả lời hợp lệ cho câu hỏi, tuy nhiên vì tôi đã sử dụng nó tốt khi tôi muốn mô phỏng một mạng xấu nên tôi sẽ để nó ở đây miễn là nó có> 0 phiếu hoặc tương tự.
Hãy thử mạng WANem
WANem là Trình mô phỏng mạng diện rộng, nhằm cung cấp trải nghiệm thực sự về Mạng / Internet diện rộng, trong quá trình phát triển / thử nghiệm ứng dụng trên môi trường LAN.
Đối với Windows, bạn có thể sử dụng ứng dụng này: http://www.softperinf.com/products/connectionemulator/
Trình mô phỏng kết nối WAN cho Windows 2000, XP, 2003, Vista, Seven và 2008.
Có lẽ chỉ có một cho Windows.
Tôi sẽ thử sử dụng netem trên linux. Với nó, bạn có thể mô phỏng thêm độ trễ, hỏng, mất gói và sao chép. Nó thậm chí hoạt động trên thiết bị loopback.
Một chương trình phía máy khách khác (chỉ dành cho Windows), là NetLimiter - http://www.netlimiter.com
Tôi sử dụng NetBalancer trên máy Windows của mình.
http://seriousbit.com/netbalancer/
Cập nhật vào ngày 2017-10-07 : Phiên bản miễn phí cuối cùng của NetBalancer là 9.2.7. Chương trình có ngày hết hạn được mã hóa cứng. Trước khi bắt đầu dịch vụ NetBalancer, bạn cần quay ngược đồng hồ hệ thống trước 2016-10-18. Xem bài viết này để biết chi tiết.
Đã tìm thấy cái này cho Windows bằng Fiddler (giải pháp miễn phí) http://www.logic-worx.com/index.php/tools-and-apps/fiddler-connection-simulator/
Rules -> Performance -> Simulate Modem Speeds
, nếu bạn không muốn sử dụng một plugin riêng.
tôi đoán tc
có thể thực hiện công việc trên nền tảng dựa trên UNIX.
tc
được sử dụng để định cấu hình Kiểm soát lưu lượng trong nhân Linux
http://lartc.org/manpages/tc.txt
Để mô phỏng kết nối băng thông thấp để kiểm tra các trang web sử dụng Google Chrome, bạn có thể truy cập Tab Mạng trong Công cụ F12 và chọn mức băng thông để mô phỏng hoặc tạo băng thông tùy chỉnh để mô phỏng.
Đây là bài viết hay về điều này http://purefinity.blogspot.com/2009/01/simulation-network-delay-USE-linux.html
Nếu bạn đang dùng linux, tôi thấy chương trình Traffic Control sẽ giúp ích rất nhiều cho việc này.
Có một sản phẩm từ http://www.shunra.com có tên VE Desktop có thể được sử dụng để mô phỏng các điều kiện mạng khác nhau. Nó cho phép bạn điều chỉnh độ trễ, băng thông và gói dữ liệu với một giao diện người dùng đơn giản. Chỉ có cảnh báo là, nó không miễn phí. Hi vọng điêu nay co ich.
Tôi đã tìm kiếm một công cụ dễ sử dụng cho loại thử nghiệm này một thời gian rồi. Tôi mới bắt gặp điều này vào một ngày khác: Network Delay Simulator
Nếu bạn đang chạy Windows, bạn nên kiểm tra nó. Thật dễ dàng để thiết lập và bắt đầu, và dường như hoạt động rất tốt. Nó cho phép bạn xác định băng thông, độ trễ và mất gói theo từng hướng. Một điều thực sự thú vị khác là bạn có thể xác định "Điều kiện khớp dòng chảy" để nó chỉ ảnh hưởng đến lưu lượng truy cập mà bạn muốn. Ồ vâng, và nó miễn phí.
Tôi nghĩ rằng tôi đã tìm thấy những gì tôi cần. có lẽ bạn có thể sử dụng charles proxy hoặc chậm . hy vọng nó giúp.
Hãy xem Trình mô phỏng mạng NE-ONE cho phép bạn định cấu hình băng thông, độ trễ, mất gói, sắp xếp lại gói, sao chép gói, phân mảnh gói, tắc nghẽn mạng và nhiều khiếm khuyết khác để bạn có thể tạo điều kiện mạng trong thế giới thực trong phòng thí nghiệm . Các khiếm khuyết khác nhau có thể được định cấu hình cho đường lên và xuống để bạn có thể có đường lên thực sự tốt nhưng trải nghiệm đường xuống thực sự tồi tệ, tuyệt vời khi thấy ứng dụng xử lý hàng đợi TCP vì acks không quay lại kịp thời và độ trễ chung do đó tăng lên!
Có một video tổng quan ở đây http://www.youtube.com/watch?v=DwtqlE7LcrQ đặc biệt nhắm đến các nhà phát triển trò chơi, nhưng nó cho thấy những gì nó nói về. NE-ONE được định cấu hình bằng trình duyệt web để cài đặt và định cấu hình thực sự dễ dàng - bạn không cần phải là một chuyên gia mạng :-)
Có phiên bản phần cứng - http://www.itrinegy.com/index.php/products/network-emulators/ne-one - hoặc bạn có thể tải xuống phiên bản Thiết bị ảo (phần mềm) chạy trong VMware ESXi Server. Có thể tải xuống Thiết bị ảo từ Giải pháp trao đổi của VMware - Solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator
Chúng tôi đã sử dụng phần mềm này một lần bên trong Máy ảo để thực hiện một số thử nghiệm quy mô băng thông:
http://www.softinengines.com/index.php?section=doad&langu=en
Nó không miễn phí, nhưng có bản dùng thử 30 ngày.
LANforge ICE là một trình giả lập mạng, tập trung vào định tuyến ảo, jitter, tham nhũng và trì hoãn. Các dự án đã sử dụng nó để mô phỏng liên kết vệ tinh, kết nối cáp và modem và mô phỏng wan tốc độ cao (10Gbit). Bạn có thể sử dụng GUI Java để xây dựng các mạng ảo của mình và tạo các báo cáo rất chi tiết về luồng lưu lượng. Các sản phẩm LANforge cũng cung cấp các tính năng tạo lưu lượng: khung, ethernet, lớp 3 và lưu lượng trạng thái (NFS, http). Các phiên bản gần đây cho LANforge cũng có các tính năng kiểm tra WiFi tinh vi.
Bạn có thể thử điều này: CovenantSQL / GNTE chỉ cần viết YAML như thế này:
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"
chạy ./generate scripts/your.yaml