Коммутируемая сеть завода «Трансмаш»

В главе 12 мы рассмотрели структуру локальной сети завода «Трансмаш», построен­ной на повторителях Ethernet 10 Мбит/с. Тот пример соответствовал типичной для начала 90-х годов ситуации, когда единая разделяемая среда с пропускной способно­стью 10 Мбит/с полностью удовлетворяла потребности предприятия в обмене трафи­ком между немногочисленными компьютерами подразделений. Здесь мы опишем мо­дернизированный вариант локальной сети этого завода, который стал характерен для многих крупных локальных сетей второй половины 90-х годов.

Основной особенностью этой локальной сети является то, что она полностью построена на коммутаторах (рис. 16.15). Переход на коммутируемую сеть был продиктован рез­ко возросшими в середине 90-х годов требованиями, предъявляемыми к производи­тельности и надежности локальной сети. К этому времени компьютеризованная обра­ботка данных на заводе «Трансмаш» стала одним из основных средств производства, при этом увеличилось как число компьютеров, так и качественно изменились при­ложения, которые стали передавать мультимедийную информацию больших объемов.

Основу локальной сети каждого из пяти зданий завода составляет мощный централь­ный коммутатор на основе шасси, оснащенный портами Fast Ethernet и Gigabit Ethernet (коммутаторы BS1-BS5). Коммутатор здания объединяет коммутаторы этажей, кото­рые подключены к нему транками, состоящими из двух-трех портов Fast Ethernet. Ка­ждый коммутатор этажа применяется для подключения пользовательского оборудова­ния двух типов: персональных компьютеров и технологического оборудования (более детально эти соединения показаны на примере сети здания 2). Пользователи персо­нальных компьютеров работают с приложениями автоматизированной системы управле­ния предприятием (АСУП), а технологическое оборудование образует автоматизиро­ванную систему управления технологическими процессами (АСУТП).

Центральные коммутаторы зданий 2, 3 и 4 образуют магистраль локальной сети завода. Они объединены двухпортовыми транками Gigabit Ethernet, что обеспечивает боль­шой запас магистрали по производительности. Здания 5 и 4 подключены к магистрали с помощью обычных (без транков) соединений Gigabit Ethernet. Для связи коммута­торов этих зданий задействуется многомодовое оптическое волокно, которое было

проложено еще для локальной сети на повторителях и качества которого оказалось достаточно для устойчивой работы портов 1000Base-SX.

Здание 5

    BS5
К коммутаторам этажа"   s=J  
  Ь-1  
   

| PC

Технологическое оборудование Коммутатор этажа (FS)

Коммутатор здания (BS)

Рис. 16.15. Коммутируемая сеть завода «Трансмаш»

В сети «Трансмаш» передается трафик приложений двух типов: АСУП и АСУТП. Эти классы трафика отличаются требованиями к качеству обслуживания, например, тра­фик АСУТП является трафиком реального времени, а АСУП — нет. Поэтому в сети «Трансмаш» организованы две виртуальные локальные сети — VLAN 1 для трафика АСУП и VLAN 2 для трафика АСУТП. Это позволяет надежно изолировать каждый тип трафика и, кроме того, упрощает поддержку параметров QoS коммутаторами, так как признаком необходимости обработки трафика в приоритетной очереди является номер VLAN, в данном случае — номер 2.

Здание 3
Здание 4

Так как магистраль локальной сети обладает избыточными связями, то коммутаторы используют алгоритм STA, причем отдельно для каждой виртуальной локальной сети. Для VLAN 1 резервной является связь между коммутаторами BS4 и BS2, а для VLAN 2 — между коммутаторами BS4 и BS3. Обмен данными между АСУП и АСУТП происходит за счет того, что несколько серверов являются членами обеих сетей.

Выводы

Для автоматического поддержания в сложных сетях резервных связей в коммутаторах реали­зуется алгоритм покрывающего дерева. Этот алгоритм описан в документе IEEE 802.1D и ос­нован на периодическом обмене коммутаторов специальными кадрами, с помощью которых выявляются и блокируются петлевидные связи в сети.

Протокол STA находит конфигурацию покрывающего дерева за три этапа. На первом этапе оп­ределяется корневой коммутатор, на втором — корневые порты, на третьем — назначенные порты сегментов.

Недостатком протокола STA 802.1D является сравнительно большое время установления но­вой активной конфигурации — около 50 с. Новый стандарт 802.1w устраняет этот недостаток.

Агрегирование нескольких физических каналов в один логический является одной из форм ис­пользования нескольких активных альтернативных маршрутов в локальных сетях на коммута­торах. Агрегирование каналов повышает как производительность, так и надежность сети.

Агрегированный канал может быть образован не только между двумя соседними коммутатора­ми, но и распределяться между портами нескольких коммутаторов. Для автоматического уве­домления о принадлежности физического порта определенному агрегированному порту раз­работан протокол LCAP.

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

Конфигурирование VLAN обычно ведется путем группирования портов или МАС-адресов.

Для построение виртуальной локальной сети на основе нескольких коммутаторов желательно помечать передаваемые кадры специальной меткой — тегом, идентифицирующем номер сети, которой принадлежит отправитель кадра. Стандартный формат тега VLAN определен в спецификации 802.1Q.

Коммутаторы LAN поддерживают многие механизмы QoS: классификацию и профилирование трафика, приоритетные и взвешенные очереди, резервирование пропускной способности.

Вопросы и задания

1. Для какой цели используется алгоритм покрывающего дерева?

2. Дайте определение покрывающего дерева.

3. Какой порт коммутатора называется корневым?

4. Какой порт называется назначенным?

5. Каким образом измеряется расстояние между коммутаторами в STA?

6. Назовите три этапа построения активной топологии покрывающего дерева.

7. Каким образом выбирается корневой порт из нескольких претендентов, если расстояния до корневого коммутатора у них равны?

8. Может ли администратор влиять на выбор корневого коммутатора?

9. Каким образом коммутаторы решают, что выбор активной топологии завер­шен?

10. Что побуждает коммутатор начать процедуру поиска новой активной тополо­гии?

11. В чем основной недостаток STA?

12. Чего позволяет добиться агрегирование каналов?

13. Как взаимодействуют алгоритм покрывающего дерева и агрегирование кана­лов?

14. В чем ограничения агрегирования каналов?

15. В чем отличие между односторонним и двусторонним транком?

16. По каким соображениям выбирает порт транка при передаче кадра?

17. Зачем учитывать принадлежность кадров к одному сеансу при использова­нии агрегированного канала?

18. Почему VLAN можно назвать доменом широковещательного трафика?

19. Каким образом можно объединить несколько виртуальных локальных сетей?

20. Назовите основные способы образования VLAN.

21. Почему группирование портов плохо работает в сети, построенной на не­скольких коммутаторах?

22. Можно ли одновременно использовать группирование портов и стандарт IEEE 802.1Q?

23. Какие механизмы обеспечения показателей QoS поддерживают коммутаторы локальных сетей?

24. На сколько классов рекомендует разделять трафик стандарт IEEE 802.1D- 1998?

25. Перечислите ограничения сетей, построенных на основе коммутаторов.

26. В каких случаях целесообразнее выполнить агрегирование каналов, чем вы­брать более скоростную версию технологии Ethernet?

27. Каким образом стандарт IEEE 802.1Q решает проблему построения VLAN на нескольких коммутаторах?

28. Должен ли алгоритм покрывающего дерева учитывать наличие в сети VLAN?

29. Что делать, если коммутаторы сети поддерживают меньшее количество оче­редей, чем существует классов трафика?


Часть IV

Сети TCP/IP

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

Части II и III были посвящены конкретным технологиям передачи данных соответственно физи­ческого и канального уровней. В них существенно реже использовались абстрактные модели сети в виде графа или «облака», в котором плавают компьютеры. Вместо этого на первый план вышли конкретные протоколы, форматы кадров и реальное оборудование.

Что же ждет читателя в следующей части — части IV? Следуя логике, диктуемой моделью OSI, вслед за частями, в которых были изучены технологии физического и канального уровней, мы рассмотрим в части IV средства сетевого уровня, то есть средства, которые обеспечивают возможность объединения множества сетей в единую сеть. Учитывая, что бесспорным лиде­ром среди протоколов сетевого уровня является протокол IP, мы будем рассматривать вопро­сы построения объединенных сетей на его примере. При этом мы дадим по возможности ши­рокую картину взаимодействия всех протоколов этого стека.

Заметим, что в предыдущих частях не раз затрагивались, а иногда и достаточно серьезно об­суждались вопросы межсетевого взаимодействия TCP/IP. Так, в главе 2 мы уже рассмотрели, хотя и в самом общем виде, понятие маршрутизации. В главе 4 в разделе «Модель OSI», изу­чая сетевой уровень, мы познакомились с понятием «составная сеть», которую можно пред­ставить как совокупность нескольких сетей (подсетей). Подсети в составной сети, которые мо­гут быть как локальными, так и глобальными, соединяются между собой маршрутизаторами. В пределах каждой подсети все узлы взаимодействуют по единой для них технологии, напри­мер Ethernet, Token Ring, FDDI, frame relay, Х.25. Однако ни одна из этих технологий не спо­собна построить информационную связь между произвольно выбранными узлами, принад­лежащими разным сетям. Именно эту задачу — организацию взаимодействия между любой произвольной парой узлов в «большой» составной сети эффективно решают протоколы стека TCP/IP. В главе 5 было дано описание структуры Интернета — самой известной и масштабной сети, построенной на основе технологии TCP/IP. Читателю настоятельно рекомендуется еще раз внимательно просмотреть этот материал.

Забегая вперед, мы хотим предупредить читателя, что в последней части книги, посвященной технологиям WAN, мы еще не раз вернемся к протоколам TCP/IP. Мы рассмотрим особенно­сти работы протокола IP «поверх» сетей ATM/FR, тесно связанную с IP технологию MPLS, ос­новной протокол систем управления SNMP, а также защищенную версию протокола IP — про­токол IPSec.

□ Г лава 17. Адресация в сетях TCP/IP

□ Глава 18. Протокол межсетевого взаимодействия

□ Глава 19. Базовые протоколы TCP/IP

□ Г лава 20. Дополнительные функции маршрутизаторов IP-сетей

ГЛАВА 17 Адресация в сетях

TCP/IP

Значительная часть технологии TCP/IP направлена на решение следующих задач адресации:

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

□ Обеспечение уникальности адресов. В зависимости от типа адреса требуется обеспечи­вать однозначность адресации в пределах компьютера, подсети, корпоративной сети или Интернета.

□ Конфигурирование сетевых интерфейсов и сетевых приложений.

Каждая из перечисленных задач имеет достаточно простое решение для сети, число узлов ко­торой не превосходит нескольких десятков. Например, для отображения символьного домен­ного имени в IP-адрес достаточно поддерживать на каждом хосте таблицу всех символьных имен, используемых в сети, и соответствующих им IP-адресов. Так же просто «вручную» при­своить всем интерфейсам в небольшой сети уникальные адреса. Однако в крупных сетях эти же задачи усложняются настолько, что требуют принципиально других решений.

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

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


Типы адресов стека TCP/IP

Список ключевых слов: МАС-адрес, локальный (аппаратный) адрес, номер сети, номер узла в сети, сетевой адрес, IP-адрес, символьное имя, доменное имя, система доменных имен, DNS-имя.

Итак, для идентификации сетевых интерфейсов используются три типа адресов:

□ локальные (аппаратные) адреса;

□ сетевые адреса (IP-адреса);

□ символьные (доменные) имена.

Локальные адреса

В большинстве технологий LAN (Ethernet, FDDI, Token Ring) для однозначной адресации интерфейсов используются МАС-адреса. Существует немало техно­логий (Х.25, ATM, frame relay), в которых применяются другие схемы адресации. Будучи автономными, такие сети используют свою схему адресации исключи­тельно для обеспечения связи собственных узлов. Однако как только некоторая сеть объединяется с другими сетями, функциональность этих адресов расши­ряется, они становятся необходимым элементом вышележащей объединяющей технологии — в данном случае технологии TCP/IP. Роль, которую играют эти адреса в TCP/IP, не зависит от того, какая именно технология используется в подсети, поэтому они имеют общее название — локальные (аппаратные) адреса.

Слово «локальный» в контексте TCP/IP означает «действующий не во всей со­ставной сети, а лишь в пределах подсети». Именно в таком смысле понимают­ся здесь термины: «локальная технология» (технология, на основе которой по­строена подсеть), «локальный адрес» (адрес, который используется некоторой локальной технологией для адресации узлов в пределах подсети). Напомним, что в качестве подсети («локальной сети») может выступать сеть, построенная как на основе локальной технологии, например Ethernet, FDDI, так и на основе глобальной технологии, например Х.25, Frame Relay. Следовательно, говоря о подсети, мы используем слово «локальная» не как характеристику технологии, на которой построена эта подсеть, а как указание на роль, которую играет эта подсеть в архитектуре составной сети.

Сложности могут возникнуть и при интерпретации определения «аппаратный». В данном случае термин «аппаратный» подчеркивает концептуальное представ­ление разработчиков стека TCP/IP о подсети как о некотором вспомогательном аппаратном средстве, единственной функцией которого является перемещение IP-пакета через подсеть до ближайшего шлюза (маршрутизатора). И не важно, что реально нижележащая локальная технология может быть достаточно слож­ной, все ее сложности игнорируются технологией TCP/IP.

Рассмотрим, например, случай, когда в составную сеть TCP/IP входит сеть IPX/ SPX. Последняя сама может быть разделена на подсети, и так же как IP-сеть, она идентифицирует свои узлы аппаратными и сетевыми IPX-адресами. Но техноло­гия TCP/IP игнорирует многоуровневое строение сети IPX/SPX и рассматрива­
ет в качестве локальных адресов узлов подсети IPX/SPX адреса сетевого уровня данной технологии (IPX-адреса). Аналогично, если в составную сеть включена сеть Х.25, то локальными адресами узлов этой сети для протокола IP будут соот­ветственно адреса Х.25.

Сетевые IP-адреса

Чтобы технология TCP/IP могла решать свою задачу объединения сетей, ей не­обходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных сетях. Эта система адресации должна позволять универсальным и однозначным способом идентифицировать любой интерфейс составной сети. Очевидным решением является уникальная нумерация всех се­тей составной сети, а затем нумерация всех узлов в пределах каждой из этих се­тей. Пара, состоящая из номера сети и номера узла, отвечает поставленным ус­ловиям и может служить в качестве сетевого адреса.

В качестве номера узла может выступать либо локальный адрес этого узла (та­кая схема принята в стеке IPX/SPX), либо некоторое число, никак не связанное с локальной технологией и однозначно идентифицирующее узел в пределах дан­ной подсети. В первом случае сетевой адрес становится зависимым от локальных технологий, что ограничивает его применение. Например, сетевые адреса IPX/ SPX рассчитаны на работу в составных сетях, объединяющих сети, в которых ис­пользуются только МАС-адреса или адреса аналогичного формата. Второй под­ход более универсален, он характерен для стека TCP/IP[29].

ARP
DNS

В технологии TCP/IP сетевой адрес называют IP-адрес.

12-В7-01-56-BA-F5

А

129.35.251.23

А

www.service.telecom.com

Рис. 17.1. Преобразование адресов

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

Перед тем как отправить пакет в следующую сеть, маршрутизатор должен опре­делить на основании найденного IP-адреса следующего маршрутизатора его ло­кальный адрес. Для этой цели протокол IP, как показано на рис. 17.1, обращается к протоколу разрешения адресов (ARP).

ВНИМАНИЕ --------------------------------------------------------------------------------------------------------

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

Доменные имена

Для идентификации компьютеров аппаратное и программное обеспечение в се­тях TCP/IP полагается на IP-адреса. Например, команда ftp://192.45.66.17 будет устанавливать сеанс связи с нужным Лр-сервером, а команда http://203.23.106.33 откроет начальную страницу на корпоративном веб-сервере. Однако пользовате­ли обычно предпочитают работать с более удобными символьными именами компьютеров.

Символьные идентификаторы сетевых интерфейсов в пределах составной сети строятся по иерархическому признаку. Составляющие полного символьного (или доменного) имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя хоста, затем имя группы хостов (например, имя организации), затем имя более крупной группы (домена) и так до имени домена самого высокого уровня (например, домена, объединяющего организации по гео­графическому принципу: RU — Россия, UK — Великобритания, US — США). Примером доменного имени может служить имя base2.sales.zil.ru.

Между доменным именем и IP-адресом узла нет никакой функциональной зави­симости, поэтому единственный способ установления соответствия — это табли­ца. В сетях TCP/IP используется специальная система доменных имен (Domain Name System, DNS), которая устанавливает это соответствие на основании соз­даваемых администраторами сети таблиц соответствия. Поэтому доменные име­на называют также DNS-именами.

В общем случае сетевой интерфейс может иметь несколько локальных адресов, сетевых адресов, доменных имен.

Формат IP-адреса

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

В заголовке IP-пакета для хранения IP-адресов отправителя и получателя отво­дятся два поля, каждое имеет фиксированную длину 4 байт (32 бит). IP-адрес состоит из двух логических частей — номера сети и номера узла в сети.

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

128.10.2.30

Этот же адрес может быть представлен в двоичном формате: 10000000 00001010 00000010 00011110 и в шестнадцатеричном формате:

80.0A.02.1D

Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Вместе с тем при передаче пакета по сети часто возникает необходимость разделить адрес на эти две части. Напри­мер, маршрутизация, как правило, осуществляется на основании номера сети, поэтому каждый маршрутизатор, получая пакет, должен прочитать из соответст­вующего поля заголовка адрес назначения и выделить из него номер сети. Каким образом маршрутизаторы определяют, какая часть из 32 бит, отведенных под IP- адрес, относится к номеру сети, а какая — к номеру узла?

Можно предложить несколько вариантов решения этой проблемы.

□ Простейший из них состоит в использовании фиксированной границы. При этом все 32-битовое поле адреса заранее делится на две части не обязательно равной, но фиксированной длины, в одной из которых всегда будет разме­щаться номер сети, а в другой — номер узла. Решение очень простое, но хоро­шее ли? Поскольку поле, которое отводится для хранения номера узла, имеет фиксированную длину, все сети будут иметь одинаковое максимальное число узлов. Если, например, под номер сети отвести один первый байт, то все ад­ресное пространство распадется на сравнительно небольшое (28) число сетей огромного размера (224 узлов). Если границу передвинуть дальше вправо, то сетей станет больше, но все равно все они будут одинакового размера. Оче­видно, что такой жесткий подход не позволяет дифференцированно удовле­творять потребности отдельных предприятий и организаций. Именно поэтому он не нашел применения, хотя и использовался на начальном этапе существо­вания технологии TCP/IP (RFC 760).

□ Второй подход (RFC 950, RFC 1518) основан на использовании маски, кото­рая позволяет максимально гибко устанавливать границу между номером сети и номером узла. При таком подходе адресное пространство можно ис­пользовать для создания множества сетей разного размера.

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

□ И, наконец, наиболее распространенный до недавнего времени способ решения данной проблемы заключается в использовании классов адресов (RFC 791). Этот способ представляет собой компромисс по отношению к двум предыду­щим: размеры сетей хотя и не могут быть произвольными, как при использо­вании масок, но и не должны быть одинаковыми, как при установлении фик­сированных границ. Вводится пять классов адресов: А, В, С, D, Е. Три из них — А, В и С — используются для адресации сетей, а два — D и Е — имеют специ­альное назначение. Для каждого класса сетевых адресов определено собствен­ное положение границы между номером сети и номером узла.

Классы IP-адресов

Признаком, на основании которого IP-адрес относится к тому или иному классу, являются значения нескольких первых битов адреса. Таблица 17.1 иллюстриру­ет структуру IP-адресов разных классов.

Таблица 17.1. Классы IP-адресов
Класс Первые биты Наименьший номер сети Наибольший но­мер сети Максимальное число узлов в сети
А   1.0.0.0 (0 — не использу­ется) 126.0.0.0 (127 — зарезерви­рован) 224, поле 3 байта
В   128.0.0.0 191.255.0.0 216, поле 2 байта
С   192.0.0.0 223.255.255.0 28, поле 1 байт
D   224.0.0.0 239.255.255.255 Групповые адреса
Е   240.0.0.0 247.255.255.255 Зарезервировано

□ К классу А относится адрес, в котором старший бит имеет значение 0. В адре­сах класса А под идентификатор сети отводится 1 байт, а остальные 3 байта интерпретируются как номер узла в сети. Сети, все IP-адреса которых имеют значение первого байта в диапазоне от 1 (00000001) до 126 (01111110), назы­ваются сетями класса А. Значение 0 (00000000) первого байта не использует­ся, а значение 127 (01111111) зарезервировано для специальных целей, о чем будет рассказано далее. Сетей класса А сравнительно немного, зато количест­во узлов в них может достигать 224, то есть 16 777 216 узлов.

□ К классу В относятся все адреса, старшие два бита которых имеют значе­ние 10. В адресах класса В под номер сети и под номер узла отводится по два байта. Сети, значения первых двух байтов адресов которых находятся в диа­пазоне от 128.0. (10000000 00000000) до 191.255 (10111111 11111111), назы­ваются сетями класса В. Ясно, что сетей класса В больше, чем сетей класса А, а размеры их меньше. Максимальное количество узлов в сетях класса В со­ставляет 216 (65 536).

□ К классу С относятся все адреса, старшие три бита которых имеют значе­ние 110. В адресах класса С под номер сети отводится 3 байта, а под номер узла — 1 байт. Сети, старшие три байта которых находятся в диапазоне от 192.0.0 (11000000 00000000 00000000) до 223.255 (11011111 11111111 11111111), на­зываются сетями класса С. Сети класса С наиболее распространены и имеют наименьшее максимальное число узлов — 28 (256).

□ Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес (multicast address). В то вре­мя как адреса классов А, В и С используются для идентификации отдельных сетевых интерфейсов, то есть являются индивидуальными адресами (unicast address), групповой адрес идентифицирует группу сетевых интерфейсов, ко­торые в общем случае могут принадлежать разным сетям. Интерфейс, входя­щий в группу, получает наряду с обычным индивидуальным IP-адресом еще один групповой адрес. Если при отправке пакета в качестве адреса назначе­ния указан адрес класса D, то такой пакет должен быть доставлен всем узлам, которые входят в группу.

□ Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для буду­щих применений.

Чтобы получить из IP-адреса номер сети и номер узла, требуется не только раз­делить адрес на две соответствующие части, но и дополнить каждую из них ну­лями до полных 4 байт. Возьмем, например, адрес класса В 129.64.134.5. Первые два байта идентифицируют сеть, а последующие два — узел. Таким образом, но­мером сети является адрес 129.64.0.0, а номером узла — адрес 0.0.134.5.

Особые IP-адреса

В TCP/IP существуют ограничения при назначении IP-адресов, а именно номе­ра сетей и номера узлов не могут состоять из одних двоичных нулей или единиц. Отсюда следует, что максимальное количество узлов, приведенное в табл. 17.1 для сетей каждого класса, должно быть уменьшено на 2. Например, в адресах класса С под номер узла отводится 8 бит, которые позволяют задавать 256 номе­ров: от 0 до 255. Однако в действительности максимальное число узлов в сети класса С не может превышать 254, так как адреса 0 и 255 запрещены для адреса­ции сетевых интерфейсов. Из этих же соображений следует, что конечный узел не может иметь адрес типа 98.255.255.255, поскольку номер узла в этом адресе класса А состоит из одних двоичных единиц.

Итак, некоторые IP-адреса интерпретируются особым образом.

□ Если IP-адрес состоит только из двоичных нулей, то он называется неопре­деленным адресом и обозначает адрес того узла, который сгенерировал этот пакет. Адрес такого вида в особых случаях помещается в заголовок IP-пакета в поле адреса отправителя.

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

□ Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом на­значения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такой адрес называется ограниченным широковеща­тельным (limited broadcast). Ограниченность в данном случае означает, что пакет не выйдет за границы данной сети ни при каких условиях.

□ Если в поле адреса назначения в разрядах, соответствующих номеру узла, стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети, номер которой указан в адресе назначения. Например, пакет с адресом 192.190.21.255 будет направлен всем узлам сети 192.190.21.0. Такой тип адре­са называется широковещательным (broadcast).

ВНИМАНИЕ --------------------------------------------------------------------------------------------------------

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

Особый смысл имеет IP-адрес, первый октет которого равен 127. Этот адрес яв­ляется внутренним адресом стека протоколов компьютера (или маршрутиза­тора). Он используется для тестирования программ, а также для организации работы клиентской и серверной частей приложения, установленных на одном компьютере. Обе программные части данного приложения спроектированы в расчете на то, что они будут обмениваться сообщениями по сети. Но какой же IP-адрес они должны использовать для этого? Адрес сетевого интерфейса ком­пьютера, на котором они установлены? Но это приводит к избыточным переда­чам пакетов в сеть. Экономичным решением является применение внутреннего адреса 127.0.0.0. В IP-сети запрещается присваивать сетевым интерфейсам IP- адреса, начинающиеся со 127. Когда программа посылает данные по IP-адресу 127.х.х.х, то данные не передаются в сеть, а возвращаются модулям верхнего уровня того же компьютера как только что принятые. Маршрут перемещения данных образует «петлю», поэтому этот адрес называется адресом обратной петли (loopback).

Групповые адреса (multicast), относящиеся к классу D, предназначены для эконо­мичного распространения в Интернете или большой корпоративной сети аудио- или видеопрограмм, адресованных сразу большой аудитории слушателей или зрителей. Если групповой адрес помещен в поле адреса назначения IP-пакета, то данный пакет должен быть доставлен сразу нескольким узлам, которые образу­ют группу с номером, указанным в поле адреса. Один и тот же узел может вхо­дить в несколько групп. В общем случае члены группы могут распределяться по различным сетям, находящимся друг от друга на произвольно большом расстоянии.


Групповой адрес не делится на номера сети и узла и обрабатывается маршрути­затором особым образом. Основное назначение групповых адресов — распро­странение информации по схеме «один ко многим». От того, найдут групповые адреса широкое применение (сейчас их используют в основном небольшие экс­периментальные «островки» в Интернете), зависит, сможет ли Интернет создать серьезную конкуренцию радио и телевидению.

Использование масок при IP-адресации

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

Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0, то есть в двоичном виде IP-адрес 129.64.134.5 — это:

10000001.01000000.10000110.00000101, а маска 255.255.128.0 - это:

11111111.11111111.10000000.00000000. Если игнорировать маску и интерпретировать адрес 129.64.134.5 на основе клас­сов, то номером сети является 129.64.0.0, а номером узла — 0.0.134.5 (поскольку адрес относится к классу В).

Если же использовать маску, то 17 последовательных двоичных единиц в маске 255.255.128.0, «наложенные» на IP-адрес 129.64.134.5, делят его на две части:

□ номер сети: 10000001.01000000.1;

□ номер узла: 0000110.00000101.

В десятичной форме записи номера сети и узла, дополненные нулями до 32 бит, выглядят, соответственно, как 129.64.128.0 и 0.0.6.5.

Наложение маски можно интерпретировать как выполнение логической опера­ции «И» (AND). Так, в предыдущем примере номер сети из адреса 129.64.134.5 является результатом выполнения логической операции AND с маской 255.255.128.0:

10000001 01000000 10000110 00000101 AND

11111111.11111111.10000000.00000000 Для стандартных классов сетей маски имеют следующие значения:

□ класс А - 11111111. 00000000. 00000000. 00000000 (255.0.0.0);

□ класс В - 11111111. 11111111. 00000000. 00000000 (255.255.0.0);

□ класс С - 11111111. 11111111. 11111111. 00000000 (255.255.255.0).

ПРИМЕЧАНИЕ ----------------------------------------------------------------------------------------------------

Для записи масок используются и другие форматы. Например, удобно интерпретировать значение маски, записанной в шестнадцатеричном коде: FF.FF.00.00 — маска для адресов класса В. Еще более часто встречается и такое обозначение 185.23.44.206/16 — эта запись говорит о том, что маска для этого адреса содержит 16 единиц или что в указанном IP-ад­ресе под номер сети отведено 16 двоичных разрядов.

Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может разбивать одну, выделенную ему поставщиком услуг сеть определенного класса, на несколько других, не требуя дополнительных номеров сетей — эта операция на­зывается разделением па подсети (subnetting). На основе этого же механизма по­ставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» для уменьшения объема таблиц маршрути­зации и повышения за счет этого производительности маршрутизаторов — такая операция называется объединением подсетей (supernetting). Подробнее об этом мы поговорим при изучении технологии бесклассовой междоменной маршрутизации.

Порядок назначения IP-адресов

Список ключевых слов: частный адрес, организация ICANN, префикс адреса, RFC 2050, уникальность номеров сетей и узлов, централизованная процедура, дефицит адресов, IPv6, NAT, технология бесклассовой междоменной маршрутизации, пул адресов.

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

Назначение адресов автономной сети

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

В этом случае в распоряжении администратора имеются все адресное простран­ство, так как совпадение IP-адресов в не связанных между собой сетях не вызо­вет никаких отрицательных последствий. Администратор может выбирать адре­са произвольным образом, соблюдая лишь синтаксические правила и учитывая ограничения на особые адреса. (Напомним, что номер узла в технологии TCP/IP назначается независимо от его локального адреса.)

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

□ в классе А — сеть 10.0.0.0;

□ в классе В — диапазон из 16 номеров сетей 172.16.0.0-172.31.0.0;

□ в классе С - диапазон из 255 сетей - 192.168.0.0-192.168.255.0.

Эти адреса, исключенные из множества централизованно распределяемых, состав­ляют огромное адресное пространство, достаточное для нумерации узлов автоном­ных сетей практически любых размеров. Заметим также, что частные адреса, как и при произвольном выборе адресов, в разных автономных сетях могут совпадать. В то же время использование частных адресов для адресации автономных сетей делает возможным корректное подключение их к Интернету. Применяемые при этом специальные технологии подключения1 исключают коллизии адресов.

Централизованное распределение адресов

1 Например, такой технологией является NAT, которая будет рассмотрена в главе 20.

В больших сетях, подобных Интернету, уникальность сетевых адресов гаранти­руется централизованной, иерархически организованной системой их распреде­ления. Номер сети может быть назначен только по рекомендации специального подразделения Интернета. Главным органом регистрации глобальных адресов в Интернете с 1998 года является неправительственная некоммерческая органи­зация ICANN (Internet Corporation for Assigned Names and Numbers). Эта орга­низация координирует работу региональных отделов, деятельность которых ох­ватывает большие географические площади: ARIN — Америка, RIPE (Европа), APNIC (Азия и Тихоокеанский регион). Региональные отделы выделяют блоки адресов сетей крупным поставщикам услуг, а те, в свою очередь, распределяют их между своими клиентами, среди которых могут быть и более мелкие поставщики. Проблемой централизованного распределения адресов является их дефицит. Уже сравнительно давно очень трудно получить адрес класса В и практически невозможно стать обладателем адреса класса А. При этом надо отметить, что де­фицит обусловлен не только ростом сетей, но и тем, что имеющееся адресное пространство используется нерационально. Очень часто владельцы сетей клас­са С расходуют лишь небольшую часть из имеющихся у них 254 адресов. Рас­смотрим пример, когда две сети необходимо соединить глобальной связью. В таких случаях в качестве линии связи используют два маршрутизатора, соединенных по двухточечной схеме (рис. 17.2). Для вырожденной сети, образованной линией связи, связывающей порты двух смежных маршрутизаторов, приходится выде­лять отдельный номер сети, хотя в этой сети имеется всего два узла.

Пограничные маршрутизаторы Рис. 17.2. Нерациональное использование пространства IP-адресов

Для смягчения проблемы дефицита адресов разработчики стека TCP/IP предла­гают разные подходы. Принципиальным решением является переход на новую версию протокола IP — протокол IPv6, в котором резко расширяется адресное пространство. Однако и текущая версия протокола IP (IPv4) поддерживает тех­нологии, направленные на более экономное расходование IP-адресов, такие на­пример, как NAT и CIDR.

Адресация и технология CIDR

Технология бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR), которая описана в документах RFC 1517, RFC 1518, RFC 1519, RFC 1520 и о которой впервые было официально объявлено в 1993 году, позволя­ет центрам распределения адресов избежать выдачи абонентам излишних адресов.

Деление IP-адреса на номер сети и номер узла в технологии CIDR происходит не на основе нескольких старших битов, определяющих класс сети (А, В или С), а на основе маски переменной длины, назначаемой поставщиком услуг. Непре­менным условием применимости CIDR является наличие у организации, распо­ряжающейся адресами, непрерывных диапазонов адресов. Такие адреса имеют одинаковый префикс, то есть одинаковые цифры в нескольких старших разря­дах. Пусть в распоряжении некоторого поставщика услуг имеется непрерывное пространство IP-адресов в количестве 2П (рис. 17.3). Отсюда следует, что пре­фикс имеет длину (32 - п) разрядов. Оставшиеся п разрядов играют роль счет­чика последовательных номеров.


 


Пул адресов S2 размером 29 = 512
Mr
г
9 разрядов
Пул адресов S3 размером 210 = 1024
Адресный пул J поставщика 2П

Префикс пула S1 (32-4)

Префикс пула S2j(32-9)

Префикс пула S3! (32-10)


 


Префикс поставщика (32-п) -------------------- ►

п разрядов для переменной части адресов

Рис. 17.3. Распределение адресов на основе технологии CIDR


Когда потребитель обращается к поставщику услуг с просьбой о выделении ему некоторого числа адресов, то в имеющемся пуле адресов «вырезается» непрерыв­ная область SI, S2 или S3, в зависимости от требуемого количества адресов. При этом должны быть выполнены следующие условия:

□ количество адресов в выделяемой области должно быть равно степени двойки,

□ начальная граница выделяемого пула адресов должна быть кратна требуемо­му количеству узлов.

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

Пример

Пусть поставщик услуг Интернета располагает пулом адресов в диапазоне 193.20.0.0-193. 23.255.255 (1100 0001.0001 0100.0000 0000.0000 0000-1100 0001.0001 0111.1111 1111.1111 1111), то есть количество адресов равно 218. Соответственно префикс поставщика услуг име­ет длину 14 разрядов — 1100 0001.0001 01, или в другом виде — 193.20/14.

Если абоненту этого поставщика услуг требуется совсем немного адресов, например 13, то поставщик мог бы предложить ему различные варианты: сеть 193.20.30.0/28, сеть 193.20.30.16/28 или сеть 193.21.204.48/28. Во всех случаях в распоряжении абонента для нумерации узлов имеются 4 младших бита. Таким образом, наименьшее число, удовлетворяющее потребностям абонента (13), которое можно представить степенью двойки (24), является 16. Префикс для каждого из выделяемых пулов во всех этих случаях играет роль номера сети, он имеет длину 32 - 4 = 28 разрядов.

Рассмотрим другой вариант, когда к поставщику услуг обратился крупный заказчик, сам, возможно, собирающийся оказывать услуги по доступу в Интернет. Ему требуется блок адресов в 4000 узлов. На нумерацию такого количества узлов пойдет 12 двоич­ных разрядов, следовательно, размер выделенного пула адресов будет несколько боль­ше требуемого — 4096. Граница, с которой должен начинаться выделяемый участок, должна быть кратна размеру участка, то есть это могут быть любые адреса из следую­щих: 193.20.0.0, 193.20.16.0, 193.20.32.0, 193.20.48.0, и другие числа оканчивающиеся на 12 нулей. Пусть поставщик услуг предложил потребителю диапазон адресов 193.20.16.0— 193.20.31.255. Для этого диапазона агрегированный номер сети (префикс) имеет дли­ну 20 двоичных разрядов и равен 193.20.16.0/20.

Благодаря CIDR поставщик услуг получает возможность «нарезать» блоки из выделенного ему адресного пространства в соответствии с действительными тре­бованиями каждого клиента.

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

Отображение IP-адресов на локальные адреса

Список ключевых слов: протокол разрешения адресов, ARP-запрос, статическая запись, динамическая запись, ARP-кэш, ARP-сервер, протокол Proxy-ARP.

Одной из главных задач, которая ставилась при создании протокола IP, являлось обеспечение совместной согласованной работы в сети, состоящей из подсетей, в общем случае использующих разные сетевые технологии. Взаимодействие тех­нологии TCP/IP с локальными технологиями подсетей происходит многократно при перемещении IP-пакета по составной сети. На каждом маршрутизаторе про­токол IP определяет, какому следующему маршрутизатору в этой сети надо на­править пакет. В результате решения этой задачи протоколу IP становится из­вестен IP-адрес интерфейса следующего маршрутизатора (или конечного узла, если эта сеть является сетью назначения). Чтобы локальная технология сети смогла доставить пакет на следующий маршрутизатор, необходимо:

□ упаковать пакет в кадр соответствующего для данной сети формата (напри­мер, Ethernet);

□ снабдить данный кадр локальным адресом следующего маршрутизатора.

Решением этих задач, как уже отмечалось[30], занимается уровень сетевых интер­фейсов стека TCP/IP.

Протокол разрешения адресов

Как уже было сказано, никакой зависимости между локальным адресом и его IP- адресом не существует, следовательно, единственный способ установления со­ответствия — ведение таблиц. В результате конфигурирования сети каждый ин­терфейс знает свои IP-адрес и локальный адрес, что можно рассматривать как таблицу, состоящую из одной строки. Проблема состоит в том, как организовать обмен имеющейся информацией между узлами сети.

Для определения локального адреса по IP-адресу используется протокол разре­шения адресов (Address Resolution Protocol, ARP). Протокол разрешения адре­сов реализуется различным образом в зависимости от того, работает ли в данной сети протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещания или же какой-либо из протоколов глобальной сети (Х.25, Frame Relay), которые, как правило, не поддерживают широковещательный доступ.

Рассмотрим работу протокола ARP в локальных сетях с широковещанием.

На рис. 17.4 показан фрагмент IP-сети, включающий две сети — Ethernetl (из трех конечных узлов А, В и С) и Ethernet2 (из двух конечных узлов D и Е). Сети подключены соответственно к интерфейсам 1 и 2 маршрутизатора. Каждый сете­вой интерфейс имеет IP-адрес и МАС-адрес. Пусть в какой-то момент IP-модуль узла С направляет пакет узлу D. Протокол IP узла С определил IP-адрес интер­фейса следующего маршрутизатора — это IP1. Теперь, прежде чем упаковать па­кет в кадр Ethernet и направить его маршрутизатору, необходимо определить со­ответствующий МАС-адрес. Для решения этой задачи протокол IP обращается к протоколу ARP. Протокол ARP поддерживает на каждом интерфейсе сетевого адаптера или маршрутизатора отдельную ARP-таблицу, в которой в ходе функ­ционирования сети накапливается информация о соответствии между IP-адресами

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


 


IP ARP
Eth ARP- таблица Ши.......
ipe jMACe

Маршрутизатор
ARP-ответ
MAC-t (4) I
IPaAMACA
IP ARP
Eth ARP- таблица
ipdTmacd
IPi
IP ARP
Eth ------ к ARP- таблица щ--------
ARP
IP
IP
I
ARP- таблица
Eth
Eth
IPbaMACb
IP,
cj
 
IPi ?
(3)

Ethernet

(1)

ARP,

)(2)

ARP таблица

MACc

Ethernet


 


Рис. 17.4. Схема работы протокола ARP

1. На первом шаге происходит передача от протокола IP протоколу ARP при­мерно такого сообщения: «Какой МАС-адрес имеет интерфейс с адресом IPi?»

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

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

4. Все интерфейсы сети Ethernet 1 получают ARP-запрос и направляют его «сво­ему» протоколу ARP. ARP сравнивает указанный в запросе адрес IPt с IP-ад­ресом интерфейса, на который поступил этот запрос. Протокол ARP, который констатировал совпадение (в данном случае это ARP маршрутизатора 1), формирует ARP-ответ.

В ARP-ответе маршрутизатор указывает локальный адрес MAC! своего интер­фейса и отправляет его запрашивающему узлу (в данном примере узлу С), используя его локальный адрес. Широковещательный ответ в этом случае не требуется, так как формат ARP-запроса предусматривает поля локального и се­тевого адресов отправителя. Заметим, что зона распространения ARP-запросов
ограничивается сетью Ethernet 1, так как на пути широковещательных кадров барьером стоит маршрутизатор.

На рис. 17.5 показан кадр Ethernet с вложенным в него ARP-сообщением. ARP- запросы и ARP-ответы имеют один и тот же формат. В табл. 17.2 в качестве при­мера приведены значения полей реального ARP-запроса, переданного по сети Ethernet[31].

Кадр Ethernet ARP-запрос или ARP-ответ Рис. 17.5. Инкапсуляция ARP-сообщений в кадр Ethernet

Таблица 17.2. Пример ARP-запроса
Поле Значение
Тип сети 1 (0x1)
Тип протокола 2048 (0x800)
Длина локального адреса 6(0x6)
Длина сетевого адреса 4 (0x4)
Операция 1 (0x1)
Локальный адрес отправителя 008048ЕВ7Е60
Сетевой адрес отправителя 194.85.135.75
Локальный (искомый) адрес получателя  
Сетевой адрес получателя 194.85.135.65

В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протоко­ла позволяет использовать протокол ARP не только с протоколом IP, но и с дру­гими сетевыми протоколами. Для IP значение этого поля равно 0x0800. Длина локального адреса для протокола Ethernet равна 6 байт, а длина IP-адреса — 4 байт. В поле операции для ARP-запросов указывается значение 1, для ARP-ot- ветов — значение 2.

Из этого запроса видно, что в сети Ethernet узел с IP-адресом 194.85.135.75 пы­тается определить, какой МАС-адрес имеет другой узел той же сети, сетевой ад­рес которого 194.85.135.65. Поле искомого локального адреса заполнено нулями.

Ответ присылает узел, опознавший свой IP-адрес. Если в сети нет машины с ис­комым IP-адресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу. В табл. 17.3 показаны значения полей ARP-отве- та, который мог бы поступить на приведенный в табл. 17.2 ARP-запрос.

Таблица 17.3. Пример ARP-ответа
Поле Значение
Тип сети 1 (0x1)
Тип протокола 2048 (0x800)
Длина локального адреса 6(0x6)
Длина сетевого адреса 4 (0x4)
Операция 1 (0x1)
Локальный адрес отправителя 00E0F77F1920
Сетевой адрес отправителя 194.85.135.65
Локальный (искомый) адрес получателя 008048ЕВ7Е60
Сетевой адрес получателя 194.85.135.75

В результате обмена ARP-сообщениями модуль IP, пославший запрос с интер­фейса, имеющего адрес 194.85.135.75, определил, что IP-адресу 194.85.135.65 со­ответствует МАС-адрес 00E0F77F1920. Этот адрес будет затем помещен в заго­ловок кадра Ethernet, ожидавшего отправления IP-пакета.

Чтобы уменьшить число ARP-обращений в сети, найденное соответствие между IP-адресом и МАС-адресом сохраняется в ARP-таблице соответствующего ин­терфейса, в данном случае — это запись:

194.85.135.65 - 00E0F77F1920

Данная запись в ARP-таблице появляется автоматически, спустя несколько мил­лисекунд после того, как модуль ARP проанализирует ARP-ответ. Теперь, если вдруг вновь возникнет необходимость послать пакет по адресу 194.85.135.65, то протокол IP, прежде чем посылать широковещательный запрос, проверит, нет ли уже такого адреса в ARP-таблице.

ARP-таблица пополняется не только за счет поступающих на данный интерфейс ARP-ответов, но и в результате извлечения полезной информации из широкове­щательных ARP-запросов. Действительно, в каждом запросе, как это видно из табл. 17.2 и 17.3, содержатся IP-адрес и МАС-адрес отправителя. Все интерфей­сы, получившие этот запрос, могут поместить информацию о соответствии ло­кального и сетевого адресов отправителя в собственную ARP-таблицу. В частно­сти, все узлы, получившие ARP-запрос (см. табл. 17.2), могут пополнить свою ARP-таблицу записью:

194.85.135.75 - 008048ЕВ7Е60

Таким образом, вид ARP-таблицы, в которую в ходе работы сети были добавле­ны две упомянутые нами записи, иллюстрирует табл. 17.4.

Таблица 17.4. Пример ARP-таблицы
IP-адрес МАС-адрес Тип записи
194.85.135.65 00E0F77F1920 Динамический
194.85.135.75 008048ЕВ7Е60 Динамический
194.85.60.21 008048ЕВ7567 Статический

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

ПРИМЕЧАНИЕ ----------------------------------------------------------------------------------------------------

Некоторые реализации протоколов IP и ARP не ставят IP-пакеты в очередь на время ожи­дания ARP-ответов. Вместо этого IP-пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через протокол UDP. Такое восстановление выполняется за счет тайм-аутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARP-таблицы.

Совсем другой способ разрешения адресов используется в глобальных сетях, в которых не поддерживается широковещательная рассылка. Здесь администра­тору сети чаще всего приходится вручную формировать и помещать на какой- либо сервер ARP-таблицы, в которых он задает, например, соответствие 1Р-адре- сов адресам Х.25, имеющих для протокола IP смысл локальных адресов. В то же время сегодня наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, кото­рый ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети.

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


В некоторых случаях возникает обратная задача — нахождение IP-адреса по из­вестному локальному адресу. Тогда в действие вступает реверсивный протокол ARP (Reverse Address Resolution Protocol, RARP). Этот протокол используется, например, при старте бездисковых станций, не знающих в начальный момент времени своего IP-адреса, но знающих МАС-адрес своего сетевого адаптера.

Протокол Proxy-ARP

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

На рис. 17.6 показана сеть, один из конечных узлов которой (компьютер D) работа­ет в режиме удаленного узла. Подробнее об этом режиме вы прочитаете в главе 23 части V, а сейчас достаточно знать, что конечный узел в таком режиме обладает все­ми возможностями компьютеров, работающих в основной части сети Ethernet, в ча­стности, он имеет IP-адрес (IPd), относящийся к той же сети. Для всех конечных узлов сети Ethernet особенности подключения удаленного узла (наличие модемов, коммутируемая связь, протокол РРР) абсолютно прозрачны — они взаимодейству­ют с ним обычным образом. Чтобы такой режим взаимодействия стал возможным, среди прочего, необходим протокол Proxy-ARP. Поскольку удаленный узел под­ключен к сети по протоколу РРР, то он, очевидно, не имеет МАС-адреса.


 


Маршрутизатор
н н | PPP |
  PROXY-ARP  
ARP-таблица 1
     
IPD MAC-i int2
         
IP ARP
Eth ARP- таблица am."___

"Z.

IP ARP
Eth ARP- таблица
в1МАСв

IP
Eth

ААМАСА
)(2)
\ \ V ARP-загюос V _ ^ ^
s 4---- —--------- ------- —^ *4 IPd ? (3) У
         
IPjMACc
Ethernetl
Рис. 17.6. Схема работы протокола Proxy-ARP

ARP

ARP- таблица

IPn

[ Модем I (1)

IP , arp4
Eth ARP- A i таблица]

Пусть приложение, работающее, например, на компьютере С, решает послать па­кет компьютеру D. Ему известен IP-адрес узла назначения (IPd)> однако как мы уже не раз отмечали, для передачи пакета по сети Ethernet его необходимо упа­ковать в кадр Ethernet и снабдить МАС-адресом. Для определения МАС-


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: