Опции для работы с пакетами и гнездами
Опции для работы с пакетами и гнездами
Низкоуровневые сетевые средства Linux позволяют программам передавать и принимать фрагменты данных, называемые пакетами, посредством специальных структур, которые называются гнездами (socket). В большинстве случаев обмен данными через гнездо осуществляется по тому же принципу, что и обмен данными с файлом. Стек сетевых протоколов обеспечивает передачу информации по адресу назначения, где происходит ее интерпретация.
В некоторых случаях желательно и даже необходимо изменить принцип обработки данных; иногда приходится расширять стандартный набор операций над пакетами. Сделать это позволяют специальные опции, рассмотрению наиболее важных из них посвящены разделы данной главы. Некоторые из опций кратко описаны ниже.
• Packet Socket. Эта опция позволяет приложениям непосредственно обращаться к требуемому протоколу, минуя некоторые уровни стека протоколов. Для большинства программ такая возможность не нужна; ее используют лишь инструментальные средства сетевой диагностики и специальные утилиты, действующие на нижнем уровне. В качестве примера подобных программ можно привести утилиту tcpdump, которая выводит информацию о пакетах TCP и IP. Данная опция не обязательна. Она несколько увеличивает размер ядра и дает возможность злоумышленникам воспользоваться утилитами сетевой диагностики. С другой стороны, отключив данную опцию, вы не сможете воспользоваться целым рядом утилит.
• Packet Socket: Mapped IO. Если данная подопция Packet Socket включена, производительность инструментальных средств, использующих низкоуровневые соединения, повышается.
• Unix Domain Sockets. Некоторые важные программы Linux используют сетевые протоколы для обмена данными даже в том случае, если они выполняются на одном и том же компьютере. В качестве примеров можно привести средство протоколирования syslogd и программы, выполняющиеся в среде X-Window (X-программы используют сетевой протокол для взаимодействия с X-сервером, выполняющим отображение данных). Опция Unix Domain Sockets допускает взаимодействие в пределах одной системы даже в тех случаях, когда на компьютере не установлено сетевое оборудование. Даже если средства поддержки сетевого обмена присутствуют, опция Unix Domain Sockets обеспечивает более высокую скорость обмена по сравнению с обычными TCP-гнездами. Обычно данная опция устанавливается; без нее обходятся лишь системы, предназначенные для выполнения на специализированных устройствах.
По умолчанию все три указанные опции устанавливаются. При необходимости вы можете запретить Packet Socket.