Как включить сжатие IP-заголовков в Windows 10

Обновлено: 21.11.2024

По умолчанию Elasticsearch привязывается только к локальному хосту, что означает, что удаленный доступ к нему недоступен. Этой конфигурации достаточно для локального кластера разработки, состоящего из одного или нескольких узлов, работающих на одном хосте. Чтобы сформировать кластер из нескольких хостов или доступный для удаленных клиентов, необходимо настроить некоторые сетевые параметры, например network.host .

Будьте осторожны с конфигурацией сети!

Никогда не открывайте незащищенный узел в открытом доступе в Интернете. Если вы это сделаете, вы разрешаете кому угодно в мире загружать, изменять или удалять любые данные в вашем кластере.

Настройка Elasticsearch для привязки к нелокальному адресу приведет к преобразованию некоторых предупреждений в неустранимые исключения. Если узел отказывается запускаться после настройки сетевых параметров, перед продолжением необходимо устранить зарегистрированные исключения.

Часто используемые сетевые настройки

Большинству пользователей потребуется настроить только следующие параметры сети.

По умолчанию _local_ .

По умолчанию 9200-9300 .

(Статический) Порт для привязки для связи между узлами. Принимает одно значение или диапазон. Если указан диапазон, узел будет привязан к первому доступному порту в диапазоне. Задайте для этого параметра один порт, а не диапазон, на каждом узле, имеющем право на роль главного.

По умолчанию 9300–9400 .

Специальные значения для сетевых адресов

_local_ Любые петлевые адреса в системе, например 127.0.0.1 . _site_ Любые локальные адреса сайта в системе, например 192.168.0.1 . _global_ Любые глобальные адреса в системе, например 8.8.8.8 . _[networkInterface]_ Используйте адреса сетевого интерфейса с именем [networkInterface]. Например, если вы хотите использовать адреса интерфейса с именем en0, установите network.host: _en0_. 0.0.0.0 Адреса всех доступных сетевых интерфейсов.

В некоторых системах эти специальные значения преобразуются в несколько адресов. Если это так, Elasticsearch выберет один из них в качестве своего адреса публикации и может изменить свой выбор при каждом перезапуске узла. Убедитесь, что ваш узел доступен по всем возможным адресам.

Любые значения, содержащие : (например, IPv6-адрес или некоторые специальные значения), должны быть заключены в кавычки, потому что : является специальным символом в YAML.

IPv4 против IPv6edit

Эти специальные значения по умолчанию дают адреса IPv4 и IPv6, но вы также можете добавить суффикс :ipv4 или :ipv6, чтобы ограничить их только адресами IPv4 или IPv6 соответственно. Например, network.host: "_en0:ipv4_" установит адреса этого узла в IPv4-адреса интерфейса en0 .

Открытие в облаке

При работе в облаке с установленным подключаемым модулем обнаружения EC2 или подключаемым модулем обнаружения Google Compute Engine доступны дополнительные специальные настройки.

Привязка и публикацияредактирования

Elasticsearch использует сетевые адреса для двух разных целей, известных как привязка и публикация. Большинство узлов будут использовать один и тот же адрес для всего, но более сложные настройки могут потребовать настройки разных адресов для разных целей.

Использование одного адреса

Использование нескольких адресов

Дополнительные настройки сети

Эти дополнительные настройки позволяют выполнять привязку к нескольким адресам или использовать разные адреса для привязки и публикации. В большинстве случаев они не требуются, и вам не следует их использовать, если вместо них можно использовать часто используемые настройки.

network.bind_host (Статический) Сетевые адреса, к которым узел должен привязываться, чтобы прослушивать входящие подключения. Принимает список IP-адресов, имен хостов и специальных значений. По умолчанию используется адрес, заданный network.host . Используйте этот параметр только при привязке к нескольким адресам или использовании разных адресов для публикации и привязки. network.publish_host (Статический) Сетевой адрес, который клиенты и другие узлы могут использовать для связи с этим узлом. Принимает IP-адрес, имя хоста или специальное значение. По умолчанию используется адрес, заданный network.host . Используйте этот параметр только при привязке к нескольким адресам или использовании разных адресов для публикации и привязки.

Вы можете указать список адресов для network.host и network.publish_host . Вы также можете указать одно или несколько имен хостов или специальные значения, которые разрешаются в несколько адресов. Если вы сделаете это, Elasticsearch выберет один из адресов для своего адреса публикации. Этот выбор использует эвристику, основанную на предпочтениях и доступности стека IPv4/IPv6, и может измениться при перезапуске узла. Убедитесь, что каждый узел доступен по всем возможным адресам публикации.

Дополнительные настройки TCP

network.tcp.no_delay (статический) Включение или отключение параметра TCP без задержки. По умолчанию истинно. network.tcp.keep_alive (статический) Настраивает параметр SO_KEEPALIVE для этого сокета, который определяет, отправляет ли он проверки активности TCP. сеть.tcp.keep_idle (Статический) Настраивает параметр TCP_KEEPIDLE для этого сокета, который определяет время в секундах, в течение которого соединение должно быть бездействующим, прежде чем начнется отправка проверок активности TCP. По умолчанию используется значение -1 , которое использует системное значение по умолчанию. Это значение не может превышать 300 секунд. Применимо только в Linux и macOS и требует Java 11 или новее. network.tcp.keep_interval (Статический) Настраивает параметр TCP_KEEPINTVL для этого сокета, который определяет время в секундах между отправкой проверок активности TCP. По умолчанию используется значение -1 , которое использует системное значение по умолчанию. Это значение не может превышать 300 секунд. Применимо только в Linux и macOS и требует Java 11 или новее. network.tcp.keep_count (Статический) Настраивает параметр TCP_KEEPCNT для этого сокета, который определяет количество неподтвержденных проверок активности TCP, которые могут быть отправлены по соединению до его разрыва. По умолчанию используется значение -1 , которое использует системное значение по умолчанию. Применимо только в Linux и macOS и требует Java 11 или новее. network.tcp.reuse_address (Статический) Должен ли адрес использоваться повторно или нет. По умолчанию имеет значение true на компьютерах, отличных от Windows. network.tcp.send_buffer_size (Static) Размер буфера отправки TCP (указывается в единицах измерения). По умолчанию явно не задан. network.tcp.receive_buffer_size (статический) Размер буфера приема TCP (указывается в единицах измерения). По умолчанию явно не установлено.

По умолчанию используется адрес, заданный network.host .

Если клиент не отправляет предварительный запрос с заголовком Origin или не проверяет заголовки ответа от сервера для проверки заголовка ответа Access-Control-Allow-Origin, безопасность между источниками скомпрометирована. Если CORS не включен в Elasticsearch, единственный способ для клиента узнать об этом — отправить предварительный запрос и понять, что необходимые заголовки ответа отсутствуют.

Подстановочный знак ( * ) является допустимым значением, но считается угрозой безопасности, поскольку ваш экземпляр Elasticsearch открыт для запросов из разных источников из любого места.

http.cors.max-age (Static) Браузеры отправляют предварительный запрос OPTIONS для определения настроек CORS. max-age определяет, как долго результат должен кэшироваться. По умолчанию 1728000 (20 дней).

(Static) Следует ли возвращать заголовок Access-Control-Allow-Credentials. По умолчанию false .

Этот заголовок возвращается, только если для параметра установлено значение true .

(Static) Если задано значение true , разрешает вывод подробных сообщений об ошибках и трассировки стека в выходных данных ответа. По умолчанию истинно .

Если установлено значение false , используйте параметр error_trace, чтобы включить трассировку стека и вернуть подробные сообщения об ошибках. В противном случае будет возвращено только простое сообщение.

Расширенные настройки транспорта

По умолчанию используется адрес, заданный network.host .

Транспортные профилиизменить

Elasticsearch позволяет привязываться к нескольким портам на разных интерфейсах с помощью транспортных профилей. См. этот пример конфигурации

Профиль по умолчанию особенный. Он используется в качестве запасного варианта для любых других профилей, если для них не задан определенный параметр конфигурации, и именно так этот узел подключается к другим узлам в кластере. Другие профили могут иметь любое имя и использоваться для настройки конкретных конечных точек для входящих подключений.

В каждом транспортном профиле можно настроить следующие параметры, как в приведенном выше примере:

  • port : порт для привязки.
  • bind_host : Хост, к которому выполняется привязка.
  • publish_host : Хост, опубликованный в информационных API.

Профили также поддерживают все остальные параметры транспорта, указанные в разделе параметров транспорта, и используют их по умолчанию. Например, transport.profiles.client.tcp.reuse_address может быть явно настроен, а в противном случае по умолчанию будет transport.tcp.reuse_address .

Долгоживущие бездействующие соединения

Транспортное соединение между двумя узлами состоит из нескольких долгоживущих TCP-соединений, некоторые из которых могут простаивать в течение длительного периода времени. Тем не менее, Elasticsearch требует, чтобы эти соединения оставались открытыми, и это может нарушить работу вашего кластера, если какие-либо межузловые соединения будут закрыты из-за внешнего воздействия, такого как брандмауэр. Важно настроить вашу сеть так, чтобы сохранять долгоживущие незанятые соединения между узлами Elasticsearch, например, оставив *.tcp.keep_alive включенным и убедившись, что интервал проверки активности короче, чем любой тайм-аут, который может привести к закрытию простаивающих соединений, или настройка transport.ping_schedule, если не удается настроить поддержку активности. Устройства, которые разрывают соединения по достижении определенного возраста, являются распространенным источником проблем для кластеров Elasticsearch и не должны использоваться.

Запросить сжатие

Редактировать сжатие ответа

Параметры сжатия не настраивают сжатие ответов. Elasticsearch будет сжимать ответ, если входящий запрос был сжат, даже если сжатие не включено.Точно так же Elasticsearch не будет сжимать ответ, если входящий запрос был несжатым, даже если сжатие включено. Схема сжатия, используемая для сжатия ответа, будет той же схемой, которую удаленный узел использовал для сжатия запроса.

Запросить трассировку

Трассировка может генерировать чрезвычайно большие объемы журналов, которые могут дестабилизировать ваш кластер. Не включайте отслеживание запросов на занятых или важных кластерах.

Отслеживание запроса REST

Вы также можете контролировать, какие URI будут отслеживаться, используя набор шаблонов включения и исключения. По умолчанию каждый запрос будет отслеживаться.

Трассировка транспорта

На транспортном уровне есть специальный трассировщик, который регистрирует входящие и исходящие запросы и ответы. Активируйте трассировщик, установив уровень регистратора org.elasticsearch.transport.TransportService.tracer на TRACE :

Вы также можете указать, какие действия будут отслеживаться, используя набор шаблонов включения и исключения. По умолчанию каждый запрос будет отслеживаться, за исключением ping-запросов для обнаружения ошибок:

Многие отрасли, такие как нефтегазовая, горнодобывающая, коммунальная, общественная и военная, транспортная и правительственная, используют беспроводные сети с низкой пропускной способностью (узкополосные) для многих приложений. Эти сети типа «точка-точка» или «точка-многоточка» обычно используют ОВЧ или УВЧ, поддерживают передачу голоса и данных и предоставляют такие приложения, как SCADA, с мониторингом и управлением, общественной безопасностью или оказанием помощи при стихийных бедствиях. В этих сетях устаревшие протоколы связи заменяются протоколами, основанными на стандартах Интернета, таких как Ethernet и IP. У этого перехода есть неотъемлемые преимущества для улучшения подключения, доступности и возможности повторного использования приложений при гораздо меньших затратах, как капитальных, так и эксплуатационных. Однако существуют проблемы с поддержанием эффективного использования доступной полосы пропускания с дополнительными накладными расходами, связанными с новыми уровнями протоколов и безопасностью данных и систем.

Рисунок 1. Примеры промышленных сетей связи

Семейство сетевых стандартов Ethernet прочно утвердилось в проводных и беспроводных сетях либо в форме 802.11, либо в виде моста/маршрутизации Ethernet по беспроводной радиосвязи. Это оказалось очень экономичным способом подключения двух или более удаленных сетей.

Modbus — это один из наиболее распространенных протоколов, используемых в промышленных коммуникациях. С переходом на связь на основе IP и Ethernet он был адаптирован для передачи по IP в стандарте Modbus-TCP. Другими наиболее часто используемыми протоколами являются Common Industrial Protocol (CIP) и DNPv3. Поскольку невозможно одновременно обновить все узлы устаревшей системы на основе последовательной связи с Modbus-TCP, доступны промежуточные решения, которые поддерживают устаревший последовательный протокол, инкапсулированный в IP-протоколы, такие как Modbus через TCP/IP и Modbus через UDP. .

