Порт (компьютерные сети): различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
→‎Описание: стиль - излишняя викификация
→‎Описание: про IANA - повторялся текст
Строка 11:
* запросить у ОС любой свободный номер порта. ОС сама выберет номер порта, ещё не выданный никакому процессу, и предоставит его запрашивающей программе.
 
Обмен данными по сети ведётся между двумя процессами по определённому [[протокол передачи данных|протоколу]]. Для установки соединения необходимы:
Обмен данными по сети ведётся между двумя [[Процесс (информатика)|процессами]] по какому‑либо [[протокол передачи данных|протоколу]]. [[Процесс (информатика)|Процессы]] запущены на разных [[хост]]ах, работают под управлением одинаковых или разных [[Операционная система|ОС]]. У каждого протокола имеется уникальный номер. Каждый из [[Процесс (информатика)|процессов]] получает у [[Операционная система|ОС]] номер порта — уникальный номер в пределах одного [[хост]]а. Каждый [[хост]] имеет [[IP-адрес]] — уникальный номер в пределах [[Сегмент сети|сегмента сети]]. Учитывая вышесказанное, для установки соединения необходимо пять чисел:
* номер [[Протокол передачи данных|протокола]];
* два [[IP-адрес]]а (адрес хоста-отправителя и адрес хоста-получателя для [[Маршрутизация|построения маршрута]] между ними);
* два [[IP-адрес]]а:
** адрес хоста-отправителя;
** адрес хоста-получателя
: (для [[Маршрутизация|построения маршрута]] между [[хост]]ами);
* два номера порта:
** порт процесса-отправителя (кратко: порт отправителя);
** порт процесса-получателя (кратко: порт получателя)
: (для определения [[Процесс (информатика)|процессов]], выполняющихся на [[хост]]ах).
 
** два номера порта (порт процесса-отправителя (кратко:и порт отправителяполучателя);.
Порт процесса-отправителя (источника) может быть постоянным (статическим) или назначаться [[Динамический порт|динамически]] для каждого нового сеанса связи.
 
При соединении по протоколу [[TCP]] порт процесса-отправителя используется:
* [[Операционная система|операционной системой]] хоста-получателя для отправки пакета-подтверждения о получении данных;
* процессом-получателем для отправки пакета-ответа.
 
При соединении по протоколу [[UDP]] допустимо вместо порта процесса-отправителя указывать число ноль, (что означаетозначающее «порт не указан»).
 
При соединении по протоколу [[SCTP]] в рамках ассоциации может использоваться:
* несколько портов процесса-отправителя (источника) и
* несколько портов процесса-получателя.
Так как [[IP-адрес]] хоста-отправителя и номер порта процесса-отправителя являются аналогом обратного адреса, записываемого на почтовых [[Конверт|конвертах]] (позволяют получателю отправить ответ отправителю), номер порта процесса-отправителя иногда называют «обратным» портом.
Таким образом в протоколе [[SCTP]] достигается более высокая надёжность сеанса связи и скорость передачи.
 
Если на [[хост]]ехосте какой‑токакой‑либо [[Процесс (информатика)|процесс]] постоянно использует один номер порта (например, процесс программы, реализующей [[Веб-сервер|web-сервер]], может использовать порт 80 для приёма и передачи данных), говорят, что порт является «открытым».
Так как [[IP-адрес]] хоста-отправителя и номер порта процесса-отправителя являются аналогом обратного адреса, записываемого на почтовых [[Конверт|конвертах]] (позволяют получателю отправить ответ отправителю), номер порта процесса-отправителя называют «обратным» портом.
 
Термины «открытый порт» и «закрытый порт» (заблокированный) также используются, когда речь идёт о фильтрации [[Сетевой трафик|сетевого трафика]] (см. [[Межсетевой экран|брандмауэр]]).
Если на [[хост]]е какой‑то [[Процесс (информатика)|процесс]] постоянно использует один номер порта (например, процесс программы, реализующей [[Веб-сервер|web-сервер]], может использовать порт 80 для приёма и передачи данных), говорят, что порт является «открытым».
 
Если [[Процесс (информатика)|процесс]] получил номер порта у [[Операционная система|ОС]] («открыл порт») и «держит его открытым» для приёма и передачи данных, говорят, что процесс «слушает» ({{lang-en|listen}}) порт.
Термины «открытый порт» и «закрытый порт» (заблокированный) также используются, когда речь идёт о фильтрации [[Сетевой трафик|сетевого трафика]] (см. [[Межсетевой экран|брандмауэр]]).
 
Обычно, «слушает» порт [[Процесс (информатика)|процесс]] [[Компьютерная программа|программы]], реализующей [[Сервер (программное обеспечение)|сервер]] для какого-либо [[Протокол передачи данных|протокола]]. [[Процесс (информатика)|Процесс]] [[Компьютерная программа|программы]], реализующей [[Клиент (информатика)|клиента]] для того же [[Протокол передачи данных|протокола]], часто позволяет [[Операционная система|ОС]] выбрать номер порта для подключения к [[Сервер (программное обеспечение)|серверу]].
Если [[Процесс (информатика)|процесс]] получил номер порта у [[Операционная система|ОС]] («открыл порт») и «держит его открытым» для приёма и передачи данных, говорят, что процесс «слушает» ({{lang-en|listen}}) порт.
 
Если [[хост]] получит пакет, порт процесса-отправителя называется «удалённым» ({{lang-en|remote}}) портом (или "открытым на другом [[хост]]е)", а порт процесса получателя — «локальным» портом, то есть (открытым на текущем [[хост]]е)хосте. Если [[хост]] отправил пакет, порт процесса-отправителя называется «локальным» портом (открытым на текущем [[хост]]е), а порт процесса-получателя — «удалённым» портом (открытым на другом [[хост]]е).
Обычно, «слушает» порт [[Процесс (информатика)|процесс]] [[Компьютерная программа|программы]], реализующей [[Сервер (программное обеспечение)|сервер]] для какого-либо [[Протокол передачи данных|протокола]]. [[Процесс (информатика)|Процесс]] [[Компьютерная программа|программы]], реализующей [[Клиент (информатика)|клиента]] для того же [[Протокол передачи данных|протокола]], часто позволяет [[Операционная система|ОС]] выбрать номер порта для подключения к [[Сервер (программное обеспечение)|серверу]].
 
Номера портов для [[Протокол передачи данных|протоколов]] прикладного уровня модели [[TCP/IP]] ([[HTTP]], [[SSH]] и др.) обычно назначаются организацией [[IANA]] ({{lang-en|'''i'''nternet '''a'''ssigned '''n'''umbers '''a'''uthority}}), рекомендуются к использованию. Однако на практике в целях безопасности номера портов могут выбираться произвольно.
Если [[хост]] получит пакет, порт процесса-отправителя называется «удалённым» ({{lang-en|remote}}) портом (открытым на другом [[хост]]е), а порт процесса получателя — «локальным» портом (открытым на текущем [[хост]]е). Если [[хост]] отправил пакет, порт процесса-отправителя называется «локальным» портом (открытым на текущем [[хост]]е), а порт процесса-получателя — «удалённым» портом (открытым на другом [[хост]]е).
 
Номера портов для [[Протокол передачи данных|протоколов]] прикладного уровня модели [[TCP/IP]] ([[HTTP]], [[SSH]] и др.) обычно назначаются организацией [[IANA]] ({{lang-en|'''i'''nternet '''a'''ssigned '''n'''umbers '''a'''uthority}}), рекомендуются к использованию. Однако на практике в целях безопасности номера портов могут выбираться произвольно.
 
{{викиучебник|Порт}}
 
Термин «порт» чаще всего применяется по отношению к [[Протокол передачи данных|протоколам]] [[TCP]] и [[UDP]] ввиду популярности этих протоколов. В протоколах [[SCTP]] и [[DCCP]] используются номера, соответствующие понятию «номер порта» для протоколов TCP и UDP.
Строка 56 ⟶ 46 :
 
== Примеры использования портов ==
 
Приведём несколько примеров использования портов в [[Компьютерная сеть|компьютерных сетях]].
 
; [[Электронная почта]] (e-mail)
Строка 85 ⟶ 73 :
== Состояния порта ==
 
Узнать номера активных (выданных [[Процесс (информатика)|процессам]] [[Операционная система|операционной системой]]) портов для протоколов транспортного уровня во многих [[Операционная система|операционных системах]] ([[Windows]], [[UNIX-подобные операционные системы|Unix-подобных]]) можно с помощью утилит <code>[[netstat]]</code> и <code>[[nmap]]</code> (в [[Операционная система|ОС]] [[UNIX]] и [[Операционная система|ОС]] [[Linux]]).
 
Состояния порта, показываемые утилитами <code>[[netstat]]</code> и <code>[[nmap]]</code>, приведены в таблице.
 
{| class="wikitable sortable"
Строка 109 ⟶ 97 :
{{main|Список портов TCP и UDP}}
 
Порты TCP не пересекаются с портами UDP. То есть,: порт 1234 протокола TCP не будет мешать обмену данными по протоколу UDP через порт 1234.
 
В большинстве [[UNIX-подобные операционные системы|UNIX-подобных]] [[Операционная система|ОС]] прослушивание портов с номерами 0—1023 (почти все из которых зарегистрированы [[IANA]]) требует особых привилегий ([[root]]). Другие номера портов (некоторые из которых тоже зарегистрированы [[IANA]]) выдаются [[Операционная система|операционной системой]] первым запросившим их [[Процесс (информатика)|процессам]].
Некоторые номера портов стандартизованы. Стандартизацией занимается некоммерческая организация [[IANA]].
 
Некоторые популярные [[Компьютерная программа|программы]]-[[Анализатор трафика|анализаторы трафика]] (например, [[Wireshark]]) и [[Межсетевой экран|сетевые брандмауэры]] используют общепринятые обозначения номеров портов для определения [[Протокол передачи данных|протокола передачи данных]], что не всегда корректно. В некоторых случаях сетевые службы используют не стандартизованныенестандартные номера портов или используют номера портов не по заявленному назначению. Например, известны случаи запуска [[интернет-провайдер]]ами [[SMTP]]-[[Сервер (программное обеспечение)|серверов]] на портах 2525 (вместо 25) в целях обеспечения безопасности своих пользователей. Специализированные сайты, например, административные [[веб-интерфейс]]ы, нередко работают на портах, отличных от стандартных 80 и 443.
В большинстве [[UNIX-подобные операционные системы|UNIX-подобных]] [[Операционная система|ОС]] прослушивание портов с номерами 0—1023 (почти все из которых зарегистрированы [[IANA]]) требует особых привилегий ([[root]]). Другие номера портов (некоторые из которых тоже зарегистрированы [[IANA]]) выдаются [[Операционная система|операционной системой]] первым запросившим их [[Процесс (информатика)|процессам]].
 
Некоторые популярные [[Компьютерная программа|программы]]-[[Анализатор трафика|анализаторы трафика]] (например, [[Wireshark]]) и [[Межсетевой экран|сетевые брандмауэры]] используют общепринятые обозначения номеров портов для определения [[Протокол передачи данных|протокола передачи данных]], что не всегда корректно. В некоторых случаях сетевые службы используют не стандартизованные номера портов или используют номера портов не по назначению. Например, известны случаи запуска [[интернет-провайдер]]ами [[SMTP]]-[[Сервер (программное обеспечение)|серверов]] на портах 2525 (вместо 25) в целях обеспечения безопасности своих пользователей. Специализированные сайты, например, административные [[веб-интерфейс]]ы, нередко работают на портах, отличных от стандартных 80 и 443.
 
== См. также ==
 
{{викиучебник|Порт}}
 
* [[Динамический порт]]