Проверка порта

Что такое порты TCP и UDP?

Два современных типа портов в современных сетях известны как порты TCP и UDP. Это протокол управления передачей и протокол дейтаграмм пользователя соответственно. Таким образом, эти два типа портов используют разные сетевые протоколы.

Которые вы можете считать отличительными наборами правил для того, как биты информации должны быть отправлены и получены. Оба типа портов построены на фундаментальном протокол Интернета (IP), который делает интернет и домашние сети, ну, Работа, Тем не менее, они подходят для различных применений.

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

TCP, с другой стороны, больше похож на телефонный звонок. Приемник должен «установить» соединение, и существует поток информации, пока кто-то намеренно не положит трубку.

Сообщения UDP обычно передаются по сети любому, кто прослушивает указанный порт UDP. Это делает его идеальным для сообщений служебного типа, которые касаются работы самой сети. Он также идеально подходит для потоковой передачи голоса по IP, онлайн-видеоигр и потокового вещания.

Почему? Эти приложения извлекают выгоду из низкой задержки UDP и постоянного потока информации, который не обязательно должен быть идеальным, чтобы быть полезным

В конце концов, небольшое искажение в вашем чате Skype гораздо менее важно, чем небольшое отставание

TCP гораздо более распространен, чем UDP, и он гарантирует, что все данные будут получены без ошибок. Почти все, что не нуждается в особых преимуществах UDP, использует вместо этого TCP.

Сетевые протоколы TCP/IP, NWLink IPX/SPX, NetBEUI

Давайте начнем с того, что вообще такое сетевой протокол и с чем его едят.Сетевой протокол — это набор программно реализованных правил общения между компьютерами. Этакий язык, на котором компьютеры разговаривают друг с другом и передают информацию. Ранее компьютеры были, так сказать, многоязычны и в старых версиях Windows использовался целый набор протоколов, — TCP/IP, NWLink IPX/SPX, NetBEUI. Ныне же пришли к общей договоренности, и стандартом стало использование исключительно протокола TCP/IP, а посему речь далее пойдет именно о нем.

Когда говорят о TCP/IP, то обычно подразумевают под этим именем множество различных.. правил или, скажем, стандартов, которые прописаны с использованием (или под использование) этого протокола. Так, например, есть правила, по которым осуществляется обмен сообщениями между почтовыми серверами и есть правила, по которым конечный пользователь получает в свой ящик письма. Имеются правила для проведения видео-конференций и правила для организации «телефонных» переговоров по Интернету. Фактически, это даже не то чтобы правила.. Скорее этакая грамматика, что ли. Ну знаете, в английском одна структура построения диалогов, в французском другая.. Вот и в TCP/IP нечто подобное, т.е. некая связка различных грамматических правил представляет собой как раз цельный протокол TCP/IP или, точнее говоря, стек протоколов TCP/IP.

Эффекты

Как уникальный протокол, протокол User Datagram Protocol имеет свои плюсы и минусы. Некоторые из наиболее распространенных, с которыми вы столкнетесь, объясняются ниже.

Преимущества

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

Недостатки

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

Технические ограничения

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

Дополнительно следует учесть, что введенные вами на странице настройки будут применены не моментально (!), а через некоторое время (около 5 минут), о чем вам будет сообщено на странице настройки «Проброса TCP порта».

Определение компонента, использующего порт 80, с помощью /proc/$pid/exec file

Сначала необходимо найти PID процесса, открывшего TCP-порт 90. Введите:

Пример вывода данных:

80/tcp:              12161 21776 25250 25393

И, наконец, следует выяснить имя процесса, связанного с PID#3813. Введите:

Пример вывода данных:

lrwxrwxrwx. 1 root root 0 Aug  9 13:28 /proc/12161/exe -> /usr/sbin/lighttpd

Дополнительные сведения о lighttpd:

Пример вывода данных:

lighttpd             (8)  - a fast, secure and flexible web server

lighttpd: /usr/sbin/lighttpd /usr/lib64/lighttpd /usr/share/man/man8/lighttpd.8.gz

Получить намного более подробные сведения о lighttpd можно с помощью менеджера пакетов:

Пример вывода данных:

lighttpd-1.4.32-1.el6.x86_64

Чтобы получить подробные сведения о пакете lighttpd-1.4.32-1.el6.x86_64, введите:

Пример вывода данных:

Loaded plugins: auto-update-debuginfo, protectbase, rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.
0 packages excluded due to repository protections
Installed Packages
Name        : lighttpd
Arch        : x86_64
Version     : 1.4.32
Release     : 1.el6
Size        : 664 k
Repo        : installed
Summary     : A web server more optimized for speed-critical environments.
URL         : http://lighttpd.net/
License     : Revised BSD
Description : It is a secure and fast web server a very low memory footprint compared
		: to other webservers and takes care of cpu-load.

ИЛИ выполните команду rpm:

Пример вывода данных:

Name        : lighttpd                     Relocations: (not relocatable)
Version     : 1.4.32                            Vendor: nixCraft
Release     : 1.el6                         Build Date: Sun 03 Feb 2013 03:22:08 AM CST
Install Date: Mon 04 Feb 2013 04:44:26 AM CST      Build Host: rhel6.nixcraft.net.in
Group       : System Environment/Daemons    Source RPM: lighttpd-1.4.32-1.el6.src.rpm
Size        : 680402                           License: Revised BSD
Signature   : (none)
URL         : http://lighttpd.net/
Summary     : A web server more optimized for speed-critical environments.
Description :
It is a secure and fast web server a very low memory footprint compared
to other webservers and takes care of cpu-load.

Пользователи Debian/Ubuntu Linux могут выполнить следующие команды:

Пример вывода данных для последней команды:

Package: lighttpd
Priority: optional
Section: universe/web
Installed-Size: 841
Maintainer: Ubuntu Developers 
Original-Maintainer: Debian lighttpd maintainers 
Architecture: amd64
Version: 1.4.28-2ubuntu4
Provides: httpd, httpd-cgi
Depends: libattr1 (>= 1:2.4.46-5), libbz2-1.0, libc6 (>= 2.4), libgamin0 | libfam0, libldap-2.4-2 (>= 2.4.7), libpcre3 (>= 8.10), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2-14), mime-support, libterm-readline-perl-perl
Recommends: spawn-fcgi
Suggests: openssl, rrdtool, apache2-utils, ufw
Conflicts: cherokee (<= 0.6.1-1)
Filename: pool/universe/l/lighttpd/lighttpd_1.4.28-2ubuntu4_amd64.deb
Size: 279838
MD5sum: 65aedfd0e0ab6d3ee28e7b394567ed22
SHA1: 34a9156fa3d23635eb24efb436de585c0594f046
SHA256: 751d6f8309d249740d7aab240a74b6bae713e524cf6815544b6cdbb6107fded2
Description-en: A fast webserver with minimal memory footprint
lighttpd is a small webserver and fast webserver developed with
security in mind and a lot of features.
It has support for
   * CGI, FastCGI and SSI
   * virtual hosts
   * URL rewriting
   * authentication (plain files, htpasswd, ldap)
   * transparent content compression
   * conditional configuration
and configuration is straight-forward and easy.
Homepage: http://www.lighttpd.net
Description-md5: 267ee2989b526d8253e822e7d8244ccd
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

TCP vs self-made UDP

  • С перегрузками, когда пакетов очень много и некоторые из них дропаются из-за перегрузки каналов или оборудования.
  • Высокоскоростные с большими round-trip (например когда сервер располагается относительно далеко).
  • Странные — когда в сети вроде бы ничего не происходит, но пакеты все равно пропадают просто потому-что Wi-Fi точка доступа находится за стенкой.

  • Профиль Видео, когда вы подключаетесь и стримите тот или иной контент. Скорость соединения увеличивается, как на верхнем графике. Требования к этому протоколу: низкие задержки и адаптация битрейта.
  • Вариант просмотра Ленты: импульсная загрузка данных, фоновые запросы, промежутки простоя. Требования к этому протоколу: получаемые данные мультиплексируются и приоритизируются, приоритет пользовательского контента выше фоновых процессов, есть отмена загрузки.

Отличия HTTP 2.0

  • бинарный, сжатие заголовков;
  • мультиплексирование данных;
  • приоритизация;
  • возможна отмена загрузки;
  • server push

Высокоприоритетный контент загружается раньше.Server pushReset stream

  • Профилях сети: Wi-Fi, 3G, LTE.
  • Профилях потребления: cтриминг (видео), мультиплексирование и приоритизация с отменой загрузки (HTTP/2) для получения контента ленты. 

Размер буфера

  • пакеты 1 и 2 уже отправлены, для них получено подтверждение;
  • пакеты 3, 4, 5, 6 отправлены, но результат доставки неизвестен (on-the-fly packets);
  • остальные пакеты находятся в очереди.

Вывод:

Congestion control

  • Flow control — это некий механизм защиты от перегрузки. Получатель говорит, на какое количество данных у него реально есть место в буфере, чтобы он был готов их принять. Если передать сверх flow control или recv window, то эти пакеты просто будут выкинуты. Задача flow control — это back pressure от нагрузки, то есть просто кто-то не успевает вычитывать данные.
  • У congestion control совершенно другая задача. Механизмы схожие, но задача — спасти сеть от перегрузки.

  • Если TCP window = 1, то данные передаются как на схеме слева: дожидаемся acknowledgement, отправляем следующий пакет и т.д. 
  • Если TCP window = 4, то отправляем сразу пачку из четырех пакетов, дожидаемся acknowledgement и дальше работаем.

  • На верхней схеме сеть, в которой все хорошо. Пакеты отправляются с заданной частотой, с такой же частотой возвращаются подтверждения. 
  • Во второй строке начинается перегруз сети: пакеты идут чаще, acknowledgements приходят с задержкой. 
  • Данные копятся в буферах на маршрутизаторах и других устройствах и в какой-то момент начинают пропускать пакеты, acknowledgements на эти пакеты не приходят (нижняя схема).

  • Cubic — дефолтный Congestion Control с Linux 2.6. Именно он используется чаще всего и работает примитивно: потерял пакет — схлопнул окно.
  • BBR — более сложный Congestion Control, который придумали в Google в 2016 году. Учитывает размер буфера.

BBR Congestion Control

  • BBR понимает, что идет переполнение буфера, и пытается схлопнуть окно, уменьшить нагрузку на маршрутизатор. 
  • Cubic дожидается потери пакета и после этого схлопывает окно.

jitterHighLoad++

Какой Congestion control выбрать

Выводы про congestion control:

  • Для видео всегда хорош BBR. 
  • В остальных случаях, если мы используем свой UDP-протокол, можно взять congestion control с собой.
  • С точки зрения TCP можно использовать только congestion control, который есть в ядре. Если хотите реализовать свой congestion control в ядро, нужно обязательно соответствовать спецификации TCP. Невозможно раздуть acknowledgement, сделать изменения, потому что просто их нет на клиенте.

Что есть MAC-адрес

Дело в том, что пересылаемые пакеты в сети адресуются компьютерам не по их именам и не на IP-адрес. Пакет предназначается устройству с конкретным адресом, который и называется MAC-адресом.

MAC-адрес — это уникальный адрес сетевого устройства, который заложен в него изготовителем оборудования, т.е. это этакий проштампованный номер Вашей сетевой карты. Первая половина MAC-адрес представляет собой идентификатор изготовителя, вторая — уникальный номер данного устройства.

Как правило MAC-адрес бывает требуется для идентификации, скажем, у провайдера (если провайдер использует привязку по мак-адресу вместо логина-пароля) или при настройке маршрутизатора.

Восстановление после ошибок TCP

Чтобы понять, что делают протоколы транспортного уровня, вы должны вспомнить об уровне выше транспортного уровня, об уровне приложений. Зачем? Каждый уровень предоставляет услуги вышестоящему уровню, например, восстановление после ошибок, предоставляемое протоколом TCP протоколам прикладного уровня.

Например, Роб и Гарри использовали HTTP для передачи домашней страницы с веб-сервера Гарри в веб-браузер Роба (). Но что произошло бы, если бы HTTP-запрос GET Роба был потерян при передаче через сеть TCP/IP? Или что произошло бы, если бы ответ Гарри, в который входил контент домашней страницы, был утерян? Как и следовало ожидать, в любом случае страница не отобразилась бы в браузере Роба.

TCP/IP нуждается в механизме, гарантирующем доставку данных через сеть. Поскольку, возможно, многим протоколам прикладного уровня необходим способ, гарантировать доставку данных по сети, создатели TCP добавили в него функцию восстановления после ошибок. Для восстановления после ошибок TCP использует концепцию подтверждений. На рисунке 1 представлена основная идея того, как TCP обнаруживает потерянные данные и просит отправителя попробовать передать их снова.

Рисунок 1 – Служба восстановления после ошибок TCP, предоставленная протоколу HTTP

На рисунке 1 показан веб-сервер Гарри, отправляющий веб-страницу веб-браузеру Роба, используя три отдельных сообщения

Обратите внимание, что на этом рисунке показаны те же заголовки HTTP, что и на , а также на нем показаны заголовки TCP. В заголовках TCP показан порядковый номер () каждого сообщения

В данном примере в сети возникла проблема, и сеть не может доставить сообщение TCP (называемое сегментом) с порядковым номером 2. Когда Роб получает сообщения с порядковыми номерами 1 и 3, но не получает сообщение с порядковым номером 2, он понимает, что сообщение 2 было потеряно. Эта реализация TCP-логики заставляет Роба отправить TCP-сегмент обратно Гарри с просьбой снова отправить сообщение 2.

WireGuard

Самый новый и неизведанный протокол VPN — WireGuard. Позиционируется разработчиками как замена IPsec и OpenVPN для большинства случаев их использования, будучи при этом более безопасным, более производительным и простым в использовании.

Все IP-пакеты, приходящие на WireGuard интерфейс, инкапсулируются в UDP и безопасно доставляются другим пирам. WireGuard использует современную криптографию:

  • Curve25519 для обмена ключами,
  • ChaCha20 для шифрования,
  • Poly1305 для аутентификации данных,
  • SipHash для ключей хеш-таблицы,
  • BLAKE2 для хеширования.

Код WireGuard выглядит куда скромнее и проще, чем код OpenVPN, в результате чего его проще исследовать на уязвимости (4 тысячи строк кода против нескольких сотен тысяч). Также многие отмечают, что его гораздо легче развернуть и настроить.

Результаты тестов производительности можно увидеть на официальном сайте (как не сложно догадаться, они хороши). Стоит отметить, что лучшие результаты WireGuard покажет на Linux системах, т.к. там он реализован в виде модуля ядра.

Совсем недавно был представлен WireGuard 1.0.0, который отметил собой поставку компонентов WireGuard в основном составе ядра Linux 5.6. Включенный в состав ядра Linux код прошел дополнительный аудит безопасности, выполненный независимой фирмой, который не выявил каких-либо проблем. Для многих это отличные новости, но сможет ли WireGuard стать достойной заменой IPsec и OpenVPN покажет время и независимые исследования безопасности.

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

PPTP SSTP L2TP/IPsec IKEv2/IPsec OpenVPN WireGuard
Компания-разработчик Microsoft Microsoft L2TP — совместная разработка Cisco и Microsoft, IPsec — The Internet Engineering Task Force IKEv2 — совместная разработка Cisco и Microsoft, IPsec — The Internet Engineering Task Force OpenVPN Technologies Jason A. Donenfeld
Лицензия Proprietary Proprietary Proprietary Proprietary, но существуют реализации протокола с открытым исходным кодом GNU GPL GNU GPL
Развертывание Windows, macOS, iOS, некоторое время GNU/Linux. Работает “из коробки”, не требуя установки дополнительного ПО Windows. Работает “из коробки”, не требуя установки дополнительного ПО Windows,Mac OS X, Linux, iOS, Android. Многие ОС (включая Windows 2000/XP +, Mac OS 10.3+) имеют встроенную поддержку, нет необходимости ставить дополнительное ПО Windows 7+, macOS 10.11+ и большинство мобильных ОС имеют встроенную поддержку Windows, Mac OS, GNU/Linux, Apple iOS, Android и маршрутизаторы. Необходима установка специализированного ПО, поддерживающего работу с данным протоколом Windows, Mac OS, GNU/Linux, Apple iOS, Android. Установить сам WireGuard, а затем настроить по руководству
Шифрование Использует Microsoft Point-to-Point Encryption (MPPE), который реализует RSA RC4 с максимум 128-битными сеансовыми ключами SSL (шифруются все части, кроме TCP- и SSL-заголовков) 3DES или AES Реализует большое количество криптографических алгоритмов, включая AES, Blowfish, Camellia Использует библиотеку OpenSSL (реализует большинство популярных криптографических стандартов) Обмен ключами по 1-RTT, Curve25519 для ECDH, RFC7539 для ChaCha20 и Poly1305 для аутентификационного шифрования, и BLAKE2s для хеширования
Порты TCP-порт 1723 TCP-порт 443 UDP-порт 500 для первонач. обмена ключами и UDP-порт 1701 для начальной конфигурации L2TP, UDP-порт 5500 для обхода NAT UDP-порт 500 для первоначального обмена ключами, а UDP-порт 4500 — для обхода NAT Любой UDP- или TCP-порт Любой UDP-порт
Недостатки безопасности Обладает серьезными уязвимостями. MSCHAP-v2 уязвим для атаки по словарю, а алгоритм RC4 подвергается атаке Bit-flipping Серьезных недостатков безопасности не было выявлено 3DES уязвим для Meet-in-the-middle и Sweet32, но AES не имеет известных уязвимостей. Однако есть мнение, что стандарт IPsec скомпрометирован АНБ США Не удалось найти информации об имеющихся недостатках безопасности, кроме инцидента с утечкой докладов АНБ касательно IPsec Серьезных недостатков безопасности не было выявлено Серьезных недостатков безопасности не было выявлено

Проблемы безопасности, связанные с совместным использованием портов

Хотя служба совместного использования портов Net.TCP предусматривает уровень обработки между приложениями и сетью, приложения, совместно использующие порты, все равно необходимо защищать так, как если бы они непосредственно прослушивали сеть. В частности, в приложениях, совместно использующих порты, необходимо оценивать привилегии процессов, в которых они выполняются. Имеет смысл рассмотреть возможность выполнения приложения от имени встроенной учетной записи Network Service, которая выполняется с минимально необходимым для обмена данными по сети набором привилегий.

Дополнительная информация

Динамический диапазон порта можно просмотреть на компьютере с Windows Vista или Windows Server 2008 с помощью следующих команд:

Примечание

Диапазон устанавливается отдельно для каждого транспорта (TCP или UDP). Диапазон портов теперь действительно является диапазоном, который имеет отправную точку и точку окончания. Клиенты Корпорации Майкрософт, развертывавшие серверы, работающие Windows Server 2008, могут иметь проблемы, влияющие на связь RPC между серверами, если брандмауэры используются во внутренней сети. В этих ситуациях рекомендуется перенастроить брандмауэры, чтобы разрешить трафик между серверами в динамическом диапазоне порта от 49152 до 65535. Этот диапазон помимо известных портов, используемых службами и приложениями. Или диапазон портов, используемый серверами, может быть изменен на каждом сервере. Этот диапазон можно настроить с помощью команды netsh следующим образом: .
Эта команда задает динамический диапазон порта для TCP. Порт запуска — это число, а общее число портов — диапазон.

Ниже приводится пример команд:

Эти примерные команды устанавливают динамический диапазон портов для запуска в порте 10000 и окончания в порте 10999 (1000 портов). Минимальный диапазон портов, который можно установить, — 255. Минимальный порт запуска, который можно установить, — 1025. Максимальный конечный порт (в зависимости от настраиваемого диапазона) не может превышать 65535. Чтобы повторить поведение Windows Server 2003, используйте 1025 в качестве порта запуска, а затем используйте 3976 в качестве диапазона для TCP и UDP. Это приводит к запуску порта 1025 и конечного порта 5000.

Примечание

При установке Microsoft Exchange Server 2007 на компьютере Windows Server 2008 диапазон портов по умолчанию составляет от 1025 до 60000.

Дополнительные сведения о безопасности в Microsoft Exchange 2007 г. перейдите на следующий веб-сайт Microsoft TechNet:Exchange 2007 г. Руководство по безопасности

Функциональность

UDP, в отличие от TCP, посылает пакеты получателю независимо от того, могут ли они получить их полностью или нет. Каждый из пакетов отправляется отправителем получателю напрямую и индивидуально, без установления и подтверждения наличия надежного канала передачи данных. Пользователям не предоставляется возможность запрашивать недостающие пакеты данных после того, как они потеряны при транспортировке. Данный тип протокола используется в основном в тех случаях, когда скорость передачи данных имеет более высокий приоритет, чем надежность успешной передачи данных. Нет внутреннего порядка передачи пакетов данных, и все пакеты передаются по сети независимо друг от друга.

Видео в прямом эфире

Например, пользователи, которые смотрят прямой видеопоток в интернете, полагаются на сервер, который посылает непрерывный поток пакетов данных. Большинство потоков видео в прямом эфире используют UDP, а не TCP. Когда зритель сталкивается с блокировкой экрана или задержкой во время трансляции, это вызвано потерей или обрывом соединения в виде потери пакетов во время передачи данных. Потеря пакетов, хотя и приводит к искажению видео или звука, но при передаче через UDP все равно позволяет воспроизводить видео целиком.

Онлайн игры

Аналогично, онлайн игры реализуют аналогичную концепцию. Символы проигрывателя могут появляться при телепортации по картам, когда вы получаете новые UDP-пакеты при пропуске некоторых из предыдущих передач данных. Игра продолжается, и пользователям не нужно извлекать старые и потерянные пакеты. Отмена коррекции ошибок TCP снижает задержки и улучшает скорость игрового соединения. Отсутствие UDP пакетов во время игры приведет к незначительным сбоям, но не обязательно изменит ее производительность. В то время как игра продолжается в UDP, TCP зависимые игры будут иметь другой результат, который является целым замораживанием игры

В онлайн-играх важно то, что происходит в режиме реального времени

Расчет контрольной суммы

Метод, используемый для вычисления контрольной суммы, определен в RFC   , а эффективное вычисление обсуждается в RFC   :

Другими словами, все 16-битные слова суммируются с использованием дополнительной арифметики. Сложите 16-битные значения. При каждом добавлении, если создается перенос (17-й бит), поверните этот 17-й бит переноса и добавьте его к младшему значащему биту промежуточной суммы. Наконец, сумма дополняется до значения поля контрольной суммы UDP.

Если вычисление контрольной суммы приводит к нулевому значению (все 16 битов 0), оно должно быть отправлено как дополнение до единицы (все единицы), поскольку контрольная сумма с нулевым значением указывает, что контрольная сумма не была вычислена. В этом случае никакой специальной обработки на приемнике не требуется, потому что все нули и все единицы равны нулю в арифметике дополнения до единицы.

Разница между IPv4 и IPv6 заключается в псевдозаголовке, используемом для вычисления контрольной суммы, а контрольная сумма не является необязательной в IPv6.

Псевдо-заголовок IPv4

Когда UDP работает через IPv4, контрольная сумма вычисляется с использованием «псевдозаголовка», который содержит часть той же информации, что и настоящий заголовок IPv4 . Псевдозаголовок не является настоящим заголовком IPv4, используемым для отправки IP-пакета, он используется только для вычисления контрольной суммы.

Формат псевдозаголовка IPv4
Смещения Октет 1 2 3
Октет Немного 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 год 22 23 24 25 26 27 28 год 29 30 31 год
Исходный IPv4-адрес
4 32 IPv4-адрес назначения
8 64 Нули Протокол Длина UDP
12 96 Исходный порт Порт назначения
16 128 Длина Контрольная сумма
20 160+ Данные

Адреса источника и назначения указаны в заголовке IPv4. Протокол тот же, что и для UDP (см. Список номеров IP-протоколов ): 17 (0x11). Поле длины UDP — это длина заголовка и данных UDP. Поле data обозначает переданные данные.

Вычисление контрольной суммы UDP не является обязательным для IPv4. Если контрольная сумма не используется, ей следует установить нулевое значение.

Псевдо-заголовок IPv6

Когда UDP работает через IPv6, контрольная сумма является обязательной. Метод, используемый для его вычисления, изменен, как описано в RFC   :

При вычислении контрольной суммы снова используется псевдозаголовок, имитирующий настоящий заголовок IPv6 :

Формат псевдозаголовка IPv6
Смещения Октет 1 2 3
Октет Немного 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 год 22 23 24 25 26 27 28 год 29 30 31 год
Исходный IPv6-адрес
4 32
8 64
12 96
16 128 IPv6-адрес назначения
20 160
24 192
28 год 224
32 256 Длина UDP
36 288 Нули Следующий заголовок = Протокол
40 320 Исходный порт Порт назначения
44 год 352 Длина Контрольная сумма
48 384+ Данные

Исходный адрес — это адрес в заголовке IPv6. Адрес назначения — это конечный пункт назначения; если пакет IPv6 не содержит заголовка маршрутизации, это будет адрес назначения в заголовке IPv6; в противном случае на исходном узле это будет адрес в последнем элементе заголовка маршрутизации, а на принимающем узле это будет адрес назначения в заголовке IPv6. Значение поля Next Header — это значение протокола для UDP: 17. Поле длины UDP — это длина заголовка и данных UDP.

Порты TCP/UDP, используемые в среде Cisco CallManager

В этой таблице представлены порты TCP/UDP, используемые в среде Cisco CallManager.

Протокол

Удаленный исходящий порт

Порт назначения CallManager

Исходящий порт CallManager

Порт назначения удаленного устройства

Удаленные устройства

Примечания

DTC

   

TCP 135

 

Устройства CallManager в одном кластере

 

SSH

 

TCP 22

   

Клиент Secure Shell

 

Telnet

 

TCP 23

   

Клиент Telnet

 

DNS

 

UDP 53

   

Серверы DNS

 

DHCP

UDP 68

UDP 67

   

Сервер DHCP

 

DHCP

   

UDP 68

UDP 67

Клиент DHCP

 

TFTP

 

UDP 69

     

Динамические порты, используемые после первого подключения

HTTP

 

TCP 80

   

Веб-браузеры администратора / пользователя

Страницы CCMAdmin и CCMUser

OSI (DAP, DSP, DISP)

 

TCP или UDP 120

   

Каталог DCD

 

NTP

 

UDP 123

       

WINS

 

UDP 137-139

   

Сервер WINS

Служба имен Интернет для Windows

SNMP

 

UDP 161

       

Сообщение SNMP

     

UDP 162

   

LDAP

 

TCP 389

 

TCP 389

Службы каталога

При интегрировании с Corporate Directory

HTTPS / SSL

 

TCP 443

       

SMB

 

TCP 445

 

TCP 445

Несколько CallManager в одном кластере

 

Syslog

 

TCP 514

 

UDP 514

Служба системного журнала

 

RMI

 

TCP 1099-1129

   

Служба RMI. Консоль оператора

 

MS SQL

 

TCP 1433

 

TCP 1433

Несколько CallManager в одном кластере

 

H.323 RAS

     

UDP 1718

Обнаружение Привратника

 

H.323 RAS

     

UDP 1719

Привратник RAS

CallManager до версии 3.3. Cisco Conference Connection

H.323 RAS

   

UDP 1024-4999

UDP 1719

Привратник RAS

CallManager версии 3.3

H.323 H.225

 

TCP 1720

 

TCP 1720

Шлюзы H.323 / анонимное устройство Cisco Conference Connection / неуправляемая Привратником магистраль H.323

 

H.323 H.225/ICT

 

TCP 1024-4999

   

Магистрали H.323, управляемые Привратником CallManager

CallManager версии 3.3

H.323 H.245

 

TCP 1024-4999

TCP 1024-4999

 

Шлюзы H.323 CallManager / анонимное устройство / магистрали H.323

 

H.323 H.245

 

TCP 11000-65535

   

Шлюзы IOS H.323 Cisco Conference Connection

 

SCCP

 

TCP 2000

   

Skinny-клиенты (IP-телефоны)

 

Skinny-шлюз (аналоговый)

 

TCP 2001

   

Аналоговый Skinny-шлюз

Устарело

Skinny-шлюз (цифровой)

 

TCP 2002

   

Цифровой Skinny-шлюз

Устарело

Управление MGCP

 

UDP 2427

   

Управление шлюзом MGCP

 

Соединение с MGCP

 

TCP 2428

   

Соединение со шлюзами MGCP

 

RTS Serv

   

2500

     

Cisco Extended Service

 

TCP 2551

   

Определение активного / резервного

 

Cisco Extended Service

 

TCP 2552

   

Уведомление об изменении DB

 

Сборщик данных RIS

 

TCP 2555

   

Связь между RIS

 

Сборщик данных RIS

 

TCP 2556

   

Используется клиентами (IIS) для связи с RIS

 

CTI/QBE

 

TCP 2748

   

Приложения TAPI/JTAPI

Подключается к CTI Manager. Используется приложениями IVR, CCC, PA, Cisco Softphone, CRS, ICD, IPCC, IPMA, Attendant Console и любыми другими, которые используют TAPI или плагин J/TAPI / TSP.

Служба IPMA

 

TCP 2912

   

Консоль помощника IPMA

 

Приложение потоковой передачи медиаинформации

 

UDP 3001

   

Уведомление об изменении

 

SCCP

 

TCP 3224

   

Медиаресурсы

Мосты для конференций / Xcoder

Терминальные службы MS

 

TCP 3389

   

Терминальные службы Windows

 

Агент HID Entercept

     

TCP 5000

Консоль обнаружения несанкционированного доступа к хосту

 

CallManager SIP

 

TCP/UDP 5060

 

TCP 5060

Порт по умолчанию магистрали SIP

Может использовать TCP 1024 — 65535

Помощник VNC http

 

TCP 580x

     

Удаленное управление

VNC Display

 

TCP 690x

   

Дисплей компьютера виртуальной сети

Удаленное управление

Уведомление об изменениях CallManager

 

TCP 7727

   

Уведомление об изменении CallManager. Монитор уровня базы данных Cisco, Cisco TFTP, Cisco IP поток медиаданных, Cisco TCD, Cisco MOH

Уведомление об изменении RealTime

Служба IPMA

 

TCP 8001

   

IP Manager Assistant

Уведомление об изменении

ICCS

 

TCP 8002

 

TCP 8002

Несколько CallManager в одном кластере

Внутрикластерная связь

CTIM

 

TCP 8003

       

Cisco Tomcat

 

TCP 8007

   

Веб-запросы

 

Cisco Tomcat

 

TCP 8009

   

Веб-запросы

 

Cisco Tomcat

 

TCP 8111

   

IIS, веб-запросы рабочего потока IPMA

 

Cisco Tomcat

 

TCP 8222

   

IIS, веб-запросы рабочего потока приложения EM

 

Cisco Tomcat

 

TCP 8333

   

IIS, веб-запросы рабочего потока приложения WebDialer

 

DC Directory

 

TCP 8404

   

Встроенные службы каталога

Используется для служб каталога. Аутентификация / настройка приложения. Журнал SoftPhone. Журнал пользователя.

Cisco Tomcat

 

TCP 8444

   

IIS, веб-запросы рабочего потока службы EM

 

Cisco Tomcat

 

TCP 8555

   

IIS, веб-запросы рабочего потока Apache SOAP

 

