Комбинация этих портов в сочетании с IP-адресами на обоих концах и используемым протоколом (либо TCP, либо UDP) всегда уникальна (из-за того, как выбран исходный порт) и называется кортежем (tuple). Эту структуру можно расширить, особенно в конфигурациях NetFlow, где добавляются различные параметры, например значения QoS (Quality of Service, качество обслуживания), DSCP (Differentiated Services Code Point, кодовая точка дифференцированных услуг) или ToS (Type of Service, тип обслуживания), имена приложений и интерфейсов и информация о маршрутизации, такая как ASN (Autonomous System Numbers, номера автономных систем), сведения об MPLS или VLAN, а также байты входящего и исходящего трафика. Из-за этой гибкости базовый кортеж из пяти значений, на котором строятся все остальные, часто называют 5-кортеж (5-tuple).
Первые 1024 порта (пронумерованные от 0 до 1023) почти никогда не бывают отправителями: они специально предназначены для использования в качестве серверных портов, и чтобы работать с ними, нужны права суперпользователя. Порты в диапазоне 1024–49151 считаются «пользовательскими», а 49152–65535 — динамическими или частными портами. Однако серверы не обязаны использовать порты с номерами ниже 1024: например, почти каждый сервер баз данных использует более высокие порты. Номера серверных портов — просто традиция, которая восходит к тому времени, когда разрабатывались TCP и UDP, а все серверные порты были ниже 1024. Если посмотреть на многие серверы, чья история начиналась в то время, можно увидеть такую картину:
DNS
udp/53, tcp/53
Telnet
tcp/23
SSH
tcp/22
FTP
tcp/20 и tcp/21
HTTP
tcp/80
HTTPS
tcp/443
SNMP
udp/162
Syslog
tcp/443
Полный список официально присвоенных портов поддерживается IANA и публикуется по адресу
https://www.iana.org/assignments/service-names-port-number/service-names-port-numbers.xhtml. Соответствующая документация находится в RFC 6335.