Настройка протокола IP на маршрутизаторе' Cisco Systems
Базовым шагом при настройке протокола IP на маршрутизаторах является назначение IP-адреса интерфейсу. После этого интерфейс может участвовать в обмене информацией в распределенной сети. Интерфейс маршрутизатора может иметь только один первичный (primary) адрес, для настройки которого следует воспользоваться командой ip address, выполняемой в режиме конфигурации интерфейсов. В качестве аргумента этой команды следует указать собственно IP-адрес и маску подсети.
Ciscol601#configure terminal
Enter configuration commands, one per line. End with CNTL/Z. Ciscol601(config)#interface ethernet 0 Ciscol601(config-if)#ip address 192.168.3.254 255.255.255.0
Помимо первичного адреса администратор может настроить неограниченное количество вторичных адресов (secondary), которые могут использоваться для различных целей. Например, может сложиться ситуация, когда выбранная схема выделения подсетей позволяет поддерживать не более 254 устройств в одной
логической подсети, в то время как в физической подсети необходимо существование порядка 300 устройств. В этом случае администратор может настроить на маршрутизаторе вторичный адрес, что позволит получить две логические подсети в одном физическом сегменте сети. Следует отметить, что если любой маршрутизатор в сегменте поддерживает вторичные адреса протокола IP, то все другие маршрутизаторы в этом сегменте также должны использовать вторичные адреса с теми же адресами сети или подсети. Для настройки вторичных адресов используется команда ip address <маска 1Р-адреса> secondary.
Ciscol601(config)#interface ethernet 0
Ciscol601(config-if)#ip address 192.168.3.205 255.255.255.0 secondary
В приведенном выше примере на интерфейсе EthernetO маршрутизатора настраивается вторичный адрес протокола IP. До этого такой же командой (только без ключевого слова secondary) был настроен первичный адрес. Таким образом, маршрутизатор (точнее, один из его интерфейсов) имеет два адреса. Если теперь выполнить команду show running-config, то можно увидеть настроенные на интерфейсе адреса. Ciscol601#show running-config
interface EthernetO
description connected to Internal LAN - 192.168.3.x ip address 192.168.3.205 255.255.255.0 secondary ip address 192.168.3.254 255.255.255.0
no keepalive
В том случае, если для настройки маршрутизатора используется программное обеспечение Cisco ConfigMaker, при создании схемы сети администратору потребуется ввести адреса для интерфейсов маршрутизатора (см. рис. 2.27). При нажатии кнопки IP... становится доступен калькулятор.
Обычно канал связи между маршрутизаторами требует использования отдельной подсети. Однако такое требование достаточно проблематично выполнить, так как впустую расходуется множество возможных адресов устройств. Оптимальным может быть решение, которое заключается в использовании технологии VLSM и создании небольших, содержащих всего два устройства подсетей (маска подсети /30, или 255.255.255.252) или в использовании специального механизма операционной системы Cisco IOS, который называется ip unnumbered. В последнем варианте каналу связи между маршрутизаторами вообще не присваивается адрес, что позволяет говорить об экономии адресного пространства (к тому же это значительно упрощает администрирование сети). Данная возможность применима к каналам связи типа «точка-точка» между парами маршрутизаторов, примером чему могут служить выделенные каналы связи, постоянные виртуальные соединения Frame Relay, ATM и т. п. При этом происходит заимствование адреса сетевого уровня у одного из интерфейсов маршрутизатора (например, EthernetO).
Для того чтобы настроить рассматриваемый механизм, нужно выполнить команду ip unnumbered в режиме конфигурации интерфейсов. Приведенный ниже пример показывает настройку подынтерфейса SerialO.l (отражающий постоянное виртуальное соединение Frame Relay) как ненумерованного с использованием адреса интерфейса локальной сети.
Cisco805#configure terminal
Enter configuration commands, one per line. End with CNTL/Z. Cisco805(config)finterface serial 0.1 Cisco805(config-subif)#ip unnumbered EthernetO
Если для конфигурации сети используется Cisco ConfigMaker, то администратор сети также может использовать ip unnumbered. На рис. 2.28 показано диалоговое окно, в котором производится настройка соединения двух маршрутизаторов по технологии Frame Relay. Точнее, показано окно мастера настройки, в котором администратор может выбрать использование механизма ip unnumbered и указать, адрес какого интерфейса нужно задействовать.
При использовании ненумерованных интерфейсов следует учитывать ряд важных моментов. Интерфейсы, использующие тип инкапсуляции HDLC, PPP, LAPB и Frame Relay, могут быть ненумерованными. Кроме того, при инкапсуляции Frame Relay это могут быть только интерфейсы типа «точка-точка». Невозможно использовать рассматриваемый механизм при инкапсуляции Х.25 и SMDS. Другим ограничением является то, что администратор сети не может воспользоваться командой ping для определения статуса интерфейса. Выполняя команду show interfaces, можно получить информацию о том, что интерфейс не нумерован, и определить используемый им адрес.
CiscolOOB Ishow interfaces serial 0.1
SerialO.l is up. line protocol is up
Hardware is QUICC Serial
Interface is unnumbered. Using address of EthernetO (192.168.6.254)
MTU 1500 bytes, BW 1544 Kbit. DLY 20000 usec. rely 255/255. load 1/255 Encapsulation FRAME-RELAY
Протокол ARP
Протокол ARP (Address Resolution Protocol) — это протокол разрешения адресов. Он описан в документе RFC 826. Необходимость использования протокола ARP продиктована тем обстоятельством, что IP-адреса устройств в сети назначаются независимо от их физических адресов. Поэтому для доставки сообщений по сети необходимо определить соответствие между физическим адресом устройства и его IP-адресом. Эта процедура называется разрешением адресов (address resolution). В большинстве случаев прикладные программы используют именно IP-адреса. А так как схемы физической адресации устройств весьма разнообразны, то необходим специальный, универсальный протокол.
Для того чтобы получить адрес протокола IP, зная физический адрес устройства, существует процедура, называемая обратным разрешением адресов (reverse address resolution). Программное обеспечение маршрутизаторов Cisco IOS поддерживает следующие протоколы, связанные с процедурами разрешения адресов: протокол ARP, proxy ARP, reverse ARP, — которые описаны в документах RFC 826, 1027 и 903. Кроме того, поддерживается протокол Probe, разработанный компанией Hewlett-Packard для использования в сетях IEEE-802.3.
Реверсный ARP (или обратное разрешение) работает аналогично протоколу ARP, за исключением того, что в его задачи входит определение физического адреса по известному адресу сетевого уровня. Использование этого протокола требует наличия в сети сервера RARP, подключенного к тому же сегменту сети, что и ин терфейс маршрутизатора. Наиболее часто этот протокол используется для запуска бездисковых рабочих станций. Маршрутизатор, работающий под управлением операционной системы Cisco IOS, будет использовать этот протокол, если в процессе своей загрузки он обнаружит, что интерфейсу не назначен адрес протокола IP. Отметим тот факт, что маршрутизатор может работать как сервер RARP, отвечая на запросы клиетов.
Разрешение адресов может быть выполнено двумя способами: с помощью прямого отображения и с помощью динамического связывания (dynamic mapping). Протокол ARP использует механизм динамического связывания. Функционально протокол ARP состоит из двух частей. Одна часть протокола определяет физические адреса при посылке дейтаграммы, другая отвечает на запросы устройств в сети. Протокол ARP предполагает, что каждое устройство «знает» как свой IP-адрес, так и свой физический адрес.
Для того чтобы уменьшить количество посылаемых запросов ARP, каждое устройство в сети, использующее протокол ARP, должно иметь специальную буферную память. В этой памяти хранятся пары адресов (IP-адрес, физический адрес) устройств в сети. Всякий раз, когда устройство получает ARP-ответ, оно сохраняет в этой памяти соответствующую пару. Если адрес есть в списке пар, то нет необходимости посылать ARP-запрос. Эта буферная память называется ARP-таблицей.
В ARP-таблице могут быть как статические, так и динамические записи. Динамические записи добавляются и удаляются автоматически, статические могут быть добавлены вручную.
Так как большинство устройств в сети поддерживает динамическое разрешение адресов, то администратору, как правило, нет необходимости вручную указывать записи протокола ARP в таблице адресов.
Кроме того, ARP-таблица всегда содержит запись с физическим широковещательным адресом (OxFFFFFFFFFFFF) для локальной сети. Эта запись позволяет устройству принимать широковещательные ARP-запросы. Каждая запись в ARP-таблице имеет свое время жизни, например, для операционной системы Microsoft Windows NT оно составляет 10 мин. При добавлении записи ей присваивается таймер. Если запись не используется в первые две минуты, она удаляется. Если используется — время ее жизни составляет 10 мин. В некоторых реализациях протокола ARP новый таймер устанавливается после каждого использования записи в ARP-таблице.
Для того чтобы просмотреть содержимое таблицы на маршрутизаторе, следует воспользоваться командой show агр, выполняемой в пользовательском режиме. Если необходимо очистить таблицу, следует воспользоваться командой clear arp-cache, выполняемой в привилегированном режиме.
Ciscol601>show агр
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.3.113 16 0090.2751.c4f0 ARPA Ethernet0
Internet 192.168.3.14 3 0090.27e0.041e ARPA Ethernet0
Internet 192.168.3.3 79 0090.271d.c8ee ARPA Ethernet0
Internet 192.168.3.5 9 00a0.c9da.f6f6 ARPA Ethernet0
Internet 192.168.3.4 5 00a0.c928.2d07 ARPA Ethernet0
Если необходимо изменить время жизни записей в таблице, можно воспользоваться командой агр timeout, выполняемой в режиме конфигурации интерфейсов. В качестве аргумента используется временной интервал в секундах.
По умолчанию на маршрутизаторах применяется стандартный тип инкапсуляции протокола ARP, который обозначается ключевым словом ARPA. Администратор сети может изменить метод инкапсуляции на SNAP или HP Probe исходя из требований конкретной сети. Для изменения метода инкапсуляции можно воспользоваться командой агр в режиме конфигурации интерфейсов. При этом в качестве аргумента может указываться агра, probe, snap. Получить информацию об использующемся методе инкапсуляции можно с помощью команды show i nterfaces.
Ciscol601#show interfaces ethernet 0
Ethernet0 is up. line protocol is up
Hardware is QUICC Ethernet, address is 0010.7bef.4478 (bia 0010.7bef.4478)
Description: connected to Internal LAN - 192.168.3.x
Internet address is 192.168.3.254/24
MTU 1500 bytes. BW 10000 Kbit. DLY 1000 usec. rely 255/255. load 1/255
Encapsulation ARPA. loopback not set, keepalive not set
ARP type: ARPA. ARP Timeout 04:00:00
Протокол proxy ARP маршрутизатор использует (как это определено в документе RFC 1027) для того, чтобы помочь устройствам, не имеющим информации о маршрутизации, определить физический адрес устройств, находящихся в другой подсети. Например, если маршрутизатор получает широковещательный запрос протокола ARP для устройства, которое находится в разных сетях с отправителем запроса, и если этот маршрутизатор знает все маршруты к этому устройству через другие свои интерфейсы, он генерирует ответ ARP с указанием физического адреса своего интерфейса. Затем устройство, пославшее запрос ARP, будет адресовать свои пакеты маршрутизатору, который и передаст их нужному устройству. Этот механизм включен по умолчанию, и если его необходимо отключить, то следует воспользоваться командой no ip proxy-агр, выполняемой в режиме конфигурации интерфейсов. Просмотреть результат работы этого механизма можно с помощью команды show ip interface.
Ciscol601#show ip interface ethernet 0 EthernetO is up. line protocol is up
Internet address is 192.168.3.254/24
Broadcast address is 255.255.255.255
Proxy ARP is enabled
Сообщения протокола ARP при передаче по сети инкапсулируются в поле данных кадра. Они не содержат IP-заголовка. В отличие от сообщений большинства протоколов, сообщения ARP не имеют фиксированного формата заголовка. Это объясняется тем, что протокол был разработан таким образом, чтобы его можно было использовать для разрешения адресов в различных сетях. Фактически протокол можно использовать с произвольными физическими адресами и сетевыми протоколами.
Рисунки 2.29 и 2.30 содержат результаты работы анализатора пакетов, которые наглядно показывают структуру запросов и ответов протокола ARP. Анализируя структуру запроса, можно увидеть, что компьютер с адресом 192.168.3.2 делает попытку узнать МАС-адрес компьютера с IP-адресом 192.168.3.12. Для этого он посылает широковещательный запрос, содержащий IP-адрес, с МАС-адресом, установленным в 00:00:00:00:00:00. Следует обратить внимание на заголовок MAC header — точнее, на поле Destination, установка которого в FF:FF:FF:FF:FF:FF как раз и указывает на широковещательный характер запроса.
Когда компьютер с адресом 192.168.3.12 получает этот широковещательный запрос, он анализирует IP-адрес, для которого выполняется разрешение. Определив, что его адрес совпадает с искомым, он формирует ответ протокола ARP, в котором указывает свой МАС-адрес (см. рис. 2.30).
Обратите внимание на то, что ответ посылается уже не широковещательно — отправитель знает МАС-адрес инициатора запроса и поэтому передает пакет целенаправленно.