Порты TCP/IP
Существуют два типа межкомпьютерного обмена данными- датагроммы и сеансы. Датаграмма — это сообщение, которое не требует подтверждения о приеме от принимающей стороны, а если такое подтверждение необходимо, то адресат должен сам послать специальное сообщение. Для осуществления обмена данными таким способом принимающая и передающая стороны должны строго придерживаться определенного протокола во избежание потери информации. Каждая датаграмма является самостоятельным сообщением, и при наличии нескольких датаграмм в ЛВС их доставка адресату, вообще говоря, не гарантируется. При этом датаграмма обычно является частью какого-либо сообщения, и в большинстве ЛВС скорость передачи датаграмм гораздо выше, чем сообщений в сеансах.
В сеансе предполагается создание логической связи для обмена сообщениями между компьютерами и гарантируется получение сообщений. В то время как датаграммы могут передаваться в произвольные моменты времени, в сеансе перед передачей сообщения происходит от1фытие сеанса, а по окончании обмена данными сеанс должен быть закрыт.
Операционные системы большинства компьютеров поддерживают мультипрограммный режим, т.е. несколько программ выполняются одновременно (параллельно выполняется несколько процессов). С некоторой степенью точности можно говорить о том, что процесс — это и есть окончательное место назначения для сообщения. Однако в силу того, что процессы создаются и завершаются динамически, отправитель редко имеет информацию, достаточную для идентификации процесса на другом компьютере. Поэтому возникает необходимость в определении места назначения данных на основе выполняемых процессами функций, ничего не зная о тех процессах, которые реализуются этими функциями.
На практике вместо того, чтобы считать процесс конечным местом назначения, полагают, что каждый компьютер имеет набор некоторых точек назначения, называемых протокольными портами. Каждый порт идентифицируют целым положительным числом (от 0 до 65535). В этом случае операционная система обеспечивает механизм взаимодействия, используемый процессами для указания порта, на котором они работают, или порта, к которому нужен доступ. Обычно порты являются Буферизированными, и данные, приходящие в конкретный порт до того, как процесс готов их получить, не будут потеряны: они будут помещены в очередь до тех пор, пока процесс не извлечет их.
Чтобы лучше понять технологию портов, представьте, что вы пришли в банк, чтобы сделать вклад. Для этого вам необходимо подойти к определенному окошку, где оператор оформит документы и вы откроете счет. В этом примере банк представляет собой компьютер, а операторы банка — программы, которые выполняют определенную работу, А вот окошки — это и есть порты, при этом каждое окошко в банке часто нумеруется (1, 2,3 …).
То же самое относится и к портам, следовательно, чтобы связаться с портом на другом компьютере, отправитель должен знать как IP-адрес компьютера-получателя, так и номер порта в компьютере. Каждое сообщение содержит как номер порта компьютера, которому адресовано сообщение, так и номер порта-источника компьютера, которому должен прийти ответ. Таким образом реализуется возможность ответить отправителю для каждого процесса.
Порты TCP/IP с номерами от 0 до 1023 являются привилегированными и используются сетевыми службами, которые, в свою очередь, запущены с привилегиями администратора (супер пользователя). Например, служба доступа к файлам и папкам Windows использует порт 139, однако если она не запущена на компьютере, то при попытке обратиться к данной службе (т.е. к данному порту) будет получено сообщение об ошибке.
Порты TCP/IP с 1023 до 65535 являются непривилегированными и используются программами-клиентами для получения ответов от серверов. Например, web-браузер пользователя, обращаясь к web-серверу, использует порт 44587 своего компьютера, но обращается к 80 порту web-сервера. Получив запрос, web-сервер отправляет ответ на порт 44587, который используется web-браузером.
Оставить комментарий