Почему пакеты TCP можно модифицировать для блокировки недопустимых пакетов, но не пакетов UDP

не обязательно отключать или отключать ядра.

вы должны использовать процессорные наборы и наборы задач

http://man7.org/linux/man-pages/man7/cpuset.7.html

A cpuset defines a list of CPUs and memory nodes...

The cpuset filesystem is a pseudo-filesystem interface to the kernel cpuset mechanism, which is used to control the processor placement and memory placement of processes. It is commonly mounted at /dev/cpuset.

On systems with kernels compiled with built in support for cpusets, all processes are attached to a cpuset, and cpusets are always present. If a system supports cpusets, then it will have the entry nodev cpuset in the file /proc/filesystems. By mounting the cpuset filesystem (see the EXAMPLE section below), the administrator can configure the cpusets on a system to control the processor and memory placement of processes on that system. By default, if the cpuset configuration on a system is not modified or if the cpuset filesystem is not even mounted, then the cpuset mechanism, though present, has no effect on the system's behavior.

The CPUs of a system include all the logical processing units on which a process can execute, including, if present, multiple processor cores within a package and Hyper-Threads within a processor core. Memory nodes include all distinct banks of main memory; small and SMP systems typically have just one memory node that contains all the system's main memory, while NUMA (non-uniform memory access) systems have multiple memory nodes.

Короче говоря, если у вас есть 1 процессор с 6 ядрами, вы должны настроить наборы процессоров и запустить свой процесс в наборе процессоров , который настроен только на одно ядро, например, ядро ​​#3. Если бы это был параллельный процесс, то все было бы ограничено этим одним ядром, так что если бы вы запустили 4 процесса в заданном наборе процессоров, имея только одно определенное ядро, то каждый из 4 процессов получил бы 25% загрузки процессора на ядре #3

Исходя из этого, обычно происходит набор процессоров , который настраивается таким образом, что

  • Например, в системе с более чем 200 ядрами процессорному набору A соответствует число ядер от 0 до 60, где бы они ни располагались, а набору процессоров B соответствует число ядер от 61 до 70; cpusetC — ядра 71..80; и так далее, однако администратор/архитектор выбирает настройку.
  • cpusetA назначается определенным пользователям и/или определенным программам программного обеспечения; cpusetB выделяется для разных пользователей/программ; и так далее.
  • пользователь запускает задание (процесс ), который запросит N ядер... в пределах данного набора процессоров, и теперь эти несколько (параллельных )процессов ограничивается данным процессорным набором. А для N параллельных процессов, ограниченных данным набором процессоров, каждый из этих процессов должен/должен использовать привязку к процессору или привязку к процессору , чтобы эти параллельные процессы не блуждать по разным ядрам внутри процессора.

также:https://linux.die.net/man/1/taskset

1
23.09.2020, 01:31
1 ответ

TCP — это протокол с отслеживанием состояния, UDP не имеет состояния, поэтому с ним нельзя использовать ctstate.

Либо вы разрешаете трафик для определенного порта для UDP, либо нет.

Кроме того, --udp-flags FIN,SYN,RST,ACK SYN— просто чепуха.

Короче говоря, ознакомьтесь немного с TCP/IP и UDP, прежде чем спешить с настройкой iptables.

1
18.03.2021, 23:03

Теги

Похожие вопросы