Я новичок в управлении трафиком с помощью команд Linux tc. Итак, я делаю некоторые практические шаги по введению сетевой задержки, потери и повреждения пакетов и т. Д. На двух хостах в одной сети. Приведенные ниже команды использовались для искажения всего трафика с порта 20786 на хосте A на порт 202 на хост-машине B.
sudo tc qdisc add dev eth0 root handle 1: prio priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sudo tc qdisc add dev eth0 parent 1:2 handle 20: netem corrupt 30%
sudo tc filter add dev eth0 parent 1:0 protocol ip u32 match ip sport 20786 0xffff flowid 1:2
sudo tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dport 202 0xffff flowid 1:2
Как мне убедиться, что пакеты будут повреждены? Я спрашиваю об этом, потому что не будет ли контроля ошибок TCP, который гарантирует, что пакеты не будут повреждены?
Если пакеты повреждены, они будут отброшены в месте назначения, а источник (в конечном итоге) повторно передаст их. Таким образом, вы увидите множество ретрансляций в Wireshark. При 30% -ном повреждении их будет МНОГО, и поэтому соединение будет очень медленным.