Любая организация проводит основные объемы трафика через устройства двух типов: коммутаторы и маршрутизаторы. Cisco - наиболее популярный бренд, производящий надежные коммутаторы и маршрутизаторы, поэтому многие компании приняли его как стандарт для подобного рода устройств. Для прочего сетевого оборудования, например брандмауэра или точки беспроводного доступа, кто-то предпочитает Cisco, кто-то выбирает что-нибудь другое или использует бренды совместно. Но если сеть построена с использованием маршрутизаторов и коммутаторов Cisco, то это сеть Cisco.
Нет никаких обязательных требований к тому, чтобы использовать исключительно этот бренд. Вы можете использовать коммутаторы Cisco с маршрутизаторами Juniper, и они будут прекрасно работать вместе. Можно использовать маршрутизатор Cisco с коммутатором Juniper, и они тоже прекрасно уживутся. Но есть парочка возражений против подобных тандемов.
Во-первых, последовательность конфигурирования устройств Cisco в корне отлична от настройки оборудования Juniper. Синтаксис команд и терминология совершенно различны. Администрирование смешанных сетей требует знаний обеих платформ и принципов их взаимодействия, а эта книга посвящена только оборудованию компании Cisco.
Во-вторых, если у вас возникают проблемы и вы не уверены, связаны они с маршрутизатором или коммутатором, вам придется обращаться за техподдержкой сразу к обеим компаниям. В худшем случае каждая компания начнет тыкать пальцем в конкурента. В лучшем случае это чревато задержками, пока они придут к соглашению.
Использование в одной сети коммутаторов и маршрутизаторов разных брендов - это плохая идея. Вот почему большинство компаний использует и маршрутизаторы, и коммутаторы только компании Cisco. Так проще. И даже если у вас смешанная сетевая среда, эта книга все равно будет вам полезна, чтобы научиться администрировать коммутаторы и маршрутизаторы Cisco. Просто напомню, что в этой книге описывается сеть Cisco, и это всегда маршрутизаторы и коммутаторы компании Cisco.
На рис. 1 показано, как мой компьютер пересылает «конверт», содержащий некоторые данные, на сервер базы данных. В этой статье вы узнаете, как коммутаторы и маршрутизаторы определяют наилучший путь для передачи данных.
Рис. 1. Коммутаторы и маршрутизаторы
Правда о коммутаторах и маршрутизаторах
Новички часто задают два вопроса:
- что на самом деле делают коммутаторы и маршрутизаторы?
- почему эти устройства имеют и MAC- и IP-адреса?
Эти, казалось бы, простые вопросы не имеют простых ответов. Я неоднократно наблюдал попытки дать ответ на эти вопросы в нескольких предложениях, но все эти попытки вносили лишь больше сумятицы и еще больше запутывали.
Истина в том, что и коммутаторы, и маршрутизаторы - это порождение конкретной технологической необходимости, а не каких-либо общих практических надобностей. В принципе, ни один из этих приборов не наделен какой-то особенной интеллектуальностью, хотя Cisco и снабжает их некоторым количеством «мозгов», чтобы улучшить их функциональность. Как и большинство технологий, коммутаторы и маршрутизаторы появились как результат сомнительных решений, принятых десятилетия назад.
Новые технологии обычно строятся на более ранних. Например, электронные книги позаимствовали концепции страниц и закладок у традиционных печатных книг. Попробуйте объяснить, что такое страница, кому-нибудь, кто знаком с прокруткой, но никогда не видел традиционных печатных книг. Как вы это сделаете? Прежде чем объяснять, что такое страница, надо объяснить, зачем они существуют.
Поэтому, прежде чем объяснять, что такое маршрутизатор или коммутатор, я должен коротко пояснить, для решения каких проблем они служат. После того как вы это поймете, все встанет на свои места, и вы сразу же сможете администрировать собственную сеть Cisco.
MAC-адрес
Много лет назад кто-то решил, что все сетевые приборы должны иметь определенный идентификатор, чтобы идентифицировать друг друга в сетевом пространстве, и назвал этот идентификатор MAC-адресом (от англ. Media Access Control - управление доступом к среде). MAC-адрес - это строка длиной 48 бит, содержащая шестнадцатеричное число, примерно вот так: 0800.2700.EC26. Вероятно, вы уже встречались с чем-то подобным.
Что интересно: производители сетевых устройств присваивают им MAC- адреса еще на стадии изготовления. Целесообразность этого состоит в том, что можно просто включить устройства в сеть и коммутировать их между собой, не имея никакого руководства по конфигурации. Звучит достойно, но есть одна проблема: производитель присваивает MAC-адрес в отсутствие связи с тем, куда именно будет помещено устройство в конечном итоге. То есть это не совсем адрес, поскольку он совершенно не помогает в определении месторасположения устройства.
Практикум
Запустите оболочку командной строки Windows и введите команду
ipconfig /all
.В появившемся списке MAC-адрес сетевой карты вашего компьютера будет указан в строке Физический адрес (Physical Address). Если установлено несколько
сетевых карт, вы увидите несколько MAC-адресов.
MAC-адрес сродни полному имени человека. Его присваивают при рождении для простой идентификации, чтобы выделить человека из толпы или послать сообщение на его имя. Если мы с вами находимся в толпе людей и вы хотите послать мне сообщение, но понятия не имеете, где я, вы можете, набрав побольше воздуха, крикнуть: «Бен Пайпер, где ты?» И если я в той толпе, то получу ваше сообщение.
Сетевые устройства общаются друг с другом таким же образом, но вместо полного имени используют MAC-адреса. Предположим, мой компьютер имеет MAC-адрес O8OO.2700.EC26, и его надо напечатать на сетевом принтере с именем Monoprint и MAC-адресом 002O.350O.CE26. Мой компьютер физически соединен с принтером через устройство, называемое коммутатором, как показано на рис. 2. Точнее, мой компьютер и принтер физически присоединены к отдельным Ethernet-портам коммутатора. Отметим, что, в отличие от беспроводной точки доступа, подключение к коммутатору всегда производится с помощью кабеля. Таким образом, коммутатор - это место сбора всех сетевых устройств. Подобно тому, как я с вами и с другими могу собраться на переполненном рынке, сетевые устройства собираются вместе в коммутаторе. Такой набор соединенных между собой устройств называется локальной вычислительной сетью (ЛВС, от англ. Local area network, LAN).
Рис. 2. Два принтера соединены с компьютером через коммутатор
Но здесь возникает проблема: мой компьютер не знает, где расположен принтер Monoprint, не знает даже, является ли он частью локальной сети - частью «толпы», подключенной к коммутатору. MAC-адрес, подобно полному имени, может служить хорошим иднтификатором, но он не может указать точного месторасположения устройства. Именно поэтому мой компьютер вынужден просто «кричать в рупор», вызывая Monoprint по его MAC-адресу.
Дополнительно
Каждое устройство в процессе изготовления получает заводской уникальный идентификатор (organizationally unique identifier, OUI) в виде строки, содержащей шестнадцатеричное число. Идентификатор OUI образует левую часть MAC-адреса, присваиваемого при изготовлении. Его можно рассматривать как «фамилию» прибора. Хотя они и присваиваются при «рождении», устройства одной серии имеют идентичный номер QUI. Остальная часть MAC-адреса - это просто следующий член возрастающей последовательности. Таким образом, производитель достигает уникальности MAC-адреса каждого устройства.
Ethernet-кадр: большой конверт
Мой компьютер создает Ethernet-кадр, содержащий указания на источник - его собственный MAC-адрес - и конечный адресат - MAC-адрес принтера. Рисунок 3 демонстрирует Ethernet-кадр в виде большого конверта с адресами отправителя и получателя.
Рис. 3 Ethernet-кадр содержит MAC-адреса отправителя и получателя
Мой компьютер собирает данные, которые хочет обработать на принтере, помещает их в «большой конверт» и отправляет на коммутатор. Коммутатор получает кадр и обращается к MAC-адресу удаленного принтера. Изначально коммутатор не знает, подключен к нему принтер или нет, поэтому он рассылает кадр всем остальным подключенным сетевым устройствам для определения, есть ли среди них принтер. Это называется лавинной передачей.
На шаге 1, на рис. 4, мой компьютер отправляет Ethernet-кадр, адресованный принтеру Monoprint, со своим MAC-адресом (0020.35O0.ce26). На шаге 2 коммутатор рассылает этот кадр всем подключенным устройствам.
Рис. 4 Лавинная передача Ethernet-кадра
Когда все говорят, никто не слушает
Лавинная передача имеет тот же эффект, что и крик в рупор в большой толпе. Все слышат вас, но в то же время в толпе люди не могут расслышать друг друга. Для увеличения эффективности вы временно прекращаете их общение. Но даже после того, как вы прокричали в рупор, пройдет какое-то время, после того как люди получат ваше сообщение и поймут, что оно адресовано не им. То же самое происходит, когда коммутатор рассылает сообщение всем устройствам. Все они не в состоянии слышать друг друга, пока идет лавинная передача. А затем они должны обработать сообщение, чтобы понять - должны ли они что-то сделать в соответствии с ним. Это явление называется прерыванием.
Хотя несколько рассылок кадров и прерываний и не представляется чем-то значительным, представьте, что произойдет в толпе, скажем человек на 1000, в которой у каждого есть рупор. Как раз в тот момент, как вы собрались отправить мне сообщение через свой рупор, кто-то прямо рядом с вами кричит что-нибудь еще через свой. После того как у вас утихнет звон в ушах, вы поднимаете свой рупор только для того, чтобы опять быть прерванным кем-нибудь еще. Пока, наконец, не произойдет пауза, достаточная для пересылки сообщения. Да, это проблема. Вы действуете со всеми остальными в одной среде - в воздухе. При таком методе коммуникации «один - многим» трудно ожидать, что конкретная персона получит сообщение вовремя. И чем больше толпа, тем больше проблем.
В сети с несколькими устройствами лавинная передача не представляет проблем. А если в локальной сети сотни или тысячи устройств, то это проблематично. И это порождает другую проблему. Сеть, которая не может связать тысячи устройств, практически бесполезна.
Широковещательные домены
Предположим, что вы добавили в топологию сети еще один коммутатор, назвали его Коммутатор 2 и присоединили к нему сервер базы данных, как показано на рис. 5. Когда мой компьютер отправляет кадр на MAC-адрес сервера, Коммутатор 1 начинает лавинную передачу (и прерывание) на все устройства, присоединенные к его портам, включая и Коммутатор 2! Коммутатор 2, в свою очередь, тоже передает кадр всем устройствам. В этом случае сервер базы данных - всего лишь рядовое устройство, присоединенное к Коммутатору 2.
В шаге 1 мой компьютер пересылает кадр на MAC-адрес сервера базы данных (00db.dbdb.5010). В шаге 2 Коммутатор 1 рассылает кадр всем устройствам. И наконец, в шаге 3 Коммутатор 2 передает кадр на сервер базы данных.
Все эти устройства, которые получили кадр, - члены одного широковещательного домена. Широковещательный домен - это не устройство и даже не настраиваемый параметр, а скорее неотъемлемый атрибут сети. Для лучшего понимания представлю следующую аналогию.
Когда вы стоите один в центре улицы, вы - не толпа. Но если несколько человек собирается вокруг вас, вы становитесь частью толпы. И вы становитесь частью еще большей толпы, когда вокруг вас собирается больше людей. Вы не меняетесь, но меняется ваше виртуальное свойство - часть толпы, - в зависимости от того, сколько людей собралось вокруг вас. Точно так же и устройство становится частью широковещательного домена тех устройств, которые получили кадр при лавинной передаче.
Избавление от лавинной передачи: таблица MAC-адресов
Лавинная передача - неизбежная операция при использовании MAC-адресов. К счастью, коммутаторы используют ловкий трюк, чтобы уменьшить необходимость лавинной передачи. Каждый раз, когда коммутатор получает кадр, он изучает MAC-адрес источника и порт, к которому присоединен источник кадра. Эта информация используется для построения таблицы MAC-адресов.
Дополнительно
В документации Cisco таблица MAC-адресов иногда называется ассоциативной памятью (content addressable memory, CAM), но это одно и то же.
Когда Коммутатор 1 получает кадр от моего компьютера, он записывает его MAC-адрес 0800.2700.ac26, а также порт, к которому компьютер подключен, - FastEthernet0/1. Эта информация добавляется в таблицу MAC-адресов, как показано в табл. 1.
Таблица 1. Таблица MAC-адресов Коммутатора 1
Устройство | MAC-адрес | Порт коммутатора |
Компьютер Бена | 0800.2700.ec26 | FastEthernet0/1 |
Теперь предположим, сервер базы данных отправляет кадр с MAC-адресом моего компьютера. Кадр попадает на Коммутатор 2, который отправляет его прямиком на Коммутатор 1. Но вместо слепого забрасывания кадром всех устройств Коммутатор 1 проверяет таблицу MAC-адресов.
Он видит, что MAC-адрес 0800.2700.ec26 соответствует устройству, подключенному к порту FastEthernet0/1, и отправляет кадр только на этот порт, как показано на рис. 6. Это работает по принципу старого телефонного коммутатора, откуда и происходит термин коммутатор.
Рис. 6. Как таблица MAC-адресов позволяет избавиться от лавинной передачи
На шаге 1 сервер базы данных отправляет кадр на MAC-адрес моего компьютера (0800.2700.ec26). На шаге 2 Коммутатор 2 (лавинно) отправляет кадр на Коммутатор 1. На шаге 3 Коммутатор 1 сверяется с таблицей MAC-адресов и находит порт запрашиваемого адреса. На шаге 4 Коммутатор 1 отправляет кадр только на порт моего компьютера, а не лавинно передает кадр на все остальные устройства.
Разделение широковещательного домена
С ростом размера широковещательного домена коммуникации становятся все более затруднительными. И как следствие, широковещательный домен, состоящий из сотен устройств, начинает работать неудовлетворительно. Но современной компании требуется сеть, соединяющая тысячи устройств. И просто наличия связи недостаточно. Сеть должна быть быстрой и надежной.
Решение заключается в ограничении размера широковещательного домена. Это значит, что его нужно разбить на части таким образом, чтобы отдельные части имели связь друг с другом.
Возвращаясь к нашему примеру, мы видим, что простейший путь разбить широковещательный домен - это отключить Ethernet-кабель, соединяющий Коммутаторы 1 и 2, как показано на рис. 7. Отмечу, что коммутаторы не соединяются каким-либо иным способом. Это простая часть. А теперь сложная: мой компьютер и сервер базы данных размещены на разных широковещательных доменах. Не существует путей для их связи друг с другом. Что вы натворили? Вы не можете просто заново соединить коммутаторы, потому что воссоздадите то, что было, - единый широковещательный домен.
Рис. 7. Два широковещательных домена
Соединение широковещательных доменов
Для соединения двух широковещательных доменов без повторения этой ужасной проблемы лавинной передачи необходимо сделать две вещи.
Во-первых, так как два широковещательных домена не имеют связи, вам нужно специальное устройство, физически соединяющее их, но таким образом, чтобы рассылка кадров не выходила за границы широковещательного домена. Так как кадр содержит MAC-адреса и отправителя, и адресата, это устройство будет эффективно скрывать MAC-адреса одного широковещательного домена от другого.
Во-вторых, так как MAC-адреса одного широковещательного домена скрыты от другого, вам нужна другая схема адресации устройств для обращения к оборудованию в разделенных доменах. Новая адресная схема, в отличие от MAC-адресов, должна не только идентифицировать прибор, но и предоставлять какие-то указания на то, в каком домене прибор размещен. Давайте начнем с последнего.
Адресация устройств из разных широковещательных доменов
Схема адресации должна удовлетворять следующим требованиям:
- во-первых, адрес должен быть уникальным для всех широковещательных доменов. Два устройства из одного домена не могут иметь одинаковый адрес;
- во-вторых, адрес должен сообщать, какому домену он принадлежит. Адрес должен быть не только уникальным идентификатором прибора, но также и сообщать другим устройствам, к какому домену он принадлежит. Все это для того, чтобы избежать этих ужасных проблем лавинной передачи;
- в-третьих, адреса не могут присваиваться «при рождении», подобно MAC-адресу. Они должны конфигурироваться вами как сетевым администратором.
К счастью, вам нет необходимости ломать над этим голову. Такая адресная схема существует, и вы уже пользовались ею.
Адреса протокола интернета
Вы уже знаете, как выглядят IP-адреса. Один из самых распространенных IP- адресов - 192.168.1.1. Это последовательность четырех восьмеричных чисел (октетов), разделенных точкой, каждое число может располагаться в диапазоне от 0 до 255.
Вы, вероятно, видели адреса типа 192.168.x.x, всплывающие в различных местах. Это связано с тем, что адреса 192.168. x. x зарезервированы для использования в частных сетях, используемых у вас дома или на работе. Они глобально не уникальны, так как не доступны в общем пространстве Интернета. Но вы можете их использовать для адресации устройств в своей собственной внутренней сети.
В отличие от MAC-адресов, вы можете присваивать IP-адрес любому устройству, какому захотите. Вы можете создать собственную схему адресации, основанную на месторасположении прибора, а не просто на том, что они есть. Давайте рассмотрим пример.
Где ты?
Устройства, присоединенные к Коммутатору 1, образуют домен 1, а устройства, присоединенные к Коммутатору 2, входят в состав домена 2. Вы можете присваивать адреса 192.168.1.x устройствам в домене 1, а адреса 192.168.2.x - членам домена 2. Даже не глядя на рис. 2.8, просто зная IP-адреса, можно со всей очевидностью определить, какому домену принадлежит устройство.
Рис. 8. Каждое устройство имеет IP-адрес, который соответствует его домену
Дополнительно
Обратите внимание: если вы хотите добавить третий широковещательный домен, то можете назначить адреса 192.168.3. x устройствам в этом домене. Удобство использования IP-адресов заключается в том, что нет никакого практического ограничения на количество отдельных широковещательных доменов, которыми вы можете управлять.
Но у нас все еще нет связи между широковещательными доменами, устройства могут связываться между собой только внутри домена. Но возникает вопрос: теперь каждый прибор имеет два адреса, MAC- и IP-, какой из них использовать для коммуникаций внутри домена?
Дилемма: IP- или MAC-адрес
«Почему мы просто не можем использовать IP-адреса вместо MAC-адресов?» - распространенный вопрос среди ИТ-специалистов, пытающихся изучать сети. Это хороший вопрос.
Кроме всего прочего, MAC-адреса не очень удобны. Они тяжелы для запоминания, бессмысленны, их трудно (или невозможно) изменить. IP-адрес, напротив, легко запоминается, легко изменяется и может содержать множество полезной информации относительно месторасположения и функциональности. Победитель очевиден.
Итак, почему мы не можем просто использовать IP-адреса и забыть все вместе взятые MAC-адреса? Ответ прост, но немного тревожен.
Сетевые устройства внутри широковещательного домена все еще должны взаимодействовать с помощью MAC-адресов. Это требование стандарта Ethernet, которое существует уже десятилетия. Присвоение IP-адресов этого не меняет. Разумеется, кто-то может создать новый стандарт, который сделает MAC-адреса совершенно не нужными, но это потребует замены всех устройств в вашей сети.
Короче говоря, MAC-адреса по-прежнему используются. Это плохая новость. А хорошая новость состоит в том, что вам не нужно о них беспокоиться, ну или как минимум не очень часто.
ARP: протокол определения адреса
Напомню, что совместное использование MAC- и IP-адресов неэффективно и расточительно. Вот почему почти все приложения используют IP-адреса и совершенно игнорируют MAC-адреса. Протокол определения аДреса (Address Resolution Protocol, ARP) делает это возможным.
Протокол ARP предоставляет возможность простого замещения MAC-адресов IP-адресами. Преимущество протокола ARP - в том, что он допускает использование дружественных IP-адресов, совершенно не обращая внимания на MAC-адреса. Все сетевые устройства, произведенные с середины 1980-х годов, используют протокол ARP по умолчанию, поэтому нет нужды его настраивать.
Предположим, что мой компьютер отсылает на принтер некоторое задание на печать. Оба устройства в одном домене, следовательно, продолжают взаимодействовать, используя MAC-адреса. Но вы как сетевой администратор можете даже и не вспоминать о них. И мой компьютер обращается к принтеру Monoprint по IP-адресу: 192.168.1.20.
Рисунок 9 иллюстрирует работу ARP. Мой компьютер посылает ARP- запрос, который преобразуется в MAC-адрес принтера Monoprint. Этот запрос говорит: «Это 192.168.1.10, и мой MAC-адрес 0800.2700.EC26. У кого 192.168.1.20?» Мой компьютер помещает такой ARP-запрос в Ethernet-кадр и отправляет его по специальному широковещательному MAC-адресу, FFFF.FFFF.FFFF, как показано на рис. 9.
Рис. 9. Запросы и ответы в протоколе ARP
Напомню, что все сетевые устройства должны использовать MAC-адреса для коммуникации. Чтобы ARP-запрос моего компьютера получили все устройства в сети, он должен послать его по некоторому MAC-адресу. Он не может послать его на пустой адрес. Поэтому он посылает ARP-запрос на широковещательный MAC-адрес. Каждое устройство слышит широковещательный адрес в дополнение к своему собственному MAC-адресу. Это гарантирует, что каждый прибор в сети обратит внимание на любой ARP-запрос.
На шаге 1 мой компьютер отсылает ARP-запрос на широковещательный MAC-адрес (FFFF.FFFF.FFFF). На шаге 2 Monoprint возвращает ARP, заменяя содержащийся в нем IP-адрес на 192.168.1.20. Наконец, на шаге 3 мой компьютер отсылает задание на печать на MAC-адрес принтера Monoprint.
Коммутатор рассылает этот кадр по всем портам, включая и порт, к которому подключен принтер Monoprint. Принтер Monoprint получает кадр, рассматривает его и видит ARP-запрос. Принтер Monoprint видит вопрос: «Кто 192.168.1.20?» - и думает: «О, это мой IP-адрес!» Затем принтер Monoprint отсылает ARP-ответ на мой компьютер: «Это 192.168.20. Мой MAC-адрес - 0020.3500.CE26». Бинго. Теперь мой компьютер знает MAC-адрес и может использовать его для коммуникации.
Протокол ARP - это секретный «соус», который спасает от необходимости думать о MAC-адресах слишком часто. А ваша работа сводится к использованию дружественных, осмысленных IP-адресов большую часть времени.
Связь широковещательных доменов с помощью маршрутизатора
Теперь, когда вы можете использовать IP-адреса, пора изучить, как устройства могут использовать их для коммуникации между широковещательными доменами.
В данный момент у вас есть два отдельных, не связанных между собой домена. Чтобы их связать, не образуя единый широковещательный домен, вам необходимо специальное устройство, которое называется маршрутизатором. Маршрутизатор физически связывает домены таким образом, что кадры не могут покинуть их границ. Так как кадр содержит MAC-адреса и отправителя, и адресата, маршрутизатор эффективно скрывает MAC-адреса одного широковещательного домена от другого.
На рис. 10 маршрутизатор физически подключен к обоим доменам. Он имеет как минимум два порта или интерфейса, по одному на каждый связываемый домен. Каждый сетевой интерфейс маршрутизатора имеет уникальный MAC-адрес. Просто запомните, что каждый интерфейс маршрутизатора имеет уникальный MAC-адрес для совместимости с Ethernet-стандартами всех остальных устройств в сети. Подобно тому, как электронная книга продолжает использовать «страницы», маршрутизатор использует MAC-адреса для совместимости. Маршрутизатор имеет не только два MAC-адреса, но и два IP-адреса. Интерфейс маршрутизатора, подключенный к Коммутатору 1, имеет IP-адрес 192.168.1.254. Интерфейс маршрутизатора, подключенный к Коммутатору 2, имеет IP-адрес 192.168.2.254. Это уникальные IP-адреса, и третий октет в них указывает на домен.
Где ты? И где я?
Мой компьютер имеет IP-адрес 192.168.1.10 и принадлежит домену 1. IP-адрес сервера базы данных 192.168.2.70, и размещен он в домене 2. Значение этих адресов очевидно каждому. Устройство с адресом 192.168.1.x принадлежит домену 1, а адрес 192.168.2.x принадлежит домену 2.
Но мой компьютер этого не знает. Компьютер - прежде всего это тупая машина, которая делает лишь то, что ему сказано. Поэтому компьютеру надо каким-то образом объяснить, где какой домен. Когда он это поймет, он сможет разобраться, принадлежит ли какой-либо прибор его собственному домену или какому-то другому.
Определение подсети
На самом деле широковещательным доменам номеров не присваивают, так как это не какая-то реальная, физически существующая вещь. Но ассоциация набора IP-адресов с абстрактным понятием широковещательного домена упрощает понимание принципов его работы. Набор адресов, привязанных к определенному домену, называется подсетью.
Рис. 10. Маршрутизатор подключен к двум широковещательным доменам.
Для каждого домена маршрутизатору назначены уникальные IP- и MAC-адреса. Обратите внимание, что Ethernet-кадр не покидает пределов домена.
Для примера рассмотрим подсеть 192.168.1. x. В этом наборе адресов нет ничего, что бы говорило: «Все адреса от 192.168.1.1 до 192.168.1.255 принадлежат одному домену!» Если вы об этом уже подумали, то, вероятно, эта идея пришла к вам на основании прочитанного в этой главе, а не от того, что вы рассмотрели сам адрес. Но мой компьютер не может читать и понимать как человек, поэтому ему нужны явные указания на принадлежность адреса определенному домену.
Для этого используется маска подсети. Маска подсети - это четыре восьмеричных числа, формируемых как IP-адрес, и именно она указывает на диапазон адресов, которые принадлежат одному домену.
На рис. 11 показано, что мой компьютер имеет IP-адрес 192.168.1.10, а маска подсети - 255.255.255.0. В первой и второй строках табл. 2 приведено сравнение каждого октета. Значение 255 в маске подсети означает, что IP-адрес, у которого значение соответствующего октета равно этому значению, принадлежит этой подсети. Значение 0 означает, что величина соответствующего октета в IP-адресе не имеет значения для данной подсети.
Рис. 11. Команда ipconfig выводит на экран информацию о настройках протокола IP на моем компьютере
Таблица 2. Определение Домена по IP-адресу и маске поДсети
IP-адрес моего компьютера | 192 | 168 | 1 | 10 |
Маска подсети | 255 | 255 | 255 | 0 |
IP-адрес моего компьютера и маска подсети сами по себе совершенно бесполезны. Вопрос на засыпку: принадлежит ли IP-адрес 192.168.2.70 тому же домену, что и мой компьютер? Давайте возьмем этот IP-адрес и проанализируем его, как показано в табл. 3.
Таблица 3. IP-адрес сервера базы Данных отличается от IP-адреса моего компьютера
IP-адрес моего компьютера | 192 | 168 | 1 | 10 |
Маска подсети | 255 | 255 | 255 | 0 |
IP-адрес сервера базы данных | 192 | 168 | 2 | 70 |
Первые два октета совпадают, но третьи октеты различны. И в силу того, что соответствующий октет маски подсети равен 255, мой компьютер уже знает, что сервер базы данных находится в другом домене. Поэтому для обращения к серверу базы данных нужно использовать маршрутизатор. Но, прежде чем использовать маршрутизатор, он должен знать, что он существует и как к нему обратиться.
Практикум
Запустите оболочку командной строки Windows и введите команду ipconfig. Вы увидите IP-адрес и маску подсети. Проанализируйте известные вам IP-адреса, которые использует ваша компания. Определите, принадлежат ли они тому же домену, что и ваш компьютер.
Пересылка между доменами
с использованием шлюза по умолчанию
Теперь, когда мой компьютер определил, что сервер базы данных принадлежит другому домену, ему нужно знать, какой маршрутизатор использовать для соединения с этим сервером. Для этого он проверяет адрес его шлюза по умолчанию.
Адрес шлюза по умолчанию моего компьютера 192.168.1.254. Он соответствует IP-адресу интерфейса маршрутизатора, который подключен к его домену. Основываясь на адресе шлюза по умолчанию, мой компьютер знает, что когда ему нужно отправить что-либо на IP-адрес вне своего собственного широковещательного домена, он должен передать это сообщение через маршрутизатор.
Дополнительно
Отмечу, что IP-адрес моего компьютера - 192.168.1.10, а IP-адрес шлюза по умолчанию принадлежат одной подсети. Это действительно важно. Если устройство не принадлежит той же подсети, что и маршрутизатор, оно не может обратиться ни к кому вне своего домена.
Мой компьютер посылает ARP-запрос по адресу 192.168.1.254, и маршрутизатор в ответе сообщает, что его собственный MAC-адрес - 0073.37c1.5c01. Мой компьютер собирает Ethernet-кадр и отправляет его на MAC-адрес маршрутизатора. Но в то же время он собирает «конверт» поменьше, называемый IP-пакетом. Если Ethernet-кадр - это большой конверт с MAC-адресами, то IP-пакет - конверт поменьше, содержащий лишь IP-адреса отправителя и получателя.
IP-пакет содержит IP-адрес моего компьютера 192.168.1.10 (отправителя) и IP-адрес 192.168.2.70 сервера базы данных (получателя). На рис. 12 показано, как мой компьютер размещает этот малый конверт - IP-пакет - внутри большого конверта - Ethernet-кадра, в котором MAC-адрес маршрутизатора указан как адрес получателя. Этот процесс «наполнения Ethernet-конверта» называется инкапсуляцией.
Мой компьютер отсылает маршрутизатору Ethernet-кадр, который содержит IP-пакет. Маршрутизатор, получив Ethernet-кадр, извлекает IP-пакет и видит IP-адрес получателя. Маршрутизатор определяет, что 192.168.2.70 - это адрес, принадлежащий домену 2, который подключен к одному из его интерфейсов.
Тогда он отправляет ARP-запрос серверу, используя его IP-адрес 192.168.2.70. ARP-запрос говорит: «Это 192.168.2.254. У кого 192.168.2.70?» Сервер отвечает, указывая свой MAC-адрес, а маршрутизатор берет IP-пакет и вкладывает его в новый Ethernet-кадр, в котором уже содержится MAC-адрес сервера как получателя. Все это отражено на рис. 13.
Рис. 12. IP-пакет инкапсулирован в Ethernet-кадр
Рис. 13. Маршрутизатор повторно инкапсулирует IP-пакет, переданный моим компьютером
На шаге 1 маршрутизатор удаляет (декапсулирует) IP-пакет из первичного кадра. На шаге 2 маршрутизатор повторно инкапсулирует пакет в новый кадр, адресованный серверу базы данных.
Отмечу, что сам IP-пакет никогда не изменяется в процессе пересылки. Маршрутизатор сохраняет оба IP-адреса, как отправителя, так и получателя, и заменяет только MAC-адреса в Ethernet-кадре. Далее он отправляет новый Ethernet-кадр серверу. Сервер, получив его, извлекает IP-пакет и говорит: «Эй! Я и есть 192.168.2.70! Этот пакет предназначен для меня».
Рисунок 14 иллюстрирует, как маршрутизатор пересылает пакет за пределы домена, скрывая MAC-адреса одного домена от устройств другого. Этот процесс называется IP-маршрутизацией.
Рис. 14. Использование маршрутизатора для пересылки информации между доменами
На шаге 1 мой компьютер отправляет ARP-запрос, чтобы получить MAC-адрес. На шаге 2 маршрутизатор отправляет ARP-ответ, содержащий его IP-адрес. На шаге 3 мой компьютер пересылает кадр, адресованный маршрутизатору, по его MAC-адресу (0073.37c1.5cO1). Кадр содержит IP-пакет, адресованный серверу базы данных (192.168.2.70). На шаге 4 маршрутизатор отправляет ARP-запрос для получения MAC-адреса сервера. На шаге 5 сервер отправляет ARP-ответ. Наконец, на шаге 6 маршрутизатор отправляет кадр, адресованный серверу базы данных, по его MAC-адресу (O0db.dbdb.5O1O); пересылаемый кадр содержит оригинальный IP-пакет.
Пришла пора подвести итоги. На рис. 15 показано, как IP-пакет проходит весь путь от моего компьютера до сервера базы данных без лавинной передачи на все устройства.
Рис. 15. Использование маршрутизации и коммуникации для пересылки IP-пакета между доменами без лавинной передачи
На шаге 1 мой компьютер инкапсулирует IP-пакет в кадр, адресованный маршрутизатору. Кадр пересылается на Коммутатор 1, который пересылает его на Коммутатор 2. На шаге 2 маршрутизатор удаляет IP-пакет, видит IP-адрес получателя и инкапсулирует его в новый кадр, адресованный серверу базы данных. На шаге 3 маршрутизатор пересылает новый кадр на Коммутатор 2, который и пересылает его на сервер.
Управление маршрутизаторами и коммутаторами
Теперь у вас есть базовое понимание роли маршрутизаторов и коммутаторов. Возможно, у вас уже зачесались руки потыкать в них пальцем и попытаться их конфигурировать. Но, прежде чем вы попробуете это, вам нужно получить к ним реальный доступ.
Маршрутизаторы и коммутаторы имеют собственные IP-адреса. Для назначения каждому маршрутизатору и коммутатору IP-адреса обычно используют специальный менеджер IP-адресов. Такой менеджер позволяет производить администрирование устройств дистанционно, не имея к ним физического доступа. Маршрутизаторы и коммутаторы вашей компании почти наверняка закрыты на ключ, где-нибудь в каморке дата-центра, и даже если вы получите к ним доступ, конфигурировать их непосредственно в ручном режиме довольно затруднительно. Вот зачем нужно иметь менеджер IP-адресов и пароль, предоставляющий полномочия администратора для конфигурирования всех устройств. Убедитесь, что вы сможете это сделать до завтрашнего урока.
Практическое задание
Загрузите файл Inventory worksheet.xlsx. Откройте менеджер IP-адресов и перепишите IP-адреса всех маршрутизаторов и коммутаторов вашей компании (или вашей тестовой сети). Получите также данные для авторизации (имя пользователя (логин) и пароль), предоставляющие полномочия администратора для каждого устройства сети.
На вашем компьютере запустите оболочку командной строки. Узнайте MAC- адрес, IP-адрес и адрес шлюза по умолчанию вашего компьютера, выполнив команду ipconfig /all
. Введите команду arp -а
и узнайте MAC-адрес шлюза по умолчанию. Внесите полученную информацию в файл Inventory worksheet.xlsx.