Книга: UNIX: разработка сетевых приложений
Отключение фрагментации
Отключение фрагментации
По умолчанию стек IPv6 фрагментирует исходящие пакеты по транспортной MTU. Приложениям типа traceroute
автоматическая фрагментация не нужна, потому что им нужно иметь возможность самостоятельно определять транспортную MTU. Параметр сокета IPV6_DONTFRAG
используется для отключения автоматической фрагментации: значение 0 (по умолчанию) разрешает фрагментацию, тогда как значение 1 отключает ее.
Когда автоматическая фрагментация отключена, вызов send со слишком большим пакетом может возвратить ошибку EMSGSIZE
, но это не является обязательным. Единственным способом определить необходимость фрагментации пакета является использование параметра сокета IPV6_RECVPATHMTU
, который мы описали выше.
Параметр IPV6_DONTFRAG
может передаваться и во вспомогательных данных. При этом элемент cmsg_level
структуры cmsghdr
должен иметь значение IPPROTO_IPV6
, а элемент cmsg_type
должен иметь значение IPV6_DONTFRAG
. Первый байт данных должен быть первым байтом четырехбайтового целого.
- Отключение питания
- Включение и отключение синхронного вывода
- Когда звонит телефон, начинает загружаться компьютер. Помогает только отключение кабеля от модема. Почему так происходит...
- Стоит ли заниматься отключением ненужных служб при большом объеме оперативной памяти?
- Отключение контекстного меню Рабочего стола
- Отключение ненужных серверов
- Отключение серверов
- Подключение и отключение сетевых дисков и принтеров
- Отключение и закрытие сокетов
- Включение и отключение "использовать все пространство"
- Рис. 211. Отключение картинок.
- 25.4. Отключение комбинации клавиш ++