Меню

Таблица маршрутизации узла сети

Таблицы маршрутизации

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

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

Просмотр таблицы маршрутизации

Приведу вывод команды route print на моем стаионарном компьютере:

Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.1.0 255.255.255.0 On-link 192.168.1.100 276
192.168.1.100 255.255.255.255 On-link 192.168.1.100 276
192.168.1.255 255.255.255.255 On-link 192.168.1.100 276
244.0.0.0 240.0.0.0 On-link 127.0.0.1 306
244.0.0.0 240.0.0.0 On-link 192.168.1.100 276
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.1.100 276

Вот так мы можем просмотреть таблицы маршрутизации. Попробуем описать, что все это означает. Каждая строчка опреедляет, куда отправлять какие пакеты. То есть для диапазона, задаваемого значениями в колонках «сетевой адрес» и «маска сети» создается сетевой маршрут. Например, адрес 192.168.0.1 и маска 255.255.255.0 означают, что имеется в виду диапазон 192.168.0.*. Маска всегда имеет вид, когда вначале стоят 255, в конце — нули, а последним ненулевым числом может быть степень двойки минус один. Например, для маски 255.255.127.0 и того же адреса 192.168.0.1 диапазон будет чуть шире, в него войдут и адреса вида 192.168.1.*. Чтобы описать это точнее, надо представить все числа в двоичном виде, но это не является целью статьи.

Итак, если мы определились с диапазоном, мы должны понять, куда же компьютер будет направлять пакеты, если они предназначены адресам из этого диапазона. Начнем с четвертой колонки. Она определяет тот адаптор, на который нужно отправлять пакеты. Например, в данном случае, в ней встречаются 192.168.1.100 — это адрес моей сетевой карты и 127.0.0.1 — так называемая обратная петля. Пакеты «на этот адаптор» компьютер даже не будет пытаться отправлять куда-либо. Если бы у меня была активна другая карта, например, WiFi, то в четвертой колонке встречался бы и е адрес.

Третья колонка определяет «шлюз» — тот маршрутизатор, которому нужно послать эти пакеты. В случае, когда там написано «On-link», имеется в виду, что никаких маршрутизаторов не нужно — адрес и так находится в прямой досягаемости. Последняя колонка — метрика. Она определяет предпочтение для маршрута, когда есть варианты. Строчки с наименьшей метрикой предпочтительны при совпадении диапазонов.

Routing table

Итак, давайте разберем описанные маршруты. На самом деле, самой важной является в данном случае первая строчка. Она говорит, что для любого адреса (адрес 0.0.0.0 с маской 0.0.0.0 задает полный диапазон) есть маршрут с использованием моей сетевой карты, и направить можно эти пакеты по адресу 192.168.1.1. Последний адрес является моим роутером, что все и объясняет. Любой адрес, который компьютер не сможет найти где-то рядом, он направит на роутер и предоставит тому с ним разбираться.

Поговорим про остальное. Три строчки про 127 — системные, связаны с тем, что эти адреса всегда должны возвращаться на сам компьютер. Адреса диапазона 192.168.1.* являются локальной сетью, 192.168.1.100 — вообще наш адрес, 192.168.1.255 — специальный адрес для широковещательных пакетов в локальной сети. Адреса 244.0.0.0 — тоже специальные зафиксированные адреса для широкого вещания, а две последние строчки определяют сами адаптеры.

Но этот случай достаточно неинтересный. Посмотрим на таблица на моем роутере. Внешний вид будет немного другой, поскольку на нем Линукс, и я вывожу соответствующие таблицы командой route -n.

Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.20.43 0.0.0.0 255.255.255.255 UH ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U br0
10.22.220.0 0.0.0.0 255.255.255.0 U vlan1
10.0.0.0 10.22.220.1 255.224.0.0 UG vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U lo
0.0.0.0 10.0.20.43 0.0.0.0 UG ppp0

Заметим сразу, что колонки немного изменились. На всех мы останавливаться не будем, существенной измененной колонкой является последняя — вместо IP-адреса адаптора мы указываем его имя. Здесь lo — это «петля» (никуда не отправлять), br0 — внутренняя сеть, ppp0 — внешняя, vlan0 — установленное vpn-содениение. Итак, разберем строчки. Также в колонке с флагами буква G означает Gateway — шлюз, а H — Host, наш компьютер.

Последняя строчка — шлюз по умолчанию. Любой пакет мы может отправить на адрес 10.0.20.43. Что интересно, это — наш собственный адрес, полученный при установке VPN — соединения! Так всегда получается, когда установлено VPN-соединения, пакет, в первую очередь отправляем своему виртуальному интерфейсу, где он инкапсулируется в другой пакет, который пойдет до реального шлюза. Естественно, в таблицах маршрутизации этого не видно. Также к описанию этого соединения относится и первая строчка.

Настоящий шлюз мы видим в третей строчке — адресы диапазона 10.22.220.* отправляются на vlan1, шлюз, предоставленный провайдером, коммуникатор, с которым мы соединены сетевым кабелем напрямую. Вторая строчка говорит о том, что адреса диапазона 192.168.1.* — это локальная сеть, и пакеты к ним нужно отправлять внутрь, а не вовне. Пятая — обычная информация про «локальные адреса».

Команды таблицы маршрутизации

Я ничего не сказал про предпоследнюю строчку. А она самая интересная, ведь я ее добавил руками. В чем ее смысл? Адреса диапазона 10.1-32.*.* я отправляю на шлюз 10.22.220.1. Пакеты на эти адреса не пойдут в интернет, а останутся в локалке провайдера. Да, пакеты на диапазон 10.22.220. и так идут туда, но этого мало. Так я не получаю полноценного доступа к локальным ресурсам.

В случае Windows такой маршрут в таблицы маршрутизации был бы добавлен командой route -p add 10.0.0.0 mask 255.224.0.0 10.22.220.1. -p означает, что маршрут постоянный, он не должен удаляться после перезагрузки компьютера.

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

Источник

Маршрутизация — принцип работы и таблица маршрутизации

Маршрутизация работает на сетевом уровне модель взаимодействия открытых систем OSI. Маршрутизация — это поиск маршрута доставки пакета в крупной составной сети через транзитные узлы, которые называются маршрутизаторы.

p, blockquote 1,0,0,0,0 —>

Марутшрутизация в компьютерных сетях

p, blockquote 2,0,0,0,0 —>

Маршрутизация состоит из двух этапов:

p, blockquote 3,0,0,0,0 —>

  1. На первом этапе происходит изучение сети, какие подсети есть в этой составной сети, какие маршрутизаторы и как эти маршрутизаторы объединены между собой.
  2. Второй этап маршрутизации выполняется когда сеть уже изучена и на маршрутизатор поступил пакет, для этого пакета нужно определить куда именно его отправить. Иногда для второго этапа маршрутизации используется отдельный термин “продвижение” по-английски forwarding.

Этапы маршрутизации

p, blockquote 4,0,0,0,0 —>

Варианты действий маршрутизатора

В качестве примера, рассмотрим схему составной сети, здесь показаны отдельные подсети, для каждой подсети есть ее адрес и маска, а также маршрутизаторы, которые объединяют эти сети.

p, blockquote 5,0,0,0,0 —>

Схема маршрутизации пример

p, blockquote 6,0,0,0,0 —>

Рассмотрим маршрутизатор D, на него пришел пакет, и маршрутизатор должен решить, что ему делать с этим пакетом. Начнем с того, какие вообще возможны варианты действий у маршрутизатора. Первый вариант, сеть которой предназначен пакет подключена непосредственно к маршрутизатору. У маршрутизатора D таких сетей 3, в этом случае маршрутизатор передает пакет непосредственно в эту сеть.

p, blockquote 7,0,0,0,0 —>

Сети маршрутизатора

p, blockquote 8,0,0,0,0 —>

Второй вариант, нужная сеть подключена к другому маршрутизатору (А), и известно, какой маршрутизатор нужен. В этом случае, маршрутизатор D передает пакет на следующий маршрутизатор, который может передать пакет в нужную сеть, такой маршрутизатор называется шлюзом.

p, blockquote 9,0,0,0,0 —>

Передача пакетов у маршрутизаторов

p, blockquote 10,0,0,0,0 —>

Третий вариант, пришел пакет для сети, маршрут которой не известен, в этом случае маршрутизатор отбрасывает пакет. В этом отличие работы маршрутизатора от коммутатора, коммутатор отправляет кадр который он не знает куда доставить на все порты, маршрутизатор так не делает. В противном случае составная сеть очень быстро может переполнится мусорными пакетами для которых не известен маршрут доставки.

p, blockquote 11,0,0,0,0 —>

Что нужно знать маршрутизатору для того чтобы решить куда отправить пакет?

p, blockquote 12,0,0,0,0 —>

  • Во-первых у маршрутизатора есть несколько интерфейсов, к которым подключены сети. Нужно определить в какой из этих интерфейсов отправлять пакет.
  • Затем нужно определить, что именно делать с этим пакетом. Есть 2 варианта, можно передать пакет в сеть (192.168.1.0/24), либо можно передать его на один из маршрутизаторов подключенные к этой сети. Если передавать пакет на маршрутизатор, то нужно знать, какой именно из маршрутизаторов подключенных к этой сети, выбрать для передачи пакета.

Знать какой маршрутизатор выбрать

p, blockquote 13,0,0,0,0 —>

Таблица маршрутизации

Эту информацию маршрутизатор хранит в таблице маршрутизации. На картинке ниже показан ее упрощенный вид, в которой некоторые служебные столбцы удалены для простоты понимания.

p, blockquote 14,0,0,0,0 —>

Таблица маршрутизации

p, blockquote 15,0,1,0,0 —>

Первые два столбца это адрес и маска подсети, вместе они задают адрес подсети. Затем столбцы шлюз, интерфейс и метрика. Столбец интерфейс говорит о том, через какой интерфейс маршрутизатора нам нужно отправить пакет.

Читайте также:  Гугл таблицы шаблоны для учета

p, blockquote 16,0,0,0,0 —>

Таблица маршрутизации Windows

Продолжим рассматривать маршрутизатор D, у него есть три интерфейса. Ниже на картинке представлен вид таблицы маршрутизации для windows, которые в качестве идентификатора интерфейса используют ip-адрес, который назначен этому интерфейсу. Таким образом в столбце интерфейс есть 3 ip-адреса, которые соответствуют трем интерфейсам маршрутизатора.

p, blockquote 17,0,0,0,0 —>

Интерфейс маршрутизации

p, blockquote 18,0,0,0,0 —>

Столбец шлюз, говорит что делать с пакетом, который вышел через заданный интерфейс. Для сетей, которые подключены напрямую к маршрутизатору D, в столбце шлюз, указывается «подсоединен», которое говорит о том, что сеть подключена непосредственно к маршрутизатору и передавать пакет нужно напрямую в эту сеть.

p, blockquote 19,0,0,0,0 —>

Шлюз подсоединен (Маршрутизация)

p, blockquote 20,0,0,0,0 —>

Если же нам нужно передать пакет на следующий маршрутизатор то в поле шлюз указывается ip-адрес этого маршрутизатора.

p, blockquote 21,0,0,0,0 —>

Шлюз (Маршрутизация)

p, blockquote 22,0,0,0,0 —>

Таблица маршрутизации Linux

В операционной системе linux таблица маршрутизации выглядит немного по-другому, основное отличие это идентификатор интерфейсов. В linux вместо ip-адресов используется название интерфейсов. Например, wlan название для беспроводного сетевого интерфейса, а eth0 название для проводного интерфейса по сети ethernet.

p, blockquote 23,0,0,0,0 —>

Таблица маршрутизации в Linux

p, blockquote 24,0,0,0,0 —>

Также здесь некоторые столбцы удалены для сокращения (Flags, Ref и Use). В других операционных системах и в сетевом оборудовании вид таблицы маршрутизации может быть несколько другой, но всегда будут обязательны столбцы ip-адрес, маска подсети, шлюз, интерфейс и метрика.

p, blockquote 25,0,0,0,0 —>

Только следующий шаг!

Часто возникает вопрос, что делать, если сеть для который пришел пакет находится не за одним маршрутизатором? Чтобы в неё попасть, нужно пройти не через один, а через несколько маршрутизаторов, что в этом случае нужно вносить в таблицу маршрутизации.

p, blockquote 26,0,0,0,0 —>

Следующий шаг в маршрутизации

p, blockquote 27,0,0,0,0 —>

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

p, blockquote 28,0,0,0,0 —>

Считаем, что следующий маршрутизатор должен знать правильный маршрут до нужной нам сети, он знает лучше следующий маршрутизатор, тот знает следующий шаг и так далее, пока не доберемся до нужные нам сети.

p, blockquote 29,0,0,0,0 —>

маршрутизатор знает следующий шаг

p, blockquote 30,1,0,0,0 —>

Метрика

Можно заметить, что в нашей схеме в одну и ту же сеть, например вот в эту (10.2.0.0/16) можно попасть двумя путями, первый путь проходят через один маршрутизатор F, а второй путь через два маршрутизатора B и E.

p, blockquote 31,0,0,0,0 —>

2 пути маршрутизации

p, blockquote 32,0,0,0,0 —>

В этом отличие сетевого уровня от канального. На канальном уровне у нас всегда должно быть только одно соединение, а на сетевом уровне допускаются и даже поощряются для обеспечения надежности несколько путей к одной и той же сети.

p, blockquote 33,0,0,0,0 —>

Какой путь выбрать? Для этого используются поле метрика таблицы маршрутизации.

p, blockquote 34,0,0,0,0 —>

Таблица метрика в маршрутизации

p, blockquote 35,0,0,0,0 —>

Метрика это некоторое число, которые характеризует расстояние от одной сети до другой. Если есть несколько маршрутов до одной и той же сети, то выбирается маршрут с меньшей метрикой.

p, blockquote 36,0,0,0,0 —>

Метрика в маршрутизации

p, blockquote 37,0,0,0,0 —>

Раньше, метрика измерялось в количестве маршрутизаторов, таким образом расстояние через маршрутизатор F было бы один, а через маршрутизаторы B и E два.

p, blockquote 38,0,0,0,0 —>

метрика измерялось в количестве маршрутизаторов

p, blockquote 39,0,0,0,0 —>

Однако сейчас метрика учитывает не только количество промежуточных маршрутизаторов, но и скорость каналов между сетями, потому что иногда бывает выгоднее пройти через два маршрутизатора, но по более скоростным каналам. Также может учитываться загрузка каналов, поэтому сейчас метрика — это число, которое учитывает все эти характеристики. Мы выбираем маршрут с минимальной метрикой в данном примере выше, будет выбран первый маршрут через маршрутизатор F.

p, blockquote 40,0,0,0,0 —>

Записи в таблице маршрутизации

Откуда появляются записей в таблице маршрутизации? Есть два варианта статическая маршрутизация и динамическая маршрутизация.

p, blockquote 41,0,0,0,0 —>

При статической маршрутизации, записи в таблице маршрутизации настраиваются вручную, это удобно делать если у вас сеть небольшая и изменяется редко, но если сеть крупная, то выгоднее использовать динамическую маршрутизацию, в которой маршруты настраиваются автоматически. В этом случае маршрутизаторы сами изучают сеть с помощью протоколов маршрутизации RIP, OSPF, BGP и других.

p, blockquote 42,0,0,0,0 —>

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

p, blockquote 43,0,0,0,0 —>

Маршрут по умолчанию

Если маршрутизатор не знает куда отправить пакет, то такой пакет отбрасывается. Таким образом получается, что маршрутизатор должен знать маршруты ко всем подсетям в составной сети. На практике для крупных сетей, например для интернета это невозможно, поэтому используются следующие решения.

p, blockquote 44,0,0,0,0 —>

В таблице маршрутизации назначается специальный маршрутизатор по умолчанию, на которой отправляются все пакеты для неизвестных сетей, как правило это маршрутизатор, который подключен к интернет.

p, blockquote 45,0,0,1,0 —>

Предполагается что этот маршрутизатор лучше знает структуру сети, и способен найти маршрут в составной сети. Для обозначения маршрута по умолчанию, в таблице маршрутизации используются четыре нуля в адресе подсети и четыре нуля в маске (0.0.0.0, маска 0.0.0.0), а иногда также пишут default.

p, blockquote 46,0,0,0,0 —>

Ниже пример маршрута по умолчанию в таблице маршрутизации в операционной системе linux.

p, blockquote 47,0,0,0,0 —>

пример маршрута по умолчанию в таблице маршрутизации в операционной системе linux

p, blockquote 48,0,0,0,0 —>

Ip-адрес и маска равны нулю, в адрес и шлюз указываются ip-адрес маршрутизатора по умолчанию.

p, blockquote 49,0,0,0,0 —>

Длина маски подсети

Рассмотрим пример. Маршрутизатор принял пакет на ip-адрес (192.168.100.23), в таблице маршрутизации есть 2 записи (192.168.100.0/24 и 192.168.0.0/16) под который подходит этот ip-адрес, но у них разная длина маски. Какую из этих записей выбрать? Выбирается та запись, где маска длиннее, предполагается, что запись с более длинной маской содержит лучший маршрут интересующей нас сети.

p, blockquote 50,0,0,0,0 —>

Чтобы понять почему так происходит, давайте рассмотрим составную сеть гипотетического университета. Университет получил блок ip-адресов, разделил этот блок ip-адресов на две части, и каждую часть выделил отдельному кампусу.

p, blockquote 51,0,0,0,0 —>

Длина маски подсети в маршрутизации

p, blockquote 52,0,0,0,0 —>

На кампусе находятся свои маршрутизаторы, на которых сеть была дальше разделена на части предназначенные для отдельных факультетов. Разделение сетей производится с помощью увеличения длины маски, весь блок адресов имеет маску / 16, блоки кампусов имеют маску / 17, а блоки факультетов / 18.

p, blockquote 53,0,0,0,0 —>

Ниже показан фрагмент таблицы маршрутизации на маршрутизаторе первого кампуса. Он содержит путь до сети первого факультета, 2 факультета, до обще университетской сети, который проходит через университетский маршрутизатор, а также маршрут по умолчанию в интернет, который тоже проходит через обще университетский маршрутизатор.

p, blockquote 54,0,0,0,0 —>

фрагмент таблицы маршрутизации

p, blockquote 55,0,0,0,0 —>

Предположим, что у на этот маршрутизатор пришел пакет предназначенный для второго факультета, что может сделать маршрутизатор? Он может выбрать запись, которая соответствует второму факультету и отправить непосредственно в сеть этого факультета, либо может выбрать запись, которая соответствует всей университетской сети, тогда отправит на университетский маршрутизатор, что будет явно неправильным.

p, blockquote 56,0,0,0,0 —>

p, blockquote 57,0,0,0,0 —>

И так получается, что выбирается всегда маршрут с маской максимальной длины. Общие правила выбора маршрутов следующие.

p, blockquote 58,0,0,0,0 —>

  • Самая длинная маска 32 — это маршрут конкретному хосту, если в таблице маршрутизации есть такой маршрут, то выбирается он.
  • Затем выполняется поиск маршрута подсети с маской максимальной длины.
  • И только после этого используется маршрут по умолчанию, где маска / 0 под которую подходят все ip-адреса.

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

p, blockquote 59,0,0,0,0 —>

  • Как правило такая таблица содержит описание присоединенной сети, который подключен данный компьютер.
  • Адрес маршрутизатора по умолчанию (шлюз или gateway) через который, выполняется подключение к интернет, или к корпоративной сети предприятия.
  • А также могут быть дополнительные маршруты к некоторым знакомым сетям, но это необязательно.

Для того чтобы просмотреть таблицу маршрутизации, можно использовать команды route или ip route (route print (Windows); route и ip route (Linux)).

p, blockquote 60,0,0,0,0 —> p, blockquote 61,0,0,0,1 —>

Маршрутизация — поиск маршрута доставки пакета между сетями через транзитные узлы — маршрутизаторы.

Источник



Таблица маршрутизации узла сети

Маршрутизация в Windows

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

Изучим как работает маршрутизация в Windows, что бы понять как она работает, а не просто прочитать и забыть, вам необходимо несколько виртуальных машин, а именно:

  • ВМ с Windows XP.
  • 2 ВМ с Windows Server 2003.
Читайте также:  Создаем и заполняем таблицу рекламных закупов

Учтите, что при настройке виртуальных машин, в настройках сети нужно указать «Внутренняя сеть» и задать одинаковое имя сети для всех машин.

Если вы не поленитесь и установите три виртуальные машины, а так же изучите этот материал до конца, то у вас будет практическое понимание работы сети в операционных системах семейства Windows.

Для простоты передачи данных хост-источник и маршрутизатор принимают решения о передаче пакетов на основе своих таблиц IP-маршрутизации. Записи таблицы создаются при помощи:

  1. Программного обеспечения стека TCP/IP.
  2. Администратора, путем конфигурирования статических маршрутов.
  3. Протоколов маршрутизации, одним из которых является протокол передачи маршрутной информации – RIP.

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

Пример маршрутизации в Windows

Допустим, у нас есть три узла:

  • Windows XP.
  • Windows Server 2003 – 1.
  • Windows Server 2003 – 2.

Хост XP имеет один сетевой адаптер (интерфейс) с IP-адресом 192.168.0.2 и маской подсети 255.255.255.0. Маршрутизатор Server1 имеет два интерфейса с IP-адресами 192.168.0.1 и 192.168.1.1 и масками подсети 255.255.255.0. Маршрутизатор Server2 также имеет 2 сетевых адаптера с IPадресами 192.168.1.2 и 192.168.2.1 и масками подсети 255.255.255.0. Таким образом, мы имеем 3 сети: сеть с IP-адресом 192.168.0.0 (Net 1), сеть с IP-адресом 192.168.1.0 (Net 2), сеть с IP-адресом 192.168.2.0 (Net 3).

Схема сети

Таблица маршрутизации

Таблица маршрутизации по умолчанию создается на узле автоматически с помощью программного обеспечения стека TCP/IP.

При настройке сетевого подключения на хосте XP были статически заданы IP-адрес 192.168.0.2 и маска подсети 255.255.255.0, основной шлюз задан не был. Программное обеспечение стека TCP/IP автоматически создало таблицу маршрутизации по умолчанию.

Что бы просмотреть таблицы маршрутизации на узле XP выполним команду route print в командной строке (Пуск -> Выполнить -> cmd ).

Простая таблица маршрутизации

Таблица маршрутизации содержит для каждой записи следующие поля: Сетевой адрес (Network Destination), Маска сети (Netmask), Адрес шлюза (Gateway), Интерфейс (Interface) и Метрика (Metric). Разберем каждое поле подробнее.

Сетевой адрес. Поле определяет диапазон IP-адресов достижимых с использованием данной таблицы.

Маска сети. Битовая маска, которая служит для определения значащих разрядов в поле Сетевой адрес. Маска состоит из непрерывных единиц и нулей, отображается в десятичном коде. Поля Сетевой адрес и Маска определяют один или несколько IP-адрес.

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

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

Метрика. Используется для выбора маршрута, в случае если имеется несколько записей, которые соответствуют одному адресу назначения с одной и той же маской, то есть в случае если одного адресата можно достичь разными путями, через разные маршруты. При этом, чем меньше значение метрики тем короче маршрут.

На начальном этапе работы (т.е. с таблицами маршрутизации по умолчанию) маршрутизатор (хост) знает только, как достичь сетей, с которыми он соединен непосредственно. Пути в другие сети могут быть «выяснены» следующими способами:

  • с помощью статических маршрутов;
  • с помощью маршрутов по умолчанию;
  • с помощью маршрутов, определенных протоколами динамической маршрутизации.

Рассмотрим каждый из способов по порядку.

Статическая маршрутизация

Статические маршруты задаются вручную. Плюс статических маршрутов в том, что они не требуют рассылки широковещательных пакетов с маршрутной информацией, которые занимают полосу пропускания сети.

Минус статических маршрутов состоит в том, что при изменении топологии сети администратор должен вручную изменить все статические маршруты, что довольно трудоемко, в случае если сеть имеет сложную структуру с большим количеством узлов.

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

Но вернемся к нашему примеру. Наша задача, имя исходные данные, установить соединения между хостом XP и Server2 который находится в сети Net3, то есть нужно что бы проходил пинг на 192.168.2.1.

Начнем выполнять на хосте XP команды ping постепенно удаляясь от самого хоста. Выполните в Командной строке команды ping для адресов 192.168.0.2, 192.168.0.1, 192.168.1.1.

Мы видим, что команды ping по адресу собственного интерфейса хоста XP и по адресу ближайшего интерфейса соседнего маршрутизатора Server1 выполняются успешно.

Пинг узла на себя

Пинг на Server1

Однако при попытке получить ответ от второго интерфейса маршрутизатора Server1 выводится сообщение «Заданный узел недоступен» или «Превышен интервал ожидания для запроса».

Пинг на сервер 2

Это связано с тем, что в таблице маршрутизации по умолчанию хоста XP имеются записи о маршруте к хосту 192.168.0.2 и о маршруте к сети 192.168.0.0, к которой относится интерфейс маршрутизатора Server1 с адресом 192.168.0.1. Но в ней нет записей ни о маршруте к узлу 192.168.1.1, ни о маршруте к сети 192.168.1.0.

Добавим в таблицу маршрутизации XP запись о маршруте к сети 192.168.1.0. Для этого введем команду route add с необходимыми параметрами:

route add [адресат] [mask маска] [шлюз] [metric метрика] [if интерфейс]

Параметры команды имеют следующие значения:

  • адресат — адрес сети или хоста, для которого добавляется маршрут;
  • mask — если вводится это ключевое слово, то следующий параметр интерпретируется как маска подсети, соответственно маска — значение маски;
  • шлюз — адрес шлюза;
  • metric — после этого ключевого слова указывается метрика маршрута до адресата (метрика);
  • if — после этого ключевого слова указывается индекс интерфейса, через который будут направляться пакеты заданному адресату.

Индекс интерфейса можно определить из секции Список интерфейсов (Interface List) выходных данных команды route print.

Команда route print

Выполним команду route print .

Теперь мы видим , что хост XP имеет два интерфейса: логический интерфейс замыкания на себя (Loopback) и физический интерфейс с сетевым адаптером Intel(R) PRO/1000. Индекс физического интерфейса – 0x2.

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

route add 192.168.1.0 mask 255.255.255.0 192.168.0.1 metric 2 if 0x2

Данная команда сообщает хосту XP о том, что для того, чтобы достичь сети 192.168.1.0 с маской 255.255.255.0, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x2, причем сеть 192.168.1.0 находится на расстоянии двух транзитных участка от хоста XP.

Выполним пинг на 192.168.1.1 и убедимся, что связь есть.

Продолжим пинговать серверы, теперь проверьте отклик от второго маршрутизатора, присоединенного к сети Net2 (Server2). Он имеет IP-адрес 192.168.1.2.

Получаем сообщение «Превышен интервал ожидания запроса». В данном случае это означает что наш хост XP знает как отправлять данные адресату, но он не получает ответа.

Это происходит по тому, что хост Server2 не имеет информации о маршруте до хоста 192.168.0.1 и до сети 192.168.0.0 соответственно, поэтому он не может отправить ответ.

Для этого необходимо выполнить команду route add с соответствующими параметрами, однако сначала необходимо узнать индекс интерфейса с адресом 192.168.1.2.

На Server2 выполним команду route print и посмотрим индекс первого физического интерфейса. Далее, с помощью команды route add добавьте на Server2 маршрут до сети Net1, аналогично тому, как мы добавляли маршрут хосту XP.
В моем случае это команда:

route add 192.168.0.0 mask 255.255.255.0 192.168.1.1 metric 2 if 0x10003

0x10003 — это индекс физического интерфейса сервера 2.

Индекс физического интерфейса

Индекс физического интерфейса может быть разным, обязательно обращайте на него внимание.

После того, как удостоверитесь в наличии связи между узлами XP и Server2, выполните команду ping 192.168.2.1, т.е. проверьте наличие маршрута узла XP до сети Net3 (192.168.2.1 – IP-адрес маршрутизатора Server2 в сети Net3).

Вместо ответа вы получите сообщение «Заданный узел недоступен». С этой проблемой мы сталкивались еще в самом начале лабораторной работы, машина XP не знает путей до сети 192.168.2.0.

Добавьте в таблицу маршрутизации хоста XP запись о маршруте к сети 192.168.2.0. Это можно сделать путем ввода в командной строке хоста XP команды route add с соответствующими параметрами:

route add 192.168.2.0 mask 255.255.255.0 192.168.0.1 metric 3 if 0x2

Я не буду подробно описывать как полностью настроить статическую маршрутизацию между узлами, думаю что суть ясна. Если у вас появились вопросы — задавайте их в комментариях.

Маршрутизация по умолчанию

Второй способ настройки маршрутизации в Windows — то маршрутизация по умолчанию.

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

Для добавления такого маршрута на хосте XP выполните следующую команду:

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x10003

Эта команда сообщает хосту XP о том, что для того, чтобы достичь любой сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x10003 .

Это так называемый маршрут по умолчанию.

Проверьте работоспособность с помощью команды ping.

Динамическая маршрутизация, протокол RIP

Протокол RIP (Routing Information Protocol или Протокол передачи маршрутной информации) является одним из самых распространенных протоколов динамической маршрутизации.

Читайте также:  Атол 90 ф программирование таблицы настройки

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

Есть две версии протокола RIP. Версия 1 не поддерживает маски, поэтому между сетями распространяется только информация о сетях и расстояниях до них. При этом для корректной работы RIP на всех интерфейсах всех маршрутизаторов составной сети должна быть задана одна и та же маска.

Протокол RIP полностью поддерживается только серверной операционной системой, тогда как клиентская операционная система (например, Windows XP) поддерживает только прием маршрутной информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не может.

Настраивать RIP можно двумя способами:

  • В графическом режиме с помощью оснастки “Маршрутизация и удаленный доступ”.
  • В режиме командной строки с помощью утилиты netsh.

Рассмотрим настройку в режиме командной строки с помощью утилиты netsh.

Netsh – это утилита командной строки и средство выполнения сценариев для сетевых компонентов операционных систем семейства Windows (начиная с Windows 2000).

Введите в командной строке команду netsh, после появления netsh> введите знак вопроса и нажмите Enter, появиться справка по команде.

Введите последовательно команды:

  1. routing
  2. Ip
  3. rip
  4. ?

Вы увидите, что среди доступных команд этого контекста есть команда add interface, позволяющая настроить RIP на заданном интерфейсе. Простейший вариант этой команды – add interface «Имя интерфейса».

Если ввести в Windows XP в контексте netsh routing ip rip команду add interface «Net1» , то получим сообщение «RIP должен быть установлен первым». Дело в том, что Установить RIP можно только в серверной операционной системе. В Windows Server 2003 в RIP включается в оснастке «Маршрутизация и удаленный доступ» (Пуск –> Программы –> Администрирование –> Маршрутизация и удаленный доступ). Таким образом, включить RIP в нашем случае можно только на маршрутизаторах Server1 и Server2.

Настроим RIP на Server1. Но сначала нужно выключит брандмауэр.

Настроить и включить маршрутизацию и удаленный доступ

Теперь в оснастке «Маршрутизация и удаленный доступ» в контекстном меню пункта SERVER1 (локально) выберите пункт «Настроить и включить Маршрутизация ЛВСмаршрутизацию и удаленный доступ».

Мастер установки сервера и удаленной маршрутизации

В появившемся окне мастера нажмите «Далее».

Особая конфигурация

На следующем этапе выберите «Особая конфигурация» и нажмите «Далее».

Маршрутизация ЛВС

После чего нужно выбрать «Маршрутизация ЛВС» и завершить работу мастера.

То же самое нужно выполнить на Server2.

Настройка через оснастку

В контекстном меню вкладки «Общие» (SERVER1 –> IP-маршрутизация –> Общие) нужно выбрать пункт «Новый протокол маршрутизации».

Новый протокол маршрутизации

Затем выделяем строку «RIP версии 2 для IP».
RIP версии 2 для IP
В контекстном меню появившейся вкладки «RIP» выберите «Новый интерфейс». Выделите строку «Подключение по локальной сети» и нажмите ОК.
Новый интерфейс RIP
Перед вами появиться окно.
Свойства интерфейса RIP

В появившемся окне необходимо задать следующие настройки:

  • Режим работы –> Режим периодического обновления.
  • Протокол для исходящих пакетов –> Для RIP версии 1.
  • Протокол входящих пакетов –> Только для RIP версии 1.

Оставьте оставшиеся настройки по умолчанию и нажмите ОК.

Далее необходимо выполнить эти действия для второго сетевого интерфейса.

После выполните те же действия для Sever2.

Проверьте, с помощью команды ping, работу сети.

Проверка работы сет ping

Поздравляю! Маршрутизация в Windows изучена.

Анатолий Бузов

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

Источник

Маршрутизация — что это такое и как работает

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

Но, это довольно интересная тема и я решил вынести ее в отдельную статью, давайте узнаем, что это такое, как она работает, зачем она вообще нужна и какие у нее бывают виды. На самом деле это все довольно просто.

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

  • 1 Что такое маршрутизация
    • 1.1 Таблица маршрутизации
    • 1.2 Протокол маршрутизации
    • 1.3 Маршрутизация в IP сетях
  • 2 Виды
    • 2.1 Статическая маршрутизация
    • 2.2 Динамическая маршрутизация
    • 2.3 В заключение

Что такое маршрутизация

Маршрутизация (Routing) — это процесс по определению/вычислению лучшего маршрута движения для данных в сетях связи. Есть еще второе определение — это передача пакетов данных от отправителя к получателю.

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

Функцию роутинга могут выполнять:

  • Аппаратные средства — маршрутизаторы. Самый оптимальный вариант, позволяющий обрабатывать большие потоки данных и работает он быстрее.
  • Настроенные компьютеры с несколькими сетевыми интерфейсами и установленным на них специализированным и настроенным ПО. Обычно используется если конфигурация будет не слишком сложная.

Таблица маршрутизации

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

Таблица содержит:

  • Адрес сети или узла
  • Маску подсети назначения
  • Сетевой шлюз или по-другому, адрес маршрутизатора на который будут направлены данные
  • Интерфейс, с которого можно достучаться до шлюза
  • Метрика (не всегда), т.е. показатель, который задает предпочтительность пути.

Может заполняться как вручную, так и автоматически.

Протокол маршрутизации

Протокол маршрутизации используется маршрутизаторами для определения возможных и оптимальных маршрутов движения пакетов данных по сети. Текущий протокол позволяет обеспечивать маршрут на автоматическом уровне избегая ручного ввода.

Это в свою очередь снижает возможное количество ошибок, делает взаимодействие всех роутеров в сети согласованным и, конечно же, облегчает работу самому администратору.

Маршрутизация в IP сетях

По итогу, все это нужно для отправки и приема пакетов данных от одного устройства по сетке к другому и это может происходить через разные сети. Сами маршрутизаторы/роутеры отправляют данные практически во все сети, из локальной в глобальную паутину, используют NAT и т.д.

Информация на роутер поступает от других таких-же роутеров или от администратора. Составляется таблица — вручную или динамически. И, соответственно, пакеты данных отправляются.

Статическая маршрутизация

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

При задании такого маршрута назначается:

  • Адрес и маска сети
  • Адрес шлюза/узла
  • Иногда указывается метрика и интерфейс, на который пойдет трафик

Плюсы:

  • Легкость настройки в не крупных сетках
  • Небольшая нагрузка на саму сетку, что в какой-то степени увеличивает скорость интернета
  • Прозрачность работы в любой момент времени
  • Не требует дополнительных денежных расходов, т.к. не используются протоколы построения путей

Минусы:

  • Долгое масштабирование, каждая добавленная сетка потребует двойных вмешательств в конфигурацию
  • Если произошли какие-либо изменения, то в любом случае администратору придется вручную настраивать новые пути
  • Нет динамического балансирования нагрузки
  • Нужна отдельная документация с записями маршрутов, также, проблемы с синхронизацией этой документации и реальных путей

Динамическая маршрутизация

В этом случае таблица редактируется на программном уровне и рассчитывается по протоколам. Позволяет маршрутизаторам в реальном времени своевременно менять пути, применяемые для передачи IP пакетов. У каждого протокола есть свой метод определения маршрута движения пакетов: самый быстрый путь, использование именно того маршрута, который рекомендуют другие роутеры и т.д.

Так, если в сети произойдут какие-либо изменения, то протокол динамической маршрутизации оповестит об этом все маршрутизаторы, а вот при статической, все придется делать администратору.

В заключение

Работая в интернете или читая там занимательную литературу, вы даже не замечаете сколько процессов происходит, а происходит там очень много. Если вам и дальше интересны материалы на темы работы интернета, то заходите еще.

Источник

Таблица IP-маршрутизации

Таблица маршрутизации — таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. Каждая запись в таблице маршрутизации состоит, как правило, из таких полей:

  • адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию
  • маску сети назначения (маска 255.255.255.255 позволяет указать единичный узел сети)
  • шлюз, обозначающий адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса
  • интерфейс, через который доступен шлюз (это может быть порядковый номер, GUID или символьное имя устройства)
  • метрику — числовой показатель, задающий предпочтительность маршрута; чем меньше, тем предпочтительнее маршрут

Шлюз по умолчанию (default gateway) — адрес маршрутизатора, на который отправляется трафик, для которого невозможно определить маршрут, исходя из таблиц маршрутизации. Шлюз по умолчанию задаётся записью в таблице маршрутизации вида «сеть 0.0.0.0 с маской сети 0.0.0.0».

Просмотр маршрутов в Windows

Команда route выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи. Запущенная без параметров, команда route выводит справку:

Просмотр таблицы маршрутизации:

Команда tracert предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:

Просмотр маршрутов в Linux

Команда route выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи.

Просмотр таблицы маршрутизации:

Утилита traceroute предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:

Источник