Тема 17.

Маршрутен протокол OSPF.


страницата се нуждае от дописване/преглеждане


OSPF (Open Shortest Path First) е широко използван протокол със следене състоянието на връзката (link state), разработен от IETF OSPF Working Group. Той е йерархичен - позволява деление на мрежата на отделни области (areas), които вътрешно се маршрутизират независимо една от друга.

В основата на OSPF, както на всеки друг link state протокол, е алгоритъмът на Dijkstra. За взимане на решения той се нуждае от цялостна карта на областта, в която работи. Картата се изгражда поетапно, чрез откриване на съседите, обмяна на топологичните карти между тях, и с последващи моментални известия при промяна състоянието на някоя връзка.

Общ вид на OSPF пакет

OSPF пакетът се влага директно в IP дейтаграма (пакет), като за Protocol Number се залага стойност 89.
Картинка на OSPF пакет!!!

OSPF съобщенията имат стандартен хедър и тяло. Хедърът съдържа следните полета:

  • Версия - текущо 2. 3 е версията за IPv6, която не се разглежда в курса по КМ.
  • Тип - 5 типа пакета.
  • Дължина - 2 октета, стойността е в мерни единици октети.
  • Router ID - Уникален идентификатор на устройството. За ID се избира един от IP адресите на интерфейсите (имплементацията на Cisco избира най-големия по стойност адрес). Ако на никой интерфейс не е назначен адрес, се избира 0.0.0.0 .
  • Area ID - Идентификатор на областта, към която принадлежи пакетът (в която се намира създалият го рутър). Обикновено - IP адрес на една от мрежите, към които рутърът е свързан.
  • Контролна сума на хедъра - не включва полетата Authentication.
  • Тип authentication - 2 байта. Дефинирани стойности са:
    • 0 - няма удостоверяване1;
    • 1 - удостоверяване чрез парола.
    • всички останали - запазени за раздаване от IANA.2
  • Authentication - 8 октета. Съдържат паролата (в някакъв тип, различен от plaintext).

Видове OSPF пакети

OSPF дефинира 5 типа пакети:

  1. Hello - Използват се за откриване на съседи и оформяне на съседства (adjacencies).
  2. Database Description (DBD / DD) - Съдържа цялостна карта на областта.
  3. Link state request (LSR) - Изисква информация за състоянието на една или повече връзки между два рутъра.TODO: CHECK
  4. Link state update (LSU) - Отговор на LSR. Съдържа описание на връзки, записани в LSA (Link state advertisement). Съществуват 7 типа LSA3.
  5. Link state acknowledgement (LSAck) - Използва се за потвърждение на LSR и LSU пакети.

Съдържание на Hello пакет

Hello пакетът съдържа следните полета:

  • Network mask - Тъй като OSPF е безкласов (classless) протокол, той може да работи в мрежи, разбити на подмрежи. При получаване на Hello, мрежовата маска се взима от съдържанието му, а самият IP адрес - от IP пакета.
  • Hello интервал - Интервалът, в секунди, през който се пращат Hello съобщения. Договаря се между рутърите. По подразбиране е 10.
  • * Опции - не ни интересуват.
  • Приоритет - Ненулево число, настройва се от администратора. Важи при избор на Designated / Backup designated router.
  • Dead интервал - Период, в секунди, през който рутърът очаква Hello пакет по връзката. След изтичането му, съседът се обявава за неактивен (down). Обикновено е няколко пъти по-голям от Hello интервала.
  • Designated router (DR) - Идентификатор на обозначения рутър. Когато в един Ethеrnеt сегмент има 2 или повече рутъра, те избират DR чрез гласуване. Неговата цел е да представя рутърите в този сегмент, като единствено той оформя съседства, а също така изпраща и получава LSA от тяхно име. Така се намалява служебният трафик.
  • Backup designated router (BDR) - Идентификатор на резервния обозначен рутър. Избира се при избора на DR. При отпадане на DR от мрежата (повреда, разпадане на връзка), той поема неговите функции. Същевременно се гласува за нов BDR.
  • Списък на съседите - Списък от обикновените (не-adjacent) съседи, представени с техните ID. Това са тези рутъри, от които рутърът е получил Hello през последния Dead интервал.

Начин на работа

Шепа Dijkstra, щипка магия и … още нещо.
MAJOR TODO!!1

Тъй като тази област може да е много голяма (предвиден е за работа именно в големи мрежи), пращането на цялата топология се извършва само при промяна на топологията, която да се отразява на минималното покриващо дърво.

Рутърите на границата между две области се наричат Area Border Routers (ABR). Звучи подобно на ASBR (Autonomous System Boundary Router), но ABR седят вътре в автономната система и работят по OSPF (вътрешен протокол, interior), докато ASBR седят на границите между областите и работят по външен протокол (exterior, най-често BGP).

Темата е далеч от готова. Докато това се случи, няколко временни материали:
http://www.ceenet.org/workshops/lectures2001/Iskra%20Popova/ospf2001-iskra/sld001.htm
http://www.cisco.com/en/US/docs/internetworking/technology/handbook/OSPF.html
http://www.networksorcery.com/enp/protocol/ospf.htm
Доста от нещата там не са споменавани в курса, тъй като OSPF е необятен.
Картинките, които липсват тук, могат да се намерят в снимките от 07.05.2009 .

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License