Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать основы работы компьютерных сетей и протокол сетевого уровня IP, а если быть более точным, то его версию IPv4. На этот раз речь пойдет о устройствах в IP сетях и их видах, которых всего два: конечные или терминальные узлы и транзитные узлы или маршрутизаторы. Мы разберемся с основными принципами работы этих устройств и поговорим о том, сколько может быть IP-адресов у одного устройства.

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

 

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

Оглавление первой части: «Основы взаимодействия в компьютерных сетях».

Оглавление четвертой части: «Сетевой уровень: протокол IP и его версия IPv4».

4.9.1 Введение

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

4.9.2 Поведение устройств в IP сетях и их виды

Устройства в IP-сетях делятся на два больших вида:

  1. Конечные узлы, их еще называют терминальными узлами, их функции описаны в RFC 1122.
  2. Промежуточные узлы или маршрутизаторы для них есть описание в RFC 1812.

Конечные узлы также делятся на два вида:

  1. Узлы отправители.
  2. Узлы получатели.

Зачастую конечный узел работает и как отправитель, и как получатель. То есть он может генерировать IP трафик, распаковывать IP-пакеты и передавать сообщения транспортного уровня вышестоящему обработчику. В общем, конечный узел должен уметь инкапсулировать и деинкапсулировать IP-пакеты, а также принимать решения о том куда или кому направить IP-пакет (про модель стека протоколов TCP/IP и OSI 7, а также о декомпозиции задачи сетевого взаимодействия читайте по ссылкам).

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

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

  1. Ethernet, например, работа протокола IP поверх Ethernet II описана в RFC 894.
  2. IP может работать поверх любой сети стандарта 802, в том числе и поверх 802.11 (Wi-Fi), описание есть в RFC 1042.
  3. IP поверх ATM описан в RFC 1932.
  4. Практически поверх любого протокола, организующего взаимодействие точка-точка IP может работать (о физической и логической топологии компьютерных сетей здесь), например, очень часто вы можете встретить связи IP и PPP.
  5. Есть даже RFC 1149, описывающий работу IP поверх голубей.

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

4.9.3 Терминальные узлы: узлы-отправители и узлы-получатели

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

  1. Принять данные с транспортного уровня и сформировать из них пакет, добавив к этим данным заголовок. Обычно размер сообщения транспортного уровня подбирается таким образом, чтобы оно могло целиком поместиться в поле данных IP-пакета, поверх поля данных добавляется заголовок, в котором содержатся указания о том, как обрабатывать этот пакет и куда его направлять.
  2. Следующим шагом узел-отправитель должен решить какому соседу по канальной среде лучше всего направить получившийся IP-пакет:
    • если конечный получатель находится в одной канальной среде с узлом-отправителем, то пакет будет направлен непосредственно этому узлу;
    • если получатель находится в другой канальной среде, то узел-отправитель должен будет направить пакет на транзитный маршрутизатор.
    И в том, и в другом случае отправитель должен определиться с двумя важными моментами перед отправкой пакета: в какой физический интерфейс направлять пакет и какой канальный адрес у соседа, которому направляется пакет. В случае, если канальной средой является Ethernet, определить канальный адрес помогает протокол ARP.
  3. Запаковать IP-пакет в кадр канального уровня и передать в физический интерфейс.

Вот такие нехитрые действия выполняет узел отправитель, когда готовится передать IP пакет. Как узел понимает в какой канальной среде находится сосед? Всё очень просто. Он сравнивает свои IP-адрес и маску подсети с IP-адресом получателя и если номера сети у этих IP-адресов совпадают, то получатель находится в одной канальной среде с отправителем и до него можно достучаться напрямую, если номера сети разные, то это означает, что получатель находится в другой канальной среде и до него можно добраться через промежуточные узлы.

Узел-получатель совершает значительно меньше действий, нежели отправитель, но оно и понятно, давайте посмотрим:

  1. Получить пакет. На самом деле пакет приходит как последовательность бит, из которых узел складывает слова, из слов скалываются кадры, выполняется первая проверка корректности, если все хорошо, отрезается заголовок канального уровня, выполняется проверка корректности пакета на сетевом уровне. Если данные не «побились» по дороге, то узел должен убедиться, что именно он является получателем, а не кто-то другой. Тут понятно, что узел сравнивает IP-адрес назначения со своим IP-адресом.
  2. Все проверки пройдены, значит, нужно снять заголовок IP-пакет и передать обработку транспортному уровню.
    Как видите, действий у получателя значительно меньше: ему нужно убедиться, что данные в пути не побились, а также убедиться, что пакет предназначен ему, а не кому-то еще, если пакет предназначен кому-то другому, то получатель обычно отбрасывает такой пакет. И тут есть момент, связанный с доверием: никто не запрещает получателю получать и обрабатывать пакеты, которые не предназначены этому получателю, всё зависит от настроек конечного узла.

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

4.9.4 Транзитные узлы или маршрутизаторы

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

  1. Получить IP-пакет от соседа по канальной среде. Убедиться, что пакет не был поврежден по дороге. Также маршрутизатор должен убедиться, что он не является получателем данного пакета, сверив свои IP-адреса с тем, что в пакете.
  2. Маршрутизаторы занимаются тем, что перекладывают пакет из одной канальной среды в другую. Поэтому следующим шагом маршрутизатору нужно понять: в какую канальную среду нужно отправить полученный пакет. Это может быть, как конечный получатель, если этот получатель находится в одной канальной среде с интерфейсом роутера, или это может быть другой транзитный узел, если получатель не находится в одной канальной среде с маршрутизатором. Стоит заметить, что маршрутизатор в процессе передачи не изменяет IP-адрес источника и IP-адрес назначения, они остаются неизменными, изменения вносятся в адреса канального уровня.
  3. После того, как маршрутизатор определился со вторым шагом, ему нужно определиться с выходным интерфейсом и канальным адресом соседа, которому будет направлен пакет.
  4. Маршрутизатор модифицирует IP-пакет, как минимум, изменяет TTL и контрольную сумму, запаковывает пакет в кадр и отправляет в выбранный ранее интерфейс.

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

4.9.5 Сколько IP-адресов может быть у компьютера?

Нам осталось рассмотреть вопрос о том, сколько IP-адресов можно настроить на одном сетевом устройстве? Но к этому вопросу стоит подойти из далека: сколько может быть канальных интерфейсов у устройства? Допустим, у устройства пять канальных интерфейсов, а это означает, что на каждый канальный интерфейс можно назначить IP-адрес.

Тут стоит помнить, что в каждую канальную среду на одном устройстве должен смотреть один канальный интерфейс, а из этого следует, что в каждом канальном интерфейсе устройства должны быть назначены IP-адреса из разных подсетей. То есть сейчас вы можете подумать, что если есть IP устройство с пятью канальными интерфейсами, то на него можно назначить пять IP-адресов и будете не правы, дело в том, что на одном интерфейсе может быть несколько IP-адресов при этом один из этих адресов будет основным, а все остальные вторичные (в следующей теме мы посмотрим как задать вторичный IP-адрес в Windows 10, а сейчас отметим, что на интерфейсах маршрутизаторов Cisco вторичные IP-адреса задаются при помощи ключевого слова secondary, при этом и третий, и четвертый, и десятый IP-адрес назначается при помощи secondary). IP-адреса на одном интерфейсе могут быть из одной подсети, криминального ничего не будет.

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

4.9.6 Выводы

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

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...