Stub connector что это

Unit-тесты, пытаемся писать правильно, чтобы потом не было мучительно больно

100 модульных тестов и приходится тратить продолжительное время на то чтобы заставить их работать вновь. Итак, приступим к «хорошим рекомендациям» при написании автоматических модульных тестов. Нет, я не буду капитаном очевидностью, в очередной раз описывая популярный стиль написания тестов под названием AAA (Arange-Act-Assert). Зато попытаюсь объяснить, чем отличается Mock от Stub-а и что далеко не все тестовые объекты — «моки».

Глобально модульные тесты можно условно поделить на две группы: тесты состояния (state based) и тесты взаимодействия (interaction tests).

Тесты состояния — тесты, проверяющие что вызываемый метод объекта отработал корректно, проверяя состояние тестируемого объекта после вызова метода.

Тесты взаимодействия — это тесты, в которых тестируемый объект производит манипуляции с другими объектами. Применяются, когда требуется удостовериться, что тестируемый объект корректно взаимодействует с другими объектами.

Стоит также заметить, что модульный (unit) тест может запросто превратиться в интеграционный тест, если при тестировании используется реальное окружение(внешние зависимости) — такие как база данных, файловая система и т.д.

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

Внешняя зависимость — это объект, с которым взаимодействует код и над которым нет прямого контроля. Для ликвидации внешних зависимостей в модульных тестах используются тестовые объекты, например такие как stubs (заглушки).

Стоит заметить что существует классический труд по модульным тестам за авторством Жерарда Месароша под названием «xUnit test patterns: refactoring test code«, в котором автор вводит аж 5 видов тестовых объектов, которые могут запросто запутать неподготовленного человека:

— dummy object, который обычно передается в тестируемый класс в качестве параметра, но не имеет поведения, с ним ничего не происходит, никакие методы не вызываются. Примером таких dummy-объектов являются new object(), null, «Ignored String» и т.д.

— test stub (заглушка), используется для получения данных из внешней зависимости, подменяя её. При этом игнорирует все данные, могущие поступать из тестируемого объекта в stub. Один из самых популярных видов тестовых объектов. Тестируемый объект использует чтение из конфигурационного файла? Передаем ему ConfigFileStub возвращающий тестовые строки конфигурации для избавления зависимости на файловую систему.

— test spy (тестовый шпион), используется для тестов взаимодействия, основной функцией является запись данных и вызовов, поступающих из тестируемого объекта для последующей проверки корректности вызова зависимого объекта. Позволяет проверить логику именно нашего тестируемого объекта, без проверок зависимых объектов.

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

— fake object (фальшивый объект), используется в основном чтобы запускать (незапускаемые) тесты (быстрее) и ускорения их работы. Эдакая замена тяжеловесного внешнего зависимого объекта его легковесной реализацией. Основные примеры — эмулятор для конкретного приложения БД в памяти (fake database) или фальшивый вебсервис.

Roy Osherove в книге «The Art of Unit Testing» предлагает упростить данную классификацию и оставляет всего три типа тестовых объектов — Fakes, Stubs и Mocks. Причем Fake может быть как stub-ом, так и mock-ом, а тестовый шпион становится mock-ом. Хотя лично мне не очень нравится перемешивание тестового шпиона и мок-объекта.

Запутанно? Возможно. У данной статьи была задача показать, что написание правильных модульных тестов — достаточно сложная задача, и что не всё то mock, что создаётся в посредством mock-frameworks.

Надеюсь, я сумел подвести читателя к основной мысли — написание качественных модульных тестов дело достаточно непростое. Модульные тесты подчиняются тем же правилам, что и основное приложение, которое они тестируют. При написании модульных тестов следует тестировать модули настолько изолированно друг от друга, насколько это возможно, и различные разновидности применяемых тестовых объектов в этом, безусловно, помогают. Стиль написания модульных тестов должен быть таким же, как если бы вы писали само приложения — без копипастов, с продуманными классами, поведением, логикой.

Источник

Что такое stub.exe? Это безопасно или вирус? Как удалить или исправить это

Что такое stub.exe?

stub.exe это исполняемый файл, который является частью CuteFTP Программа, разработанная GlobalSCAPE, Программное обеспечение обычно о 3.63 MB по размеру.

Stub connector что это. Смотреть фото Stub connector что это. Смотреть картинку Stub connector что это. Картинка про Stub connector что это. Фото Stub connector что это

Stub.exe безопасный, или это вирус или вредоносная программа?

Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как stub.exe, должен запускаться из C: \ Program Files \ CuteFTP \ unwise32.exe, а не где-либо еще.

Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.

Наиболее важные факты о stub.exe:

Если у вас возникли какие-либо трудности с этим исполняемым файлом, перед удалением stub.exe следует определить, заслуживает ли он доверия. Для этого найдите этот процесс в диспетчере задач.

Найдите его местоположение (оно должно быть в C: \ ProgramData \ GlobalSCAPE \ CuteFTP) и сравните размер и т. Д. С приведенными выше фактами.

Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус stub.exe, вам необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.

Могу ли я удалить или удалить stub.exe?

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

Однако, если это не вирус, и вам необходимо удалить stub.exe, вы можете удалить CuteFTP со своего компьютера с помощью программы удаления, которая должна находиться по адресу: C: \ Program Files3 \ GLOBAL

1 \ CuteFTP \ UNWISE32.EXE C: \ Program Files3 \ GLOBAL

1 \ CuteFTP \ INSTALL.LOG. Если вы не можете найти его деинсталлятор, то вам может понадобиться удалить CuteFTP, чтобы полностью удалить stub.exe. Вы можете использовать функцию «Установка и удаление программ» на панели управления Windows.

Распространенные сообщения об ошибках в stub.exe

Наиболее распространенные ошибки stub.exe, которые могут возникнуть:

• «Ошибка приложения stub.exe».
• «Ошибка stub.exe».
• «stub.exe: столкнулся с проблемой и будет закрыт. Приносим извинения за неудобства».
• «stub.exe не является допустимым приложением Win32».
• «stub.exe не запущен».
• «stub.exe не найден».
• «Не удается найти файл stub.exe».
• «Ошибка запуска программы: stub.exe».
• «Неверный путь к приложению: stub.exe.»

Как исправить stub.exe

Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.

Чтобы помочь вам проанализировать процесс stub.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.

Обновлен декабрь 2021:

Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.

Загрузите или переустановите stub.exe

Вход в музей Мадам Тюссо не рекомендуется загружать замещающие exe-файлы с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить stub.exe, мы рекомендуем переустановить основное приложение, связанное с ним. CuteFTP.

Информация об операционной системе

Ошибки stub.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

Источник

Типы областей OSPF

Введение

В этой статье я хотел бы рассказать о типах областей OSPF. Статьи по настройке OSPF с использованием областей как-то здесь мне уже попадались. Я же хочу рассмотреть, чем эти типы областей отличаются друг от друга: normal, stub, totally stubby, NSSA, totally NSSA. Итак, начнем.

OSPF относится к link state категории протоколов динамической маршрутизации. Это значит, что роутеры не передают друг другу в качестве обновлений информацию о сетях. Вместо этого роутеры обмениваются информацией о состоянии своих интерфейсов или объявлениями о состоянии канала. Для этого используются специальные типы пакетов, которые называются LSA – Link State Advertisement. Данные сообщения бывают разных типов. Разобравшись в типах LSA, вы легко разберетесь чем отличаются между собой разные типы областей OSPF друг от друга.

Для примера я буду использовать следующую топологию:

Stub connector что это. Смотреть фото Stub connector что это. Смотреть картинку Stub connector что это. Картинка про Stub connector что это. Фото Stub connector что это

Базовое конфигурирование

Все роутеры Cisco. Сначала сконфигурируем OSPF в Area 0 (синяя). В этой области три роутера: ABR, R1AR0, R2AR0. Между R1AR0 и ABR соединение точка-точка (10.1.1.0/24), между R1AR0 и R2AR0 – Ethernet (10.2.2.0/24). На R2AR0 созданы loopback интерфейсы с адресами 10.10.x.0/32.

R1AR0:

hostname R1AR0
!
int s0/0
no shut
ip address 10.1.1.1 255.255.255.0
!
int fa1/0
no shut
ip address 10.2.2.1 255.255.255.0
!
router ospf 1
router-id 1.1.1.1
network 10.0.0.0 0.255.255.255 area 0
Простая конфигурация. Добавляем интерфейсы в OSPF. Задаем Router-ID, только для того, чтобы проще было определять принадлежность LSA к конкретному роутеру.

R2AR1:

hostname R2AR0
!
int f0/0
no shut
description CONNECTION TO R1AR1
ip address 10.2.2.2 255.255.255.0
!
int s0/0
no shut
description CONNECTION TO RIPRTR
ip address 10.3.3.1 255.255.255.0
!
int loop 0
ip address 10.10.0.1 255.255.255.255
!
int loop 1
ip address 10.10.1.1 255.255.255.255
!
int loop 2
ip address 10.10.2.1 255.255.255.255
!
int loop 3
ip address 10.10.3.1 255.255.255.255
!
router ospf 1
router-id 2.2.2.2
network 10.2.2.2 0.0.0.0 area 0
network 10.10.0.0 0.0.255.255 area 0
Аналогичная конфигурация. Обратите внимание, что интерфейс s0/0 не участвует в работе OSPF. Позже он будет работать с RIP.

ABR:

hostname ABR
!
int s0/0
no shut
ip address 10.1.1.2 255.255.255.0
!
int s0/1
no shut
ip address 192.168.1.1 255.255.255.0
!
router ospf 1
router-id 1.1.2.2
network 10.0.0.0 0.255.255.255 area 0
Пока в OSPF включаем только интерфейс s0/0 с адресом 10.1.1.2.

LSA 1 и 2 типа

Теперь давайте глянем на таблицы маршрутизации и на то, что хранится в базе LSDB.
R1AR0:

R1AR0#sh ip ro
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O 10.10.1.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0
O 10.10.0.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0
O 10.10.3.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0
O 10.10.2.1/32 [110/2] via 10.2.2.2, 00:07:47, FastEthernet1/0
C 10.2.2.0/24 is directly connected, FastEthernet1/0
C 10.1.1.0/24 is directly connected, Serial0/0
R1AR0#sh ip ospf database database-summary

OSPF Router with ID (10.2.2.1) (Process ID 1)

Area 0 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 0 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 4 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 0 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 0 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 4 0 0

В таблице маршрутизации мы видим маршруты, помеченные кодом «О» — OSPF. В базе LSDB мы видим, что общее количество LSA равно 4, как для Area 0, так и для процесса OSPF. В базе данных находится 3 – Router LSA (тип 1) и 1 – Network LSA (Тип 2). Аналогичную картину в базе данных мы увидим и на остальных роутерах. Итак, что из себя представляют LSA указанных типов?

Router LSA (тип 1)

Этот тип LSA генерирует каждый роутер в области и выполняет флуд по области, но не за ее пределы. В нашей области сейчас 3 роутера, соответственно в базе мы видим 3 Router LSA. Данный тип LSA представляет роутер и его интерфейсы. Давайте глянем на него подробнее:

Это LSA данного роутера: Router-id 1.1.1.1.

У этого роутера есть перечисленные интерфейсы.

Следующий роутер: 1.1.2.2 (ABR).

Последний роутер (R2AR0).

Его интерфейсы, в том числе куча loopback.

Network LSA (тип 2)

Второй тип LSA, который мы видим в нашей области – Network LSA. В области есть Ethernet-сегмент, к которому подключены 2 роутера (R1AR0 и R2AR0). Ethernet, Frame Relay, ATM – эти типы сетей относятся к сетям с множественным доступом: Broadcast MultiAccess (Ethernet) и Non Broadcast MultiAccess (NBMA). Т.е. к общей среде передачи данных подключено одновременно несколько роутеров и сеть обладает или нет возможностями широковещательной рассылки. Если бы в такой сети все роутеры обменивались топологической информацией друг с другом, то это привело бы к рассылке большого количества копий LSA, каждый с каждым. Для предотвращения множественной рассылки копий в таких сетевых сегментах выбираются DR и BDR роутеры. Синхронизацию LSDB другие роутеры будут выполнять только с ними.
DR-роутер генерирует Network LSA для представления таких сетевых сегментов. По сути, Network LSA представляет собой транзитную сеть и все роутеры к ней подключенные:

R1AR0#sh ip ospf database router

OSPF Router with ID (1.1.1.1) (Process ID 1)

Router Link States (Area 0)

LS age: 14
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 1.1.1.1
Advertising Router: 1.1.1.1
LS Seq Number: 80000001
Checksum: 0xD17C
Length: 60
Number of Links: 3

Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.2.2
(Link Data) Router Interface address: 10.2.2.1
Number of TOS metrics: 0
TOS 0 Metrics: 1

Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 1.1.2.2
(Link Data) Router Interface address: 10.1.1.1
Number of TOS metrics: 0
TOS 0 Metrics: 64

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.1.1.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64

LS age: 18
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 1.1.2.2
Advertising Router: 1.1.2.2
LS Seq Number: 80000003
Checksum: 0x81F6
Length: 48
Number of Links: 2

Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 1.1.1.1
(Link Data) Router Interface address: 10.1.1.2
Number of TOS metrics: 0
TOS 0 Metrics: 64

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.1.1.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64

Adv Router is not-reachable
LS age: 131
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 2.2.2.2
Advertising Router: 2.2.2.2
LS Seq Number: 80000006
Checksum: 0x193E
Length: 84
Number of Links: 5

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.10.0.1
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.10.1.1
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.10.2.1
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.10.3.1
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1

Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.2.1
(Link Data) Router Interface address: 10.2.2.2
Number of TOS metrics: 0
TOS 0 Metrics: 10

Идентификатор и адрес DR роутера.

Роутеры, подключенные к транзитной сети.

R1AR0#sh ip ospf database network

OSPF Router with ID (1.1.1.1) (Process ID 1)

Net Link States (Area 0)

Routing Bit Set on this LSA
LS age: 1449
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.2.2.2 (address of Designated Router)
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0x1501
Length: 32
Network Mask: /24
Attached Router: 2.2.2.2
Attached Router: 1.1.1.1

Normal Area и Summary LSA (Тип 3)

Дизайн OSPF предполагает двухуровневую архитектуру. Есть магистральная область (Backbone, идентификатор 0.0.0.0) и остальные области, которые должны быть подключены к магистральной. Связи между областями осуществляют роутеры, интерфейсы которых подключены к двум и более областям. В терминологии OSPF они называются Area Border Router (ABR). Магистральную область мы настроили. Теперь давайте настроим еще одну область:
ABR:

hostname ABR
!
router ospf 1
network 192.168.1.1 0.0.0.0 area 1
Добавляем второй интерфейс и подключаем его к Area 1.

R1AR2:

hostname R1AR1
!
int s0/1
description CONNECTION TO ASBR
no shut
ip address 192.168.2.1 255.255.255.0
!
int s0/0
description CONNECTION TO ABR
no shut
ip address 192.168.1.2 255.255.255.0
!
router ospf 1
router-id 3.3.3.3
network 192.168.0.0 0.0.255.255 area 1
Все интерфейсы в Area 1.

ASBR:

hostname ASBR
!
int s0/0
description CONNECTION TO R1AR1
no shut
ip address 192.168.2.2 255.255.255.0
!
router ospf 1
router-id 4.4.4.4
network 192.168.0.0 0.0.255.255 area 1
!
ip route 1.0.0.0 255.0.0.0 null0
ip route 2.0.0.0 255.0.0.0 null0
ip route 3.0.0.0 255.0.0.0 null0
!
Аналогичная конфигурация. На статические маршруты пока не обращаем внимания, они понадобятся позднее.

Теперь посмотрим, как изменилась топологическая база и таблица маршрутизации. По прежнему выполним нужные команды на R1AR0 (Area 0):

10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O 10.10.1.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0
O 10.10.0.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0
O 10.10.3.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0
O 10.10.2.1/32 [110/2] via 10.2.2.2, 00:08:10, FastEthernet1/0
C 10.2.2.0/24 is directly connected, FastEthernet1/0
C 10.1.1.0/24 is directly connected, Serial0/0
O IA 192.168.1.0/24 [110/128] via 10.1.1.2, 00:08:10, Serial0/0
O IA 192.168.2.0/24 [110/192] via 10.1.1.2, 00:07:22, Serial0/0
R1AR0#sh ip ospf database database-summary

OSPF Router with ID (1.1.1.1) (Process ID 1)

Area 0 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 2 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 6 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 2 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 0 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 6 0 0

В таблице маршрутизации появились маршруты помеченные кодом «O IA» — маршруты OSPF из других областей. А в топологической базе добавилось два Summary LSA (тип 3). Сколько сетей передается из Area 1 в Area 0? Правильно – две: 192.168.1.1 и 192.168.2.0. Сколько Summary LSA? Тоже две.
Давайте посмотрим на детали:

Адрес сети и идентификатор роутера, который ее анонсировал.

Давайте выполним те же команды, но на роутере из другой области:

R1AR0#sh ip ospf database summary

OSPF Router with ID (1.1.1.1) (Process ID 1)

Summary Net Link States (Area 0)