Рисунок 2. Решения Effnet для эффективного и безопасного использования сети

Effnet разработала портфолио для сжатия заголовков и полезной нагрузки, состоящее из Effnet EthHC, Effnet ROHCv2 и Effnet ROHC-TCP с расширенной поддержкой сжатия заголовков и полезной нагрузки Modbus. Это позволяет сжимать заголовки Ethernet, IP, UDP, TCP и Modbus вместе с данными полезной нагрузки Modbus.

Существует множество преимуществ использования портфеля сжатия заголовков и полезной нагрузки Effnet:

  • Поддерживает сжатие IPv4 и IPv6 (задел на будущее)
  • Поддерживает сжатие заголовков Ethernet, TCP, UDP, ESP и IP вместе с заголовком и полезной нагрузкой Modbus.
  • Значительно снижает нагрузку на заголовок и размер полезной нагрузки, что приводит к
    • Экономия пропускной способности
    • Уменьшенная задержка
    • Уменьшение битовых ошибок и потери пакетов.
    • Больше пользователей и/или терминалов по одной и той же ссылке

    Рисунок 3. Полный пакет, содержащий Ethernet/IP/TCP/Modbus/полезную нагрузку, сжат

    Рис. 4. Размер пакета значительно уменьшился после применения сжатия заголовка и полезной нагрузки

    Эта экономия основана на примере трафика, содержащего небольшую полезную нагрузку Modbus. Эффективность сжатия будет выше для большей полезной нагрузки Modbus и степени повторяющихся битовых шаблонов в полезной нагрузке.

    Рисунок 5. Модульная реализация с четко определенным API для быстрой интеграции

    Средство сжатия заголовков Effnet включает Effnet ROHCv2, Effnet ROHC-TCP (сжатие заголовков Effnet) и сжатие заголовков и полезной нагрузки Effnet Modbus. Это модульная реализация, поэтому можно начать с одного модуля или программного продукта и добавлять дополнительные модули или продукты по мере необходимости с минимальными усилиями по интеграции и максимальными дополнительными преимуществами.

    Портфель Effnet для сжатия заголовков и полезной нагрузки

    Портфолио Effnet для сжатия заголовков и полезной нагрузки состоит из следующих продуктов:

    Продукт Использование Ссылки
    Effnet Modbus Header & Payload Compression Modbus Header & Payload Compression
    Effnet ROHCv2™ RTP/UDP/IP, UDP/ IP, ESP/IP, IP RFC4995, RFC 5225
    Effnet ROHC-TCP™ TCP/IP RFC 4996, RFC 6846
    Effnet EthHC™ Ethernet

    Переносимость и простота интеграции

    Портфолио продуктов Effnet ROHC было перенесено и интегрировано на множество различных платформ. Операционные системы включают VxWorks, Nucleus, Linux, Windows (2000/XP), Solaris, FreeBSD, а процессоры включают PowerPC, MIPS, ARM, SPARC и x86. Поскольку эти продукты обладают высокой переносимостью, их можно легко переносить на многие другие операционные системы, как реального времени, так и общие, а также на другие процессоры, как 32-разрядные, так и 64-разрядные, независимо от порядка байтов.

    • Переносимый код
      • написан на языке ANSI C
      • типы переменных определены таким образом, что переменные ведут себя одинаково в разных компиляторах.
      • безопасно ли выравнивание памяти.
      • не зависит от порядка следования байтов.
      • не требует таймеров ОС и не зависит от ОС.
      • является повторным входом.
      • набор функций и параметров.
      • документация и пример кода приложения.
      • обеспечивает контроль над управлением памятью.
      • обеспечивает управление многопоточностью приложения.
      • Было тщательно протестировано клиентами в ходе полевых испытаний, все тесты на совместимость ROHC проводились IETF и строгим внутренним процессом контроля качества.

      Дополнительные функции

      В дополнение к функциям, указанным в стандартах, портфолио продуктов Effnet ROHC обладает следующими функциями повышения эффективности и надежности:

      • Полнофункциональный и эффективный модуль классификации и управления контекстом.
      • Высокоэффективное сжатие и распаковка с использованием алгоритма обнаружения изменения шаблона поля и информации канального уровня, если она доступна.
      • Поддержка передачи обслуживания посредством повторной инициализации контекста.
      • Поддержка перезагрузки AT с помощью параметров обратной связи, декомпрессор восстанавливает контекстную информацию компрессора.
      • Механизмы сокращения использования канала обратной связи.
      • Поддержка связанного буфера памяти.
      • Интерактивная статистика и функции обратного вызова.
        • Пользователь может читать и/или сбрасывать статистическую информацию через нужные промежутки времени. Функции обратного вызова предоставляют полезную информацию о состоянии.

        Все дополнительные функции, описанные выше, прозрачны с точки зрения совместимости.

        Классификатор Effnet и менеджер контекста

        Классификация пакетов и управление контекстом необходимы для сжатия заголовков. Effnet предоставляет этот дополнительный модуль вместе с семейством продуктов Effnet ROHC.

        Заголовок Effnet Modbus и сжатие полезной нагрузки™

        Modbus был и остается де-факто промышленным коммуникационным протоколом. Это последовательная связь, разработанная в 1979 году и развившаяся во многих вариантах, включая Modbus-TCP, Modbus через TCP/IP, Modbus через UDP. Заголовок Modbus имеет длину 7 байт и может содержать до 253 байт полезной нагрузки.

        Effnet Modbus Header & Payload Compression — это расширение платформы Effnet ROHC-TCP, поддерживающее сжатие Modbus-TCP (как заголовка, так и полезной нагрузки) для обеспечения дополнительной ценности и большей экономии полосы пропускания. Модуль классификации пакетов и управления контекстом Effnet способен обнаруживать TCP-пакеты, содержащие заголовок и полезную нагрузку Modbus, и разделять их на потоки пакетов, которые сжимаются отдельно от типичных потоков TCP.

        Effnet ROHCv2™ (профили ROHC без сжатия 0x0000, RTP 0x0101, UDP 0x0102, ESP 0x0103 и IP 0x0104)

        Effnet ROHCv2 был разработан для обеспечения высокой эффективности сжатия и надежности беспроводных соединений с использованием минимальных системных ресурсов. Частота ошибок по битам, частота ошибок по кадрам и потери пакетов сравнительно намного выше в беспроводных каналах, чем в проводных.В зависимости от сетевой архитектуры и операций пакеты также могут подвергаться переупорядочению. Все эти проблемы необходимо преодолеть, чтобы свести к минимуму распространение ошибок и обеспечить высокую эффективность сжатия. Для этого требуется расширенный алгоритм сжатия, учитывающий эти условия связи и способный обнаруживать шаблоны полей заголовка, чтобы обеспечить высокую эффективность сжатия и надежность. Effnet ROHCv2 — это высокоэффективная (минимальное использование ЦП и памяти) реализация этого передового и сложного алгоритма.

        Effnet ROHCv2 может сжимать цепочки заголовков, состоящие из IP/UDP/RTP, IP/UDP, IP/ESP и IP, где IP может быть одним или несколькими заголовками IPv4 или IPv6.

        Effnet ROHC-TCP™ (профиль ROHC RTP 0x0006)

        Многочисленные исследования размеров интернет-пакетов* пришли к выводу, что не менее 40 % всех пакетов IPv4 не содержат полезных данных или содержат лишь несколько байтов, т. е. размеры пакетов равны или очень близки к размеру заголовка (IPv4+TCP). Одно исследование пакетов IPv6 показывает ту же тенденцию. Еще более примечательным в этом исследовании является то, что для IPv6 60-80% пакетов содержат больше данных заголовка, чем данных пакета. Effnet ROHC-TCP™ был бы очень полезен в таких случаях.

        Рисунок 7. Значительное преимущество ROHC-TCP по сравнению с восходящей линией связи благодаря небольшим пакетам и полезной нагрузке

        Сжатие заголовков Effnet Ethernet™ (Effnet EthHC™)

        Ethernet – это доминирующая технология канального уровня, используемая для передачи IP-трафика. Когда пакеты Ethernet передаются по сетям с собственной стандартизированной технологией канального уровня, заголовок Ethernet представляет собой дополнительную нагрузку. Effnet EthHC™ может эффективно сжимать заголовок Ethernet. Он предназначен для работы в идеальном симбиозе с линейкой продуктов Effnet ROHC™. Можно сэкономить еще больше пропускной способности, эффективно сжимая заголовки Ethernet и уменьшая накладные расходы вместе с заголовками IP/UDP/RTP, IP/UDP, IP/TCP и IP/ESP. Effnet EthHC™ также можно использовать как самостоятельный продукт.

        Техническое обслуживание и поддержка

        Портфель продуктов Effnet ROHC предлагается с полным спектром услуг поддержки, включая отчеты о проблемах, исправления ошибок, обновления, обучение, консультации и услуги по интеграции. Команда инженеров, имеющих опыт стандартизации технологии сжатия заголовков, внедрения и тестирования портфеля продуктов, доступна для поддержки и консультационных услуг.

        Беспроводная связь становится популярным способом подключения мобильных компьютеров к Интернету и другим сетям. Полоса пропускания беспроводных соединений, вероятно, всегда будет ограничена из-за свойств физической среды и нормативных ограничений на использование частот для радиосвязи. Следовательно, сетевым протоколам необходимо эффективно использовать доступную полосу пропускания. Заголовки IP-пакетов растут, и полоса пропускания, необходимая для передачи заголовков, увеличивается. С появлением IPv6 размер адреса увеличивается с 4 до 16 байт, а основной заголовок IP увеличивается с 20 до 40 байт. Более того, большинство схем мобильности туннелируют пакеты, адресованные мобильным хостам, добавляя дополнительный заголовок IP или дополнительную информацию о маршрутизации, обычно увеличивая размер заголовков TCP/IPv4 до 60 байтов, а заголовков TCP/IPv6 до 100 байтов. В этой статье мы предоставляем новые схемы сжатия заголовков для протоколов UDP/IP и TCP/IP. Мы покажем, как уменьшить размер заголовков UDP/IP на порядок, до четырех-пяти байтов. Наш метод работает с симплексными ссылками, ссылками с потерями, ссылками с множественным доступом и поддерживает многоадресную связь. Мы также покажем, как обобщить наиболее часто используемый метод сжатия заголовков для TCP/IPv4, разработанный Джейкобсоном, на IPv6 и несколько заголовков IP. Результирующая схема, к сожалению, снижает пропускную способность TCP по каналам с потерями из-за неблагоприятного взаимодействия с механизмами управления перегрузкой TCP. Однако, добавив два простых механизма, можно реализовать потенциальную выгоду от сжатия заголовков в беспроводных сетях с потерями, а также в двухточечных модемных каналах.

        Откройте для себя мировые исследования

        • 20 миллионов участников
        • 135 миллионов публикаций
        • Более 700 тыс. исследовательских проектов
        <р>. Таким образом, в случаях, когда есть долгое RTT или обратная связь невозможна, потерянные пакеты регенерируются декомпрессором таким образом, что он синхронизирует компрессор и декомпрессор. В алгоритме TWICE [6] если пакет потерян, то распаковщик дважды добавляет разницу в заголовке пакета или дельта-значении (последнего правильно принятого заголовка), чтобы восстановить следующий заголовок. Распакованный заголовок проверяется по контрольной сумме на транспортном уровне. .

        <р>. Упрощенная версия классической классификации ROHC[129], в которой используются 5 категорий: СТАТИЧЕСКИЙ, СТАТИЧЕСКИЙ-ОПРЕДЕЛЕННЫЙ, СТАТИЧЕСКИЙ-ИЗВЕСТНЫЙ, ВЫВОДЯЩИЙСЯ И ИЗМЕНЯЮЩИЙСЯ. Он лишь немного отличается от введенного Дегермарком в [126]. .

        Существующие спутниковые архитектуры для предоставления интерактивных IP-услуг и широкополосного подключения основаны на многоуровневых принципах эталонной модели OSI. Нельзя отрицать, что традиционный исследовательский подход, фокусирующийся на проблемах, связанных с уровнями, с которыми сталкиваются спутниковые архитектуры в четко определенных границах многоуровневой модели, оказался весьма плодотворным. Сегодня существуют адаптации основных протоколов для беспроводных сетей, а современные методы кодирования и модуляции приблизили физические уровни к их теоретическим пределам производительности. Однако ряд критических вопросов, таких как сквозное выполнение соглашений об уровне обслуживания, бесшовная мобильность или масштабируемая поддержка надежной многоадресной рассылки, еще не нашли оптимальных решений посредством независимой настройки уровней из-за уникальных характеристик спутниковых каналов. . Модульный подход размывает динамику взаимодействия уровней с беспроводной средой, снижая общую производительность системы из-за избыточности, неэффективной обработки ресурсов и неоптимальной производительности. Таким образом, недавние исследования начали решать эти проблемы комплексно, подчеркивая потенциальные преимущества авторизации обмена информацией между уровнями, выходящими за рамки эталонной модели. Многоуровневая обратная связь и, как следствие, адаптивность системы открывают множество возможностей для настройки стека протоколов в целом, что позволяет оптимизировать общую оптимизацию и лучше интегрировать спутниковые каналы во все более разнородную сетевую среду. Межуровневое проектирование стало перспективной областью исследований в области спутниковой и беспроводной связи, характеризующейся междисциплинарным подходом, включающим теорию информации, проектирование сетевых протоколов, методы оптимизации, стохастическое моделирование и усовершенствованную обработку сигналов. Поскольку недавние межуровневые предложения начали успешно решать некоторые сложные проблемы, которые многоуровневые архитектуры не решают должным образом, стандарты и протоколы следующего поколения начинают де-факто интегрировать межуровневые принципы. В этой диссертации рассматривается проблема контроля ошибок для спутниковых каналов с точки зрения межуровневого проектирования. На перекрестке связанных с QoS ограничений, сложности устройств и эффективного использования спектра контроль ошибок действительно является ключевым аспектом беспроводной связи, особенно важным в контексте спутниковой связи, где важную роль могут играть межуровневые усовершенствования. После подробного ознакомления с межуровневым проектированием, первая часть этой работы посвящена стратегии контроля ошибок первых спутников DVB, где выявляется избыточность между декодером канала и уровнями адаптации, чтобы предложить совместную полосу пропускания. эффективная политика контроля ошибок. Затем основное внимание уделяется спутникам DVB второго поколения и определению нового IP-ориентированного и межуровневого протокола инкапсуляции GSE, где были успешно применены результаты вышеупомянутого исследования. Наконец, представлена ​​совершенно новая межуровневая структура под названием HERACLES, предлагающая эффективные и не требующие дополнительных затрат возможности исправления ошибок практически для любого уровня стека протоколов и запатентованная на момент написания этих слов. Результаты общей работы демонстрируют сильные стороны комплексного подхода к контролю ошибок и открывают путь для развертывания инновационных межуровневых механизмов в сетях связи следующего поколения.

        Справочная страница TCPDUMP

        В вашей системе может быть установлена ​​другая версия, возможно, с некоторыми локальными изменениями. Для достижения наилучших результатов убедитесь, что эта версия этой справочной страницы соответствует вашим потребностям. При необходимости попробуйте найти другую версию на этом веб-сайте или на справочных страницах, доступных в вашей установке.

        ОБЗОР

        [ -c количество ] [ --count ] [ -C размер_файла ]
        [ -E spi@ipaddr algo:secret. ]
        [ -F file ] [ -G rotate_seconds ] [ -i interface ]
        [ --immediate-mode ] [ -j tstamp_type ] [ -m module ]
        [ -M secret ] [ --number ] [ --print ]
        [ --print-sampling nth ] [ -Q in|out|inout ] [ -r file ]
        [ -s snaplen ] [ -T type ] [ --version ] [ -V file ]
        [ -w file ] [ -W filecount ] [ -y datalinktype ]
        [ -z postrotate-command ] [ -Z user ]
        [ --time-stamp-precision= tstamp_precision ]
        [ --micro ] [ --nano ]
        [ выражение ]

        ОПИСАНИЕ

        Tcpdump выводит описание содержимого пакетов на сетевом интерфейсе, соответствующих логическому выражению (синтаксис выражения см. в pcap-filter (7)); описанию предшествует отметка времени, напечатанная по умолчанию в виде часов, минут, секунд и долей секунды с полуночи. Его также можно запустить с флагом -w, который заставляет его сохранять данные пакета в файл для последующего анализа, и/или с флагом -r, который заставляет его читать из сохраненного файла пакета, а не читать пакеты. с сетевого интерфейса. Его также можно запустить с флагом -V, что приведет к чтению списка сохраненных файлов пакетов. Во всех случаях tcpdump будет обрабатывать только те пакеты, которые соответствуют выражению.

        Tcpdump, если он не запущен с флагом -c, будет продолжать захват пакетов до тех пор, пока он не будет прерван сигналом SIGINT (генерируемым, например, путем ввода символа прерывания, обычно control-C) или сигналом SIGTERM (обычно генерируется командой kill (1)); при запуске с флагом -c он будет захватывать пакеты до тех пор, пока не будет прерван сигналом SIGINT или SIGTERM или пока не будет обработано указанное количество пакетов.

        Когда tcpdump закончит захват пакетов, он сообщит количество: ``захваченных'' пакетов (количество пакетов, которые tcpdump получил и обработал); пакеты ``получены фильтром'' (значение этого зависит от ОС, на которой вы используете tcpdump , и, возможно, от того, как была настроена ОС - если фильтр был указан в командной строке, в некоторых ОС он считается пакеты, независимо от того, были ли они сопоставлены с выражением фильтра, и даже если они были сопоставлены с выражением фильтра, независимо от того, прочитал ли и обработал ли их tcpdump, в других ОС он подсчитывает только пакеты, которые были сопоставлены с выражением фильтра, независимо от прочел ли и обработал ли их tcpdump, а в других ОС считает только те пакеты, которые соответствовали выражению фильтра и были обработаны tcpdump ); пакеты, «отброшенные ядром» (это количество пакетов, которые были отброшены из-за нехватки буферного пространства механизмом захвата пакетов в ОС, на которой работает tcpdump, если ОС сообщает эту информацию приложениям; если нет, то будет сообщено как 0).

        На платформах, поддерживающих сигнал SIGINFO, таких как большинство BSD (включая macOS) и Digital/Tru64 UNIX, он сообщит об этих подсчетах при получении сигнала SIGINFO (генерируемого, например, путем ввода вашего ``status'' символ, обычно control-T, хотя на некоторых платформах, таких как macOS, символ «статус» не установлен по умолчанию, поэтому вы должны установить его с помощью stty (1), чтобы использовать его) и продолжите захват пакетов . На платформах, не поддерживающих сигнал SIGINFO, того же можно добиться с помощью сигнала SIGUSR1.

        Использование сигнала SIGUSR2 вместе с флагом -w принудительно сбрасывает буфер пакетов в выходной файл.

        Для чтения пакетов из сетевого интерфейса могут потребоваться специальные права доступа; подробности см. на справочной странице pcap (3PCAP). Чтение сохраненного файла пакета не требует особых привилегий.

        ВАРИАНТЫ

        Синтаксис выражения см. в pcap-filter (7) .

        Аргумент выражения может быть передан в tcpdump либо как один аргумент оболочки, либо как несколько аргументов оболочки, в зависимости от того, что более удобно. Как правило, если выражение содержит метасимволы Shell, такие как обратная косая черта, используемая для экранирования имен протоколов, проще передать его как один аргумент в кавычках, чем экранировать метасимволы Shell. Перед синтаксическим анализом несколько аргументов объединяются пробелами.

        ПРИМЕРЫ

        Чтобы распечатать все пакеты, прибывающие или уходящие после захода солнца:

        Чтобы распечатать трафик между helios и hot или ace :

        Чтобы распечатать все IP-пакеты между ace и любым хостом, кроме helios:

        Чтобы распечатать весь трафик между локальными хостами и хостами в Беркли:

        Чтобы распечатать весь ftp-трафик через snup интернет-шлюза: (обратите внимание, что выражение взято в кавычки, чтобы оболочка не (неправильно) интерпретировала круглые скобки):

        Чтобы распечатать трафик, который не исходит и не предназначен для локальных хостов (если вы подключаетесь к одной другой сети, этот материал никогда не должен попадать в вашу локальную сеть).

        Чтобы распечатать начальный и конечный пакеты (пакеты SYN и FIN) каждого сеанса TCP, в котором участвует нелокальный узел.

        Читайте также: