Я так понял, потому что netmap проверяет каждый октет в ip? А dst-nat сразу хавает его?
[Переслано от Nikolai]
Кратко опишу тут. Дарю тему.
Короче, NETMAP операция более затратная и вот почему:
dst-nat тупо подменяет IP.
Netmap позволяет проецировать сеть-в-сеть, причем несимметрично
Например, можно проецировать /24 в /29
Дело втом, что netmap выполняет дополнительные ПОБИТОВЫЕ преобразования с адресом в пакете.
Для преобразований испоьзуется: 1) адрес подсети 2) маска + обратная маска
При казании target из него вычленяется маска и создаётся обратная маска.
Таким образом выделяется адрес подсети и адреса хостов в этой подсети
Далее, при DNS-NAT преобразуется dst-ip.
Применяя обратную двоичное AND на обратную маску сохраняются биты хоста
Затем двоичное OR с сетью получателя даёт итоговый адрес
Налицо как минимум две лишних битовых операции и дополнительные переменные в памяти и регистрах
Замечу, что побитовые логические операции жрут больше тиков, чем простая запись значения. Это факт.