IP-адрес и номер порта, назначенные сокету

IP — это аббревиатура от Internet Protocol (Интернет-протокол), и это значение, присвоенное компьютеру для отправки и получения сетевых данных.

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

1. Интернет-адрес

Чтобы компьютер мог подключаться к сети и отправлять и получать данные, ему должен быть присвоен IP-адрес.

Существует два типа IP-адресов:

  • IPv4 (Интернет-протокол версии 4): 4 44- байтовое семейство адресов
  • IPv6 (Интернет-протокол версии 6): 16 1616- байтовое семейство адресов

Разница между IPv4 и IPv6 в основном заключается в количестве байтов, используемых для представления IP-адреса.В настоящее время общим семейством адресов является IPv4. IPv6 — это стандарт, предложенный в ответ на исчерпание IP-адресов примерно в 2010 году, и популяризация IPv6 займет больше времени.

Стандарт IPv4 4 44- байтовый IP-адрес делится насетевой адресиадрес хостаи делится наAA.А ,БББ ,ССС ,ДДДЭЭЕ и другие виды. На рисунке ниже показано семейство адресов IPv4, в котором обычно не используется зарезервированныйEE.Адрес класса E , поэтому он опущен.

вставьте сюда описание изображения

Сетевой адрес (идентификатор сети) — это часть IP-адреса, установленного для идентификации сети. Предполагая, что данные передаются компании WWW.SEMI.COM, компания построила локальную сеть для соединения всех компьютеров. Поэтому данные должны передаваться в сеть SEMI.COM в первую очередь, то есть не все 4 44 -байтовый IP-адрес, а затем найдите целевой хост, вместо этого просмотрите только4 4Сетевой адрес 4 -байтового IP-адреса, сначала передайте данные в сеть SEMI.COM. После получения данных сеть SEMI.COM (маршрутизаторы, составляющие сеть) просматриваетадрес хоста(идентификатор хоста), который передал данные, и передает данные на целевой компьютер. На рисунке ниже показан процесс передачи данных.

вставьте сюда описание изображения

Хост передает данные на адреса 203.211.172.103 и 203.211.217.202, где 203.211.172 и 203.211.217 — сетевые адреса сети. Следовательно, «передача данных в соответствующую сеть» фактически передает данные маршрутизатору (маршрутизатору) или коммутатору (коммутатору), которые составляют сеть, а маршрутизатор, получающий данные, передает данные целевому хосту в соответствии с адресом хоста в данных. .

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

2. Классификация сетевых адресов и границы адресов узлов

О количестве байтов, занимаемых сетевым адресом, можно судить просто по первому байту IP-адреса, потому что мы различаем сетевой адрес по границам IP-адреса следующим образом:

  • ААДиапазон первого байта адреса класса А :0 ~ 127 0 \sim 1270127
  • ББПервый байтовый диапазон адреса класса B :128 ~ 191 128 \sim 191128191
  • CCДиапазон первого байта адреса класса C :192 ∼ 223 192\sim 223192223

Существует также следующее выражение:

  • ААПервая цифра адреса класса А начинается с0 00 начало
  • ББПервые2 адреса класса B 22 цифры до10 1010 начало
  • CCПервые3 адреса класса C 33 цифры до110 110110 начало

Из-за этого при отправке и получении данных через сокеты легко найти правильный хост после передачи данных в сеть.

3. Номер порта, используемый для идентификации сокета

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

Компьютер обычно оснащен устройством передачи данных NIC (Network Interface Card, Network Interface Card). IP используется при передаче данных через сетевую карту внутрь компьютера. Операционная система отвечает за правильное назначение данных, передаваемых внутри сокета, и это делается с помощью номеров портов. То есть в данных, полученных через сетевую карту, есть номер порта, и операционная система обращается к этому номеру порта для передачи данных в сокет соответствующего порта, как показано на рисунке ниже.

вставьте сюда описание изображения

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

Также изменен номер порта с 16 на 16Состоит из 16 бит, диапазон назначаемых номеров портов:0 ~ 65535 0 \sim 65535065535 . Но0 ∼ 1023 0 \sim 102301023 — общеизвестный порт (Well-known PORT), который обычно присваивается конкретному приложению, поэтому следует присваивать значение вне этого диапазона.

Кроме того, хотя номер порта не может повторяться, сокеты TCP и сокеты UDP не имеют общих номеров портов, поэтому допускается повторение. Например, если сокет TCP использует порт 9190, другие сокеты TCP не могут использовать этот номер порта, а сокеты UDP могут.

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

Supongo que te gusta

Origin blog.csdn.net/qq_42815188/article/details/129504111
Recomendado
Clasificación