Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Длина заголовка находится в младших 4 битах нулевого байта IP-пакета и содержит количество 32-битных слов в заголовке. Поскольку минимальный размер заголовка 20 байт (т.е. пять 32-битных слов), то минимальное значение этого поля равно 5. Старшие 4 бита содержат версию протокола и для IPv4 это значение равно 4. Итак, предположим, что в нулевом байте находится значение 0x45. Эту величину мы загружаем в индексный регистр и осуществляем операцию логического И: 0x45 & 0xF = 0x5. Умножение на 4 эквивалентно логическому сдвигу на 2 бита в сторону старших разрядов, при этом значения старших разрядов теряются. В итоге в индексном регистре будет находиться значение 0x5 * 4 = 0x14, в десятичном представлении – 20. Это и есть длина заголовка IP-пакета в байтах.

BPF_ST

Инструкция BPF_ST служит для загрузки аккумулятора в ячейку памяти:

BPF_ST           M [ k ] <- A

Значение k определяет адрес ячейки памяти.

BPF_STX

Инструкция BPF_STX служит для загрузки индексного регистра в ячейку памяти:

BPF_STX          M [ k ] <- X

Значение k определяет адрес ячейки памяти.

BPF_ALU

Инструкция BPF_ALU выполняет арифметико-логические между аккумулятором и индексным регистром или константой. Результат сохраняется в аккумуляторе.

BPF_ALU+BPF_ADD+BPF_K          A <- A + k

BPF_ALU+BPF_SUB+BPF_K          A <- A — k

BPF_ALU+BPF_MUL+BPF_K          A <- A * k

BPF_ALU+BPF_DIV+BPF_K          A <- A / k

BPF_ALU+BPF_AND+BPF_K          A <- A & k

BPF_ALU+BPF_OR+BPF_K           A <- A | k

BPF_ALU+BPF_LSH+BPF_K          A <- A << k

BPF_ALU+BPF_RSH+BPF_K          A <- A >> k

BPF_ALU+BPF_ADD+BPF_X          A <- A + X

Здесь я не вижу необходимости в комментариях, все прозрачно.

BPF_JMP

Инструкция BPF_JMP изменяет порядок выполнения программы фильтрации. Данная инструкция может осуществлять как условный, так и безусловный переход между инструкциями. При безусловном переходе (BPF_JA, jump always) смещение задается 32-битным значением, при условном – 8-битным.

BPF_JMP+BPF_JA          pc += k

Безусловный переход по смещению, заданному 32-разрядным значением k.

BPF_JMP+BPF_JGT+BPF_K          pc += ( A > k ) ? jt : jf

Сравнение значений аккумулятора и константы k. Условный переход по смещению, заданному в поле jt при выполнении условия A > k.

BPF_JMP+BPF_JGE+BPF_K          pc += ( A >= k ) ? jt : jf

BPF_JMP+BPF_JEQ+BPF_K          pc += ( A == k ) ? jt : jf


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100