ForGroin,
Цитата:
Вообще что эти порты дайют
|
.
Что такое порт?
Краткий ликбез по основным понятиям: Что такое порт?
Существуют два типа межкомпьютерного обмена данными - датаграмм и сеансы. Датаграмма - это простое сообщение, которое не требует подтверждение о приеме от принимающей стороны, а если такое подтверждение необходимо, то адресат должен сам послать специальное сообщение, короче говоря, ты посылаешь сообщение и не знешь, дошло оно или нет

. Для осуществления обмена данными таким способом принимающая и передающая стороны должны строго придерживаться определенного протокола во избежаниие потери инфы. Каждая датаграмма является самостоятельным сообщением, и при наличии нескольких таких датаграмм в ЛВС их доставка адресату, вообще говоря, не гарантируется. При этом датаграмма обычно является частью какого-либо сообщения, и в большинстве ЛВС скорость передачи датаграмм гораздо выше, чем сообщения в сеансах.
Ну что, настало время поговорить о сеансе. Сеанс - это такая же байда, только в данном случае мы будем знать о получение сообщения. В то время как датаграммы могут передаваться в произвольное время (то есть, когда наша душа этого пожелает), а сеанс полная противоложность наших датаграмм. В сеансе перед подачей сообщения происходит открытие сеанса, а по оканчании мы его закрываем.
Операционнки большинства компов поддерживают мультипрограммный режим, это значит, что программы могут выполнятся одновременно, значит параллельно выполняется несколько процессов. Если сказать точнее можно сказать о том, что процесс - это и есть окончательное место сообщения.
На практике вместо того, чтобы считать процесс конечным местом назначения, пологают, что каждый комп имеет набор некоторых точек назначения, что в простонародьи называют протокольными портами. Каждый порт обозначается целым положительным числом (от 0 до 65535). В этом случае операционка обеспечивает механизм взаимодействия, а процессы этот механизм используют для указания порта, на котором они работают, или наоборот, к порту которому нужен доступ, думаю ничего сложного. Обычно порты буферезированные, то есть имеют определенное место для хранения данных, и данные, приходящие в конкретный порт до того, как процесс готов их получить, не будут потеряны! Они будут помещены в очередь до тех пор, пока процесс не извлечет их.
Можно сделать ма-а-аленький вывод по поводу вышесказанного: чтобы связаться с портом на другом компе, нам нужно знать его IP-адрес и номер порта в компьютере.
Порты с номерами от 0 до 1023 являются привилегированными и используется сетевыми службами, которые в свою очередь, запущены с привилегиями админа или суперпользователя. Например, служба доступа к файлам и папкам Винды использует порт 139, но если она не запущена на компьютере, то при попытке обратиться к данной службе (т.е к данному порту) комп просто ругнется, выдавая сообщение об ошибке

. Порты с 1023 до 65535 являются непривилегированными и используется программами клиентами для получения оветов от серверов, например VPN-клиент может использовать порт под номером 1723 по PРTP-протоколу (если не знаешь, что такое VPN, напиши мне на мыло или отправь сообщение, с радостью отвечу!). Еще на последок приведу пример: браузер пользователя (не важно какой, Netscape, Opera или IE 5.0) обращаясь к WEB-серванту, использует 44587 своего компа, но он обращается к 80 порту WEB-серванта.
(с) fssr.ru