Какие порты мы должны открыть на нашем роутере
Если мы хотим настроить VPN-сервер на компьютере, нам нужно будет открыть определенные порты TCP или UDP. У каждого маршрутизатора своя прошивка со своими опциями, как в случае с Raspberry Pi или NAS. Это делает процедуру для каждого из них уникальной. Если мы возьмем в качестве примера случай с сетевым хранилищем QNAP, процесс его настройки очень прост. С другой стороны, если мы посмотрим на Raspberry Pi, процедура обычно будет более сложной, потому что установка, настройка и запуск гораздо более «ручные».
Однако, независимо от того, какое сетевое оборудование мы используем, все они имеют общую функцию при настройке. В этом случае для использования нашего VPN-сервера нам необходимо: открыть соответствующие порты . Если этого не сделать, наш роутер заблокирует соединение, и мы не сможем его использовать. Также было бы удобно, если бы локальный фиксированный IP-адрес был установлен в статическом DHCP маршрутизатора или, в противном случае, в самом устройстве, если оно поддерживает такую конфигурацию.
Следует также отметить, что используемые нами порты будут разными и будут зависеть от используемого нами протокола VPN, на самом деле, в некоторых протоколах разрешено использовать порт TCP или UDP, который мы хотим, но мы собираемся указать какие порты установлены по умолчанию. Затем мы покажем вам порты для VPN, которые мы должны открыть в соответствии с протоколом, который мы используем для создания нашего сервера:
- PPTP: использования TCP порт 1723. Следует отметить очень важный факт, что протокол PPTP устарел. Это связано с тем, что в нем много уязвимостей. По этой причине рекомендуется оставить этот порт закрытым и вместо этого выбрать другой из упомянутых ниже протоколов.
- L2TP — Использует порт 1701 с TCP . Этот протокол VPN не позволяет переключать порты, это стандарт.
- IPSec / IKEv2 : использовать порты 500 и 1500 UDP , нам придется открыть оба порта. Этот протокол VPN не позволяет переключать порты, это стандарт.
- OpenVPN : порт по умолчанию, который он использует 1194 UDP . Однако мы можем настроить его и поставить на сервер другой, и мы даже можем выбрать между протоколом TCP или UDP.
- Wireguard : порт по умолчанию, который он использует 51820 UDP . Однако мы можем настроить его и поставить на сервер другой, но он всегда должен быть UDP, а не TCP.
Как только мы узнаем, какие порты используют разные протоколы VPN, мы покажем вам практический пример открытия портов для сервера VPN.
Linux System потери пакета
Существует много причин для потери пакета Linux System, общие: пакеты UDP, брандмауэр, размер буфера UDP, системные нагрузки высоки, и эти причины потери пакета анализируются.
Ошибка пакета UDP
Если пакет UDP модифицирован во время передачи, ошибка контрольной суммы или ошибка длины, Linux проверяет это, когда сообщение UDP получено, и сообщение будет отброшено после того, как изобретение будет отказаться от сообщения.
Если вы хотите контрольную сумму UDP пакета, вы должны отправить его в свое приложение вовремя, вы можете проверить проверку контрольной суммы UDP в параметре сокетов.
Брандмауэр
Если система брандмауэра потери пакета, поведение производительности, как правило, все, как правило, все пакеты UDP, и, безусловно, не исключают возможности только брандмауэра только падать.
Если вы столкнулись с множеством соотношения убытков пакетов, сначала проверьте правила брандмауэра и убедитесь, что брандмауэр не активно падает пакеты UDP.
Размер буфера UDP
После того, как система Linux принимает сообщение, система Linux сохранит пакет в область кэша. Поскольку размер кэша ограничен, если пакет UDP слишком велик (превышает размер кэша или размер MTU), скорость получения сообщения слишком быстро, что может привести к тому, что Linux пакет находится непосредственно с помощью кэша.
На уровне системы Linux устанавливает максимальное значение того, что буфер приема может настроить, и можно просматривать в следующем файле, который, как правило, Linux устанавливает начальное значение на основе размера памяти при запуске.
-
/ proc / sys / net / core / rmem_max: разрешено принять максимум буфера
-
/ proc / sys / net / core / rmem_default: Получить значение буфера, используемое по умолчанию
-
/ proc / sys / net / core / wmem_max: максимальное значение разрешено быть установленным
-
/ proc / sys / net / core / wmem_dafault: максимальное значение, используемое по умолчанию
Однако эти начальные значения не должны устранять пакеты UDP большого потока. Если приложение получает и отправляет UDP-сообщения, необходимо сказать это значение. можешь использовать Команда позвольте вступить в силу немедленно:
Также может быть измененоСоответствующие параметры позволяют параметрам вступать в силу на следующем запуске.
Если пакет слишком велик, отправитель может разделить данные, чтобы гарантировать, что размер каждого сообщения находится в MTU.
Другой параметр, который можно настроить, этоОн указывает на то, что ядро Linux читает номер пакета после прочтения сообщения от драйвера сети, по умолчанию составляет 1000, что может быть защищено, например, установлено на 2000:
Системная нагрузка слишком высока
System CPU, память, нагрузка на io наполнено, чтобы вызвать потеря сетевой пакеты, такой как CPU, если нагрузка слишком высока, система не успевает сделать сообщение, копировать память и т. Д. Потеря пакета; Память нагрузка слишком высока, приложение слишком медленно, и сообщение не может быть обрабатывается во времени; если нагрузка на io слишком высока, процессор используется для ответа на IO ждать, нет времени для обработки UDP пакеты в кеше.
Сама система Linux является взаимосвязанной системой, и любой компонент может повлиять на нормальную работу других компонентов. Для системы нагрузки слишком высоки, или если есть проблема с приложением, или система недостаточна. Для прежних потребностей, отладки и ремонта; для последнего, также можно найти и расширяться во времени.
Кратко о существующих протоколах
Для начала кратко пробежимся по протоколам, которые будем рассматривать в статье.
- OpenVPN — сбалансированный вариант. Он быстрее остальных и гораздо меньше подвержен атакам со стороны злоумышленников. Топовые VPN-сервисы базируют свои продукты на основе этого протокола.
- L2TP/IPsec во многом похож на OpenVPN. В меру быстрый, в меру безопасный. Но это «в меру» как раз все портит. Это не значит, что его стоит бояться или он как-то серьезно подвергает опасности вашу конфиденциальность в сети. Для некритичных задач его хватит с головой. Но надо иметь в виду, что этот протокол уступает по безопасности OpenVPN. В текущей ситуации нужен как альтернатива на случай, когда более подходящий протокол недоступен.
- IKEv2/IPsec — альтернатива вышеперечисленным протоколам, адаптированная под работу на мобильных устройствах. Ее преимущество заключается в возможности быстро переподключиться к сети после потери сигнала. Такое может происходить на нулевых этажах торговых центров, в туннелях, метро и других местах с недостаточной «проницаемостью». IKEv2 скоростной, но работает не на всех платформах и сложен в настройке.
- SSTP разработан компанией Microsoft и работает только с ее программным обеспечением. Настроить его в сторонних операционных системах чересчур сложно, да и не все хотят иметь дело с технологическими корпорациями в таком вопросе, как VPN. Если же причастность Microsoft не смущает, и на компьютере установлена Windows, то это будет сносным выбором.
- PPTP — еще один продукт. Устаревший протокол, который больше не используется глобально. Пригодится только за отсутствием альтернатив.
- WireGuard — перспективная новинка, во много схожая с OpenVPN, но обгоняющая его по всем параметрам (от скорости передачи файлов до изощренности методов шифрования).
- SoftEther — еще один современный стандарт VPN. Быстрый, отказоустойчивый, обеспечивающий хорошее шифрование.
Далее разберем каждый протокол подробнее. Ознакомимся с принципами работы, степенью защищенности, производительностью и другими аспектами VPN-технологий.
How to Check for Listening Ports in Linux (Ports in use)
4 Апреля 2020
|
Терминал
При устранении неполадок сетевого подключения или проблем, связанных с конкретным приложением, в первую очередь следует проверить, какие порты фактически используются в вашей системе, а какое приложение прослушивает определенный порт.
Что такое открытый порт (порт прослушивания)
Сетевой порт идентифицируется его номером, соответствующим IP-адресом и типом протокола связи, таким как TCP или UDP.
Порт прослушивания — это сетевой порт, который прослушивает приложение или процесс, выступая в качестве конечной точки связи.
Каждый порт прослушивания может быть открыт или закрыт (отфильтрован) с помощью брандмауэра. В общих чертах, открытый порт — это сетевой порт, который принимает входящие пакеты из удаленных мест.
Вы не можете иметь две службы, прослушивающие один и тот же порт на одном и том же IP-адресе.
Например, если вы используете веб-сервер Apache, который прослушивает порты, и вы пытаетесь установить Nginx, позднее не удастся запустить, потому что порты HTTP и HTTPS уже используются.
Проверьте порты прослушивания с
это инструмент командной строки, который может предоставить информацию о сетевых подключениях
Чтобы получить список всех прослушиваемых портов TCP или UDP, включая службы, использующие порты и состояние сокета, используйте следующую команду:
Параметры, используемые в этой команде, имеют следующее значение:
- — Показать порты TCP.
- — Показать порты UDP.
- — Показать числовые адреса вместо разрешения хостов.
- — Показывать только порты прослушивания.
- — Показать PID и имя процесса слушателя. Эта информация отображается, только если вы запускаете команду от имени пользователя root или sudo .
Вывод будет выглядеть примерно так:
Важными столбцами в нашем случае являются:
- — Протокол, используемый сокетом.
- — IP-адрес и номер порта, на котором слушает процесс.
- — PID и название процесса.
Если вы хотите отфильтровать результаты, используйте команду grep . Например, чтобы узнать, какой процесс прослушивает TCP-порт 22, вы должны набрать:
Выходные данные показывают, что на этой машине порт 22 используется сервером SSH:
Если вывод пуст, это означает, что ничего не прослушивает порт.
Вы также можете отфильтровать список на основе критериев, например, PID, протокола, состояния и т. Д.
устарел и заменен на и , но все же это одна из наиболее часто используемых команд для проверки сетевых подключений.
Проверьте порты прослушивания с
новый . В нем отсутствуют некоторые функции, но он предоставляет больше состояний TCP и работает немного быстрее. Параметры команды в основном одинаковы, поэтому переход с на не сложен.
Чтобы получить список всех прослушивающих портов , наберите:
Вывод почти такой же, как тот, о котором сообщили :
Проверьте порты прослушивания с
это мощная утилита командной строки, которая предоставляет информацию о файлах, открытых процессами.
В Linux все это файл. Вы можете думать о сокете как о файле, который пишет в сеть.
Чтобы получить список всех прослушивающих TCP-портов, введите:
Используются следующие параметры:
- — Не конвертируйте номера портов в имена портов.
- — Не разрешайте имена хостов, показывайте числовые адреса.
- — Показывать только сетевые файлы с состоянием TCP LISTEN.
Большинство имен выходных столбцов говорят сами за себя:
- , , — имя, ИДП и пользователь , запустив программу , связанную с портом.
- — номер порта.
Чтобы узнать, какой процесс прослушивает определенный порт, например, порт, который вы используете:
Выходные данные показывают, что порт используется сервером MySQL:
Для получения дополнительной информации посетите страницу руководства lsof и прочитайте обо всех других мощных опциях этого инструмента.
Мы показали вам несколько команд, которые вы можете использовать для проверки того, какие порты используются в вашей системе, и как найти процесс, который прослушивает определенный порт.
UDP заголовок
На рисунке показаны поля, присутствующие в UDP заголовке.
- Порт отправителя — в этом поле указывается номер порта отправителя. Предполагается, что это значение задает порт, на который при необходимости будет посылаться ответ. В противном же случае, значение должно быть равным 0. Если хостом-источником является клиент, то номер порта будет, скорее всего, эфемерным. Если источником является сервер, то его порт будет одним из «хорошо известных».
- Порт получателя — это поле обязательно и содержит порт получателя. Аналогично порту отправителя, если клиент — хост-получатель, то номер порта эфемерный, иначе (сервер — получатель) это «хорошо известный порт».
- Длина дейтаграммы — поле, задающее длину всей дейтаграммы (заголовка и данных) в байтах. Минимальная длина равна длине заголовка — 8 байт. Теоретически, максимальный размер поля — 65535 байт для UDP-дейтаграммы (8 байт на заголовок и 65527 на данные). Фактический предел для длины данных при использовании IPv4 — 65507 (помимо 8 байт на UDP-заголовок требуется еще 20 на IP-заголовок).
- Контрольная сумма — поле контрольной суммы используется для проверки заголовка и данных на ошибки. Если сумма не сгенерирована передатчиком, то поле заполняется нулями.
Рассмотрим структуру заголовка UDP с помощью сетевого анализатора Wireshark:
Автоматическое установление разорванного VPN соединения
Важным аспектом является способность IPsec устанавливать соединение заново. Для этого существуют настройки в ispec.conf, однако детали этих настроек могут отличаться от версии ПО. Сверяйтесь с мануалом именно по вашей версии программного обеспечения.
Плюсы:
- высокая криптоустойчивость
- возможность использования L2TP внутри IPsec для аутентификации по имени пользователя и паролю (вариант VPNKI)
Минусы:
- сложен для настройки и поиска неисправностей
- большие накладные расходы на передачу трафика в канале за счет заголовков
Далее:
ДОПОЛНИТЕЛЬНО
Кроме базового функционала по объединению VPN туннелей с различными протоколами, в системе VPNKI вы можете воспользоваться удаленным доступом к компьютеру или камере, используя:
Доступ из Интернет через HTTP и SOCK5 прокси
Публикацию URL по которому вы будете попадать на свое домашнее устройство
Проброс порта TCP, который будет вести на устройство в вашей сети
Полезные приложения для определения статуса вашего порта
Хотя командная строка — хороший быстрый и грязный инструмент, существуют более усовершенствованные сторонние приложения, которые могут помочь вам получить представление о конфигурации вашего порта. Два выделенных здесь — это всего лишь популярные примеры.
SolarWinds Free Port Scanner
SolarWinds требует, чтобы вы отправили свое имя и данные, чтобы загрузить его, но вам решать, вводите ли вы свою настоящую информацию в форму или нет. Мы попробовали несколько бесплатных инструментов, прежде чем остановились на SolarWinds, но это был единственный инструмент, который правильно работал в Windows 10 и имел простой интерфейс.
Кроме того, он был единственным, кто не запускал ложноположительный вирусный флаг. Одна из больших проблем, связанных с ПО для сканирования портов, заключается в том, что охранные компании склонны рассматривать их как вредоносное ПО.
Поэтому большинство пользователей игнорируют любые предупреждения о вирусах, которые поставляются с такими инструментами. Это проблема, потому что вы не можете отличить ложное срабатывание от реального вируса в этих приложениях.
SolarWinds может поставляться с некоторыми прикрепленными строками, но на самом деле он работает так, как рекламируется, и прост в использовании.
CanYouSeeMe
Как вы, наверное, догадались, это служба сайта, а не приложение. Это хороший первый порт захода, чтобы узнать, могут ли внешние данные проходить через ваш локальный порт или нет. Он автоматически определяет ваш IP-адрес, и все, что вам нужно сделать, это указать порт для тестирования.
Затем он сообщит вам, заблокирован порт или нет, и затем вам нужно будет выяснить, на уровне ли блокировка компьютера, маршрутизатора или на уровне поставщика услуг.
Внутренности
Внутренне PCP работает путем обмена управляющими сообщениями между хостами и устройствами NAT или межсетевыми экранами с поддержкой PCP (называемыми серверами), используя протокол дейтаграмм пользователя (UDP) в качестве основного протокола. Это взаимодействие состоит из запросов на сопоставление портов, создаваемых хостами, которые приводят к ответам, которые были отправлены и обработаны серверами. В соответствии с характером ненадежности UDP, что означает, что дейтаграммы UDP могут быть потеряны, дублированы или переупорядочены, после отправки запроса нет никакой гарантии ответа любого рода, поэтому запросы хоста также называются «подсказками». В дополнение к прямым ответам серверы также генерируют бесплатные уведомления — например, одноадресные уведомления для информирования хостов об изменениях внешнего IP-адреса.
Код операции | Описание |
---|---|
КАРТА | Создает или обновляет сопоставление для входящей переадресации, позволяя хостам действовать как сервер и получать входящие сообщения. |
ВГЛЯДЕТЬСЯ | Создает или обновляет исходящее сопоставление, позволяя узлу поддерживать открытую связь с одним узлом. |
ОБЪЯВЛЕНИЕ | Сообщает о различных изменениях хостов, включая перезапуск сервера и изменения внешнего IP-адреса. |
Обмениваемые сообщения не содержат средств для определения ни транзакции, к которой они принадлежат, ни того, какой этап «сеанса» они представляют. Такой упрощенный дизайн основан на том, что все сообщения самоописываются и полны, без дополнительного контекста, необходимого для успешной обработки каждого сообщения. Серверы могут решить молча игнорировать запросы хоста, если они не могут их обработать в данный момент; в таких случаях хостам необходимо повторно передать запрос. Кроме того, хосты могут безопасно решить молча игнорировать любые нежелательные ответы сопоставления.
Для создания запросов PCP IP-адрес сервера либо настраивается вручную на хосте, обнаруживается как часть аренды DHCP хоста , либо устанавливается на настроенный шлюз хоста по умолчанию . Сообщения запроса хоста отправляются с любого исходного UDP-порта клиента на UDP-порт 5351 сервера, который он прослушивает; Незапрашиваемые уведомления многоадресного сервера (например, объявления о перезапуске сервера) отправляются с UDP-порта 5351 сервера на UDP-порт 5350 на хостах, которые они слушают.
Максимальная длина полезной нагрузки UDP для всех сообщений PCP составляет 1100 октетов . Каждое сообщение PCP состоит из заголовка запроса или ответа, содержащего код операции, который определяет связанную операцию, любую соответствующую информацию, относящуюся к коду операции (например, какие порты должны быть сопоставлены), и ноль или более параметров (например, параметр THIRD_PARTY, описанный ) . Коды результатов возвращаются как часть ответов сервера; каждый результирующий код имеет ассоциированное время жизни, которое сообщает хостам, когда определенные операции могут быть повторены или должны быть повторены. Например, время жизни результата может указывать, как долго, как ожидается, будет сохраняться условие отказа или как долго будет длиться созданное сопоставление.
Что такое протокол UDP?
UDP — это протокол, который обеспечивает обслуживание без установления соединения, таким образом UDP не гарантирует доставку или проверки последовательности для любой дейтаграммы. Хост, который нуждается в надежной связи должен использовать либо протокол TCP либо программу, которая будет сама следить за последовательностью дейтаграмм и подтверждать прием каждого пакета. UDP — это аббревиатура от User Datagram Protocol (Протокол Пользовательских Дейтаграмм) является протоколом стандарта TCP/IP, определенный в стандарте RFC 768, «User Datagram Protocol (UDP)». UDP используется вместо TCP для быстрой и ненадежной транспортировки данных между TCP/IP хостами.
Автором протокола UDP является Дэвид П. Рид созданный в 1980 году.
Чувствительные ко времени приложения часто используют UDP (видеоданные), так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени. Также потеря одного или нескольких кадров, при передаче видеоданных по UDP, не так критична, в отличии от передачи бинарных файлов, где потеря одно пакета может привести к искажению всего файла. Еще одним преимуществом протокола UDP является то, что длина заголовка UDP составляет 4 байта, а у TCP протокола — 20 байт.
UDP сообщения инкапсулируются и передаются в IP дейтаграммы.
Псевдозагаловки
Псевдозагаловок для IPv4
Если UDP работает над IPv4, контрольная сумма вычисляется при помощи псевдозаголовка, который содержит некоторую информацию из заголовка IPv4. Псевдозаголовок не является настоящим IPv4-заголовком, используемым для отправления IP-пакета. В таблице приведён псевдозаголовок, используемый только для вычисления контрольной суммы.
Биты | 0 — 7 | 8-15 | 16-23 | 24-31 |
---|---|---|---|---|
Адрес источника | ||||
32 | Адрес получателя | |||
64 | Нули | Протокол | Длина UPD | |
96 | Данные (Data) |
Псевдозаголовок для IPv6
При вычислении контрольной суммы опять используется псевдозаголовок, имитирующий реальный IPv6-заголовок:
Биты | 0 — 7 | 8 — 15 | 16 — 23 | 24 — 31 |
---|---|---|---|---|
Адрес источника | ||||
32 | ||||
64 | ||||
96 | ||||
128 | Адрес получателя | |||
160 | ||||
192 | ||||
224 | ||||
256 | Длина UDP | |||
288 | Нули | Следующий заголовок | ||
320 | Порт источника | Порт получателя | ||
352 | Длина | Контрольная сумма | ||
384+ | Данные |
Адрес источника такой же, как и в IPv6-заголовке. Адрес получателя — финальный получатель; если в IPv6-пакете не содержится заголовка маршрутизации (Routing), то это будет адрес получателя из IPv6-заголовка, в противном случае, на начальном узле, это будет адрес последнего элемента заголовка маршрутизации, а на узле-получателе — адрес получателя из IPv6-заголовка. Значение «Следующий заголовок» равно значению протокола — 17 для UDP. Длина UDP — длина UDP-заголовка и данных.
Расчет контрольной суммы
Перед расчётом контрольной суммы, если длина UDP-сообщения в байтах нечётна, то UDP-сообщение дополняется в конце нулевым байтом (псевдозаголовок и добавочный нулевой байт не отправляются вместе с сообщением, они используются только при расчёте контрольной суммы). Поле контрольной суммы в UDP-заголовке во время расчёта контрольной суммы принимается нулевым.
Для расчёта контрольной суммы псевдозаголовок и UDP-сообщение разбивается на двухбайтные слова. Затем рассчитывается сумма всех слов в арифметике обратного кода (т. е. кода, в котором отрицательное число получается из положительного инверсией всех разрядов числа и существует два нуля: 0х0000 (обозначается +0) и 0xffff(обозначается -0)). Результат записывается в соответствующее поле в UDP-заголовке.
Значение контрольной суммы, равное 0х0000 (+0 в обратном коде), зарезервировано и означает, что для посылки контрольная сумма не вычислялась. В случае, если контрольная сумма вычислялась и получилась равной 0х0000, то в поле контрольной суммы заносят значение 0xffff(-0 в обратном коде).
При получении сообщения получатель считает контрольную сумму заново (уже учитывая поле контрольной суммы), и, если в результате получится -0 (то есть 0xffff), то контрольная сумма считается сошедшейся. Если сумма не сходится (данные были повреждены при передаче, либо контрольная сумма неверно посчитана на передающей стороне), то решение о дальнейших действиях принимает принимающая сторона. Как правило, в большинстве современных устройств, работающих с UDP/IP-пакетами имеются настройки, позволяющие либо игнорировать такие пакеты, либо пропускать их на дальнейшую обработку, невзирая на неправильность контрольной суммы.
Пример расчета контрольной суммы
Для примера рассчитаем контрольную сумму нескольких 16-битных слов: .
Для этого можно сначала сложить попарно числа, рассматривая их как 16-разрядные беззнаковые числа с последующим приведением к дополнительному коду путём прибавления единицы к результату, если при сложении произошёл перенос в старший (17-й) разряд (т. е. де-факто, этой операцией мы переводим отрицательное число из дополнительного в обратный код). Или, что равноценно, можно считать, что перенос прибавляется к младшему разряду числа.
0x398a + 0xf802 = 0x1318c → 0x318d (перенос в старший разряд) 0x318d + 0x14b2 = 0x0463f → 0x463f (число положительное) 0x463f + 0xc281 = 0x108c0 → 0x08c1
В конце выполняется инверсия всех битов получившегося числа
или,
иначе — . Это и есть искомая контрольная сумма.
UDP протокол — что это
UDP — это транспортный протокол пользовательских датаграмм из набора правил TCP/IP. Позволяет отправлять информацию (датаграммы) по IP-сети без предварительного установления соединения и создания специального виртуального канала или путей данных. Официально был разработан в 1 980 году человеком по имени Дэвид П. Рид. Полностью расшифровывается как — User Datagram Protocol.
Передавая данные по UPD датаграммы могут приходить не по порядку и даже дублироваться, а иногда и просто пропадать. Данный протокол подразумевает, что проверки и, если есть ошибки, их исправления в принципе не нужны, либо это должно ложиться на плечи приложения.
Заголовок UDP весит 8 байтов и состоит всего из четырех значений:
Это порты отправителя и получателя, длина датаграммы и контрольная сумма. Поля, которые помечены на скриншоте желтым цветом — необязательны к использованию в сетях IPv4.
Плюсы UDP протокола — кому он полезен?
Доставка пакетов происходит гораздо быстрее, т.к. он просто не тратит время на все те проверки, установку соединения и т.д., как это делает TCP.
Благодаря этому он так популярен на серверах, которые отвечают на небольшие вопросы от большого количества клиентов, те же DNS сервера, онлайн игры, потоковое видео, например, IPTV, приложения видео/аудио связи.
Отличие UDP от TCP — сравнение
Как вы уже знаете, есть два основных протокола в стеке TCP/IP — это TCP и UDP. Многие задаются в чем между ними разница, а разница по большому счету в «гарантии доставки» данных. Так, TCP требует от получателя подтверждения того, что он получил пакеты данных, а для этого необходимо изначально установленное соединение между узлами. Также, он исключает потерю данных, задержки, использует логическое соединение и т.д. А вот ЮДП этого не делает, поэтому его еще часто называют — «протокол ненадежных датаграмм».
Недостатки:
- Ненадежный протокол. Не контролирует передачу и соответственно целостность данных, а просто передает их, так данные могут прийти битыми или с дубликатом, или потеряться.
- Отправляет данные не упорядоченно. Если отправить данные нескольким адресатам, то неизвестно кому первому они придут. В тисипи все это контролируется и нумеруется по порядку.
- Без проверки доставки, в отличие от своего собрата тисипи.
- Проверка целостности пакета осуществляется только если он был доставлен и проверяет ее получатель, а в отправитель даже не будет знать доставлен ли пакет.
- Плохая безопасность. Многие файрволы просто блокируют UDP пакеты, т.к. злоумышленники могут воспользоваться его портами, не устанавливая явных соединений.
Преимущества:
- Легковесный — быстрая передача. Не нужно предварительно соединение, никаких проверок доставки, упорядочивания, отслеживания соединения. А в TCP все это есть — поэтому он тяжеловесный, еще ему нужно аж три пакета для установления сокет-соединения.
- Разные соединения. Может быть связь — «один с одним», а может и «один со многими». А вот TCP позволяет только первый вариант.
- Нагрузка и расходы. Т.к. ЮДП требует куда меньше ресурсов — система грузится куда меньше и покупать более дорогое оборудование нет смысла.
- Размер заголовка. У UDP заголовок весит всего 8 байтов, а в TCP — 20 байтов, что означает что ему нужна меньшая пропускная способность.
В заключение
Вот вы и узнали, что такое UDP, чем он отличается от другого транспортного протокола, его преимущества и недостатки. Обучайтесь, изучайте новое и жизнь станет куда интереснее.
Применение UDP
UDP, в свою очередь, является протоколом, обладающим высокой скоростью передачи данных. Все дело в том, что в его основу заложен минималистичный механизм, без которого не обходится ни одна передача данных. Естественно, для него характерен целый ряд недостатков. Поступление передаваемых данных происходит в хаотичном порядке – не факт, что первый пакет из общего списка не окажется последним.
Гарантии доставки передаваемой информации нет, поэтому не исключено, что в ответ пользователь получит один пакет в виде двух копий. Возникновение подобной ситуации возможно в том случае, если один адрес для отправки сопровождается двумя разными маршрутами.
Использование PortQry в интерактивном режиме
При устранении неполадок с подключением между компьютерами может потребоваться ввести множество повторяющихся команд. Такие действия можно сделать проще с помощью PortQry в интерактивном режиме.
Интерактивный режим похож на интерактивные функции в службе DNS Nslookup или в утилите Nblookup WINS.
Чтобы запустить PortQry в интерактивном режиме, используйте параметр. Например, выполните следующую команду:
Выход этой команды напоминает следующий отрывок:
Команды интерактивного режима
В интерактивном режиме можно использовать следующие команды:
Команда | Описание | Comments |
---|---|---|
или | Настройка назначения для запроса |
|
или | Отправка запроса |
|
Установите значение параметра запроса |
|
|
Оставьте интерактивный режим |
Ярлыки запроса интерактивного режима
Вы можете использовать следующие ярлыки вместе с командой для запуска общих запросов без настройки параметров порта и протокола. Используйте следующий синтаксис:
Примечание
В этой команде представлен один из ярлыков <shortcut> из следующей таблицы. Если упустить ярлык, команда запросит TCP-порт 80.
Ярлык | Порты для запроса |
---|---|
TCP port 53, UDP port 53. | |
TCP port 21 | |
TCP port 143 | |
UDP port 500 | |
TCP port 1745, UDP port 1745 | |
TCP port 389, UDP port 389 | |
Порт UDP 1701 | |
Порты TCP 25, 110 и 143 | |
TCP port 110 | |
TCP port 135, UDP port 135 | |
TCP-порт 25 | |
Порт UDP 161 | |
TCP port 1433, UDP port 1434 | |
Порт UDP 69 |
Например, ввод в интерактивном режиме эквивалентен запуску в обычном режиме командной строки.
Параметры интерактивного режима
Вы можете использовать команду для набора параметров, таких как порт источника или медленная задержка ссылок. Используйте следующий синтаксис:
Примечание
В этой команде представлено имя параметра, заданной, и <option> <value> представляет новое значение параметра.
Вариант | Описание | Comments |
---|---|---|
Отображение текущих значений параметров | ||
Укажите целевой порт | Значение <port_number> представляет порт для запроса на компьютере назначения. | |
Укажите исходный порт |
|
|
Укажите протокол для использования | Значение представляет тип порта для <protocol> запроса (или). | |
Укажите сообщество SMTP |
|
|
Отключение или включите обратный вид имени |
|
|
Включить медленную задержку ссылки или отключить |
|
Предположим, необходимо запросить компьютер с IP-адресом 10.0.1.10. В командной подсказке интерактивного режима введите . Эта команда производит вывод, который похож на следующий отрывок:
Чтобы отправить запрос DNS, введите команду интерактивного режима. Эта команда производит вывод, который похож на следующий отрывок:
Сводка
Важно!
В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.
По умолчанию Windows Vista и Windows Server 2008 не поддерживают сетевые связи безопасности протокола Интернета (IPsec) с сетевым переводом (NAT) Traversal (NAT-T) на серверы, расположенные за устройством NAT. Если виртуальный частный сетевой сервер (VPN) стоит за устройством NAT, то vpn-клиентский компьютер на основе Windows Vista или Windows Server 2008 не может сделать протокол туннелинга уровня 2 (L2TP)/IPsec к VPN-серверу. Этот сценарий включает VPN-серверы, которые работают Windows Server 2008 и Windows Server 2003.
Из-за того, как устройства NAT переводят сетевой трафик, в следующем сценарии могут возникнуть неожиданные результаты:
- Вы ставите сервер за устройство NAT.
- Используется среда IPsec NAT-T.
Если для связи необходимо использовать IPsec, используйте общедоступные IP-адреса для всех серверов, к которые можно подключиться из Интернета. Если необходимо поставить сервер за устройство NAT, а затем использовать среду IPsec NAT-T, вы можете включить связь, изменив значение реестра на клиентский компьютер VPN и VPN-сервер.
Спасибо!