Что такое TCP / IP порт
Порт (port) — натуральное число, записываемое в заголовках протоколов транспортного уровня модели OSI (TCP, UDP, SCTP, DCCP).
Номера портов разделены на три диапазона: стандартные, зарегистрированные и динамические или частные:
- Стандартные порты — это порты в диапазоне от 0 до 1023.
- Зарегистрированные порты — это порты в диапазоне от 1024 до 49151.
- Динамические или частные порты — это порты в диапазоне от 49152 до 65535.
В стеке TCP/IP определены 4 уровня.
Сколько всего портов TCP?
Для протокола TCP порт с номером 0 зарезервирован и не может использоваться. Для протокола UDP указание порта процесса-отправителя («обратного» порта) не является обязательным, и порт с номером 0 означает отсутствие порта. Таким образом, номер порта — число в диапазоне от 1 до 216-1=65 535.
Соединение TCP
Чтобы установить соединение между двумя процессами на разных компьютерах сети, необходимо знать не только интернет-адреса компьютеров, но и номера тех ТСР-портов (sockets), которые процессы используют на этих компьютерах. Любое TCP-соединение в сети Интернет однозначно идентифицируется двумя IP-адресами и двумя номерами ТСР-портов.
Протокол TCP умеет работать с поврежденными, потерянными, дублированными или поступившими с нарушением порядка следования пакетами. Это достигается благодаря механизму присвоения каждому передаваемому пакету порядкового номера и механизму проверки получения пакетов.
Когда протокол TCP передает сегмент данных, копия этих данных помещается в очередь повтора передачи и запускается таймер ожидания подтверждения.
Сокеты TCP и их состояния
Активные TCP соединения с интернетом (w/o servers)
# netstat -nt Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.26.95.251:56981 10.161.85.55:22 ESTABLISHED tcp 0 0 10.26.95.251:44596 10.26.95.226:2193 ESTABLISHED
Для сокетов TCP допустимы следующие значения состояния:
- CLOSED Закрыт. Сокет не используется.
- LISTEN Сокет ожидает входящих соединений.
- SYN_SENT Активно пытается установить соединение. Cокет в процессе установки соединения.
- SYN_RECEIVED (SYN_RCVD) Идет начальная синхронизация соединения. Был принят запрос установки соединения из сети.
- ESTABLISHED Соединение установлено.
- CLOSE_WAIT Удаленная сторона отключилась; ожидание закрытия сокета.
- FIN_WAIT_1 Сокет закрыт; соединение закрывается.
- CLOSING Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения.
- LAST_ACK Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения.
- FIN_WAIT_2 Сокет закрыт; ожидание отключения удаленной стороны.
- TIME_WAIT Сокет закрыт, но ожидает пакеты, ещё находящиеся в сети для обработки
- UNKNOWN Статус сокета неизвестен.
Что такое TCP RST?
TCP RST – это сегмент TCP (обратите внимание, что TCP посылает сообщения сегментами, а НЕ пакетами, что часто неправильно употребляется в среде сетевых администраторов), который показывает, что с соединением что-то не так. RST посылается в следующих случаях:
- Посылается SYN для несуществующего сервера.
- TCP хочет прервать соединение.
- Получен сегмент, для которого не существует соединения.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах