.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2008 by Gerrit Renker .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" $Id: udplite.7,v 1.12 2008/07/23 15:22:22 gerrit Exp gerrit $ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH UDPLITE 7 "15 сентября 2017 г." Linux "Руководство программиста Linux" .SH ИМЯ udplite \- облегчённый протокол пользовательских датаграмм .SH СИНТАКСИС \fB#include \fP .br .\" FIXME . see #defines under `BUGS', .\" when glibc supports this, add .\" #include .PP \fBsockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);\fP .SH ОПИСАНИЕ Это реализация облегчённого протокола пользовательских датаграмм (UDP\-Lite), описанная в RFC\ 3828. .PP UDP\-Lite представляет собой расширение UDP (RFC\ 768), содержащее поддержку контрольных сумм переменной длины. Это даёт преимущества при передаче данных некоторых типов мультимедиа, для которых допустимо использовать слегка повреждённые датаграммы, если бы они не отбрасывались другими нижележащими протоколами. .PP Охват (coverage) контрольной суммы переменной длины задаётся с помощью параметра через \fBsetsockopt\fP(2). Если параметр не установлен, то отличием от UDP будет только другой идентификатор протокола IP (номер по IANA — 136). .PP Реализация UDP\-Lite представляет собой полноценное расширение \fBudp\fP(7) — используется тот же программный интерфейс и поведение; кроме этого имеются два параметра сокета для управления охватом контрольной суммы. .SS "Формат адреса" В UDP\-Litev4 используется формат адреса \fIsockaddr_in\fP, описанный в \fBip\fP(7). В UDP\-Litev6 используется формат адреса \fIsockaddr_in6\fP, описанный в \fBipv6\fP(7). .SS "Параметры сокета" Для получения и задания параметров сокетов UDP\-Lite, используйте вызовы \fBgetsockopt\fP(2) и \fBsetsockopt\fP(2), соответственно. Значение аргумента уровня параметров должно быть равно \fBIPPROTO_UDPLITE\fP. Кроме того, сокетам UDP\-Lite доступно большинство параметров сокета \fBIPPROTO_UDP\fP. Дополнительная информация приведена в \fBudp\fP(7). .PP Следующие параметры относятся только к UDP\-Lite. .TP \fBUDPLITE_SEND_CSCOV\fP Этим параметром задаётся охват данных контрольной суммой; в качестве аргумента ожидается значение типа \fIint\fP, которым задаётся охват в диапазоне 0..2^16\-1. .IP Значение 0 означает, что охватывается вся датаграмма. Значения 1\-7 некорректны (RFC\ 3828, 3.1) и округляются до минимального охвата — 8. .IP При использовании джумбограмм (jumbograms) IPv6 (RFC\ 2675), охват контрольной суммы в UDP\-Litev6 ограничен первыми 2^16\-1 октетами (согласно RFC\ 3828, 3.5). Большие значения безошибочно урезаются до 2^16\-1. Текущее значение охвата всегда можно запросить с помощью \fBgetsockopt\fP(2). .TP \fBUDPLITE_RECV_CSCOV\fP Это аналог с приёмной стороны, использует тот же формат аргумента и диапазон значений, что и у \fBUDPLITE_SEND_CSCOV\fP. Данный параметр не требуется для приёма трафика с контрольной суммой частичного охвата. Он предназначен для фильтрации трафика: если включён, то это указывает ядру отбрасывать все пакеты, у которых охват \fIменее\fP заданного значения. .IP .\" SO_NO_CHECK exists and is supported by UDPv4, but is .\" commented out in socket(7), hence also commented out here .\".PP .\"Since UDP-Lite mandates checksums, checksumming can not be disabled .\"via the .\".B SO_NO_CHECK .\"option from .\".BR socket (7). Если значение \fBUDPLITE_RECV_CSCOV\fP превышает реальный охват пакета, то поступающие пакеты просто отбрасываются, но при этом может генерироваться предупреждающее сообщение в системный журнал. .SH ОШИБКИ Могут быть возвращены любые ошибки, описанные для \fBudp\fP(7). UDP\-Lite не вносит никаких дополнительных типов ошибок. .SH ФАЙЛЫ .TP \fI/proc/net/snmp\fP Основные счётчики статистики UDP\-Litev4. .TP \fI/proc/net/snmp6\fP Основные счётчики статистики UDP\-Litev6. .SH ВЕРСИИ UDP\-Litev4/v6 впервые появился в Linux 2.6.20. .SH ДЕФЕКТЫ .\" FIXME . remove this section once glibc supports UDP-Lite Если поддержка в glibc отсутствует, то требуются следующие определения: .PP .in +4n .EX .\" The following two are defined in the kernel in linux/net/udplite.h #define IPPROTO_UDPLITE 136 #define UDPLITE_SEND_CSCOV 10 #define UDPLITE_RECV_CSCOV 11 .EE .in .SH "СМ. ТАКЖЕ" \fBip\fP(7), \fBipv6\fP(7), \fBsocket\fP(7), \fBudp\fP(7) .PP В RFC\ 3828 описан облегчённый протокол пользовательских датаграмм (Lightweight User Datagram Protocol — UDP\-Lite). .PP Файл \fIDocumentation/networking/udplite.txt\fP в дереве исходного кода ядра Linux .SH ЗАМЕЧАНИЯ Эта страница является частью проекта Linux \fIman\-pages\fP версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitriy Ovchinnikov , Dmitry Bolkhovskikh , Katrin Kutepova , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .