Проверка порта
Содержание:
- Что такое порты TCP и UDP?
- Сетевые протоколы TCP/IP, NWLink IPX/SPX, NetBEUI
- Эффекты
- Технические ограничения
- Определение компонента, использующего порт 80, с помощью /proc/$pid/exec file
- TCP vs self-made UDP
- Что есть MAC-адрес
- Восстановление после ошибок TCP
- WireGuard
- Проблемы безопасности, связанные с совместным использованием портов
- Дополнительная информация
- Функциональность
- Расчет контрольной суммы
- Порты TCP/UDP, используемые в среде Cisco CallManager
- Мурманск
- Открытие и закрытие
- Выводы
Что такое порты 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-пакета, он используется только для вычисления контрольной суммы.
Смещения | Октет | 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 :
Смещения | Октет | 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).
- В Windows вам нужно открыть меню «Пуск» и перейти в «Панель управления».
- Заходим в «Брандмауэр»
- «Дополнительные опции»
- Слева в окне нажмите «Правила для входящих подключений». Вы сразу увидите множество правил для каждого установленного приложения.
- В правом окне выберите «Создать правило…». Поскольку мы собираемся открыть дверь в игру, поставим второй флажок.
- Давайте создадим правило UDP и введем в этот PDF-файл только заданное число — в моем случае это: 3724 (я показываю вам на примере игры WOW, у вас может быть совершенно другое число). Вы также можете указать диапазон чисел. Для TCP и UDP лучше всего создать два правила отдельно.
- Оставьте значение по умолчанию «Разрешить подключение».
- Тогда есть правила профиля: все можно оставить. Самое главное, что при подключении к удаленному ресурсу через Интернет включен профиль «Публичный.
- В конце введите название и описание. В названии советую добавить номер открытой двери, чтобы потом не потерять.
Выводы
- Как реально работает сеть, и что TCP можно повторить поверх UDP и сделать лучше.
- Что TCP не так плох, если его правильно настроить, но он реально сдался и больше уже почти не развивается.
- Не верьте хейтерам UDP, которые говорят, что в user space работать не будет. Все эти проблемы можно решить. Пробуйте — это ближайшее будущее.
- Если не верите, то сеть можно и нужно трогать руками. Я показывал, как почти все можно проверить.
Настраивайте протокол (TCP, UDP — неважно) под ситуацию (профиль сети + профиль нагрузки).
Используйте рецепты TCP, которые я вам рассказал: TFO, send/recv buffer, TLS1.3, CC…
Делайте свои UDP-протоколы, если есть ресурсы.
Если сделали свой UDP, проверьте UDP check list, что вы сделали все, что надо. Забудете какую-нибудь ерунду типа pacing, не будет работать.
Полезные ссылки
- Миллион видеозвонков в сутки или «Позвони маме!».
- Пишем свой протокол поверх UDP.
- Подкаст про сетевую оптимизацию.
- Увеличение скорости передачи данных в плохих сетях.