- Коммутация
- Установка коммутаторов
- Типы коммутаторов
- Маршрутизация
- Маршрутизация пакетов
- Таблицы маршрутизации
Коммутация
Коммутаторы — устройств канального уровня. В современных сетях они почти совершенно вытеснили мосты и частично маршрутизаторы. Коммутатор (switch) — это корпус со множеством гнезд для кабелей, который внешне похож на концентратор. Более того, некоторые производители выпускают концентраторы и комму таторы, различающиеся лишь маркировкой. Но это совершенно разные устройства: концентратор передает каждый входящий пакет через все порты, а коммутатор направляет его только на порт, обеспечивающий доступ к целевой системе (рис. 3.4).
Поскольку коммутатор направляет данные только на один порт, он, по сути, преобразует ЛВС с общей сетевой средой в ЛВС с выде ленной (dedicated) средой. В небольшой сети с коммутатором вместо концентратора каждый пакет следует от компьютера-источника к компьютеру-получателю по выделенному пути, который является коллизионным доменом для этих двух компьютеров.
Такой коммутатор иногда называют коммутирующим концентратором (switching hub). Широковещательные сообщения коммутаторы передают на все свои порты, но к узковещательным и многоадресным сообщениям это не относится. Ни один компьютер не получает пакеты, которые ему не предназначены. В процессе узковещательной передачи коллизии никогда не возникают, так как любая пара компьютеров в сети обменивается данными по выделенному кабелю. Иными словами, если мост просто разгружает сеть, то коммутатор практически полностью устраняет в ней лишний трафик.
Другое преимущество коммутации в том, что любая пара компьютеров пользуется всей полосой пропускания сети. Стандартная сеть Ethernet с концентратором может состоять из 20 или более компьютеров, совместно использующих полосу пропускания 10 Мбит/сек. Замените концентратор на коммутатор, и каждая пара компьютеров получит собственный выделенный канал со скоростью передачи 10 Мбит/сек. Это может существенно повысить общую производительность сети без модернизации рабочих станций. Кроме того, некоторые коммутаторы снабжены портами, работающими в полнодуплексном режиме, т. е. два компьютера могут передавать данные в обоих направлениях одновременно, используя отдельные пары проводов в сетевом кабеле. Работа в полнодуплексном режиме может увеличить пропускную способность сети с 10 Мбит/сек до 20 Мбит/сек.
Примечание: Коммутаторы, как правило, дороже концентраторов и дешевле маршрутизаторов. Как и концентраторы, по размерам коммутаторы варьируются от небольших блоков до моделей, смонтированных в отдельных стойках.
Установка коммутаторов
В небольших сетях, как правило, вместо коммутатора можно исполь зовать концентратор. Чаще коммутаторы применяют в крупных интерсетях вместо мостов или маршрутизаторов. Если в обычной корпоративной сети, состоящей из магистрали и нескольких сегментов, заменить маршрутизаторы коммутаторами, эффект будет поразительный. В сети с маршрутизатором магистраль переносит межсетевой трафик, сгенерированный всеми сегментами. Это приводит к тому, что она всегда работает в условиях высокого трафика. В коммутируемой сети компьютеры подсоединены к отдельным коммутаторам рабочих групп, которые в свою очередь связаны с высокопроизводительным коммутатором магистрали (рис. 3.5). В результате любой компьютер сети может соединиться по выделенному каналу с любым другим компьютером, даже если данные проходят через несколько коммутаторов.
Существует много вариантов использования коммутаторов в сложных интерсетях; менять сразу все концентраторы и маршрутизаторы на коммутаторы не придется. Например, можно продолжать пользоваться обычными сетевыми концентраторами, но подключить их не к маршрутизатору, а к многопортовому коммутатору. От этого эффек тивность межсетевого трафика возрастет. С другой стороны, если в Вашей сети большой объем трафика генерируется внутри отдельных ЛВС, а не между ними, можно, не затрагивая магистраль, заменить коммутаторами концентраторы рабочих станций, увеличив тем самым доступную каждому компьютеру полосу пропускания.
Проблема больших интерсетей, связанная с заменой всех мар шрутизаторов на коммутаторы, состоит в том, что в результате вместо нескольких небольших широковещательных доменов Вы получаете один, но очень большой (о коллизионных доменах Вам беспокоиться не придется, потому что коллизий будет гораздо меньше). Любое широковещательное сообщение, сгенерированное одним компьютером, коммутаторы передают всем остальным компьютерам сети, увеличивая тем самым количество лишних пакетов, обрабатываемых каждой системой. Существует несколько технологий для решения этой проблемы.
• Виртуальные ЛВС (ВЛВС) позволяют выделять в коммутируемой сети подсети, существующие только внутри коммутаторов. Адреса систем, входящих в данную подсеть, задаются сетевым администратором; физическая сеть остается коммутируемой. Системы подсети могут находиться где угодно, поскольку подсеть виртуальна и не зависит от физического расположения компьютеров. Когда компьютер, включенный в подсеть, передает широковещательное сообщение, оно передается только компьютерам данной подсети. Связь между подсетями может осуществляться с помощью маршрутизатора или коммутатора, но внутри ВЛВС трафик может быть только коммутируемым.
• Уровень коммутации 3 — это вариант ВЛВС, минимизирующий объем маршрутизации между виртуальными сетями. Когда требуется установить связь между системами в разных ВЛВС, маршрутизатор устанавливает соединение между системами, а затем управление берут на себя коммутаторы. Маршрутизация осуществляется только тогда, когда она действительно необходима.
Типы коммутаторов
Существует два основных типа коммутаторов: сквозные (cut- through) и с промежуточной буферизацией (store-and-forward). Сквозной коммутатор передает пакеты через соответствующий порт без дополнительной обработки, немедленно, как только они получены, считывая адрес целевой системы в заголовке протокола канального уровня. Коммутатор начинает передачу пакета, даже не дожидаясь завершения его приема. Как правило, в сквозных коммутаторах используется аппаратный компонент, состоящий из набора схем ввода- вывода, который позволяет данным поступать в коммутатор и покидать его через любой порт. Такие коммутаторы называются еще матричными (matrix) или координатными (crossbar). Они относительно недороги и сводят к минимуму так называемое время ожидания (latency), т. е. время, затрачиваемое коммутатором на обработку пакетов.
Коммутатор с промежуточной буферизацией дожидается завершения приема пакета и лишь потом отправляет его по назначению. Различают коммутаторы с общей памятью (shared-memory switch), т. е. с общим буфером для хранения данных всех портов, и коммутаторы с шиной (bus architecture switch) — с отдельными буферами для каждого порта, соединенными шиной. Пока пакет хранится в буферах, коммутатор пользуется этой возможностью, чтобы проверить данные, вычислив их код CRC. Кроме того, коммутатор отслеживает появление других проблем, присущих конкретному протоколу канального уровня, которые приводят к формированию дефектных кадров, на сленге именуемых коротышками (runt), гигантами (giant) и тарабар щиной (jabber). Эта проверка, естественно, увеличивает время ожидания, а дополнительные функции повышают стоимость коммутаторов с промежуточным хранением по сравнению со сквозными.
Маршрутизация
Маршрутизатором (router) называется устройство, связывающее вместе две сети, формируя из них интерсеть. В отличие от мостов и коммутаторов, маршрутизаторы функционируют на сетевом уровне эталонной модели OSI. Это означает, что маршрутизатор может связывать ЛВС, которые работают с разными протоколами канального уровня (например, Ethernet и Token Ring), при условии, что все они используют один и тот же протокол сетевого уровня. Самым популярным в наши дни является набор протоколов TCP/IP, на сетевом уровне которого действует протокол IP. Таким образом, большая часть информации, которую Вы будете узнавать о маршрутизаторах, будет относиться к протоколу IP.
Когда компьютеру в одной ЛВС нужно передать данные компьютеру в другой ЛВС, он посылает пакеты маршрутизатору в своей локальной сети, а маршрутизатор направляет их в целевую сеть. Если система-получатель находится в удаленной сети, маршрутизатору приходится пересылать пакеты другому маршрутизатору. В больших интерсетях, подобных Интернету, пакетам на пути к целевому компьютеру приходится проходить через множество маршрутизаторов.
Поскольку маршрутизаторы работают на сетевом уровне, они не связаны ограничениями протоколов канального уровня. Пакет, поступающий в маршрутизатор, продвигается по стеку протоколов к сетевому уровню, причем по ходу дела кадр канального уровня отсекается. Маршрушзатор определяет, куда нужно отправить пакет, и передает данньк вниз по стеку другому сетевому интерфейсу, который для отправки инкапсулирует их в новый кадр. Если два протокола канального уровня поддерживают пакеты разных размеров, мар шрутизатору, возможно, придется фрагментировать данные сетевого уровня и создавать из них несколько кадров.
Маршрутизация пакетов
В отношении пакетов, пересылаемых другим портам, маршрутизаторы более избирательны, чем концентраторы, мосты и коммутаторы. Работая на границах ЛВС, они не передают широковещательные сообщения за исключением некоторых специальных случаев. Маршрутизатор осуществляет передачу пакетов, руководствуясь не аппаратным адресом в заголовке канального уровня, а адресом оконечной целевой системы в заголовке протокола сетевого уровня. Информация о смежных с маршрутизатором сетях содержится в его внутренней таблице маршрутизации (routing table). По этой таблице маршрутизатор определяет, куда направить очередной пакет. Если пакет предназначен для системы в одной из сетей, к которым подключен маршрутизатор, он передает пакет непосредственно этой системе. Если пакет предназначен системе в удаленной сети, маршрутизатор через одну из смежных сетей передает пакет другому маршрутизатору.
Рассмотрим в качестве примера корпоративную интерсеть, состоящую из магистрали и нескольких сегментов, подключенных к ней с помощью маршрутизаторов (рис. 3.6). Компьютеры каждого сегмента используют в качестве шлюза по умолчанию маршрутизатор, связывающий этот сегмент с магистралью. Все пакеты, генерируемые в локальной сети, передаются либо одной из систем этой же сети, либо шлюзу по умолчанию. Маршрутизатор-шлюз удаляет из каждого пакета кадр канального уровня и считывает из заголовка сетевого уровня адрес оконечной целевой системы.
По своей таблице маршрутизации шлюз определяет, через какой маршрутизатор он может получить доступ к сети, в которой находится око нечная система. Адрес этого маршрутизатора указывается в качестве целевого адреса канального уровня в новом кадре, который шлюз создает для пакета с помощью протокола канального уровня магистрали (он может отличаться от протокола, используемого в сегменте). Затем пакет достигает следующего маршрутизатора, и процесс повторяется. Когда очередной маршрутизатор находит по своей таблице, что целевая система находится в сегменте, с которым он соединен, маршрутизатор создает кадр для передачи пакета непосредственно этой системе.
Если пакету на пути к конечному пункту приходится проходить через множество сетей (рис. 3.7), каждый обрабатывающий его маршрутизатор называют транзитом (hop). Маршрутизаторы часто оценивают эффективность маршрута по числу транзитов от исходной до целевой системы. Одна из основных функций маршрутизатора — выбор наилучшего маршрута по данным из таблицы маршрутизации.
Помимо объединения в интерсеть нескольких ЛВС в пределах одного здания, маршрутизаторы способны также соединять удаленные сети. Организации, состоящие из нескольких филиалов, часто соединяют локальные сети в этих филиалах, устанавливая в каждой сети маршрутизатор и соединяя эти маршрутизаторы с помощью выделенных телефонных линий или других технологий ГВС, например, транс ляции кадров (Frame Relay). Поскольку во всех филиалах широковещательный домен ограничен локальной сетью, по линиям ГВС передаются лишь пакеты, предназначенные для систем в других сетях. Объем трафика по каналам ГВС сведен к минимуму, а значит, минимальна и их стоимость.
Таблицы маршрутизации
Таблица маршрутизации — это сердце маршрутизатора. Без нее маршрутизатор не узнает, куда пересылать получаемые пакеты. Возникает вопрос, откуда она берется? В отличие от мостов и коммутаторов, маршрутизаторы не умеют составлять таблицы маршрутизации на основе информации из обрабатываемых ими пакетов. Это связано с тем, что для заполнения таблицы маршрутизации нужны подробности, которых в пакетах нет, а также с тем, что таблица необходима маршрутизатору для обработки первых же полученных им пакетов. Маршрутизатор, в отличие от моста, во все возможные пункты назначения пакеты не пересылает.
Таблицы маршрутизации создаются вручную или автоматически. Первый способ создания таблицы называется статической маршру тизацией (static routing). Сетевой администратор решает, что следует делать маршрутизатору при получении пакетов, адресованных системам в конкретной сети, и вводит необходимые данные в таблицу. Этим еще можно заниматься в относительно небольшой сети с несколькими маршрутизаторами, но в большой сети конфигурирование таблиц вручную становится неподъемной задачей. Кроме того, маршрутизаторы не могут автоматически корректировать таблицы при изменении структуры сети.
При динамической маршрутизации (dynamic routing) маршрутизаторы с помощью специализированных протоколов маршрутизации обмениваются информацией друг о друге и сетях, к которым они под ключены. Когда все маршрутизаторы в интерсети обменяются друг с другом таблицами, у каждого из них будет информация не только о своей собственной, но и о более удаленных сетях.
Протоколов маршрутизации существует множество, особенно в Интернете, где маршрутизация является одним из самых сложных и жизненно важных компонентов инфраструктуры. Динамическая мар шрутизация не требует прямого участия системных администраторов, не считая установки и запуска протоколов маршрутизации, а также обеспечивает автоматическое обновление содержимого таблиц при изменениях в сети. Допустим, один из маршрутизаторов вышел из строя. Через некоторое время все маршрутизаторы, которые обычно связывались с ним, удалят неисправный маршрутизатор из своих таблиц, передадут информацию о нем другим маршрутизаторам, и вскоре вся сеть прекратит попытки воспользоваться неисправным маршрутом. Когда маршрутизатор «вернется в строй», другие маршрутизаторы снова включат его в свои таблицы.
В задачу маршрутизатора входит также выбор для каждого пакета наилучшего маршрута до места назначения. В сравнительно небольших интерсетях (рис. 3.6) к конкретной системе есть только один возможный маршрут. Однако в более сложных сетях администраторы часто устанавливают несколько маршрутизаторов, чтобы в случае неисправности одного из них пакеты добрались до цели другим путем. В таблицу маршрутизации включаются все возможные маршруты к данной системе, причем каждый из них характеризуется величиной метрики (metric), определяющей относительную эффективность данного маршрута. Смысл метрики зависит от протокола маршрутизации, который ее генерирует. Иногда это просто число транзитов между мар шрутизатором и целевой системой. В других случаях метрика вычисляется сложнее.