Я пытаюсь смоделировать алгоритм ускорения TCP на Linux-машине. Насколько я понимаю, мне нужно обойти сетевой стек ядра и передать входящие пакеты моему пользовательскому коду. В настоящее время я смотрю на ловушки netfilter для перехвата пакетов, но я пока не понимаю, как передать пакет в пространство пользователя. вы можете помочь?
Обход пакетов из пространства ядра в пространство пользователя
comment
Добро пожаловать в SO — это волшебное место, где люди просто пишут код для вас. Предлагаем вам взглянуть на то, как задать вопрос.
- person bated   schedule 29.08.2017
Ответы (1)
Я бы посоветовал взглянуть на средство PACKET_MMAP, которое доступно в Ядро Linux и позволяет принимать пакеты, построенные на круговом буферном кольце, сопоставленном с пользовательским пространством. Документ по ссылке является своего рода исчерпывающим, а также существуют различные примеры, такие как libpcap.
person
Community
schedule
01.09.2017