Routing Bit Set on this LSA
LS age: 919
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 192.168.1.0 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000001
Checksum: 0x2468
Length: 28
Network Mask: /24
TOS: 0 Metric: 64

Routing Bit Set on this LSA
LS age: 868
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 192.168.2.0 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000001
Checksum: 0x9BAF
Length: 28
Network Mask: /24
TOS: 0 Metric: 128

ASBR#sh ip ro
S 1.0.0.0/8 is directly connected, Null0
S 2.0.0.0/8 is directly connected, Null0
S 3.0.0.0/8 is directly connected, Null0
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O IA 10.10.1.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0
O IA 10.10.0.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0
O IA 10.10.3.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0
O IA 10.10.2.1/32 [110/194] via 192.168.2.1, 00:08:12, Serial0/0
O IA 10.2.2.0/24 [110/193] via 192.168.2.1, 00:08:15, Serial0/0
O IA 10.1.1.0/24 [110/192] via 192.168.2.1, 00:08:15, Serial0/0
O 192.168.1.0/24 [110/128] via 192.168.2.1, 00:08:15, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/0

ASBR#sh ip ospf database database-summary

OSPF Router with ID (4.4.4.4) (Process ID 1)

Area 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 0 0 0
Summary Net 6 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 9 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 0 0 0
Summary Net 6 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 0 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 9 0 0

ASBR#sh ip ospf database summary

OSPF Router with ID (4.4.4.4) (Process ID 1)

Summary Net Link States (Area 1)

Routing Bit Set on this LSA
LS age: 1021
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 10.1.1.0 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000002
Checksum: 0x45A4
Length: 28
Network Mask: /24
TOS: 0 Metric: 64

Routing Bit Set on this LSA
LS age: 1021
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 10.2.2.0 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000002
Checksum: 0x38AE
Length: 28
Network Mask: /24
TOS: 0 Metric: 65

Routing Bit Set on this LSA
LS age: 1023
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 10.10.0.1 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000002
Checksum: 0xEDF0
Length: 28
Network Mask: /32
TOS: 0 Metric: 66

Routing Bit Set on this LSA
LS age: 1024
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 10.10.1.1 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000002
Checksum: 0xE2FA
Length: 28
Network Mask: /32
TOS: 0 Metric: 66

Routing Bit Set on this LSA
LS age: 1025
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 10.10.2.1 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000002
Checksum: 0xD705
Length: 28
Network Mask: /32
TOS: 0 Metric: 66

Routing Bit Set on this LSA
LS age: 1027
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 10.10.3.1 (summary Network Number)
Advertising Router: 1.1.2.2
LS Seq Number: 80000002
Checksum: 0xCC0F
Length: 28
Network Mask: /32
TOS: 0 Metric: 66

External LSA (тип 5) и тупиковые (Stub) области

External LSA

Теперь к Area 0 подключим внешний домен маршрутизации, в моем случае, работающий под управление протокола RIP и настроим передачу маршрутов из RIP в OSPF.
R2AR1:

hostname R2AR0
!
router rip
version 2
network 10.0.0.0
!
router ospf 1
redistribute rip subnets
Включаем RIP.

Настраиваем передачу маршрутов RIP в OSPF.

RTRRIP:

hostname RIPRTR
!
int s0/0
no shut
description CONNECTION TO R2AR0
ip address 10.3.3.2 255.255.255.0
!
router rip
version 2
no auto-summary
network 10.0.0.0
network 172.20.0.0
!
int loop 0
ip address 172.20.0.1 255.255.255.0
!
int loop 1
ip address 172.20.1.1 255.255.255.0
!
int loop 2
ip address 172.20.2.1 255.255.255.0
!
int loop 3
ip address 172.20.3.1 255.255.255.0
Базовая конфигурация.
Включаем RIP.

Как обычно, посмотрим на таблицу маршрутизации и на LSDB на роутере из 0 области:

R1AR0#sh ip ro
172.20.0.0/16 is variably subnetted, 5 subnets, 2 masks
O E2 172.20.0.0/24 [110/20] via 10.2.2.2, 00:00:17, FastEthernet1/0
O E2 172.20.0.0/16 [110/20] via 10.2.2.2, 00:04:46, FastEthernet1/0
O E2 172.20.1.0/24 [110/20] via 10.2.2.2, 00:00:17, FastEthernet1/0
O E2 172.20.2.0/24 [110/20] via 10.2.2.2, 00:00:17, FastEthernet1/0
O E2 172.20.3.0/24 [110/20] via 10.2.2.2, 00:00:17, FastEthernet1/0
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O 10.10.1.1/32 [110/2] via 10.2.2.2, 00:04:47, FastEthernet1/0
O 10.10.0.1/32 [110/2] via 10.2.2.2, 00:04:47, FastEthernet1/0
O 10.10.3.1/32 [110/2] via 10.2.2.2, 00:04:47, FastEthernet1/0
O 10.10.2.1/32 [110/2] via 10.2.2.2, 00:04:47, FastEthernet1/0
O E2 10.3.3.0/24 [110/20] via 10.2.2.2, 00:04:47, FastEthernet1/0
C 10.2.2.0/24 is directly connected, FastEthernet1/0
C 10.1.1.0/24 is directly connected, Serial0/0
O IA 192.168.1.0/24 [110/128] via 10.1.1.2, 00:04:49, Serial0/0
O IA 192.168.2.0/24 [110/192] via 10.1.1.2, 00:04:49, Serial0/0

R1AR0#sh ip ospf database database-summary

OSPF Router with ID (1.1.1.1) (Process ID 1)

Area 0 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 2 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 6 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 2 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 6 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 12 0 0

То же на роутере из области 1:

R1AR1#sh ip ro

Gateway of last resort is not set

172.20.0.0/16 is variably subnetted, 5 subnets, 2 masks
O E2 172.20.0.0/24 [110/20] via 192.168.1.1, 00:02:28, Serial0/0
O E2 172.20.0.0/16 [110/20] via 192.168.1.1, 00:06:52, Serial0/0
O E2 172.20.1.0/24 [110/20] via 192.168.1.1, 00:02:28, Serial0/0
O E2 172.20.2.0/24 [110/20] via 192.168.1.1, 00:02:28, Serial0/0
O E2 172.20.3.0/24 [110/20] via 192.168.1.1, 00:02:27, Serial0/0
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O IA 10.10.1.1/32 [110/130] via 192.168.1.1, 00:45:40, Serial0/0
O IA 10.10.0.1/32 [110/130] via 192.168.1.1, 00:45:40, Serial0/0
O IA 10.10.3.1/32 [110/130] via 192.168.1.1, 00:45:40, Serial0/0
O IA 10.10.2.1/32 [110/130] via 192.168.1.1, 00:45:40, Serial0/0
O E2 10.3.3.0/24 [110/20] via 192.168.1.1, 00:06:54, Serial0/0
O IA 10.2.2.0/24 [110/129] via 192.168.1.1, 00:45:40, Serial0/0
O IA 10.1.1.0/24 [110/128] via 192.168.1.1, 00:45:41, Serial0/0
C 192.168.1.0/24 is directly connected, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/1

R1AR1#sh ip ospf database database-summary

OSPF Router with ID (3.3.3.3) (Process ID 1)

Area 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 0 0 0
Summary Net 6 0 0
Summary ASBR 0 0 0
Type-7 Ext 3 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 12 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 0 0 0
Summary Net 6 0 0
Summary ASBR 0 0 0
Type-7 Ext 3 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 0 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 12 0 0

На обоих роутерах появились в таблице маршруты, помеченные «O E2», а в топологической базе увеличился счетчик Type-5 Ext LSA.
Детальная информация:

R1AR1#sh ip ospf database external

OSPF Router with ID (3.3.3.3) (Process ID 1)

Type-5 AS External Link States

Routing Bit Set on this LSA
LS age: 1215
Options: (No TOS-capability, DC)
LS Type: AS External Link

Link State ID: 10.3.3.0 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0xE3A4
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0

Routing Bit Set on this LSA
LS age: 941
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 172.20.0.255 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0xF5E1
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0

Stub и Totally Stubby области

Наконец-то добрались до специальных типов областей J. Давайте подведем небольшие итоги:

Тип LSAКто создает?Границы флуда
Router (1)ВсеОбласть
Network (2)DRОбласть
Summary (3)ABRСоседние области
External (5)ASBRВсе области

Теперь еще раз посмотрим на таблицу маршрутизации обычного роутера из Area 1:

R1AR1#sh ip ro
172.20.0.0/24 is subnetted, 4 subnets
O E2 172.20.0.0 [110/20] via 192.168.1.1, 00:21:00, Serial0/0
O E2 172.20.1.0 [110/20] via 192.168.1.1, 00:21:00, Serial0/0
O E2 172.20.2.0 [110/20] via 192.168.1.1, 00:21:00, Serial0/0
O E2 172.20.3.0 [110/20] via 192.168.1.1, 00:21:00, Serial0/0
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O IA 10.10.1.1/32 [110/130] via 192.168.1.1, 01:04:10, Serial0/0
O IA 10.10.0.1/32 [110/130] via 192.168.1.1, 01:04:10, Serial0/0
O IA 10.10.3.1/32 [110/130] via 192.168.1.1, 01:04:13, Serial0/0
O IA 10.10.2.1/32 [110/130] via 192.168.1.1, 01:04:13, Serial0/0
O E2 10.3.3.0/24 [110/20] via 192.168.1.1, 00:25:27, Serial0/0
O IA 10.2.2.0/24 [110/129] via 192.168.1.1, 01:04:13, Serial0/0
O IA 10.1.1.0/24 [110/128] via 192.168.1.1, 01:04:13, Serial0/0
C 192.168.1.0/24 is directly connected, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/1

Summary

Теперь сделаем эту область тупиковой (Stub). Для этого дадим следующую команду на ABR, R1AR0, ASBR:

router ospf 1
area 1 stub

Команда должна быть выполнена на всех роутерах из области 1. Параметр настраивается на всех роутерах, так как он влияет на формирование отношений смежности.
Теперь посмотрим на таблицу маршрутизации:

R1AR1(config-router)#do sh ip ro

Gateway of last resort is 192.168.1.1 to network 0.0.0.0

10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O IA 10.10.1.1/32 [110/130] via 192.168.1.1, 00:01:24, Serial0/0
O IA 10.10.0.1/32 [110/130] via 192.168.1.1, 00:01:24, Serial0/0
O IA 10.10.3.1/32 [110/130] via 192.168.1.1, 00:01:24, Serial0/0
O IA 10.10.2.1/32 [110/130] via 192.168.1.1, 00:01:24, Serial0/0
O IA 10.2.2.0/24 [110/129] via 192.168.1.1, 00:01:24, Serial0/0
O IA 10.1.1.0/24 [110/128] via 192.168.1.1, 00:01:24, Serial0/0
C 192.168.1.0/24 is directly connected, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/1
O*IA 0.0.0.0/0 [110/65] via 192.168.1.1, 00:01:26, Serial0/0

Обратите внимание, что все внешние (External LSA) маршруты пропали, а вместо них появился маршрут по умолчанию (Summary LSA). Т.е. для тупиковой области ABR-роутер конвертирует все External LSA в единственный Summary LSA 0.0.0.0/0. При этом внутренние OSPF маршруты из других областей передаются, как обычно. Тупиковая область предназначена для снижения трафика обновлений. Сделав область тупиковой, вы как бы сообщаете все роутерам в этой области, что весь внешний мир (не OSPF) за ABR. Хождение External LSA в тупиковых областях запрещено.
Что такое Totally Stubby область? Это модификация тупиковой области, выполненная компанией Cisco. Настраивается очень просто. На ABR-роутере (и только на нем) выполняется следующая команда:

router ospf 1
area 1 stub no-summary

Посмотрим теперь на таблицу маршрутизации:

R1AR1(config-router)#do sh ip ro
C 192.168.1.0/24 is directly connected, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/1
O*IA 0.0.0.0/0 [110/65] via 192.168.1.1, 00:00:58, Serial0/0

NSSA области и NSSA LSA (тип 7)

Not so stubby area – не совсем тупиковая область. Хождение External LSA в тупиковых областях запрещено. Но представьте, что в такой области вам понадобилось передать в OSPF какой-то внешний маршрут. Например, пробросить статический маршрут до провайдера и т.д. В нашей топологии в Area 1 есть роутер ASBR на котором настроено несколько статических маршрутов. При попытке передать эти маршруты в OSPF мы получим сообщение об ошибке:

ASBR(config-router)#redistribute static subnets
Warning: Router is currently an ASBR while having only one area which is a stub area

Причина: хождение External LSA в тупиковых областях запрещено, и как следствие, в тупиковых областях запрещены ASBR. Что делать если ASBR и передача внешних маршрутов необходима? Для решения этой проблемы мы можем поменять тип области на NSSA. Данная область определяет специальный тип LSA – NSSA External (тип 7), который может существовать только в этой области. Т.е. вы получаете те же преимущества, связанные с контролем обновлений, что и для тупиковых областей, но при этом можете передавать внешние маршруты. В общем чистой воды обман: если External LSA запрещены, мы будем использовать NSSA External LSA, которые разрешены J. Конечно, не обман, а дополнительный RFC 3101 к OSPF.
Для настройки на всех роутерах в NSSA области выполняем команды:

router ospf 1
no area 1 stub
area 1 nssa

Для передачи маршрута по умолчанию, заменяющего External LSA необходимо на ABR роутере выполнить следующую команду:

router ospf 1
area 1 nssa
area 1 nssa default-information-originate

После этого можем передать внешние маршруты на ASBR роутере:

ASBR(config-router)#redistribute static subnets

Давайте посмотрим на таблицу маршрутизации и LSDB на роутерах из областей 0 и 1:

R1AR1#sh ip route

O N2 1.0.0.0/8 [110/20] via 192.168.2.2, 00:02:18, Serial0/1
O N2 2.0.0.0/8 [110/20] via 192.168.2.2, 00:02:18, Serial0/1
O N2 3.0.0.0/8 [110/20] via 192.168.2.2, 00:02:18, Serial0/1

Area 1 (NSSA)

R1AR1#sh ip ospf database database-summary

OSPF Router with ID (3.3.3.3) (Process ID 1)

Area 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 0 0 0
Summary Net 6 0 0
Summary ASBR 1 0 0
Type-7 Ext 0 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 10 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 0 0 0
Summary Net 6 0 0
Summary ASBR 1 0 0
Type-7 Ext 0 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 5 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 15 0 0

Area 1 (NSSA)

R1AR0#sh ip ro
O E2 1.0.0.0/8 [110/20] via 10.1.1.2, 00:08:16, Serial0/0
O E2 2.0.0.0/8 [110/20] via 10.1.1.2, 00:08:16, Serial0/0
O E2 3.0.0.0/8 [110/20] via 10.1.1.2, 00:08:16, Serial0/0
Area 0 (Normal/Backbone)
R1AR0#sh ip ospf data database-summary

OSPF Router with ID (1.1.1.1) (Process ID 1)

Area 0 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 2 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Prefixes redistributed in Type-7 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Subtotal 6 0 0

Process 1 database summary
LSA Type Count Delete Maxage
Router 3 0 0
Network 1 0 0
Summary Net 2 0 0
Summary ASBR 0 0 0
Type-7 Ext 0 0 0
Opaque Link 0 0 0
Opaque Area 0 0 0
Type-5 Ext 8 0 0
Prefixes redistributed in Type-5 0
Opaque AS 0 0 0
Total 14 0 0

Area 0 (Normal/Backbone)

NSSA External (тип 7) могут существовать только в NSSA области. Поэтому в этой области мы видим в таблице маршрутизации сети, помеченные кодом «N», а в LSDB присутствует данный тип LSA. На роутере из другой области мы видим обычные внешние маршруты, а также нет NSSA External LSA в базе. ABR-роутер выполняет конвертацию NSSA External (тип 7) в External (тип 5) и передает их в другие области.
Детальная информация по NSSA External:

R1AR1#sh ip ospf database nssa-external

OSPF Router with ID (3.3.3.3) (Process ID 1)

Type-7 AS External Link States (Area 1)

Routing Bit Set on this LSA
LS age: 882
Options: (No TOS-capability, Type 7/5 translation, DC)
LS Type: AS External Link
Link State ID: 1.0.0.0 (External Network Number )
Advertising Router: 4.4.4.4
LS Seq Number: 80000001
Checksum: 0x34E3
Length: 36
Network Mask: /8
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 192.168.2.2
External Route Tag: 0

Адрес сети и идентификатор роутера, анонсировавшего сеть.

Последняя область: Totally NSSA. Расширение компании Cisco, аналогичное Totally Stub областям. В дополнение к блокированию External LSA, будет блокироваться и Summary LSA. Настраивается на ABR-роутере:

router ospf 1
area 1 nssa default-information-originate no-summary

Заключение

Давайте подведем итоги.
Типы LSA:

Тип LSAКто создает?Границы флуда
Router (1)ВсеОбласть
Network (2)DRОбласть
Summary (3)ABRСоседние области
External (5)ASBRВсе области
NSSA External (7)ASBRТолько NSSA область. На ABR конвертируется в External LSA и флуд в соседние области.

Спасибо за внимание. Надеюсь было интересно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *