Мне нужно протестировать мою сеть между двумя сайтами с помощью iperf. Я хотел бы открыть параллельные потоки, отправляющие данные на разных (скажем, 5 определенных) портах, со случайной длиной от 10 до 1000, со случайными перерывами в 1-2 секунды между каждыми 3 секундами передачи. Также скорость передачи пакетов должна быть 1000 пакетов в секунду. Я пытался написать несколько сценариев оболочки, но они не работали. Заранее благодарим за помощь!
#/bin/sh
while :
do
$time=$(($RANDOM%3+1)) #time when packets are sent (1-3s)
$pause=$(($RANDOM%2+1)) #time when we stop sending packets (1-2s)
$length=$(($RANDOM%991+10)) #length of packet (10-1000bytes)
iperf -c 10.0.0.1 -p 21 -l $length -t $time -n 1000 # I'm not sure if -n 1000 means 1000pps?
### (here goes another iperfs but with different ports) ###
sleep $pause
done
Было бы лучше, если бы каждый iperf имел разное время $ time и $ pause, многопоточность?
P.S. Пытаюсь заменить cisco TGN (генератор трафика) инструмент. Представляю код, который я пытаюсь заменить ниже (может быть, кому-то будет полезен):
Router#tgn
fastethernet 0/0
add tcp
rate 1000
L2-dest aaaa.bbbb.cccc
L3-src source_ip_address
L3-dest destination_ip_address
L4-dest 23
length random 16 to 1500
burst on
burst duration off 1000 to 2000
burst duration on 1000 to 3000
add fastethernet0/0 1
l4-dest 80
add fastethernet0/0 1
l4-dest 21
add fastethernet0/0 1
l4-dest 123
add fastethernet0/0 1
l4-dest 110
add fastethernet0/0 1
l4-dest 25
add fastethernet0/0 1
l4-dest 22
add fastethernet0/0 1
l4-dest 6000