Тема 15.

Йерархична маршрутизация.


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


Що е то?

С нарастване размера на мрежата, натоварването върху устройствата се увеличава и производителността пада. Същевременно мрежата става много голяма и непредвидима, и трудна за администрация. За да се облекчат тези проблеми, се въвежда идеята за йерархична маршрутизация.
//Картинка с областите на йерархия
hierarchical.png

При йерархичния подход мрежата, която се рутира, се разделя на непресичащи се области. Рутърите, които са вътрешни за дадена област, изчисляват най-къси пътища само вътре в областта. Рутърите, които свързват две области, се занимават с трансфера между областите, през други гранични рутъри. Така всяко устройство работи върху доста по-малка част от цялата мрежа. На картинката, рутъри като 1B са гранични (area border router), а такива като 1A - вътрешни.

Граничните рутъри участват в broadcast / flooding вътре в зоната, както и вътрешните рутъри. Извън зоната, обаче, те трябва да изпращат ъпдейти само към други гранични рутъри, за да не се товари излишно мрежата. За целта трябва да има надеждни механизми, по които да се избират ABR и да се подменят, когато излязат извън линия. Също така, необходимо е да се обслужват отделно вътрешни и външни графи. Поддръжката на всичкото това разделение увеличава сложността на протокола, но за сметка на това намалява потока от служебни съобщения и улеснява изчисленията във всяко от устройствата.

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

Неудобство при разделянето на нива е, че новите маршрути не винаги са съвсем оптимални:
//Картинка на преструктурирана мрежа
before-after.png

Още по въпроса

Hierarchical routing (pdf)

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