Конфигурирование маршрутизаторов для работы в полносвязной сети Frame Relay.
Помимо того что необходимо задать тип инкапсуляции на последовательных интерфейсах маршрутизаторов необходимо также создать маршрутные таблицы для связи всех сетей между собой, для этих целей будем использовать протокол динамической маршрутизации RIP, таким образом полная конфигурация всех маршрутизаторов указана ниже:
R1>enable
R1#configure terminal
R1(config)#int s1/0
R1(config-if)#encapsulation frame-relay ietf
R1(config-if)#ip address 1.0.0.1 255.0.0.0
R1(config-if)#no shutd
R1(config-if)#int f0/0
R1(config-if)#ip address 2.0.0.1 255.0.0.0
R1(config-if)#no shutd
R1(config-if)#exit
R1(config)#router rip
R1(config-router)#netw
R1(config-router)#network 1.0.0.0
R1(config-router)#network 2.0.0.0
Настройка маршрутизатора R2
R2>enable
R2#configure terminal
R2(config)#int s1/0
R2(config-if)#encapsulation frame-relay ietf
R2(config-if)#ip address 1.0.0.2 255.0.0.0
R2(config-if)#no shutd
R2(config-if)#int f0/0
R2(config-if)#ip address 3.0.0.1 255.0.0.0
R2(config-if)#no shutd
R2(config-if)#exit
R2(config)#router rip
R2(config-router)#network 1.0.0.0
R2(config-router)#network 3.0.0.0
Настройка маршрутизатора R3
R3>enable
R3#configure terminal
R3(config)#int s1/0
R3(config-if)#encapsulation frame-relay ietf
R3(config-if)#ip address 1.0.0.3 255.0.0.0
R3(config-if)#no shutd
R3(config-if)#int f0/0
R3(config-if)#ip address 4.0.0.1 255.0.0.0
R3(config-if)#no shutd
R3(config-if)#router rip
R3(config-router)#network 1.0.0.0
R3(config-router)#network 4.0.0.0
После того как были сконфигурированы все интерфейсы на маршрутизаторах и по интерфейсу LMI в сообщении полное состояние были получены идентификаторы DLCI активных виртуальных каналов, маршрутизаторы должны были обменяться сообщениями InARP для того чтобы составить таблицу соответствия между IP адресами маршрутизаторов и идентификаторами виртуальных каналов. Используя программу WireShark, перехватите сообщения InARP request и ответ на него в сообщении InARP reply.
InARP request | InARP reply |
Frame Relay First address octet: 0x18 Second address octet: 0x61 DLCI: 102 Control field: U, func=UI (0x03) Padding NLPID: SNAP (0x80) Organization Code: Encapsulated Ethernet (0x000000) Type: ARP (0x0806) Address Resolution Protocol (inverse request) Hardware type: Frame Relay DLCI (15) Protocol type: IP (0x0800) Hardware size: 2 Protocol size: 4 Opcode: inverse request (8) [Is gratuitous: False] Sender hardware address: 0000 Sender IP address: 1.0.0.2 (1.0.0.2) Target hardware address: 3091 Target IP address: 0.0.0.0 (0.0.0.0) | Frame Relay First address octet: 0x18 Second address octet: 0x61 DLCI: 102 Control field: U, func=UI (0x03) Padding NLPID: SNAP (0x80) Organization Code: Encapsulated Ethernet (0x000000) Type: ARP (0x0806) Address Resolution Protocol (inverse reply) Hardware type: Frame Relay DLCI (15) Protocol type: IP (0x0800) Hardware size: 2 Protocol size: 4 Opcode: inverse reply (9) [Is gratuitous: False] Sender hardware address: 0000 Sender IP address: 1.0.0.1 (1.0.0.1) Target hardware address: 3091 Target IP address: 1.0.0.2 (1.0.0.2) |
Согласно данному ARP запросу, маршрутизатор R2 выяснил, что на противоположной стороне канала 201 находится маршрутизатор с IP адресом 1.0.0.1. идентификатор канала 201 зашифрован в поле Target hardware address: 3091h сообщения InARP reply, дело в том, что в поле Target hardware address указывается не конкретный номер DLCI, а весь заголовок кадра Frame Relay. Таким образом, чтобы понять идентификатор DLCI необходимо 3091h представить в двоичной форме 3091h=0011 0000 1001 0001, сам же DLCI располагается в первых шести битах первого октета и в первых четырех битах второго октета, следовательно, идентификатор DLCI=0011001001=201.
Для того чтобы узнать какую таблицу разрешения адресов составил маршрутизатор необходимо в привилегированном режиме набрать команду show frame-relay map.
R1#show frame-relay map
Serial1/0 (up): ip 1.0.0.2 dlci 102(0x66,0x1860), dynamic,
broadcast,
IETF, status defined, active
Serial1/0 (up): ip 1.0.0.3 dlci 103(0x67,0x1870), dynamic,
broadcast,
IETF, status defined, active
Как видно из вывода данной команды маршрутизатор R1 установил соответствия: IP 1.0.0.2 – DLCI 102; IP 1.0.0.3 – DLCI 103. Также обратите на ключевое слово broadcast, это означает, что через данные виртуальные каналы разрешена передача многоадресатных и широковещательных сообщений, поэтому передача анонсов протокола RIPv1 возможна по этим виртуальным каналам.
Для проверки правильности конфигурации используйте утилиту ping с Linux_PC1 для проверки доступности Linux_PC3 (4.0.0.2). С помощью программы WireShark перехватите сообщения ICMP, ниже показано сообщение ICMP echo request.
Frame 908: 88 bytes on wire (704 bits), 88 bytes captured (704 bits) Frame Relay First address octet: 0x18 0001 10.. = Upper DLCI: 0x06 .... ..0. = CR: Response
Second address octet: 0x61 0110 .... = Second DLCI: 0x06 .... 0... = FECN: False .... .0.. = BECN: False .... ..0. = DE: False .... ...1 = EA: Last Octet DLCI: 102
000. 00.. = Command: Unnumbered Information (0x00) .... ..11 = Frame type: Unnumbered frame (0x03) NLPID: IP (0xcc) Internet Protocol Version 4, Src: 2.0.0.2 (2.0.0.2), Dst: 4.0.0.2 (4.0.0.2) Internet Control Message Protocol |
Анализ работы протокола RIP
Как известно для предотвращения маршрутных циклов, которые могут возникнуть входе работы протоколов динамической маршрутизации, в маршрутизаторах предусмотрен механизм разделения горизонта, согласно которому маршрутизатор не должен анонсировать через интерфейс те сети, которые были получены на этот интерфейс. Таким образом, если метод разделения диапазона включен маршрутизатор R1 должен анонсировать через свой последовательный интерфейс только сеть 2.0.0.0 в перехваченном же сообщении протокола RIP видно обратное, то есть метод разделения горизонта отключен.
Frame Relay First address octet: 0x18 Second address octet: 0x61 DLCI: 102 Control field: U, func=UI (0x03) NLPID: IP (0xcc) Internet Protocol Version 4, Src: 1.0.0.1 (1.0.0.1), Dst: 255.255.255.255 (255.255.255.255) User Datagram Protocol, Src Port: router (520), Dst Port: router (520) Routing Information Protocol Command: Response (2) Version: RIPv1 (1) IP Address: 1.0.0.0, Metric: 1 IP Address: 2.0.0.0, Metric: 1 IP Address: 3.0.0.0, Metric: 1 IP Address: 4.0.0.0, Metric: 1 |
Для того чтобы включить метод разделения горизонта необходимо в режиме конфигурации каждого интерфейса ввести команду ip split-horizon.
R1(config)#int s1/0
R1(config-if)#ip split-horizon
R2(config)#int s1/0
R2(config-if)#ip split-horizon
R3(config)#int s1/0
R3(config-if)#ip split-horizon
В результате захват анонса RIP того же маршрутизатора R1 будет совсем другой:
Frame Relay First address octet: 0x18 Second address octet: 0x61 DLCI: 102 Control field: U, func=UI (0x03) NLPID: IP (0xcc) Internet Protocol Version 4, Src: 1.0.0.1 (1.0.0.1), Dst: 255.255.255.255 (255.255.255.255) User Datagram Protocol, Src Port: router (520), Dst Port: router (520) Routing Information Protocol Command: Response (2) Version: RIPv1 (1) IP Address: 2.0.0.0, Metric: 1 |