2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Что такое "порт"?
Сообщение05.05.2008, 12:19 
Здравствуйте.
Объясните пожалуйста по русски, что такое "порт" в компьютере. Я имею ввиду не тот порт куда вставляется штекер, а програмный порт. Вот устанавливаешь аську, Radmin, или чат
и там присутствуют опции "порт" и стоит номер - 5190. Что это за цифры такие?Это цифры номера порта? Так у меня что в компьютере 5190 портов? Где же они располагаются?
И что значит "открыть порт"? У меня, когда запускаешь чат написано - "требуемый порт заблокирован брэндмауэром. Хотите, что бы программа разблокировала его автоматически?"
Что мне этим грозит?
Можно ли сказать так, что "порт" - некое окно, через которое сетевая карта умеет передавать и получать сообщения от внешнего источника данных? И зачем так много портов в компе?
Можно ли также сказать, что порт это не только окно, но и некоторый драйвер, т.е. определённая программа, которая умеет работать с определённым форматом данных?
Например порт номер 1 умеет работать с потоками данных, которые были заархивированны
rar, а порт номер два - с zip?
Спасибо.

 
 
 
 
Сообщение05.05.2008, 12:37 
Как удаленный компьютер может достучаться до вашего?
Правильно, через IP-адрес.

А как удаленный компьютер может достучаться до конкретной программы на вашем компьютере? Ведь программ много, а IP-адресов мало (можно считать, что вообще всего один).

Вот для этого и придумали порты. Порт - это такая циферка. Программа может "открыть" порт - это значит заявить во всеуслышание что-то типа "если придет инфа на порт 5190 - знайте, это для меня". "Закрыть порт" - значит взять свои слова обратно.

Узнать, какой именно порт (из 65536 вроде бы, точно не помню) открыла программа на удаленном компьютере, нельзя. Поэтому за стандартными программами обычно закреплены некоторые порты с маленькими номерами. Скажем, за http-сервером закреплен порт 80, а за ftp-сервером - порт 21. Это означает, что когда вы пишите что-то типа http://mexmat.ru, то компьютер ваш обращается к компьютеру mexmat.ru (ну то есть сначала узнает его IP-адрес), а потом говорит "передайте 80-ой, что я хочу сайт посмотреть".

Брэндмауер, помимо всего прочего, следит, какие порты открываются, и выдает разрешение на открытие. Когда порт открыт - кто угодно может посылать на него информацию. В частности, злоумышленник может написать туда что-нибудь такое, от чего программа, слушающая этот порт, заглючится и сделает что-нибудь нехорошее. Но, не открыв порт, программа не сможет работать по назначению.

 
 
 
 
Сообщение05.05.2008, 12:39 
Аватара пользователя
Я не силен в деталях протоколов и технических реализаций, но говоря по-простому, порт - это просто целое число на пакете данных, который показывает, для какой программы эти данные предназначены. Вроде адреса на письме. Мне приходилось программировать обмен данными между компьютерами в сетке. При этом я решаю, например, что обмен будет проходить по порту с номером 50000. При этом программа на одном компе сообщает своей операционной системе: "Придут данные с номером порта 50000 - это для меня". Соседний компьютер пересылает данные, указывая имя первого компьютера, и номер порта. Имя (или IP-адрес) нужно для того, чтобы данные дошли до правильного компьютера, а порт - чтобы уже на этом компьютере попали в правильную программу. Из интернета на ваш комп приходят самые разные пакеты данных: одни предназначены для браузера, другие - для icq, третьи - для обновления антивируса и т.д. Порты предназначены для того, чтобы они попадали по своим адресам.

Добавлено спустя 1 минуту 7 секунд:

AD немного (на 40 секунд) меня опередил.

 
 
 
 
Сообщение05.05.2008, 12:51 
Спасибо большое за ясные и исчерпывающие ответы.

 
 
 
 
Сообщение06.05.2008, 08:35 
Еще немного добавлю: велик и могуч TCP/IP, и разобравшись в нем (хотя бы на уровне админа), Вы узнаете много нового, и станете гораздо увереннее себя чувствовать в инет-технологиях.

 
 
 
 Re: Что такое "порт"?
Сообщение08.08.2009, 12:05 
Аватара пользователя
Добрый день :)
скажите пожалуйсто, а где найти порт? и как посмотреть включен он или нет

 
 
 
 Re: Что такое "порт"?
Сообщение10.08.2009, 03:29 
Состояние всех сетевых соединений
локальный адрес : порт <---> удаленный адрес : порт
можно посмотреть программой TCPView (на сайте раздел Сеть)

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group