Download as pdf or txt
Download as pdf or txt
You are on page 1of 69

Комуникациски технологии

Рутирање и адресирање во
Интернет

Вон. проф. д-р Марко Порјазоски

Книга „Комуникациски мрежи: Основни концепти и клучни архитектури“,


Алберто Леон Гарсија, Индра Виџаја,
Глава: 7.4, 7.5, 8
Повторување за
Мрежно ниво
Преглед на мрежно ниво
Сервиси на мрежно ниво
Функции на мрежно ниво
Преглед на мрежно ниво
● Мрежно ниво: најсложено ниво
● Бара координација помеѓу различни,
географски дистрибуирани мрежни елементи
(комутатори и рутери)
● Мора да бидат способни да се справат со
голем број на уреди (неколку милијарди)
● Најголеми предизвици
● Адресирање: каде треба да се насочи
информацијата?
● Рутирање: која патека треба да се искористи за да
стигне информацијата до целта?
3
Сервиси на мрежно ниво
Пораки
Пораки

Transport Сегменти Transport


layer layer
Мрежни Мрежни
услуги услуги
Network Network Network Network
layer layer layer layer
Data link Data link Data link Data linkКраен
Краен layer layer layer layer
систем
систем Physical
Physical Physical Physical β
α layer
layer layer layer

● Мрежното ниво му нуди неколку различни сервиси на


транспортното ниво
● Конекциски – ориентиран или не-конекциски ориентиран сервис
4
● Најдобар-обид (Best-effort) или со граранција на доцнење/загуба
Функции на мрежно ниво
Најважни
● Рутирање (Routing): механизми за отврдување на множество
од најдобри патеки за упатување на пакетите бара соработка
помеѓу мрежните елементи
● Препраќање (Forwarding): пренос на пакетите од влезовите
кон излезите на мрежните елементи (NE)
● Приоретизација и распределување (Priority & Scheduling):
одредување на редоследот на испраќање на пакетите во секој
мрежен елемент (NE)
Опционо: контрола на натрупување, сегментирање и повторно
спојување, сигурност

5
Рутирање во мрежи
базирани на пакетска
комутација
Пакетски мрежи
Рутирачки табели
Рутирачки алгоритми
IP адресирање
Пакетски мрежи
1 3
6

2 Мрежен јазол
5
(комутатор или рутер)

● Три рути (без јамки) од 1 до 6:


● 1-3-6, 1-4-5-6, 1-2-5-6
● Која е „најдобра“?
● Минимално доцнење? Минимален број на чекори? Најголема
пропустливост? Минимална цена? Најголаме
расположливост?
7
Рутирачки табели
Node 3

Node 1 Destination Next node Node 6


Destination Next node 1 1 Destination Next node
2 4 1 3
2 2
3 3 4 4 2 5
4 4 5 6 3 3
5 2 6 6 4 3
6 3 5 5

Node 4
Destination Next node
1 1
2 2
Node 2 Node 5
3 3
Destination Next node Destination Next node
5 5
1 1 6 3 1 4
3 1 2 2
4 4 3 4
5 5 4 4
6 5 6 6

8
Рутирачки алгоритми: Барања
● Брза и точна испорака на пакетите
● Мора да работат точно
● Брза конвергенција
● Одзивност на промени и избегнување на рутирачки
јамнки
● Промени во топологијата, пропусниот опсег, натрупувања
● Ослободени од постоење на јамки
● Оптималност
● Искористување на ресурсите, должината на патеката
● Робустност
● Континуирана работа при појава на голема оптовареност,
натрупување, испади
● Едноставност
● Ефикасна имплементација, разумно процесирачко
оптоварување 9
Рутирачки алгоритми: Класификација
A. Централизирано vs Дистрибуирано Рутирање
● Централизирано рутирање
● Сите рути се одредени од сентален јазол
● Сите информации за состојба (линк или јазол) се испраќаат
до еден јазол
● Проблеми при прилагодување на брзи промени во
топологијата
● Не скалира (тешко приспособување)
● Дистрибуирано рутирање
● Рутите се одредуваат во рутерите преку дистрибуирани
алгоритми
● Информации за состојбите се разменуваат помеѓу рутерите
● Се прилагодуваат на промените во топологијата и други
промени
● Подобра скалабилност (приспособливост) 10
Рутирачки алгоритми: Класификација
B. Статичко наспроти Динамичко рутирање
● Статичко рутирање
● Се поставува рачно (мануелно), не се менува; бара
администрација
● Погодно за ситуации кога сообраќајот е предвидлив и
мрежата е едноставна
● Се користи за пребришување на рути поставени од
динамичките алгоритми
● Се користи да се овозможи предефинирана (default)
рутер/рута
● Динамичко рутирање
● Се прилагодува на промените во условите во мрежата
● Автоматизирано одлучување
● Ги пресметува рутите врз база на добиените податоци за
состојбата во мрежата 11
Рутирачки алгоритми: Класификација
C. Рамно наспроти Хиерархиско рутирање

● Рамно рутирање
● Сите рутери се парови
● Не скалира (прилагодува)
● Хиерархиско рутирање
● Партиционирање: Домени, автономни
системи, области...
● Некои рутери дел од рутирачкиот р’бет
● Некои рутери комуницираат само во одредена
област
● Се скалираат 12
• Пример: Не-хиерархиско адресирање и рутирање

0000 0001
0111 0100
1010 1 4 1011
1101 1110
3
R1 R2
2 5
0011 0011
0110 0000 1 0001 4 0101
1001 0111 1 0100 4 1000
1100 1010 1 1011 4 1111
… … … …

● Нема никаква врска помеѓу адресите и рутирачкото


опкружување
● Секоја рутирачка табела има по 16 записи 13
• Пример: Хиерархиско адресирање и рутирање

0000 0100
0001 0101
0010 1 4 0110
0011 0111
3
R1 R2
2 5
1000 1100
1001 00 1 00 3 1101
1010 01 3 01 4 1110
1011 10 2 10 3 1111
11 3 11 5

● Префиксот ја одредува мрежата каде е поврзаљн


хостот
● Рутирачките табели имаат само 4 записи 14
IP Адресирање
● Секој хост во Интернет има IP адреса од 32 бити
● Секоја адреса има два дела : netid и hostid
● netid уникатна и админстрирана од
● American Registry for Internet Numbers (ARIN)
● Reseaux IP Europeens (RIPE)
● Asia Pacific Network Information Centre (APNIC)
● Го олеснува рутирањето
● Dotted-Decimal – ознака (Децимална со точка):
int1.int2.int3.int4 каде intj = integer вредност на j-тиот октет
IP адресата 10000000 10000111 01000100 00000101
Во децимална претстава е 128.135.68.5
Адресни класи

Class A 7 bits 24 bits


0 netid hostid

● 126 мрежи со 16 милиони хостови секоја Од 1.0.0.0 до


127.255.255.255

Class B
14 bits 16 bits
1 0 netid hostid

● 16,382 мрежи со 64,000 хостови секоја Од 128.0.0.0 до


191.255.255.255
Адресни класи

Class C 21 bits 8 bits


1 1 0 netid hostid

● 2 милиони мрежи со 254 хостови секоја Од 192.0.0.0 до


223.255.255.255

Class D 28 bits
1 1 1 0 multicast address
Од 224.0.0.0 до
239.255.255.255
Приватни IP адреси
● Одредени опсези на IP адреси дефинирани во (RFC
1918) се за приватна употреба
● Нивната употреба е ограничена само на приватни
мрежи; Рутерите во јавната Интернет мрежа ги
отстрануваат пакетите со овие адреси
● Опсег 1: 10.0.0.0 до 10.255.255.255
● Опсег 2: 172.16.0.0 до 172.31.255.255
● Опсег 3: 192.168.0.0 до 192.168.255.255
● Network Address Translation (NAT) се користи за
претварање од приватни во глобални IP адреси и
обратно
Пример за IP адресирање
178.135.40.1 178.140.5.40
Адресата на Адресата на H
H интерфејсот е интерфејсот е
178.135.10.2 178.140.5.35

Мрежа Мрежа
R
178.135.0.0 178.140.0.0

H R = router
H H = host H
178.135.10.20 178.135.10.21
178.140.5.36

Адресата со host ID= сите 0 се однесува на самата мрежа


Адресата со host ID= сите 1 се однесува на broadcast (дифузен) пакет
Адресирање на подмрежи
● Адресирањето на подмрежи воведува нови
можности во хиерархиското рутирање
● Транспарентно за оддалеченит емрежи
● Поедноставено управување со повеќе LAN
мрежи
● Користење на маски за да се утврди бројот на
подмрежа
Оригинална
1 0 Net ID Host ID
адреса

Адреса со
подмрежа 1 0 Net ID Subnet ID Host ID
Пример за подмрежи
● Организација има Class B адреси (16 бити за
hostID) со netID: 150.100.0.0
● Креирај подмрежи секоја со 100 хоста
● 7 бити се доволни за секоја подмрежа за адресирање на
хостовите
● 16-7=9 бити остануваат за subnet ID
● Примени ја subnet маската врз IP адресите за да ги
одредиш соодветните подмрежи
● Пример: Најди ја подмрежата за 150.100.12.176
● IP add = 10010110 01100100 00001100 10110000
● Mask = 11111111 11111111 11111111 10000000
● AND = 10010110 01100100 00001100 10000000
● Subnet = 150.100.12.128
● Subnet адресите се користат од рутерите во
организацијата
Пример за Subnet

H1 H2
150.100.12.154 150.100.12.176
150.100.12.128
150.100.12.129
150.100.0.0
R1
Остатокот H3 H4
Internet
од 150.100.12.4
150.100.12.24 150.100.12.55

150.100.12.0
150.100.12.1
R2 H5
150.100.15.54 150.100.15.11

150.100.15.0
IP адресирање
● Адресирање без класи (clasless)
● Ограничен број на мрежи со голем пул на адреси при адресирање со класи
● Покрај IP адреса од 32 бити се дефинира и маска (mask) од 32
бити.
● Маската го дефинира мрежниот дел од IP адресата
● Маската има вредност 1 на местата од битите што го дефинираат netID
● Пример 1: a.b.c.d/255.255.255.0 или a.b.c.d/24
● Првите 24 бита се со верност „1“ и ја идентификуваат мрежата
● Пример 2: Да се одреди адресниот простор за мрежата
128.211.168.0/21
Вкупно има 211 = 2048 адреси
IP адресирање
● Пример 3: На еден ISP (Internet Service Provider) му е доделен блок на
адреси 198.168.48.0/22. Тој има 8 корисници кои бараат по 10 IP адреси. Кој
ќе биде адресниот простор на секој корисник.
Решение:
● За да бидат задоволени потребите на корисниците за 10 IP адреси, групата
на адреси што им биде доделена, треба да има најмалку 4 бити во хост
делот од IP адресата. Значи адресите на корисниците ќе бидат од типот /28
subnet mask 11111111.11111111.11111111.11110000 или 255.255.255.240
● Соодветно блоковите кои ќе им бидат доделени на 8-те корисници се:
I: 198.168.48.0000|0000 ⇒ 198.168.48.0/28
II: 198.168.48.0001|0000 ⇒ 198.168.48.16/28
III: 198.168.48.0010|0000 ⇒ 198.168.48.32/28
IV: 198.168.48.0011|0000 ⇒ 198.168.48.48/28
V: 198.168.48.0100|0000 ⇒ 198.168.48.64/28
VI: 198.168.48.0101|0000 ⇒ 198.168.48.80/28
VII: 198.168.48.0110|0000 ⇒ 198.168.48.96/28
VIII: 198.168.48.0111|0000 ⇒ 198.168.48.112/28
IPv6 модел на адресирање
● Адресите се доделуваат на интерфјси
не нахостови
● Се очкува интерфејост да има повеќе
адреси
● Адрсите имаат одреден домен на
важност
● Link-Local (локален линк)
● Site-Local Unique Local (локален сајт)
● Global (Глобални)
Текстулана претстава на адреса
● Colon-Hex
● 3ffe:3600:2000:0800:0248:54ff:fe5c:8868
● Компримиран формат:
● 3ffe:0b00:0c18:0001:0000:0000:0000:0010
● becomes 3ffe:b00:c18:1::10
Типови на префикси за IPv6
адреси
Глобална уникаст адреса
● Глобален рутирачки префикс
● Типично хиерархиско структурирана доделна
вредност на сајт (кластер од подмржи и линкови)
● Subnet ID
● Идентификатор на подмрежа на одреден сајт
● Interface ID
● Конструиран во промент EUI-64 format
IEEE 802 IPv6 Interface ID
Site-Local Адреса
● Има значење само во дна изолирана зона,
и може да се реискористува на други
сајтови
● Еквивалент на IPv4 приватни адреси
● Адресата не се конфигурира автоматски и
мора да се додли
● Prefix= FEC0::/48
Link-Local адреса
● Има значење само во сона на на единствен (ден)
линк, и може да се користи за други линкови
● Link-local адресите се користат за време на авто-
конфигурирањето и кога рутери не се присутни
● Потрбни се за Neighbor Discovery процесот,секогаш
автоматско конфигурирање
● IPv6 рутерот никогаш не препраќа link-local
сообраќај надвор од линкот
● Prefix= FE80::/64
Специјални IPv6 адреси
● Loopback адреса (0:0:0:0:0:0:0:1 или ::1)
● За loopback интрфејс
● IPv4-компатибилна адреса (0:0:0:0:0:0:w.c.x.z или ::w.c.x.z)
● Се користи кај јазли со двоен IP (IPv4/IPv6) пласт (dual-stack)
● IPv6 сообраќајот автоматски се енкапсулира во IPv4 заглавие и
се испраќа до дестинацијата прку IPv4 инфраструктура
● IPv4 мапирана адреса (0:0:0:0:0:FFFF:w.c.x.z или ::FFFF:w.c.x.z)
● Претставување на јазол кој поддржува само IPv4 кон IPv6 јазол
● Се користи за справување на конекции од клиент преку двата
IPv6 и IPv4 протоколи.
● Никогаш не се користи како изворна или дестинациска адрса за
IPv6 пакети
● Ретко имплементирана
Автоконфигурирање на адреси (1)
● Овозможува plug and play
● BOOTP и DHCP с користат во IPv4
● DHCPng ќе се користи во IPv6
● Две методи: Stateless и Stateful
● Stateless:
● Системот користи link-local адрса и врши multicasts
до сите рутери закаќени на линкот
● Рутерот одговара и обезбедува сите потрбни
префикси
● Сите прфикси имат асоцирано врме на живот
● Ако нема присуство на рутер јазите може да ја
користа link-local адресата прманентно
Автоконфигурирање на адреси (2)
● Stateful:
● Проблем со stateless адресирање: Било кој може да
се поврзе на мрежата
● Рутерот бара од овиот систем да побара DHCP
сервер (со поставување на managed configuration
бит)
● Системот врши муликаст до сите DHCP серври
● DHCP серверот доделува адреса
Добивање IP адреса
● Како хостот може да добие IP адреса?
● hard-coded од страна на администраторот на системот во
фајл:
● Windows: control-panel->network->configuration->tcp/ip->properties
● UNIX: /etc/rc.config
● DHCP: Dynamic Host Configuration Protocol: динамички се
доделува адресата од сервер (“plug-and-play”)
● Како мрежата го добива мрежниот дел од IP
адресата?
● Го добива од доделените адреси од адресниот простор на
ISP (Internet Service Provider)
● Како ISP добива блок од IP адреси?
● ICANN: Internet Corporation for Assigned Names and Numbers
DHCP – Dynamic Host
Configuration Protocol
Цел: да се овозможи динамичко доделување на IP адресите од
мрежен сервер кога клиентот се приклучува кон мрежата
DHCP пораки:
● Хостот емитира “DHCP discover” порака
● DHCP серверот одговара со “DHCP offer” порака
● Хостот бара IP адреса со “DHCP request” порака
● DHCP серверот ја праќа IP адресата со “DHCP ack” порака

A 223.1.1.1 DHCP 223.1.2.1


сервер
223.1.2.5
223.1.1.2
223.1.1.4 223.1.2.9
B
223.1.2.2 DHC
223.1.1.3 223.1.3.27 E
P
223.1.3.1 223.1.3.2 клиен
т
Размена на DHCP пораки
DHCP discover
DHCP сервер: 223.1.2.5 Клиент
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 654
time
Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
премин од една во друга
состојба
Рутирање
● На IP нови во хостовите и рутерите се луваат
рутирачки табели
● Изворниот хост: За да се испрати IP пакет,
консултира рутирачка табела
● Ако дестинациската адреса е во ситата мрежа, испрати го
директно до соодветен мрежен интерфејс
● Во спротивно, испрати го пакетот индиректно; обично,
рутирачката табела покажува на прфефинираниот рутер
● Рутер: Испитај ја дестинациската IP адреса на
прстигнатиот пакет
● Доколку тоа не е негова сопствена адреса, рутерот
консултира рутирачка табела за да го одреди следниот чекор
(рутр) и придружниот мрежн интерфјс и го препраќа пакетот
Рутирање по најкуса
патека
Проблем на најкуса патека
Рутирачки метрики
Протоколи за одредување на
најкуса патека
Проблем на најкуса патека
● Постојат многу патеки кои ги поврзуваат одреден
извор и дадена дстинација
● Рутирањето вклучува избор на патека која ќе се
користи за исполнување на одредн пренос
● Обично постои можност на одреден линк кој поврзува
два јазли да му се прикачи цена или растојание
● Рутирањето тогаш може да се третира како проблем
на пронаоѓање на најкуса патека

41
Рутирачки метрики
Се користат при одредување колку дна патека е
пожелна за пренос
● Должина на патека = сума на цените или
растојанијата на линковите
● Можни метрики
● Број на чекори (Hop count): груба мерка за искористени
ресурси за преносот
● Доверливост Reliability): Расположивост на линк; BER
● Доцнење (Delay): сума на доцнењето по патеката;
комплексна и динамична
● Пропусен опсег (Bandwidth): “available capacity” in a path
● Оптоварување (Load): Искористеност на линковите и
рутерите по патеката
● Цена: $$$ 42
Протоколи за одредување на
најкусата патека
Протоколи назирани на вектор на растојанија (Distance vectors
protocols)
● Соседите размнуваат листа на растојанија до дестинацијата
● За секја дестинација се одрдува најдовар следен чекор
● Bellman-Ford (дистрибуиран) алгоритам за одредување на најкуса
патека

Протоко базирани на состојба на ликови (Link Stat Protocols)


● Инфортмацијата за состојбата на линквите преплавена до сите
рутери
● Рутерите имаат информација за комплетна топологија на мрежата
● Се пресметува најкусата патека (Shortest path) и секакоследниот
чекор
● Dijkstra (централизиран) алгоритам за одредување најкуса патека
43
Вектор на растојанија
Дали знаете каде е San Jose?

Sa
nJ
os 2
e
29 39
4 o se
nJ
Sa

San Jose 596 San


Jose
250
44
Вектор на растојанија
Локален Потопис Синтетизирање на табела
● Насока ● Соседите разменуваат
● Растојание записи од табелата
● Се одредува

Рутирачка табела моменталниот најдобар


За секоја дестинација: следен чекор
● Се информираат
● Следен јазол
соседите
● Растојание dest next dist
● Периодично
● После промени

45
Најкуса патека до SJ
Се кофусира како јазлите ја наоѓаат
најкусата патека до дадена дестинација San
на пр. SJ
Jose

Dj
Cij
j
i
Di Ако Di е најкусо растојание до SJ од i
и ако j е сосед на најкусата патека,
тогаш Di = Cij + Dj 46
Но ние не ја знаеме најкусата
патека
i ги има само ликалните
информации од
соседите San
Dj' Jose
j'
Cij'
Dj
Cij j
i
Cij” Избери ја
Di j" моменталната
Dj" најкуса патека
47
Зошто векторот со растојанија
функционира
SJ испраќа
точни информации

San
1 Hop
3 Hops
2 Hops
From SJ Jose
From SJ
From SJ

Hop-1 јазите
го пресметуваат
моменталното
Точната информација најдобро растојание
за SJ се шири низ мрежата, (next hop, dist), & 48
Најкусата патека конвргира го испраќа кон соседите
Bellman-Ford алгоритам
● Претоставете прсметки за една дестинација d
● Иницијализација
● Рут. табела во секој јазол има по еден ред за дстинацијата d
● Растојанието на јазолот d до самио себе е нула: Dd=0
● Растојанието на јазолот j до d е бесконечност: Dj=∝, за j≠ d
● Јазол за следен чекор nj = -1 за да покаже дека сеуште не е
дефиниран за j ≠ d
● Ипсрати
● Испрати но вектор со растојанија до соседите пеку локалните линкови
● При прием
● Во јазолот j, најди го слдниот чекор (јазол) кој дава најмало растојание
до d,
● Minj { Cij + Dj }
● Замни го стариот запис (nj, Dj(d)) со новиот (nj*, Dj*(d)) ако се сменети
следниот јазол или растојанието
● Оди на чекор испраќање
49
Bellman-Ford алгоритам
● Сега претпоставете паралелно прсметување за сите дестинации d
● Иницијализација
● Секој јазол има по едн запис за секоја дестинација d
● Растојанието на јазолот d до самиот себе е нула: Dd(d)=0
● Растојанието на друг јазол j до d е бсконечност: Dj(d)= ∝ , for j ≠ d
● Слден чекор nj = -1 затоа што сеуште не е дефинран
● Испрати
● Испрати нов вектор со растојанија до соседите преку локалните
линкови
● Прими
● За секоја дестинација d, најди го следниот чекор кој дава најмало
растојание до d,
● Minj { Cij+ Dj(d) }
● Замни ги старите записи (nj, Di(d)) со нови (nj*, Dj*(d)) ако е најден нов јазол
или растојание
● Оди на чкор испрати

50
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞)


1
2
3

Запис во Запис во
Тебелата Тебелата
@ node 1 @ node 3
За дестинација SJ За дестинација SJ
2 3
1
5 2
1 San
4
Jose
3 1 3 6

2
2 5
4
51
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞)


1 (-1, ∞) (-1, ∞) (6,1) (-1, ∞) (6,2)
2
3

D3=D6+1
n3=6
D6=0
2 3 1
1 1
5 2
0
4 San
3 1 3 6
Jose
2 5 2
4
2
D5=D6+2 D6=0
n5=6 52
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞)


1 (-1, ∞) (-1, ∞) (6, 1) (-1, ∞) (6,2)
2 (3,3) (5,6) (6, 1) (3,3) (6,2)
3

3 1
2 3
1 1
5 2
3 0
4 San
3 1 3 6
Jose
2 2
5
4
6 2
53
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞)


1 (-1, ∞) (-1, ∞) (6, 1) (-1, ∞) (6,2)
2 (3,3) (5,6) (6, 1) (3,3) (6,2)
3 (3,3) (4,4) (6, 1) (3,3) (6,2)

1
3 2 3
1 1
5 2
3 0
4 San
3 1 3 6
Jose
2
2 5
4
6 4 2
54
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (3,3) (4,4) (6, 1) (3,3) (6,2)


1 (3,3) (4,4) (4, 5) (3,3) (6,2)
2
3

1 5
3 2 3
1 1
5 2
3 0
4 San
3 1 3 6
Jose
2
2 5
4 4
2
Прекин во мрежата; Се креира јамка помеѓу јазлите 3 and 4 55
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (3,3) (4,4) (6, 1) (3,3) (6,2)


1 (3,3) (4,4) (4, 5) (3,3) (6,2)
2 (3,7) (4,4) (4, 5) (5,5) (6,2)
3

5
37 2 3
1 1
5 53 2
0
4 San
3 1 3 6
Jose
2
2 5
4
4 2
Јазолот 4 може да го избере и 2 како следен јазол поради нерешениот резултат
56
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

Initial (3,3) (4,4) (6, 1) (3,3) (6,2)


1 (3,3) (4,4) (4, 5) (3,3) (6,2)
2 (3,7) (4,4) (4, 5) (5,5) (6,2)
3 (3,7) (4,6) (4, 7) (5,5) (6,2)

5 7
7 2 3
1 1
5 2
5 0
4 San
3 1 3 6
Jose
2 5 2
4
46 2
Јазолот 2 може да го избере и 5 како следн чекор поради нерешениот резултат
57
Iteration Node 1 Node 2 Node 3 Node 4 Node 5

1 (3,3) (4,4) (4, 5) (3,3) (6,2)


2 (3,7) (4,4) (4, 5) (2,5) (6,2)
3 (3,7) (4,6) (4, 7) (5,5) (6,2)
4 (2,9) (4,6) (4, 7) (5,5) (6,2)

79 2
7
3
1 1
5 2
5 0
4 San
3 1 3 6
Jose
2
2 5
4
6 2
Јазолот 1 може да го избере и 3 како следн чекор поради нерешениот резултат
58
Проблем на броење до
бесконечност
(a) 1 2 3 4
1 1 1 Јазлите сметаат дека
најдобрата патека е
(b) 1 2 3 X 4 преку соседот
1 1
(Дестинација е 4)
Update Node 1 Node 2 Node 3

Before break (2,3) (3,2) (4, 1)


After break (2,3) (3,2) (2,3)
1 (2,3) (3,4) (2,3)
2 (2,5) (3,4) (2,5)
3 (2,5) (3,6) (2,5)
4 (2,7) (3,6) (2,7)
5 (2,7) (3,8) (2,7)
… … … … 59
Проблем: Лошите вести споро
патуваат
Решенија
● Поделен хоризонт
● Не ја објавувај дестинацијата кон соседот од кого
е научена рутата
● Отровен одговор
● Објави рута за рстинацијата кон соседот од кој си
ја научил рутата со поставено растојани на
бесконечност
● Ги прекинува директните грешни јамки вднаш
● Не работат на индиректни јамки

60
Поделен хоризонт со отровен
одговор
(a) 1 2 3 4
1 1 1 Јазлите сметаат дека
најдобрата патека е
(b) 1 2 3 X 4 преку соседот
1 1
(Дестинација е 4)

Update Node 1 Node 2 Node 3


Before break (2, 3) (3, 2) (4, 1)
After break (2, 3) (3, 2) (-1, ∞) Node 2 објавува до node 3 дека
неговото растојание до node 4 e ∞;
node 3 дознава деке нема рута до 4

1 (2, 3) (-1, ∞) (-1, ∞) Node 1 објавува до node 2 дека


неговото растојание до node 4 e ∞;
node 2 дознава деке нема рута до 4

2 (-1, ∞) (-1, ∞) (-1, ∞) Node 1 дознава деке нема рута до 4

61
Link-State алгоритам
● Основна идеа: процедура во два чекори
● Секој јазол добива мапа од сите јазли и матрица со линкови
(состојба на линковите) за целата мрежа
● Наоѓе најкуса патека на мапата од изворниот јазол до сите
дестинациски јазли
● Дифузионо ги изпраќа инфомациите за состојбата на
ликовитез
● Секој јазол i во мрежата испраќа инфомаци до секј друг јазол
во мрежата:
● ID –ата на неговите соседи: Ni=множество на
сосди на i
● Растојание до неговите соседи: {Cij | j ∈Ni}
● Преплавувањето е популарна метода за дифузија
(broadcasting) на пакти 62
Dijkstra алгоритам: Наоѓање на најкусата
патека по ред
Најди ја најкусата Најблискиот јазол до s е 1 чекор од него
патека од изворот s до
сите останати Вториот (2nd) најблизок јазол до s
дестинации е 1 чекор од s или w”
Третиот (3rd) најблизок јазол до s е
w' еден чекор од s, w”, или x

z
w
x
s z'
w"
x' 63
Dijkstra’s алгоритам
● N: множство од јазли за кои веќе е одредена
најблиската патека
● Иницијализација: (Почнува со изворн јазол s)
● N = {s}, Ds = 0, “s е на растојание 0 сам од себе”
● Dj=Csj за сите j ≠ s, растојанија на директно поврзаните соседи
● Чекор A: (Најди го следниотѕ најблизок јазол i)
● Најди i ∉ N така што
● Di = min Dj за j ∉ N
● Додај го i во N
● Ако N ги содржи сите јазли, застани
● Чекор B: (обнови ја минималната цена)
● За секој јазол j ∉ N
● Dj = min (Dj, Di+Cij) Минимално растојание од s до j
● Оди на чекор A преку јазолот i во N 64
Извршување на Dijkstra
алгоритмот
2 2 ✔
1 3 1 1 3 1
6 6 ✔
5 2 5 2
3 3
1 4 1 4✔ 2
2
3 3
2 2
✔ 4 5 4 5

Iteration N D2 D3 D4 D5 D6
Initial {1} 3 2✔ 5 ∝ ∝
1 {1,3} 3✔ 2 4 ∝ 3
2 {1,2,3} 3 2 4 7 3 ✔
3 {1,2,3,6} 3 2 4 ✔ 5 3
4 {1,2,3,4,6} 3 2 4 5 ✔ 3
5 {1,2,3,4,5,6} 3 2 4 5 3
65
Најкуса патека во Dijkstra алгоритмот
2 3 1 2 3 1
1 1
6 6
5 2 5 2
3 3
1 4 2 1 4 2
3 3
2 2
4 5 4 5
2 3 1 2 3 1
1 1
6 6
5 2 5 2
3 3
1 4 2 1 4 2
3 3
2 2
4 5 4 5

2 3 1 2 3 1
1 1
6 6
5 2 5 2
3 3
1 4 2 1 4 2
3 3 66
2 2
4 5 4 5
Реакции на испад
● Ако испадне линк,
● Рутерот го поставува растојанието на бесконечност и ја
преплавува мржата со пакет за ажурирање (update)
● Сите рутери моментално ја обновуваат базата со линкови и
вршат повторна пресметка на најкусите патеки
● Брзо се опоравуваат
● Внимавајте на стари пораки за ажурирање
● Треба да се додадат time stamp или број на секвенца на
секоја порака за ажурирање
● Проверте дали секоја порака за ажурирањ е нова
● Ако е нова, додадет ги записите во база и препратете ги
● Ако се постарти, испрати порака за ажурирање на линкот од
коаде доаѓа пораката

67
Зошто Link State се подобри?
● Брза конвергенција без јамки
● Поддршка за точни метрики и повеќе
метрики ако е потребно (throughput, delay,
cost, reliability)
● Поддржува повеќе патеки до
дестинацијата
● Алгоритмот мож да биде модификуван да
наоѓа дв најдобри патеки

68
Популарни рутирачки протоколи
RIP, OSPF, BGP

(Distance vector) (Link State)

● RIP – Routing Information Protocol


● OSPF – Open Shortest Path First
● BGP – Border Gateway Protocol

You might also like