Идентификатор Хоста IPv4, идентификатор сети и идентификатор подсети по примеру

Я только что прочитал это удивительный Serverfault ответ на очень простой вопрос: как работает подсеть IPv4? Хотя я следую большей части всего, что было указано в принятом ответе, я все еще рисую большой мысленный пробел над одной самой важной концепцией, описанной в самом начале: как работают вычисления битовой маски подсети.

пример в этом ответе является IP 10.13.216.41/18:

      10.      13.     216.      41
00001010.00001101.11011000.00101001 - IP address as bytes

затем автор этой работы область:

      10.      13.     216.      41
00001010.00001101.11011000.00101001 - IP address
11111111.11111111.11000000.00000000 - subnet mask (/18 => 255.255.192.0)
00001010.00001101.11000000.00000000 - Portion of IP address covered by 1's in subnet mask, remaining bits set to 0
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0

Я понимаю, как генерируется 3-я строка: ее логическое соединение ("ANDing") битов в IP с битами в маске подсети. Для меня это имеет смысл. кстати, что это за 3-я строка (00001010.00001101.11000000.00000000): идентификатор Хоста, идентификатор сети или идентификатор подсети?

но 4-я строка (00000000.00000000.00011000.00101001) просто не имеет никакого смысла для меня. Я прочитал этот ответ несколько раз и не могу понять, как он вычисляется/выводится и что это такое даже представляет / полезно для (идентификатор Хоста, идентификатор сети, идентификатор подсети?). Есть идеи, откуда это взялось?! Заранее спасибо!

17
задан smeeb
06.02.2023 18:08 Количество просмотров материала 2806
Распечатать страницу

1 ответ

First – обратите внимание, что 4-я строка имеет противоположный результат строки 3. Где побитовое соединение с маской оставило 1 биты нетронутые, строка 4 имеет противоположное, поэтому она должна была быть связана с напротив маски.

так что если строка 3 address AND mask, линия 4 address AND (NOT mask).

что означают обе строки, ответ приведен ниже.


второй – забыть о "подсеть". Это был отдельный номер, когда у вас был классовые сети с подсетями. В современных сетях это больше не отдельной из"network ID".

это немного упрощает вещи, так как теперь у вас есть только два состояния: если он покрыт 1-битами в маске, это сетевая часть; если он покрыт 0-битами, то это хост-часть.

кроме того, CIDR требует, чтобы биты маски подсети были смежными, поэтому становится еще проще: /18 означает первые 18 бит слева-идентификатор сети, все остальное (т. е. 14 оставшихся битов) являются идентификатором хоста.


1 Ну, вы все еще можете вычислить "идентификатор подсети" при делении более крупной сети на более мелкие – это гораздо более заметно в IPv6, где принято выделять /48 для сайтов и использовать /64-размерные подсети, что приводит к очень аккуратному разделению.

однако, в то время как ранние версии IPv6 были временно возродил формальную структуру адресов (у вас был "верхний уровень aggregations" и т. д.), Это снова больше не вещь, и любые "идентификаторы подсети" - это чисто ваше собственное решение.

1
отвечен grawity 2023-02-08 01:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх