You are on page 1of 32

Компјутерски мрежи

- Мрежен слој (контролна рамнина)


Аудиториски вежби 6
Содржина
 Рутирање: Static vs Link-state vs Distance-vector
 RIP: Routing Information Protocol
 OSPF: Open Shortest Path First

2
Мрежно Ниво
 Обезбедува логичко адресирање на јазол
 Одредува рута по која ќе се движат пакетите
 Пренасочува пакети од влезен интерфејс во
соодветен излезен
 Имплементација кај секој домаќин
и рутер
 (опционално) Поставување на
повик: во некои мрежни
архитектури, пред преносот на
податоци се поставува повик
по патеката

3
Рутирање I
 ЦЕЛ: Одреди добра патека (секвенца од рутери) низ
мрежата од извор до дестинација
 Добра патека: најчесто значи минимална цена за
рутирање, но има и други дефиниции
 Цена: време, пари, застој
 Мрежата се претставува како
граф:
 Секој јазол е рутер или
компјутер
 Секое ребро физичка врска
помеѓу јазлите

4
Рутирање II
 Статичко рутирање
 Рачно внесување на рути
 Конфигурација по јазол
 Бавно, неодржливо и подлежно на грешки

$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlp2s0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
...

Рутирачка табела во Linux

5
Рутирање III
 Динамичко рутирање
 Рутирачки протоколи
 Постојани update-и со најновата состојба
 При промена на топологијата
 Рутите се прекалкулираат со секој update

Device> enable
Device# configure terminal
Device(config)# router rip
Device(config-router)# network 10.1.1.0
Device(config-router)# neighbor 10.1.1.2
Device(config-router)# end

Конфигурација на рутирачки протокол (RIP)

6
Link-state алгоритми
 Глобална информација (Link-state)
 Алгоритам на Dijkstra
 Секој јазол гради дрво со најдобри патеки до секој друг јазол (ја
знае топологијата на целата мрежа)
 Секој јазол ја објавува својата состојба "link state broadcast"
 топологија на мрежата, цена на линковите позната за сите
јазли
 сите јазли ја имаат истата информација
 се пресметува најевтината патека од еден јазел (“извор”)
до сите други
 се добива рутирачка табела за тој јазел
 итеративен: после k итерации, се знае најевтината патека до k
дестинации

7
Алгоритам на Dijkstra: Пример

8
Distance vector алгоритми
 Децентрализирана/Локална инфромација (Distance
Vector)
 Секој јазол знае само за физички поврзаните соседи
 Табела на растојанија => Рутирачка табела
 Од табелата на растојанија се зачувува најкратката рута, и соседот
преку кој треба да се оди
 Итеративен
 Се извршува се додека не се престане со праќање на информации
 Само-запирачки
 Нема „сигнал“ за запирање
 Асинхрон
 Јазлите разменуваат информации штом се случи некој настан

9
Distance vector: пресметка на
растојание
 Табела на растојанија
 Посебна за секој рутер
 Редици: сите можни дестинации
 Колони: сите соседи
 Пример за E:
 Редици: A, B, C, D
 Колони: A, B, D

Алгоритам на Bellman-Ford: https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm

10
Автономни системи
 Глобалниот интернет е колекција на автономни системи
 Автономен систем (AS) е множество на рутери или мрежи
администрирани од една организација
 Не е задолжително да се извршува еден ист рутирачки протокол во
целиот AS
 Сепак, кон надворешниот свет AS треба да претставува конзистентна
слика за тоа каде се може да се стигне преку него
 Stub AS: има една конекција кон надворешниот свет
 Multihomed AS: има повеќе конекции кон надворешниот свет, но не
пренесува транзите сообраќај
 Transit AS: има повеќе конекции кон надворешниот свет и може да
пренесува и транзитен и локален сообраќај

21
Inter-AS Поврзаност

Non-transit AS (stub & multihomed) не пренесуваат транзитен сообраќај


Tier 1 ISP се поврзуваат меѓусебно и со peering центрите
Tier 2 ISP се поврзуваат меѓусебно и добиваат услиги од Tier 1;
Tier 1 пренесува транизтен сообраќај помеѓу нивните Tier 2 клиенти
Клиентски AS добиваат услуги од нивните Tier 2 ISP

22
Интернет хиерархија на AS
Inter-AS гранични (exterior gateway) рутери​

Intra-AS внатрешни (gateway) рутери

23
Intra-AS Рутирање
 Познати и како Interior Gateway Protocols (IGP)
 Најпознати IGP:
 RIP: Routing Information Protocol
 OSPF: Open Shortest Path First
 IGRP: Interior Gateway Routing Protocol (Cisco propr.)
 EIGRP: Enhanced IGRP (Cisco propr.)

24
Рутирачки Протоколи

RIP v1 & v2
OSPF

25
Routing Information Protocol (RIP)
 Еден од најстарите DV рутирачки протоколи
 Рутирачка метрика: број на скокови (max 15)
 Користи UDP и порта 520
 „Реклами“ на секои 30 секунди (размена на инфо)
 Ако сосед X не прати реклама > 180 секунди, се
смета за паднат
 Механизми за справување со лоши информации:
 Split horizon (with poison reverse)
 Holddown
 Route poisoning
 RIPv2: за работа со VLSM
26
RIP: Пад на линк и опоравување
 Ако не се слушне реклама до180 sec тогаш
соседот/врската се прогласува за падната
 рутите преку соседот се прогласуваат невалидни
 нова реклама се испраќа до останатите соседи
 соседите испраќаат нови реклами (ако се промени
табелата)
 пад на врска брзо пропагира низ целата мрежа
 се користи split horizon со poison reverse за заштита од
јамки (infinite distance = 16 hops)

27
RIP: Процесирање на табела I
 Рутирачките табели на RIP се менаџираат од
апликациски процес наречен routed (daemon)
 рекламите се испраќаат во UDP пакети, кои се
повторуваат периодично

28
RIP: Процесирање на табела II
Рутер : giroflee.eurocom.fr

- Три поврзани мрежи од класа C (LAN)


- Рутерот знае патеки само до поврзаните LAN-ови
- Default рутер се користи за излез од мрежата
- Multicast адреса на рутерот: 224.0.0.0
- Loopback (lo0) интерфејс (за дебагирање)

29
RIP: Пример сценарио
Табелите прикажани подолу
содржат информации за
рутирачките табели на
соодветниот рутер.

Секој рутер ги содржи


мрежите, бројот на скокови,
и IP адресата на следниот
скок (ако е - значи дека се
директно поврзани)

DV табели со реклами кои се


испраќаат од рутерите:

30
RIP: Формат на реклама

Жолтиот дел се повторува за сите адреси што се рекламираат


Нема subnet mask (има во v2)
Next hop го вади од изворната IP адреса

31
RIP: Пример реклама со split horizon и
poison reverse
Update порака испратена од рутер R1
до рутер R2. Пораката се испраќа низ
интерфејсот 130.10.0.2.
Пораката се формира во комбинација со split
horizon и poison reverse стратегиите.
Рутер R1 добил информација за мрежите:
195.2.4.0, 195.2.5.0, и 195.2.6.0
од рутер R2.

Кога R1 праќа update порака до R2, ја


заменува вредноста на број на скокови за
овие три мрежи со 16 (бескрај) за да спречи
било каква конфузија за R2.

Сликата ја покажува и табелата изведена од


пораката. Рутер R2 ја користи изворната
адреса на IP пакетот кој ја носи RIP пораката
од R1 (130.10.0.2) како адреса за следен
скок.

32
RIP: Проблеми I
 Броење-до-бескрај проблем:
 Едноставна конфигурација A->B->C. Ако C падне, B треба да ја
ажурира рутата до C и мисли дека има таква рута преку A. Исто и A
треба да ја ажурира рутата до C и мисли дека има рута преку B.
 Нема едноставно решение, освен да се постави “бескрај” да биде
мало (пр. 16 кај RIP)
 Split horizon: Ако рутата на A до C е преку B, тогаш A ја рекламира
оваа рута кон B како бескрај, а кон другите ја рекламира нормално.
 Бавна конвергенција по тополошка промена:
 Поради проблемот на броење до бескрај
 Информациите неможе да се пропагираат преку јазлите додека не
се пресметаат рутирачките информации

33
RIP: Проблеми II
 Црни дупки:
 Ако се расипе еден јазол и рекламира рута со цена 0 до
неколку клучни мрежи, одеднаш сите јазли ќе насочуваат
кон неа.
 Како да се вршат дистрибуирани поправки?
 Потребно е протоколите да се “само-стабилизирачки” На
пример, дури ако некои јазли се расипани, откако ќе се
изолираат системот треба брзо да продолжи со нормална
работа
 При броадкаст се трошат многу ресурси
 Не поддржува VLSM
 Нема автентикација
34
RIP: Конфигурација

Router-A> enable Router-B> enable


Router-A# configure terminal Router-B# configure terminal
Router-A(config)# router rip Router-B(config)# router rip
Router-A(config-router)# network Router-B(config-router)# network
192.168.1.0 192.168.1.0
Router-A(config-router)# network Router-B(config-router)# network
192.168.2.0 192.168.3.0
Router-A(config-router)# end Router-B(config-router)# end

35
Рутер А: Рутирачка табела (пред RIP)
 Router-A# sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate def
U - per-user static route, o - ODR

Gateway of last resort is not set

C 192.168.1.0/24 is directly connected, Serial0


C 192.168.2.0/24 is directly connected, Ethernet0

36
Рутер B: Рутирачка табела (пред RIP)
 Router-B# sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate def
U - per-user static route, o - ODR

Gateway of last resort is not set

C 192.168.1.0/24 is directly connected, Serial0


C 192.168.3.0/24 is directly connected, Ethernet0

37
Рутер A: Рутирачка табела (со RIP)
 Router-A# sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate def
U - per-user static route, o - ODR

Gateway of last resort is not set

C 192.168.1.0/24 is directly connected, Serial0


C 192.168.2.0/24 is directly connected, Ethernet0
R 192.168.3.0/24 [120/1] via 192.168.1.2, 00:00:15, Serial0

38
Рутер B: Рутирачка табела (со RIP)
 Router-B# sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B – BGP
[edited for brevity]
Gateway of last resort is not set

C 192.168.1.0/24 is directly connected, Serial0


R 192.168.2.0/24 [120/1] via 192.168.1.1, 00:00:12, Serial0
C 192.168.3.0/24 is directly connected, Ethernet0

RIP Debug Output:


00:40:48: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (192.168.3.1)
00:40:48: network 192.168.1.0, metric 1
00:40:48: network 192.168.2.0, metric 2
00:40:48: RIP: Update contains 2 routes

39
RIP: Пад на линк
 Router-A# sh ip route
Codes: [edited for brevity]

Gateway of last resort is not set

C 192.168.1.0/24 is directly connected, Serial0


C 192.168.2.0/24 is directly connected, Ethernet0
R 192.168.3.0/24 is possibly down, routing via 192.168.1.2, Serial0

RIP Debug output:


00:44:41: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (192.168.2.1)
00:44:41: network 192.168.1.0, metric 1
00:44:41: network 192.168.3.0, metric 16

40
RIP v2
 Зошто?
 Веќе има база на рутери конфигурирани со RIP
 Овозможува
 VLSM поддршка
 Автентикација
 Мултикастинг
 “Wire-sharing” од повеќе рутирачки домени,
 Тагови за поддршка на EGP/BGP рути.
 Користи резервирани полиња во RIPv1 заглавјето.
 Првиот запис наместо за рута е заменет со
автентикациски информации.

41
RIP v2: Формат на реклама

Додадено: Route Tag, Subnet Mask, Next-hop Address

42

You might also like