Сокет и порт разница

Обновлено: 04.07.2024

Существует способ, чтобы "" deaccent "сравниваемая строка" без использования функции замещения, в которой перечислены все акценты, которые вы хотите удалить .

самое простое решение Я могу думать об удалении акцентов (и других диакритических знаков) из строки.

Надеюсь, что это поможет.

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

кроме того, определение в документация Java .

порт А может отослать к точке физического соединения для периферийных устройств такой как последовательный, параллельный, и USB-порты. Термин порт также относится к определенным точкам соединения Ethernet, s UCH как те на концентраторе, переключателе или маршрутизаторе.

сокет А представляет единственное соединение между двумя сетевыми приложениями. Эти два приложения номинально работают на различных компьютерах, но сокеты могут также использоваться для межпроцессного взаимодействия на одиночном компьютере. Приложения могут создать несколько сокетов для связи друг с другом. Сокеты двунаправлены, означая, что любая сторона соединения способна и к передающим и к получающим данным.

Порт обозначает коммуникационную конечную точку в TCP и транспортах UDP для сетевого протокола IP. Сокет является абстракцией программного обеспечения для коммуникационной конечной точки, наиболее часто используемой в реализациях этих протоколов (API сокета). Альтернативная реализация является API XTI/TLI.

Stevens, W. R. 1998, Сетевое программирование UNIX: Сетевые API: Сокеты и XTI; Объем 1, Prentice Hall.
Stevens, W. R., 1994, Проиллюстрированный TCP/IP, Объем 1: Протоколы, Addison-Wesley.

Относительная терминология TCP/IP, которая является тем, что я принимаю, подразумевается вопросом. В терминах неспециалиста:

ПОРТ А похож на номер телефона конкретного дома в конкретном почтовом индексе. Почтовый индекс города мог считаться IP-адресом города и всех зданий в том городе.

СОКЕТ А, с другой стороны, больше похож на установленный телефонный вызов между телефонами пары зданий, говорящих друг с другом. Те вызовы могут быть установлены между зданиями в том же городе или двумя зданиями в различных городах. Именно той временной установленной трассой между парой телефонов, говорящих друг с другом, является СОКЕТ.

Сокет = IP-адрес + порт (числовой адрес)
Вместе они определяют конечную точку для сетевого соединения на машине. (Я просто заваливал сеть 101?)

Сокеты являются конкретным протоколом - так реализация уникальности, что и TCP / IP и UDP / использование IP* (ipaddress:port), отличается, чем, например, IPX (Сеть, Узел, и. гм, сокет - но различный сокет, чем предназначен общим термином "сокета". Числа сокета IPX эквивалентны портам IP). Но, они все предлагают уникальную адресуемую конечную точку.

, Так как IP стал основным протоколом, порт (в сетях условий) стал synonomous или с UDP или с номером порта TCP - который является частью адреса сокета.

Технически, заголовок IP содержит IP-адрес, и протокол сверху IP (UDP или TCP) содержит номер порта. Это позволяет иметь другие протоколы (например, ICMP, которые не имеют никаких номеров портов, но действительно имеют информацию о IP-адресации).

сокет А представляет единственное соединение между двумя сетевыми приложениями. Эти два приложения номинально работают на различных компьютерах, но сокеты могут также использоваться для межпроцессного взаимодействия на одиночном компьютере. Приложения могут создать несколько сокетов для связи друг с другом. Сокеты двунаправлены, означая, что любая сторона соединения способна и к передающим и к получающим данным. Поэтому сокет может быть создан теоретически на любом уровне модели OSI от 2 вверх. Программисты часто используют сокеты в сетевом программировании, хотя косвенно. Программирование библиотек как Winsock скрывает многие детали низкого уровня программирования сокета. Сокеты были в широком употреблении с начала 1980-х.

порт А представляет конечную точку или "канал" для сетевой связи. Номера портов позволяют различным приложениям на том же компьютере использовать сетевые ресурсы, не вмешиваясь друг в друга. Номера портов обычно появляются в сетевом программировании, особенно снабжают программирование сокетом. Иногда, тем не менее, номера портов сделаны видимыми обычному пользователю. Например, некоторые веб-сайты, которые человек посещает в Интернете, используют URL как следующее:

Примечание: термин порт также относится к нескольким другим аспектам сетевой технологии. Порт может отослать к точке физического соединения для периферийных устройств такой как последовательный, параллельный, и USB-порты. Термин порт также относится к определенным точкам соединения Ethernet, таким как те на концентраторе, переключателе или маршрутизаторе.

Сокет является структурой в Вашем программном обеспечении. Это - более или менее файл; это начинает операции, любят чтение и запись. Это не физическая вещь; это - путь к Вашему программному обеспечению для обращения к физическим вещам.

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

Один сокет только может использовать порт в адресе. Сокет выделяет порт приблизительно как выделение устройства для ввода-вывода файловой системы. Как только порт выделяется, никакой другой сокет не может соединиться с тем портом. Порт будет освобожден, когда сокет будет закрыт.

Сводка

сокет TCP является экземпляром конечной точки определенный IP-адресом и портом в контексте или конкретного соединения TCP или состояния слушания.

порт А является идентификатором виртуализации определение сервисной конечной точки (в отличие от сервиса экземпляр конечная точка иначе идентификатор сессии).

сокет TCP А не соединение , это - конечная точка определенного соединения.

могут быть параллельные соединения к сервисной конечной точке , потому что соединение определяется [1 114] и его локальное и удаленное конечные точки, позволяя трафику быть направленным к определенному сервисному экземпляру.

может только быть один сокет слушателя для данного адреса/комбинации портов .

Выставка

Это было интересным вопросом, который вынудил меня вновь исследовать много вещей, я думал, что очень хорошо знал. Вы думали бы, что имя как "сокет" будет очевидно: это было, очевидно, выбрано для вызывания формирования изображений конечной точки, в которую Вы включаете сетевой кабель, там будучи сильными функциональными параллелями. Тем не менее, в сетевом языке слово "сокет" несет так много багажа, что тщательная повторная проверка необходима.

В самом широком смысле, порт является точкой входа или выхода. Хотя не используемый в сетевом контексте, французский Word Оттоманская Порта буквально средства дверь или шлюз , далее подчеркивая то, что порты являются конечными точками транспортировки, поставляете ли Вы данные или большие стальные контейнеры.

В целях этого обсуждения я ограничу соображение контекстом сетей TCP-IP. Модель OSI очень хороша, но полностью никогда не реализовывалась, а тем более широко развертывалась в условиях высокого напряжения интенсивного трафика.

комбинацию IP-адреса и порта строго известны как конечная точка и иногда называют сокетом. Это использование происходит с RFC793, исходной спецификацией TCP.

соединение TCP А определяется двумя конечными точками иначе сокеты .

конечная точка (сокет) определяется комбинацией сетевого адреса и порт идентификатор. Обратите внимание, что адрес/порт делает не , полностью определяют сокет (больше на этом позже).

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

Это - пара сокета (с 4 кортежами, состоящий из клиентского IP-адреса, числа клиентского порта, IP-адреса сервера и номера порта сервера), который определяет две конечных точки, который однозначно определяет каждое соединение TCP в Интернете. ( IP TCP Проиллюстрированный Объем 1 , W. Richard Stevens)

На большинстве языков C-derived, соединения TCP устанавливаются и управляли методами использования на экземпляре класса Сокета. Хотя распространено воздействовать на более высокий уровень абстракции, обычно экземпляр класса NetworkStream, это обычно представляет ссылку на объект сокета. Кодеру этот объект сокета, кажется, представляет соединение, потому что соединение создается и управляло методами использования объекта сокета.

Все это немного сбивает с толку и приводит Вас полагать, что сокет является соединением, которое является яйцами. Я трудился под этим недоразумением, пока Richard Dorman не задал вопрос.

сделавший большое чтение и взгляды, я теперь убежден, что это имело бы намного больше смысла иметь класс TcpConnection с конструктором, который берет два аргумента, LocalEndpoint и RemoteEndpoint. Вы могли, вероятно, поддерживать отдельный аргумент RemoteEndpoint , когда значения по умолчанию приемлемы для локальной конечной точки. Это неоднозначно на многоадресных компьютерах, но неоднозначность может быть разрешена с помощью таблицы маршрутизации путем выбора интерфейса с кратким маршрутом к удаленной конечной точке.

Ясность была бы улучшена в других отношениях, также. Сокет не определен комбинацией IP-адреса и порта:

[. ] TCP демультиплексирует входящие сегменты с помощью всех четырех значений, которые включают локальные и внешние адреса: целевой IP-адрес, номер целевого порта, исходный IP-адрес и номер исходного порта. TCP не может определить, какой процесс получает входящий сегмент путем рассмотрения целевого порта только. Кроме того, единственная из [различных] конечных точек в [данный номер порта], который получит запросы входящего соединения, является той в слушать состоянии. (p255, IP TCP Проиллюстрированный Объем 1 , W. Richard Stevens)

, Как Вы видите, это не просто возможно, но и довольно вероятно для сетевой службы иметь многочисленные сокеты с тем же адресом/портом, но только один сокет слушателя на конкретном адресе/комбинации портов. Типичные реализации библиотеки представляют класс сокета, экземпляр которого используется, чтобы создать и управлять подключением. Это чрезвычайно неудачно, так как это вызывает беспорядок и имеет вывод к широко распространенному соединению этих двух понятий.

, Так как сокет является конечной точкой соединения, существует два сокета с адресом/комбинацией портов 207.38.110.62:80 и еще два с адресом/комбинацией портов 54.252.94.236:80 .

Абзац Приложения

два из раздела 2.7 из RFC793 говорят

, соединение А полностью определяется парой сокетов в концах. Локальный сокет может участвовать во многих соединениях с различными внешними сокетами.

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

Ссылки

IP TCP Проиллюстрированный Объем 1 Протоколы , W. Richard Stevens, 1994 Addison Wesley

RFC793, Институт Информатики, Университет Южной Калифорнии для DARPA

Видео: Разница между сокетом и портом

Разъем против порта

В контексте компьютерных сетей сокет - это конечная точка двунаправленной связи, которая происходит в сети, основанной на интернет-протоколе. Сокеты будут распространять пакеты данных, поступающие по каналу связи, в нужное приложение. Это делается с использованием такой информации, как IP-адрес и номер порта. Как правило, (программный) порт - это логическое соединение для передачи данных, которое может использоваться для обмена данными. В Интернете порты TCP и UDP используются для обмена данными между компьютерами, и это наиболее широко используемые порты.

Что такое розетка?

Сокет - это конечная точка двунаправленной связи, которая происходит в компьютерной сети, основанной на интернет-протоколе. Сокеты будут распространять пакеты данных, поступающие по каналу связи, в нужное приложение. Операционная система сопоставляет каждый сокет с процессом или потоком, который обменивается данными. Есть два типа сокетов, которые называются активными и пассивными. Активный сокет - это сокет, который подключен к другому активному сокету через открытое соединение для передачи данных. Активные сокеты на обоих концах канала связи будут уничтожены при закрытии соединения. Пассивный сокет не участвует в соединении, но сокет, который ожидает входящего соединения. При подключении пассивного сокета создается новый активный сокет.Интернет-сокет идентифицируется адресом локального сокета (локальный IP-адрес и номер порта), адресом удаленного сокета и транспортным протоколом (например, TCP, UDP).

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

В чем разница между сокетом и портом?

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

Этот вопрос был задан одним из разработчиков программного обеспечения в моей организации. Я заинтересован в самом широком определении.

Резюме

Сокет TCP является экземпляром конечной точки , определяемым IP-адресом и порт в контексте конкретного соединения TCP или состояния прослушивания.

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

Гнездо TCP является не соединением , оно является конечной точкой конкретная связь.

Могут быть параллельные соединения с конечной точкой службы , поскольку соединение идентифицируется как локальным, так и удаленным конечные точки, позволяющие направлять трафик на конкретный экземпляр службы.

Для данной комбинации адрес/порт может быть только один сокет прослушивателя .

Экспозиция

Это был интересный вопрос, который заставил меня пересмотреть ряд вещей, которые, как я думал, я знал наизнанку. Вы могли бы подумать, что имя типа "сокет" было бы само собой разумеющимся: оно, очевидно, было выбрано, чтобы вызывать образы конечной точки, в которую вы подключаете сетевой кабель, при этом существуют сильные функциональные параллели. Тем не менее, на языке сети слово "розетка" несет в себе столько багажа, что необходим тщательный повторный осмотр.

В самом широком смысле порт является точкой входа или выхода. Хотя это не используется в контексте сети, французское слово porte буквально означает дверь или шлюз , что еще более подчеркивает тот факт, что порты являются транспортными. конечные точки, отправляете ли вы данные или большие стальные контейнеры.

Для целей этого обсуждения я ограничусь рассмотрением контекста сетей TCP-IP. Модель OSI все очень хорошо, но никогда не была полностью реализована, и гораздо менее широко развернута в условиях высокой нагрузки и высокой нагрузки.

Комбинация IP-адреса и порта строго известна как конечная точка и иногда называется сокетом. Это использование происходит с RFC793, оригинальной спецификации TCP.

Соединение TCP определяется двумя конечными точками, также называемыми сокетами .

Конечная точка (сокет) определяется комбинацией сетевого адреса и идентификатора порта . Обратите внимание, что адрес/порт не не полностью идентифицирует сокет (подробнее об этом позже).

Назначение портов состоит в том, чтобы различать несколько конечных точек на данном сетевом адресе. Можно сказать, что порт является виртуальной конечной точкой. Эта виртуализация делает возможным одновременное подключение нескольких соединений к одному сетевому интерфейсу.

Именно пара сокетов (4-кортеж, состоящий из IP-адреса клиента, номера порта клиента, IP-адреса сервера и номера порта сервера) определяет две конечные точки, которые однозначно идентифицируют каждое TCP соединение в Интернете. , ( Иллюстрированный том TCP-IP 1 , У. Ричард Стивенс)

В большинстве языков, производных от C, TCP соединения устанавливаются и управляются с использованием методов в экземпляре класса Socket. Хотя обычно работает на более высоком уровне абстракции, обычно это экземпляр класса NetworkStream, обычно это предоставляет ссылку на объект сокета. Кодеру этот объект сокета, по-видимому, представляет соединение, потому что соединение создается и управляется с использованием методов объекта сокета.

Все это немного сбивает с толку и наводит вас на мысль, что сокет - это соединение, которое является бредом. Я работал над этим заблуждением, пока Ричард Дорман не задал вопрос.

После долгих чтений и размышлений я убежден, что было бы гораздо разумнее иметь класс TcpConnection с конструктором, который принимает два аргумента, LocalEndpoint и RemoteEndpoint . Возможно, вы могли бы поддерживать один аргумент RemoteEndpoint , когда значения по умолчанию приемлемы для локальной конечной точки. Это неоднозначно на многосетевых компьютерах, но неоднозначность может быть решена с помощью таблицы маршрутизации путем выбора интерфейса с кратчайшим маршрутом к удаленной конечной точке.

Ясность будет улучшена и в других отношениях. Сокет не определяется комбинацией IP-адреса и порта:

[. ] TCP демультиплексирует входящие сегменты, используя все четыре значения, которые содержат локальные и внешние адреса: IP-адрес назначения, номер порта назначения, IP-адрес источника и номер порта источника. TCP не может определить, какой процесс получает входящий сегмент, глядя только на порт назначения. Кроме того, единственная из [различных] конечных точек в [заданном номере порта], которая будет принимать входящие запросы на соединение, - это та, которая находится в состоянии прослушивания. (p255, Иллюстрированный том TCP-IP 1 , В. Ричард Стивенс)

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

Поскольку сокет является конечной точкой соединения, есть два сокета с комбинацией адрес/порт 207.38.110.62:80 и еще два с комбинацией адрес/порт 54.252.94.236:80 .

Я думаю, что недоразумение Хагравала проистекает из моего очень осторожного использования слова "отождествляет". Я имею в виду "полностью, однозначно и однозначно идентифицирует". В приведенном выше примере есть две конечные точки с комбинацией адрес/порт 54.252.94.236:80 . Если у вас есть только адрес и порт, у вас недостаточно информации, чтобы разделить эти сокеты. Недостаточно информации для идентификации сокета.

Добавление

Во втором абзаце раздела 2.7 RFC793 говорится

Соединение полностью определяется парой розеток на концах. Локальный сокет может участвовать во многих соединениях с различными сторонними сокетами.

Это определение сокета не полезно с точки зрения программирования, потому что оно не совпадает с объектом сокета , который является конечной точкой конкретного соединения. Для программиста, и большая часть аудитории этого вопроса - программисты, это жизненно важное функциональное различие.

Рекомендации

TCP-IP, иллюстрированный том 1 "Протоколы" , В. Ричард Стивенс, 1994 г. Эддисон Уэсли

RFC79, Институт информационных наук, Университет Южной Калифорнии для DARPA

RFC147, Определение сокета, Джоэл М. Уинетт, Лаборатория Линкольна

pci slot

Все современные компьютерные устройства полагаются на технологии, которые позволяют подключаться друг к другу и к сетям. Некоторые из этих систем электромагнитные, но многие используют физическое соединение. Нужен разъём для подключения к нему коннектора и электрический интерфейс для отправки и приёма данных.

  • Краткое описание терминологии
  • Сокеты для центральных процессоров
  • Сокеты для оперативной памяти
  • Сокеты для видеокарты
  • Сокеты для устройств хранения данных
  • Сокеты для периферийных устройств
  • Сокеты для аудио
  • Сетевые сокеты
  • Сокеты ради сокетов?
  • Так много сокетов, портов и разъёмов

Среднестатистический компьютер содержит более 10 типов разъёмов и часто у него больше 30 сокетов. Если вы хотите уметь различать SATA и M.2 или DVI-D и DisplayPort, читайте данную статью. В ней описаны наиболее важные и распространённые системы подключения современных компьютеров, планшетов и смартфонов.

Краткое описание терминологии

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

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

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

Чтобы упростить задачу, мы всё будем называть сокетом, даже если это порт или интерфейс.

Сокеты для центральных процессоров

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

Всё это означает, что процессорный сокет имеет сотни отдельных подключений в форме крохотных металлических контактов и слотов. AMD и Intel по-разному подходят к этому вопросу. AMD обычно использует контакты в формате PGA-ZIF (корпус с матрицей штырьковых выводов), тогда как Intel размещает их в самом сокете LGA (матрица контактных площадок).

Процессорный сокет

Сокет Intel LGA1150

Нельзя сказать, что у одного подхода есть большое преимущество перед другим. Хотя контакты чуть более защищены, когда они находятся внутри сокета, а не на процессоре. Системы PGA-ZIF не требуют прилагать усилий при установке процессора, в отличие от LGA.

Когда производитель выпускает новый тип сокета, используются не все соединения. Это позволяет обеспечить поддержку будущим процессорам, увеличивая энергопотребление или добавляя дополнительные ядра. По крайней мере, такая возможность сохраняется, но Intel обычно связывает поддержку процессоров с определённым сокетом и основной набор чипов (PCH) с материнской платой.

Читайте также: