Маршрутизация
Схемы маршрутизации |
---|
|
Маршрутизация (англ. Routing) — процесс определения маршрута следования информации в сетях связи.
Маршруты могут задаваться административно (статические маршруты), либо вычисляться с помощью алгоритмов маршрутизации, базируясь на информации о топологии и состоянии сети, полученной с помощью протоколов маршрутизации (динамические маршруты).
Статическими маршрутами могут быть:
- маршруты, не изменяющиеся во времени;
- маршруты, изменяющиеся по расписанию;
Маршрутизация в компьютерных сетях выполняется специальными программно-аппаратными средствами — маршрутизаторами; в простых конфигурациях может выполняться и компьютерами общего назначения, соответственно настроенными.
Содержание
Маршрутизируемые протоколы
Протокол маршрутизации может работать только с пакетами, принадлежащими к одному из маршрутизируемых протоколов, например, IP, IPX или Xerox Network System, AppleTalk. Маршрутизируемые протоколы определяют формат пакетов (заголовков), важнейшей информацией из которых для маршрутизации является адрес назначения. Протоколы, не поддерживающие маршрутизацию, могут передаваться между сетями с помощью туннелей. Подобные возможности обычно предоставляют программные маршрутизаторы и некоторые модели аппаратных маршрутизаторов.
Программная и аппаратная маршрутизация
Первые маршрутизаторы представляли собой специализированное ПО, обрабатывающее приходящие IP-пакеты специфичным образом. Это ПО работало на компьютерах, у которых было несколько сетевых интерфейсов, входящих в состав различных сетей (между которыми осуществляется маршрутизация). В дальнейшем появились маршрутизаторы в форме специализированных устройств. Компьютеры с маршрутизирующим ПО называют программные маршрутизаторы, оборудование — аппаратные маршрутизаторы.
В современных аппаратных маршрутизаторах для построения таблиц маршрутизации используется специализированное ПО («прошивка»), для обработки же IP-пакетов используется коммутационная матрица (или другая технология аппаратной коммутации), расширенная фильтрами адресов в заголовке IP-пакета.
Аппаратная маршрутизация[1]
Выделяют два типа аппаратной маршрутизации: со статическими шаблонами потоков и с динамически адаптируемыми таблицами.
Статические шаблоны подразумевают разделение всех входящих в маршрутизатор IP-пакетов на виртуальные потоки; каждый поток характеризуется набором признаков для пакета такие как: IP-адресами отправителя/получателя, TCP/UDP-порт отправителя/получателя (в случае поддержки маршрутизации на основании информации 4 уровня), порт, через который пришёл пакет.
Оптимизация маршрутизации при этом строится на идее, что все пакеты с одинаковыми признаками должны обрабатываться одинаково (по одинаковым правилам), при этом признаки проверяются только для первого пакета в потоке (при появлении пакета с набором признаков, не укладывающимся в существующие потоки, создаётся новый поток), по результатам анализа этого пакета формируется статический шаблон, который и используется для определения правил коммутации приходящих пакетов (внутри потока). Обычно время хранения неиспользующегося шаблона ограничено (для освобождения ресурсов маршрутизатора). Ключевым недостатком подобной схемы является инерционность по отношению к изменению таблицы маршрутизации (в случае существующего потока изменение правил маршрутизации пакетов не будет «замечено» до момента удаления шаблона).
Динамически адаптируемые таблицы используют правила маршрутизации «напрямую», используя маску и номер сети из таблицы маршрутизации для проверки пакета и определения порта, на который нужно передать пакет. При этом изменения в таблице маршрутизации (в результате работы, например, протоколов маршрутизации/резервирования) сразу же влияют на обработку всех новопришедших пакетов. Динамически адаптируемые таблицы также позволяют легко реализовывать быструю (аппаратную) проверку списков доступа.
Программная маршрутизация
Программная маршрутизация выполняется либо специализированным ПО маршрутизаторов (в случае, когда аппаратные методы не могут быть использованы, например, в случае организации туннелей), либо программным обеспечением на компьютере. В общем случае, любой компьютер осуществляет маршрутизацию своих собственных исходящих пакетов (как минимум, для разделения пакетов, отправляемых на шлюз по умолчанию и пакетов, предназначенных узлам в локальном сегменте сети). Для маршрутизации чужих IP-пакетов, а также построения таблиц маршрутизации используется различное ПО:
- Сервис RRAS (англ. routing and remote access service) в Windows Server
- Демоны routed, gated, quagga в Unix-подобных операционных системах (Linux, FreeBSD и т. д.)
Маршрутизация в сети Интернет
Маршрутизация в сети Интернет основана на протоколах TCP/IP.
Передача информации осуществляется с помощью IP-пакетов, заголовок каждого IP-пакета содержит IP-адреса получателя и отправителя пакета. Каждый пакет обрабатывается маршрутизатором в соответствии с его таблицей маршрутизации. Таблица, в свою очередь, содержит информацию, компьютеру с каким адресом направлять пакеты с тем или иным диапазоном адресов. Например, все пакеты определённого диапазона могут направляться другому маршрутизатору, который «отвечает» за этот сегмент.
В ряде случаев маршрутизатор может преобразовывать заголовок пакета, заменяя адреса отправителя и/или получателя пакета. В частности, это происходит при взаимодействии локальной сети (имеющей свои адреса) с глобальной сетью Интернет. В этом случае локальная сеть может быть видна извне по одному глобальному IP-адресу. Для того, чтобы маршрутизатор мог направлять пакеты с одним глобальным адресом тем или иным получателям в локальной сети, используется таблица NAT, где помимо IP-адресов указываются порты, идентифицирующие приложения, устанавливающие соединение. При этом номера портов указаны не в заголовке IP-пакета, а в заголовке сегмента TCP либо UDP (сегменты инкапсулируются в поле данных IP-пакетов). Это позволяет осуществлять взаимно-однозначную идентификацию получателя и отправителя в тех случаях, когда за одним глобальным адресом находится множество компьютеров локальных сетей. Пример таблицы NAT[2]:
Глобальный адрес | Локальный адрес |
---|---|
209.165.200.226:1444 | 192.168.1.15:1444 |
209.165.200.226:1445 | 192.168.1.26:1444 |
См. также
Напишите отзыв о статье "Маршрутизация"
Литература
- Джо Брокмайер, Ди-Анн Лебланк, Рональд Маккарти, мл. Маршрутизация в Linux = Linux Routing. — М.: «Вильямс», 2002. — С. 240. — ISBN 1-57870-267-4.
- Аллан Леинванд, Брюс Пински. [www.ciscopress.ru/books/Cisco_Config.html Конфигурирование маршрутизаторов Cisco] = Cisco Router Configuration. — 2-е изд. — М.: «Вильямс», 2001. — С. 368. — ISBN 1-57870-241-0.
Примечания
- ↑ Раздел «Аппаратная маршрутизация» даётся по книге Александр Филимонов — Построение мультисервисных сетей Ethernet, 2007 BVH-Петербург, ISBN 978-5-9775-0007-4
- ↑ [zaycev.me/index.php/myblog/entry/2015/08/17/printsip-raboty-nat Принцип работы NAT]
Отрывок, характеризующий Маршрутизация
Так говорится в историях, и все это совершенно несправедливо, в чем легко убедится всякий, кто захочет вникнуть в сущность дела.Русские не отыскивали лучшей позиции; а, напротив, в отступлении своем прошли много позиций, которые были лучше Бородинской. Они не остановились ни на одной из этих позиций: и потому, что Кутузов не хотел принять позицию, избранную не им, и потому, что требованье народного сражения еще недостаточно сильно высказалось, и потому, что не подошел еще Милорадович с ополчением, и еще по другим причинам, которые неисчислимы. Факт тот – что прежние позиции были сильнее и что Бородинская позиция (та, на которой дано сражение) не только не сильна, но вовсе не есть почему нибудь позиция более, чем всякое другое место в Российской империи, на которое, гадая, указать бы булавкой на карте.
Русские не только не укрепляли позицию Бородинского поля влево под прямым углом от дороги (то есть места, на котором произошло сражение), но и никогда до 25 го августа 1812 года не думали о том, чтобы сражение могло произойти на этом месте. Этому служит доказательством, во первых, то, что не только 25 го не было на этом месте укреплений, но что, начатые 25 го числа, они не были кончены и 26 го; во вторых, доказательством служит положение Шевардинского редута: Шевардинский редут, впереди той позиции, на которой принято сражение, не имеет никакого смысла. Для чего был сильнее всех других пунктов укреплен этот редут? И для чего, защищая его 24 го числа до поздней ночи, были истощены все усилия и потеряно шесть тысяч человек? Для наблюдения за неприятелем достаточно было казачьего разъезда. В третьих, доказательством того, что позиция, на которой произошло сражение, не была предвидена и что Шевардинский редут не был передовым пунктом этой позиции, служит то, что Барклай де Толли и Багратион до 25 го числа находились в убеждении, что Шевардинский редут есть левый фланг позиции и что сам Кутузов в донесении своем, писанном сгоряча после сражения, называет Шевардинский редут левым флангом позиции. Уже гораздо после, когда писались на просторе донесения о Бородинском сражении, было (вероятно, для оправдания ошибок главнокомандующего, имеющего быть непогрешимым) выдумано то несправедливое и странное показание, будто Шевардинский редут служил передовым постом (тогда как это был только укрепленный пункт левого фланга) и будто Бородинское сражение было принято нами на укрепленной и наперед избранной позиции, тогда как оно произошло на совершенно неожиданном и почти не укрепленном месте.
Дело же, очевидно, было так: позиция была избрана по реке Колоче, пересекающей большую дорогу не под прямым, а под острым углом, так что левый фланг был в Шевардине, правый около селения Нового и центр в Бородине, при слиянии рек Колочи и Во йны. Позиция эта, под прикрытием реки Колочи, для армии, имеющей целью остановить неприятеля, движущегося по Смоленской дороге к Москве, очевидна для всякого, кто посмотрит на Бородинское поле, забыв о том, как произошло сражение.
Наполеон, выехав 24 го к Валуеву, не увидал (как говорится в историях) позицию русских от Утицы к Бородину (он не мог увидать эту позицию, потому что ее не было) и не увидал передового поста русской армии, а наткнулся в преследовании русского арьергарда на левый фланг позиции русских, на Шевардинский редут, и неожиданно для русских перевел войска через Колочу. И русские, не успев вступить в генеральное сражение, отступили своим левым крылом из позиции, которую они намеревались занять, и заняли новую позицию, которая была не предвидена и не укреплена. Перейдя на левую сторону Колочи, влево от дороги, Наполеон передвинул все будущее сражение справа налево (со стороны русских) и перенес его в поле между Утицей, Семеновским и Бородиным (в это поле, не имеющее в себе ничего более выгодного для позиции, чем всякое другое поле в России), и на этом поле произошло все сражение 26 го числа. В грубой форме план предполагаемого сражения и происшедшего сражения будет следующий:
Ежели бы Наполеон не выехал вечером 24 го числа на Колочу и не велел бы тотчас же вечером атаковать редут, а начал бы атаку на другой день утром, то никто бы не усомнился в том, что Шевардинский редут был левый фланг нашей позиции; и сражение произошло бы так, как мы его ожидали. В таком случае мы, вероятно, еще упорнее бы защищали Шевардинский редут, наш левый фланг; атаковали бы Наполеона в центре или справа, и 24 го произошло бы генеральное сражение на той позиции, которая была укреплена и предвидена. Но так как атака на наш левый фланг произошла вечером, вслед за отступлением нашего арьергарда, то есть непосредственно после сражения при Гридневой, и так как русские военачальники не хотели или не успели начать тогда же 24 го вечером генерального сражения, то первое и главное действие Бородинского сражения было проиграно еще 24 го числа и, очевидно, вело к проигрышу и того, которое было дано 26 го числа.
После потери Шевардинского редута к утру 25 го числа мы оказались без позиции на левом фланге и были поставлены в необходимость отогнуть наше левое крыло и поспешно укреплять его где ни попало.
Но мало того, что 26 го августа русские войска стояли только под защитой слабых, неконченных укреплений, – невыгода этого положения увеличилась еще тем, что русские военачальники, не признав вполне совершившегося факта (потери позиции на левом фланге и перенесения всего будущего поля сражения справа налево), оставались в своей растянутой позиции от села Нового до Утицы и вследствие того должны были передвигать свои войска во время сражения справа налево. Таким образом, во все время сражения русские имели против всей французской армии, направленной на наше левое крыло, вдвое слабейшие силы. (Действия Понятовского против Утицы и Уварова на правом фланге французов составляли отдельные от хода сражения действия.)
Итак, Бородинское сражение произошло совсем не так, как (стараясь скрыть ошибки наших военачальников и вследствие того умаляя славу русского войска и народа) описывают его. Бородинское сражение не произошло на избранной и укрепленной позиции с несколько только слабейшими со стороны русских силами, а Бородинское сражение, вследствие потери Шевардинского редута, принято было русскими на открытой, почти не укрепленной местности с вдвое слабейшими силами против французов, то есть в таких условиях, в которых не только немыслимо было драться десять часов и сделать сражение нерешительным, но немыслимо было удержать в продолжение трех часов армию от совершенного разгрома и бегства.
25 го утром Пьер выезжал из Можайска. На спуске с огромной крутой и кривой горы, ведущей из города, мимо стоящего на горе направо собора, в котором шла служба и благовестили, Пьер вылез из экипажа и пошел пешком. За ним спускался на горе какой то конный полк с песельниками впереди. Навстречу ему поднимался поезд телег с раненными во вчерашнем деле. Возчики мужики, крича на лошадей и хлеща их кнутами, перебегали с одной стороны на другую. Телеги, на которых лежали и сидели по три и по четыре солдата раненых, прыгали по набросанным в виде мостовой камням на крутом подъеме. Раненые, обвязанные тряпками, бледные, с поджатыми губами и нахмуренными бровями, держась за грядки, прыгали и толкались в телегах. Все почти с наивным детским любопытством смотрели на белую шляпу и зеленый фрак Пьера.