Смекни!
smekni.com

Учебно-методическое пособие Тамбов (стр. 6 из 8)


Интерфейс: 192.168.169.2 on Interface 0x3000004

Адрес IP Физический адрес Тип

192.168.169.3 00-80-48-16-3a-8d динамический

Под физическим адресом здесь понимается мак-адрес, а тип "динамический" означает, что строка как появилась, так и исчезнуть может (компьютер выключили...)

(Причины, по которым эту и некоторые другие команды приходится выдавать таким противоестественным для MS Windows способом, кроются в истории Internet. Фирма Microsoft долго не желала иметь с этой сетью ничего общего, а когда все-таки была вынуждена добавить в MS Windows протоколы TCP/IP, взяла готовые программы из UNIX и немного адаптировала их для MS Windows. Но вот сделать красивые окошки они, видимо, поленились...)

Проверить прохождение пакетов по сети можно командой ping. Ее название происходит от названия популярной игры. Выглядит команда так:

ping машина

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

2.4. Роутинг

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

Можно, конечно, соединить шины, превратив 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-пакет отправляется получателю, уже окончательному.

2.5.Как роутить дальше?

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

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

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

Оба этих вопроса решаются при использовании специальных протоколов маршрутизации, таких, как BGP, IGPR и другие. Рассмотрение этих протоколов выходит за рамки данного пособия.

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

В-четвертых, попробуйте-ка вставить в компьютер больше 3-4 сетевых карт. Не так-то это просто, а больше 6, скорее всего, вообще не получится.

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

Называют такие компьютеры "аппаратными роутерами". Наиболее распространенные (и надежные) из них делает фирма Cisco, но они очень дороги. Подешевле аппаратура Allied Telecin и некоторых других фирм.

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

Посмотреть, как идет информация, можно, выдав команду traceroute. В простейшем случае она выглядит так:

tracert машина

"Машина" в команде задается либо IP-номером, либо именем (об именах - в следующей главе). Сама команда выдается, как и arp, из командной строки.

(Внимание! Здесь не опечатка. При переносе команды из UNIX в MS Windows ее название немного сократили.)

2.6. Имена машин

К любой машине можно обратиться по ее IP-номеру. Но удобно ли это?

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

Чтобы исключить проблему, в Internet имеются специальные машины, называемые DNS-серверами, на которых хранятся списки соответствия интернетовских имен и IP-номеров. Как они устроены, нам пока неважно. А важно то, что они "знают" друг друга и обмениваются информацией по мере необходимости.

Если Internet-провайдер дал номер своего DNS-сервера, этого достаточно. Для любого имени этот сервер поможет нашей машине найти номер.

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

Но внутри локальной сети DNS-сервера, как правило, нет. Даже если сеть имеет выход в Internet, вряд ли где-то хранятся данные для всех ее машин. А для внутренних номеров 192.169.ххх.ххх это и невозможно.

Альтернативный вариант имен используется в MS Windows, причем эти имена на имеют никакого отношения к Internet. Каждый компьютер хранит собственное имя сам, и информирует о нем всех в пределах сети. В общем-то часто это удобно, поскольку никаких серверов не надо, но связь даже с соседней сетью иногда затруднена. И, конечно же, нельзя говорить, что такая сеть работает по технологии Intranet.

2.7. TCP, UDP и далее

Протокол IP позволяет направить пакет любой машине. Направили, а дальше? Дошел или нет? А если дошел, то не могла ли случайная помеха исказить его? А если второй пакет пришел раньше первого, например, при наличии двух путей, как быть? А если еще что-то случилось непредвиденное?

Можно было бы, конечно, в каждой прикладной программе проверять все возможные проблемы. Но в Internet пошли по другому пути. Прикладная программа не взаимодействует с программой, реализующей IP, непосредственно, а обращается к промежуточной программе. Таких промежуточных программ две: TCP и UDP. Они немного отличаются по свойствам, но суть их одна: на них возложено решение всех перечисленных вопросов. Каждая добавляет к данным прикладной программы немного своей собственной информации - для контроля, надежности и т.д., каждая контролирует прохождение пакета по сети, дожидаясь ответа от аналогичной программы на удаленном компьютере.

Иначе говоря, внутрь IP-конверта, вложенного в Ethernet-конверт, вложен третий, и только в нем - данные прикладной программы.