Cisco Tomcat

 

TCP 8998

   

Веб-запросы

 

Cisco Tomcat

 

TCP 9007

   

IIS, веб-запросы рабочего потока CAR

 

RTP

UDP 16384-32767

   

UDP 16384-32767

Голосовое медиа

IP IVR Media. CCC IVR Media, Cisco SoftPhone, приложение Media Streaming

Агент Cisco SNMP

 

UDP 61441

   

Интерфейс аварийных сигналов Cisco

Принимает некоторые аварийные сигналы SNMP в формате XML.

Другие продукты AVVID

Описание других портов, используемых преимущественно между Microsoft Exchange и Cisco Unity и не приведенных в данной таблице см. в документе Cisco Unity и Quality of Service (QoS). Фактические голосовые порты Cisco Unity регистрируются у поставщика услуг TAPI (TSP) с использованием Skinny-протокола (порт TCP 2000).

Мурманск

Грузооборот в 2017 г.

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

Мурманский порт состоит из трех частей: «Рыбный порт», «Торговый порт» и «Пассажирский».

В последние годы наблюдается тенденция вытеснения «Торговым портом» всех остальных из-за увеличения экспорта каменного угля и ряда других минеральных ресурсов, для приема и хранения которых Мурманск имеет необходимую инфраструктуру.

Значительно уменьшилось поступление рыбы, поскольку ее стало выгоднее поставлять на экспорт, а не внутрь страны. В сентябре 2015 г. в ходе празднования 100-летия предприятия открыт музей порта.

Открытие и закрытие

Как я уже говорил ранее, эту функцию выполняет сама система или установленные программы. Но вы сами можете изменить или добавить какие-то правила. По сути, вам нужно указать сетевой порт, а также приложение или программу, для которых будет применяться это правило. Если вы собираетесь настраивать параметры на маршрутизаторе, вам необходимо указать IP-адрес устройства ретрансляции.

Для начала нужно определиться, какой «вход» вы хотите открыть и почему. Вы можете увидеть номер и название заявки в PDF-файле, который я прикрепил выше. Я покажу это на примере игры World of Warcraft. Мы откроем официально зарезервированный пронумерованный «вход» — 3724. Вообще в играх чаще всего используется порт UDP, который работает с потоковой передачей данных. Но нужно смотреть именно в столбец с портом — там будет подсказка, какой протокол использовать в выбранном приложении (TCP или UDP).

  1. В Windows вам нужно открыть меню «Пуск» и перейти в «Панель управления».
  2. Заходим в «Брандмауэр»
  1. «Дополнительные опции»
  1. Слева в окне нажмите «Правила для входящих подключений». Вы сразу увидите множество правил для каждого установленного приложения.
  1. В правом окне выберите «Создать правило…». Поскольку мы собираемся открыть дверь в игру, поставим второй флажок.
  1. Давайте создадим правило UDP и введем в этот PDF-файл только заданное число — в моем случае это: 3724 (я показываю вам на примере игры WOW, у вас может быть совершенно другое число). Вы также можете указать диапазон чисел. Для TCP и UDP лучше всего создать два правила отдельно.
  1. Оставьте значение по умолчанию «Разрешить подключение».
  1. Тогда есть правила профиля: все можно оставить. Самое главное, что при подключении к удаленному ресурсу через Интернет включен профиль «Публичный.
  1. В конце введите название и описание. В названии советую добавить номер открытой двери, чтобы потом не потерять.

Выводы

  • Как реально работает сеть, и что TCP можно повторить поверх UDP и сделать лучше. 
  • Что TCP не так плох, если его правильно настроить, но он реально сдался и больше уже почти не развивается.
  • Не верьте хейтерам UDP, которые говорят, что в user space работать не будет. Все эти проблемы можно решить. Пробуйте — это ближайшее будущее.
  • Если не верите, то сеть можно и нужно трогать руками. Я показывал, как почти все можно проверить.

Настраивайте протокол (TCP, UDP — неважно) под ситуацию (профиль сети + профиль нагрузки).
Используйте рецепты TCP, которые я вам рассказал: TFO, send/recv buffer, TLS1.3, CC… 
Делайте свои UDP-протоколы, если есть ресурсы. 
Если сделали свой UDP, проверьте UDP check list, что вы сделали все, что надо. Забудете какую-нибудь ерунду типа pacing, не будет работать.

Полезные ссылки

  • Миллион видеозвонков в сутки или «Позвони маме!».
  • Пишем свой протокол поверх UDP.
  • Подкаст про сетевую оптимизацию.
  • Увеличение скорости передачи данных в плохих сетях.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector