Хост порт что это

Содержание

Довольно часто, читая какие-нибудь статьи в интернете по информатике или компьютерной тематике, можно наткнуться на термин — хост или узел. Чаще всего авторы таких статей не объясняют, что это такое.

И у пользователей ПК, особенно тех, которые увлекаются компьютерными и сетевыми технологиями возникает вопрос — что же это такое и почему этот термин так нередко употребляют в интернете?

Надеюсь вам понравился материал про маску сети, давайте сегодня разберем, что означает термин Хост, что он из себя представляет и почему некоторые авторы его так часто употребляют.

Что такое Хост

Хост (host) — в первую очередь это любое устройство, которое выполняет функции клиент-сервера. Имеет несколько значений:

1. Это — сервер, на котором можно размещать данные и хранить их, например, документы, музыку, видео и т.д. Все это может быть доступно в общем доступе или для частного пользования. Это может быть всякий сайт, электронная почта, интернет-сервис или даже онлайн игра.

2. Это — IP адрес. Вы уже знаете, что каждому устройству, подключенному к сети, привязывается уникальный идентификатор — айпи. Он бывает статическим и динамическим. Если адрес динамический, то им могут пользоваться сразу несколько пользователей, но хост будет считаться все равно, как один. Поэтому статистика по уникальным айпи, на сервисах для их подсчета часто бывает искаженной. Для памяти, — IP как вы знаете используется в стеке протоколов TCP/IP.

3. Это – компьютер, или другая техника, или гаджет подключенные к интернету. Но это можно отнести и ко второму пункту про айпи. Написал, чтобы было понятней.

4. Это — уникальный посетитель. Нередко встретишь в глобальной паутине и такое определение.

Интересно! С английского переводится — хозяин или принимающий гостей, что довольно забавно.

Что такое узел сети

Узел сети — это любое устройство, подключенное к интернету. Им может быть: компьютер, смартфон, телевизор, планшет, маршрутизатор, принтер и т.д. Т.е. каждое устройство, которое имеет свой IP адрес.

Чем хост отличается от узла?

По сути эти два термина означают одно и тоже, но, все зависит от того, в каком контексте они употребляются. Так, любой узел с IP адресом по сути является хостом, поэтому их просто взаимозаменяют.

Но, есть отличие, так, host может быть виртуальным и работать в режиме сервера, например, yandex.ru, предоставляя сервисы для других узлов — вашему и другим ПК.

Отличие заключается в том, что хост может быть виртуальным и работать в режиме сервера, а узел нет. Если конечно не настроить последний на работу в режиме сервера.

Так, как эти понятия практически синонимы друг друга и их можно заменять в различных контекстах — поэтому многие авторы и употребляют их, просто заменяя один на другой. Так, что если увидите эти термины в каких-либо статьях — смотрите на то, в каком ключе их используют.

В заключение

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

Объясните, пожалуйста, простым языком.
Что такое localhost в адресной строке?
Почему бывают разные порты?
Где находится этот localhost, в каких директориях?

  • Вопрос задан более трёх лет назад
  • 4284 просмотра

Если человек, не знакомый с арифметикой захочет понять, что означает два плюс три равно пять, ему недостаточно объяснить, что такое два, или что такое плюс!

Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те — с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и хостом, и сервером, и localhost). Так что, чтоб можно было объяснить на пальцах, уточните, с какого места, собственно, непонятно.

Если человек, не знакомый с арифметикой захочет понять, что означает два плюс три равно пять, ему недостаточно объяснить, что такое два, или что такое плюс! Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те — с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и хостом, и сервером, и localhost). Так что, на всякий случай:

Комп, подключенный к сети, называют хостом. К нему обращаются по уникальному адресу или имени. Одному имени (т.е. одному хосту) могут соответствовать несколько разных адресов.

Когда к хосту обращаются по имени, это имя сначала разрешается в адрес хоста, по которому, собственно, и происходит обращение. В сети этим обычно занимается DNS (который, кстати говоря, тоже является сервером. но это уже другая история, которая сейчас не так важна для понимания сути), но если DNS нет, соответствие имен-адресов можно прописать в файле hosts на самом хосте. Если некое имя хоста и там не прописано, обратиться к нему по имени не удастся. хотя прямое обращение по адресу будет работать.

Сервер — это программа, отвечающая на запросы из сети. Комп, на котором она выполняется, также называют сервером. Причем, даже если выполнение программы приостановлено (например, проводят профилактику или программа-сервер упала), этот комп все равно будут называть сервером, ибо он предназначен, в основном, для выполнения этой программы.

На одном компе (=хосте, сервере) может одновременно выполняться несколько разных программ-серверов. Для того, чтоб обратиться к конкретной из них (адрес-то у всех один и тот же!), в протоколе TCP/IP используются разные номера портов.

Если на компе запущен, например, HTTP сервер (= Webserver, например, Nginx или Apache), он слушает порт 80, а если не запущен, порт 80 никто не слушает, и если обратиться к такому хосту (= серверу, компу) по его адресу в порт 80, никакого ответа не придет. хотя сам хост и будет доступен.

Для разных общеизвестных типов программ-серверов (в этом случае также говорят о сервисах или же протоколах, что в данном контексте практически одно и то же) принято использовать общеизвестные номера портов, а для наиболее распространенных (как тот же HTTP) можно даже не указывать номер порта при обращении, как мы обычно и делаем в строке броузера, т.к. клиент автоматически использует номер порта по умолчанию, в данном случае 80. Но, в принципе, любой сервис можно (переконфигурировав) использовать на любом порту. если, конечно, в этом есть смысл. Единственно, что нельзя — одновременно использовать разные серверы на одном порту.

И, наконец, было бы совсем глупо, если бы для обращения к какому-то серверу на одном хосте в сети обязательно был бы нужен еще и другой комп, с которого обращаться. Вот и придумали возможность обратиться к программе-серверу с того же хоста, на котором она выполняется, т.е. локально, а чтоб не гадать, по какому адресу или имени это делать, ввели понятие localhost.

localhost — общеизвестное имя компа для самого себя и ему соответствует IP адрес 127.0.0.1. Это — общепринятая договоренность, которую просто нужно знать. Если говорят установить сервер на localhost, это означает установить на тот самый комп, с которого и обращаться к этому серверу.

Я хочу указать имена узлов с двумя разными портами в файле Windows hosts .

Есть ли способ сделать это? Или это не разрешено самой Windows?

Я тратил свое время на поиски решения за последние 8 часов.

Можно ли указать порты в файле хоста, hosts ? Например: 127.0.0.1:80 и 127.0.0.1:9211

3 ответа

Вы не можете связать номер порта с именем хоста, сопоставленным с IP-адресом в файле hosts. Вы можете достичь этого с помощью Fiddler , хотя используя FiddlerScript:

Просто используйте IP-адреса без портов. Пример:

Затем для доступа к 192.168.2.50:5555 из вашего браузера (или другой программы):

(Файл hosts можно найти на странице C:WindowsSystem32driversetchosts .)

  • Файл hosts предназначен только для разрешения имени узла
  • браузер при отсутствии прямого указания порта: т. е. :

, по умолчанию для порта 80

Типичный сценарий проблемы

    обычно устанавливают свои серверы на один и тот же IP-адрес по умолчанию 127.0.0.1 aka localhost (определенный в файле hosts) .

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

2а. Если , вы можете изменить IP-адрес серверов на другой в зарезервированном адресном пространстве с обратной связью 127.0.0.0/8 , то вы, вероятно, не будете пытаться устанавливать порты в файле hosts.

Возможное решение

Вы можете обойти это, используя Windows инструмент Networking netsh как прокси-сервер порта.

Обзор

Действия

  • Запустите свой сервер на localhost:8081
  • Добавьте локальный DNS в файл hosts в качестве новой строки
  • 127.65.43.21 example.app
  • Можно использовать любой свободный адрес в сети 127.0.0.0/8 .
  • Примечание: Я предполагаю, что 127.65.43.21:80 не занята другой службой.
  • Вы можете проверить с помощью netstat -a -n -p TCP | grep LISTENING

Примечание:
— Эти команды / модификации файлов необходимо выполнить с помощью Права администратора

— netsh portproxy нуждается в библиотеках ipv6 даже для использования v4tov4, как правило, они также будут по умолчанию, в противном случае установите их, используя следующую команду: netsh interface ipv6 install

Вы можете просмотреть запись , добавленную с помощью команды:

netsh interface portproxy show v4tov4

Вы можете удалить запись с помощью следующей команды:

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21

Ссылки на ресурсы:

  • Использование Netsh
  • Команды Netsh для интерфейса IP
  • Команды Netsh для интерфейса Portproxy
  • Пример перенаправления портов Windows

Примечание: этот ответ является дублированием моего ответа, обсуждаемого в этот похожий вопрос / ответ на stackoverflow.


Источник: car3g.ru