[go: up one dir, main page]

Направо към съдържанието

OSPF

от Уикипедия, свободната енциклопедия

OSPF (Open Shortest Path First) е мрежов протокол със състояние на връзката (на латински: link-state protocol), който разделя топологията за рутиране на области. Част е от мрежовия слой. Протоколът е създаден да изпълнява маршрутизиращи задачи в една корпоративна мрежа, като това изисква бързо обновяване на информацията, минимално рутиране на контролен трафик и по-голяма сигурност. Концепцията на OSPF е в създаването, поддържането и разпределянето на база данни със състояние на връзката, която описва сбор от маршрутизатори и техните работещи интерфейси. В тази база се описва също как рутерите са свързани и целта е да бъдат използвани интерфейсите им.

OSPF протоколът използва като метрика цена (cost) – 16 битово число в диапазона от 1 – 65535. Цената е мерна единица, използвана за описание на близки по стойност коефициенти на полезно действие на различните рутери до определена дестинация. По подразбиране цената на интерфейсите се изчислява на базата на пропускателната способност (Bandwidth – BW) на връзката по формулата 108/BW. Ако резултатът е по-малък от 1, цената се установява на 1. OSPF сумира цените на всички връзки в маршрута, като най-ниската цена определя най-предпочитания маршрут на базата на алгоритъма на Дийкстра (Shortest Path First – SPF).

Всеки рутер в домейна е задължен да направи своята част от топологията чрез съобщения за състоянието на връзката – LSA. LSA съдържа информация, описваща маршрути, мрежи, достъпни маршрути, префикси на маршрути и метрики. Те се предават след това на всички останали маршрутизатори чрез процес, наречен „наводняване“, което означава, че останалите рутери си синхронизират базата данни помежду си. Докато всеки OSPF рутер има идентична база данни на състоянията на връзките, всеки рутер може да пресметне най-краткия път до желаната дестинация, използвайки алгоритъма на Дикстра за използване на най-краткия път с най-голям приоритет.

Предимството на OSPF е, че link-state информацията за всяка област се съдържа само в нея и само за нея. Link-state технологията разчита на това, че всеки рутер знае към какви мрежи е свързан всеки друг, т.е. какви link-ове има, откъдето идва и името link-state (състояние на връзките). Предимства: Всеки рутер в топологията получава link-state-ите на всички останали рутери в областта и съвкупността от информацията за тях се нарича link-state database (LSDB). Всички рутери в топологията имат един и същ link-state database и едно от нещата, които го правят тежък протокол, е именно обемът на базата данни.

LSA Link-state advertisment съдържа адреса на линка и типа на една или повече мрежи. Дефинират се различни видове LSA за различните типове мрежи и рутери. Всеки рутер праща multicast със своите линкове чрез LSА. От своя страна, всички съседи препращат получените LSA на останалите, така както са ги получили, като е ясно кой е оригиналният източник на даден LSA.

LSA Flood се нарича така заради количеството трафик, което поглъща, но след него всички рутери в топологията имат еднакви бази данни, които пускат SPF алгоритъм, който от своя страна прави няколко неща: изгражда граф на топологията. Този граф представлява състоянието на топологията, погледнато от неговата гледна точка. Гореспоменатият алгоритъм на Дейкстра е най-разпространения алгоритъм за търсене на най-краткия път между два възела на насочен, претеглен, ориентиран граф.

Предимства на OSPF:

  • в OSPF няма ограничение за брой скокове
  • Интелигентното използване на VLSM (Variable Length Subnet Masks) е много подходящо за използването на съвременна схема на IP адресиране
  • OSPF използва multicast-пакети, за да съобщи за промяна на състоянието на връзките. Така маршрутизаторите, които не използват OSPF, не обработват такива пакети. Съобщенията се изпращат само при промяна на маршрути, а не периодично. Това осигурява по-добро използване на честотната лента
  • OSPF има по-добра сходимост в сравнение с RIP. Това е така, защото информацията за промяна на маршрут се разпространява веднага, а не периодично
  • OSPF създава по-добри условия за балансиране на натоварването
  • OSPF позволява логическо дефиниране на мрежи, където маршрутизаторите могат да бъдат разделени на области. Това ограничава разпространението на информацията за промяна на маршрути само до определени мрежи, когато това не е необходимо
  • OSPF позволява автентикация с различни методи и използване на пароли
  • OSPF позволява разпространяването на информация за външни пътища, която информация е инжектирана в автономната система от външни протоколи (EGP), например от BGP.

OSPF области – при използване на OSPF в големи мрежи, първоначалното изпращане на съобщения и поддържането на базите данни с LSA могат да доведат до претоварване на маршрутизаторите. За намаляване на този ефект, OSPF използва йерархична структура на мрежата, представена като съвкупност от области (areas). Областта е логическо обединение на маршрутизатори и връзки в мрежата. Маршрутизаторите обменят информация за състоянието на връзките само с другите маршрутизатори от същата област.

Всяка област се означава с 32-битово число. Областта с номер 0 е резервирана за централна област (backbone). Тя е отговорна за разпределянето на маршрутната информация между отделните области. Ако са налице няколко области в автономната система, една от тях трябва винаги да се дефинира като централна.

Възможно е дефинирането на области, които не притежават физически свързани към централната област маршрутизатори. Маршрутизирането на информация през централната област в този случай може да се реализира посредством конфигурирането на виртуални връзки между конкретната област и централната.

OSPF е протокол, използващ състоянията на връзките. За връзката може да се мисли като за интерфейс на маршрутизатор. Състоянието на тази връзка е описанието на този интерфейс, което включва например IP-адреса на интерфейса, маската, типа на мрежата, към която е свързан, свързаните маршрутизатори към тази мрежа и т.н. Сборът на всички тези параметри формира база данни за състоянието на връзката.

Всички OSPF маршрутизатори поддържат и създават три отделни бази данни:

  1. База данни за съседство (таблица за съседите). За да може OSPF маршрутизатор да научава за маршрутизатори и да извършва обмен с тях, той първо формира съседство с неговите директно свързани съседи в локалния сегмент. Ако не формира тази релационна връзка, той не може да участва в OSPF маршрутизацията. За да формира съседство, когато влиза online за първи път, OSPF машрутизаторът преминава през следните стъпки. Първо предава Hello пакети навън по локалния кабел, за да се идентифицира пред своите съседи, и второ приемащите OSPF маршрутизатори добавят новия маршрутизатор към техните бази данни за съседство и отговарят на Hello пакети с техен собствен Hello пакет, за да се идентифицира.
  2. База данни за състоянието на връзките (карта на топологията). Когато OSPF маршрутизаторите знаят с кои маршрутизатори да обменят информация, те могат да построят състоянието на връзките, което представлява пълна карта на топологията на интермрежата в OSPF областта, за да идентифицират всяка мрежа и подмрежа и пътя до всяка от тях. От тази база данни всеки маршрутизатор създава дървовидна структура, идентифицирайки себе си като корен, свързан към всяко местоназначение по най-късия път.
  3. База данни за препращане (маршрутна таблица). База данни за препращане или маршрутната таблица, използва базата данни за състоянието на връзките, за да формира своя база данни. Когато всеки маршрутизатор има пълна карта за топологията, той може да изпълнява SPF алгоритъм, за да определи най-добрия маршрут до всяко познато местоназначение. След това той записва тези маршрути в неговата локална маршрутна таблица, за да може да препраща данни.

OSPF може да поддържа различни архитектури от каналния слой, например LAN и WAN връзки. Начинът на осъществяване на обмена на съседства и база данни зависи от архитектурата, в която се изпълнява OSPF. Когато съществува само една област, OSPF автономната система и областта са едно и също. Всички маршрутизатори в OSPF областта поддържат копие на една и съща база данни за състоянието на връзките. Когато съществуват множество области, маршрутизаторите се свързват към всички области, поддържащи отделни бази данни за област.

OSPF присъединявания – протоколът използва Hello пакети за откриване на съседите по мрежа, които се разпространяват по multicast адрес 224.0.0.5 (AllSPFRouters). Съседните маршрутизатори се указват като присъединени (adjacent), когато параметрите в техните Hello пакети съвпадат, когато си обменят LSA и когато топологичните им бази данни са синхронизирани.

За мрежи от тип point-to-point, валидните съседи са винаги присъединени. За broadcast мрежи като Ethernet, маршрутизаторите стават присъединени единствено с титулярния (DR) и резервния титулярен маршрутизатор (BDR).

Титулярни маршрутизатори

В мрежи, предоставящи множествен достъп като Ethernet, определени маршрутизатори могат да бъдат избирани като титулярен (Designated Router – DR) и резервен титулярен (Backup Designated Router – BDR). Тези два маршрутизатора се явяват присъединени към всички останали в мрежата и получават LSA от тях посредством multicast адрес 224.0.0.6 (AllDRouters). От своя страна, DR и BDR препращат LSA по адрес 224.0.0.5. Това значително редуцира LSA трафика, генериран в Ethernet мрежата.

Изборът на титулярен и резервен маршрутизатор се базира на приоритет. Приоритетът може да има стойност от 0-255. Стойност 0 елиминира маршрутизатора от изборния процес. Маршрутизаторът с по-високия приоритет се избира като DR, следващия по приоритет – за BDR. Ако са налице няколко маршрутизатора с еднакъв приоритет, избира се този с по-голям идентификатор (IP адрес). Включването на нов маршрутизатор в мрежата не предизвиква променяне на DR дори и ако новият има по-висока стойност на приоритета. Нов избор може да се извърши единствено при отказ на DR.

Автентикация

Автентикацията е един от основните методи за повишаване сигурността на мрежовите комуникации. Протоколът OSPF позволява взаимно автентициране на маршрутизаторите посредством парола. По подразбиране не се използва автентикация при обмен на маршрутната информация. Автентикацията може да бъде реализирана по два основни начина: чрез парола в чист текст и криптирана парола. Всички маршрутизатори, които ще се присъединяват към обмена на маршрутна информация в областта, трябва да бъдат конфигурирани с една и съща парола.

Използването на парола в чист текст не се препоръчва от гледна точка на сигурност. За повишаване на сигурността е необходимо използването на криптиране – Message Digest 5 (MD5) алгоритъм. При този начин, на всеки маршрутизатор трябва да бъдат конфигурирани парола и идентификатор на ключ. На базата на паролата, идентификатора на ключа и съдържанието на OSPF пакета, алгоритъмът MD5 генерира резултат, наречен message-digest, който се записва в пакета. Получаващият маршрутизатор използва неговата парола, ключ и пакета, за да изчисли съответния message-digest. Ако двете стойности съвпадат, автентикацията е успешна и маршрутната информация може да се обработи.