MyTetra Share
Делитесь знаниями!
Порты и соединения
Время создания: 04.07.2013 16:33
Текстовые метки: Порты, соединения
Раздел: Компьютеры - Программы
Запись: xintrea/mytetra_db_shandor/master/base/13729448184w4v3plnly/text.html на raw.githubusercontent.com

Порты и соединения.

Что происходит при прибытии данных в хост назначения? Как выполняется их доставка в нужное приложение (процесс)?
Хост может участвовать одновременно в нескольких коммуникациях, из общего потока данных выделяется датаграмма и доставляется к нужному приложению . Процесс пересылки данных в нужный процесс называют демультипликсированием. Каждой конечной точке присвоен 16-разрядный идентификатор, называемый номером порта. Термин "порт" не очень удачен, порт для клиентской и серверной частей приложения не имеет никакого отношения к портам оборудования и физическому пути пересылки данных.
Порты с номерами от 0 до 1023 зарезервированы для стандартных служб. Такие порты называются общеизвестными (well-know). Их использование позволяет клиенту идентифицировать службу, к которой он хочет получить доступ.
Назначением портов занимается IANA. Номера портов для определенных приложений регистрируются этой организацией и публикуются в документе RFC Assigned Numbers. Порты 0 -1023 назначаются и контролируются IANA, порты от 1024 - нет.

Название

Порт/протокол

Описание

7/udp

Echo

Посылка отправителю ответа на пользовательскую датаграмму- возвращает любую, посланную на этот порт, датаграмму.

9/udp

Discard

Отмена пользовательской датаграммы-удаляет любую, посланную на этот порт, датаграмму.

9/tcp

Discard

Отмена всех входящих данных.

13/udp

Daytime

Отчет о времени дня в понятном формате, на любую датаграмму отвечает строкой с текущим временем и датой в формате ASCII.

17/udp

Quote

Отвечает на любую датаграмму определенным сообщением.

19/udp

Chargen

Отвечает на любое сообщение датаграммой, от 0 до 512 бит, выбирается случайным образом.

19/tcp

Chargen

Генератор символов, обмен потоком символов.

20/tcp

Ftp-data

Порт пересылки данных FTP.

21/tcp

Ftp

Порт диалога FTP - проверки пароля и т.д.

22/tcp

ssh SSH

Remote Login Protocol. Удаленная регистрация с использованием SSH.

22/udp

ssh SSH

Remote Login Protocol.

23/tcp

Telnet

Порт для удаленной регистрации по Telnet.

25/tcp

Smtp

SMTP почтовый протокол.

53/udp

Nameserver

Запросы на определение адресов DNS. При превышении пакетом порядка 250 байт, запрос идет по TCP. Запрос от клиента идет с верхнего порта (выше 1023) на 53 порт DNS-сервера. Запросы пресылаемые DNS между собой идут с- или на- 53 порты.

53/tcp

Nameserver

63/tcp

Whois

 

67/udp

Bootps

Порт сервера, отдающий клиенту конфигурационную информацию при его первоначальной загрузке(Server) - IP адрес и другие.

67/tcp

Bootps

Bootstrap Protocol Server.

68/udp

Bootpc

Порт клиента для получения конфигурационной информации от сервера (Client).

68/tcp

Bootpc

Bootstrap Protocol Client.

69/udp

Tftp

Порт протокола Trivial File Transfer Protocol. Может нести значения, не уместившиеся в пакете от 67 для 68 порта - маршрутизатор по умолчанию, DNS и т.д.

69/tcp

Tftp

Порт протокола Trivial File Transfer Protocol.

109/tcp

Pop2

Старый почтовый POP протокол - забираем почту по POP2.

110/tcp

Pop3

Почтовый POP протокол - забираем почту по POP3.

111/udp

SunRPC

Вызов удаленных процедур (Remote Procedure Call).

119/tcp

Nntp

Протокол новостей - читаем новостные группы.

123/udp

NTP

Проокол Network Time Protocol.

137/tcp

Netbios-ns

NETBIOS Name Service.

138/tcp

Netbios-dgm

NETBIOS Datagram Service.

139/tcp

Netbios-ssn

NETBIOS Session Service.

143/tcp

Imap

IMAP почтовый протокол - забираем почту по IMAP.

161/udp

SNMP

Используется для получения сетевых запросов обслуживания.

162/udp

SNMP-trap

Служит для получения сетевых запросов обслуживания.

465/tcp

Smtps smtp

Protocol over TLS/SSL (was ssmtp).

993/tcp

Imaps

Imap 4 protocol SSL - забираем почту по IMAP с использованием SSL.

995/tcp

Pop3s

Pop 3 protocol SSL - забираем почту по POP3 с использованием SSL.

1080/tcp

Socks

Socks

1080/udp

Socks

1000-2300
4000

Icq

ICQ-клиент использует для связи с ICQ-сервером протокол udp и порт 4000. В дальнейшем, для связи между клиентами используется протокол tcp и порты в диапазоне 1024-65535. Типичные порты ICQ 1000-2300. (Обычно 1027, 1029, 1032, 1080).

3127-3128

Proxy

Типичные порты для обращений к прокси - серверам.

8100-8102

Russian Apache

Механизм перенаправления запроса http с 80 порта для отображения верной русской кодировки.

Верхние номера портов (выше 1023) предоставляются клиентам от программного обеспечения хоста по мере необходимости. Выделение предусматривает следующие шаги:

  • Пользователь запускает клиентскую программу.
  • Клиентский процесс исполняет системную подпрограмму, имеющую смысл:
    "Я хочу выполнить коммуникацию. Предоставьте мне порт".
  • Системная подпрограмма выбирает неиспользованный порт из пула доступных портов и предоставляет его клиентскому процессу.

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

Последовательность состояний клиента и сервера.

Состояние.

Описание.

Closed (закрыто)

Фиктивное состояние перед началом соединения.

Listen (отслеживание)

Сервер ожидает соединения с клиентом.

Syn-sent

Приложение запрашивает соединение.

Syn-received

Клиент получает Syn/Ack от сервера.

Established (установленно)

Открыто соединение, можно перейти к пересыке данных.

Конечные стороны соединения остаются в состоянии Established, пока одна из сторон не приступит к закрытию соединения.

Последовательность состояний закрытия соединения.

Состояние

Описание

Esnablished

Локальное приложение запрашивает закрытие соединения.

Fin-wait-1

Закрывающая сторона ожидает ответа партнера.

Close-wait

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

Fin-wait-2

Закрывающая сторона ожидает Fin, принимая поступающие данные.

Last-Ack

Приложение инициализирует закрытие соединения.

Time-wait

Соединение поддерживается в неопределенном состоянии, чтобы позволить прибыть или отбросить все еще существующие в сети дублированные данные.

Closed

Удалена вся информация о соединении.

Команда Netstat позволяет проверить текущее состояние соединения.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования