2.4. Роутинг

2 сети Усложним пример. Пусть будет не одна сеть, а две, и надо обмениваться информацией между любыми машинами.

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

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



Объединенные сетиПолучилась вот такая картина.

Машина 4 с двумя картами, принадлежащая обеим сетям, имеет 2 Ethernet-карты, каждую - с собственным MAC-адресом. Но она должна иметь и 2 IP-номера - по одному из каждой сети.

Для первой сети оставим номера теми же, что и в предыдущей главе.


машины
MAC-адрес IP-номер
1
11-22-33-44-55-61
192.168.169.1
2
11-22-33-44-55-62 192.168.169.2
3
11-22-33-44-55-63 192.168.169.3
4
11-22-33-44-55-64 192.168.169.4

Для второй сети пусть будет:

машины
MAC-адрес IP-номер
5
11-22-33-44-55-65
192.168.169.17
6
11-22-33-44-55-66 192.168.169.18
7
11-22-33-44-55-67 192.168.169.19
4
11-22-33-44-55-68 192.168.169.20

Пусть машина 1 должна обменяться данными с машиной 5.

Послать ARP-пакет нельзя - машина 5 не в своей сети. (А откуда машине 1 это известно? Да из маски, которая показывает, что в своей сети только номера от 192.168.169.0 до 192.168.169.7). Как же надо поступить?

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

При настройке такая машина называется "default", "gateway", "шлюз". А по выполняемым функциям это - маршрутизатор, или роутер (router).

При отправке данных с машины 1 на машину 5 посылается следующий пакет:

Куда:
От кого:
11-22-33-44-55-64
11-22-33-44-55-61
Содержимое: Это IP-пакет. Компьютер с IP-номером 192.168.169.1 посылает данные компьютеру с IP-номером 192.168.169.17.
* * * --- сами данные --- * * *

Обратите внимание на то, что MAC-адрес получателя указан для компьютера 4, а IP-номер - для компьютера 5. Вот оно, то, о чем говорилось в предыдущей главе - необходимость IP-заголовка.

Компьютер 4 - роутер - имеет ARP-таблицы для обеих сетей. Получив пакет с чужим IP-номером, он ищет в объединенной таблице получателя (а если его нет, посылает ARP-пакет во вторую сеть, добавляя тем самым нужную строку в таблицу), и посылает пакет адресату.

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