You are on page 1of 30

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

Мрежно ниво – IP ниво

 Адресирање - DHCP, NAT


 Рутирање и рутирачки табели
 Рутирање по најкуса патека – Dijkstra
алгоритам

Книга „Computer Networking: A Top-Down Approach“,


Jim Kurose, Keith Ross, делови од Глава: 4 и 5
Добивање IP адреса - DHCP

● Како хостот може да добие IP адреса?


● hard-coded од страна на администраторот на системот во фајл (пример):
● Windows: control-panel -> Network & Internet -> Under your local area connection
(ex.. WiFi), Properties -> IP assignment Edit -> Manual
● DHCP: Dynamic Host Configuration Protocol: динамички се доделува
адресата од сервер (“plug-and-play”)

● Како мрежата го добива мрежниот дел од IP адресата?


● Го добива од доделените адреси од адресниот простор на ISP (Internet
Service Provider)

● Како ISP добива блок од IP адреси?


● IANA(ICANN - Internet Corporation for Assigned Names and Numbers)
ICANN технички ја извршува функцијата во име на IANA
DHCP – Dynamic Host Configuration Protocol

Цел: да овозможи динамичко доделување на IP адреса од


мрежен сервер кога клиентот се приклучува кон мрежата
DHCP пораки:
● Хостот емитира “DHCP discover” порака
● DHCP серверот одговара со “DHCP offer” порака (му нуди
конкретна IP адреса на хостот)
● Хостот бара да ја користи понудената IP адреса со “DHCP
request” порака
● DHCP серверот ја потврдува IP адресата на хостот со
“DHCP ack” порака
DHCP клиент-сервер сценарио

Најчесто DHCP серверот е


DHCP server колоциран во рутерот,
223.1.1.1
223.1.2.1
опслужувајки ги сите подмрежи
поврзани на рутерот
223.1.2.5
223.1.1.2
223.1.1.4 223.1.2.9

223.1.1.3
223.1.3.27 Доаѓа DHCP клиент кому
223.1.2.2 му е потребна IP адреса
во оваа мрежа
223.1.3.1 223.1.3.2
DHCP клиент-сервер сценарио
Размена на DHCP пораки
DHCP server: 223.1.2.5 DHCP discover Arriving client
src : 0.0.0.0, 68
Broadcast: дали има
dest.: 255.255.255.255,67
некој DHCP0.0.0.0
yiaddr: сервер?
transaction ID: 654

DHCP offer
Broadcast: Ја сум
src: 223.1.2.5, 67 DHCP
dest: 255.255.255.255,
сервер! 68
Ова е IP адреса
yiaddrr: 223.1.2.4
која можеш
transaction да ја
ID: 654
користиш
lifetime: 3600 secs
Овие први два чекори
DHCP request можат да се прескокнат
src: 0.0.0.0, 68 “ако клиентот ја памти и
Broadcast: OK. Би сакал
dest:: 255.255.255.255, 67 сака да ја реискористи
да ја користам
yiaddrr: 223.1.2.4 претходно алоцираната
transaction ID: 655
понудената IP адреса! мрежна адреса” [RFC 2131]
lifetime: 3600 secs

DHCP ACK
src: 223.1.2.5, 67
Broadcast:
dest: OK. Ја68
255.255.255.255,
yiaddrr: 223.1.2.4
добиваш таа ID:
transaction IP 655
адреса!
lifetime: 3600 secs
DHCP: повеќе од доделување на IP адреса

DHCP покрај доделување на IP адреса на хост во дадена


подмрежа вообичаено доделува и:
 мрежна маска, со што се укажува на мрежниот дел во
однос на хост делот од IP адресата
 IP адреса на gateway рутер - првиот рутер за излез од
подмрежата каде се наоѓа хостот
 име и IP адреса на DNS сервер - преведува име на
дестинациски хост - URL во IP адреса
Рутирање во мрежи базирани
на пакетска комутација

• Пакетски мрежи
• Рутирачки табели
• Рутирачки алгоритми
Пакетски мрежи

1 3
6

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

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


• 1-3-6, 1-4-5-6, 1-2-5-6
• Која е „најдобра“?
• Минимално доцнење? Минимален број на чекори?
Најголема пропустливост? Минимална цена? Најголема
расположивост?
Рутирачки табели
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
6 6 4 3
5 2
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
Рутирање
● На IP нивото во хостовите и рутерите се чуваат рутирачки табели
● Изворниот хост: За да испрати IP пакет, ја консултира својата рутирачка
табела
● Ако дестинациската адреса е во истата мрежа, испрати го пакетот
директно до соодветниот мрежен интерфејс
● Во спротивно, испрати го пакетот индиректно; обично, рутирачката
табела покажува на предефинираниот рутер (default gateway router)
● Рутер: За да препрати IP пакет, ја консултира својата рутирачка табела
Испитај ја дестинациската IP адреса на пристигнатиот пакет:
● Врз основа на рутирачката табела одреди го следниот чекор (рута) и
придружниот интерфејс и испрати го пакетот
Рутирачки табели мрежа
мрежа
R1 11.0.0.2 R2
R0

мрежа мрежа мрежа

PC0 РТ (дел од Рутирачка Табела) – формирана


Рутер0 (R0) - Рутирачака Табела
од мрежното ниво на персоналниот компјутер
PC0 – дел од Рутирачка Табела
PC0 од информациите добиени од DHCP
Destination Network Prefix Next Hop/DC Interface Destination Network Prefix Next Hop/DC Interface серверот.
10.0.0.0/8 DC S2 0.0.0.0/0 192.168.1.1 FE1
Целата рутирачка табела може да се види
11.0.0.0/8 10.0.0.2 S2 192.168.1.0/24 DC FE1
(win10) со командите: cmd -> run as
192.168.1.0/24 DC FE0
192.168.2.0/24 10.0.0.2 S2
0.0.0.0/0 – Default Route (рута која administrator -> во отворениот прозорец на
DC - Directly Connected Subnet командна линија > route print
192.168.3.0/24 10.0.0.2 S2 се применаува ако нема
FE – Fast Ethernet Interface За да се види постоечката конфигурација >
совпаѓање на ниедна друга рута
S – Serial Interface ipconfig /all
во табелата)
Рутирачки алгоритми: Барања
● Брза и точна испорака на пакетите
● Мора да работат точно
● Брза конвергенција
● Одзивност на промени и избегнување на рутирачки
јамки
● Промени во топологијата, пропусниот опсег, натрупувања
● Ослободени од постоење на јамки
● Оптималност
● Искористување на ресурсите, должината на патеката
● Робустност
● Континуирана работа при појава на голема оптовареност,
натрупување, испади
● Едноставност
● Ефикасна имплементација, разумно процесирачко
оптоварување
Рутирачки алгоритми: Класификација
A. Централизирано наспроти Дистрибуирано Рутирање

● Централизирано рутирање
● Сите рути се одредени од центален јазол
● Сите информации за состојба (линк или јазол) се испраќаат до еден јазол
● Полесен менаџмент на мрежата, поголема флексибилност
● Можност за користење на програмабилни контролери – SDN (Software
Defined Networking)

● Дистрибуирано рутирање
● Рутите се одредуваат во рутерите преку дистрибуирани алгоритми
● Информации за состојбите се разменуваат помеѓу соседните рутери
● Добра скалабилност (приспособливост)
Рутирачки алгоритми: Класификација

B. Статичко наспроти Динамичко рутирање


● Статичко рутирање
● Се поставува рачно (мануелно), не се менува; бара администрација
● Погодно за ситуации кога сообраќајот е предвидлив и мрежата е едноставна

● Се користи за пребришување на рути поставени од динамичките алгоритми

● Се користи да се овозможи предефинирана (default) рутер/рута

● Динамичко рутирање
● Се прилагодува на промените во условите во мрежата
● Автоматизирано одлучување

● Ги пресметува рутите врз основа на добиените податоци за состојбата во


мрежата
Рутирање по најкуса патека

• Проблем на најкуса патека


• Рутирачки метрики
• Протоколи за одредување на најкуса патека
Проблем на најкуса патека

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


дадена дестинација
● Рутирањето вклучува избор на патека која ќе се користи за
исполнување на одредeн пренос
● Обично постои можност на одреден линк кој поврзува два
јазли да му се прикачи цена или растојание
● Рутирањето тогаш може да се третира како проблем на
пронаоѓање на најкуса патека
Рутирачки метрики

Се користат при одредување колку една патека е пожелна за пренос


●Должина на патека = сума на цените или растојанијата на
линковите
● Можни метрики
● Бројна чекори (Hop count): груба мерка за искористени ресурси за преносот
● Доверливост (Reliability): Расположивост на линк; BER

● Доцнење (Delay): сума на доцнењето по патеката; комплексна и динамична

● Пропусен опсег (Bandwidth): “available capacity” in a path

● Оптоварување (Load): Искористеност на линковите и рутерите по патеката

● Цена: $$$
Протоколи за одредување на
најкусата патека
Протоколи базирани на состојба на ликови (Link State Protocols)
● Информацијата за состојбата на линковите секој рутер ја испраќа
(flooded) до сите рутери во мрежата
● Рутерите имаат информација за комплетна топологија на мрежата

● Секој рутер ја пресметува најкусата патека (Shortest path) до сите


дестинации и врз основа на тоа следниот чекор (next-hop)
● Dijkstra (централизиран) алгоритам за одредување најкуса патека

Протоколи базирани на вектор на растојанија (Distance vectors protocols)


● Соседните рутери разменуваат листа на растојанија до дестинацијата

● За секоја дестинација се одредува најдобар следен чекор (next-hop)

● Bellman-Ford (дистрибуиран) алгоритам за одредување на најкуса


патека
Link-State алгоритам
● Основна идеа: процедура во два чекори
● Секојјазол добива мапа од сите јазли и матрица со линкови (состојба на
линковите) за целата мрежа
● Наоѓа најкуса патека на мапата од изворниот јазол до сите дестинациски
јазли
● Дифузно ги изпраќа инфомациите за состојбата на ликовите
● Секој јазол i во мрежата испраќа инфомаци до секој друг јазол во мрежата:
● ID–ата на неговите соседи: Ni =множество на соседи на i
● Растојание до неговите соседи: {Cij | j Ni}

● Преплавувањето (flooding) е популарна метода за дифузија


(broadcasting) на пакети
Dijkstra алгоритам: Наоѓање на најкусата
патека по ред
Најди ја најкусата Најблискиот јазол до s е 1 чекор од него
патека од изворот s до
Вториот (2nd) најблизок јазол до s е 1 чекор
сите останати
одалечен од s или w”
дестинации
Третиот (3rd) најблизок јазол до s е 1 чекор
одалечен од s, w” или x
w'
z
w
x
s z'
w
" x'
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 Минимално растојание од s
 Dj = min (Dj, Di+Cij) до j преку јазолот i во N
 Оди на чекор A
Извршување на Dijkstra алгоритмот
Пример: Пресметка на најкусите растојанија од изворниот јазол 1 до сите останати јазли во мрежата
2 2 
1 3 1 1 3 1 Рутирачка табела за јазол 1
6 6 
5 2 5 2 Node 1
3 3 Destination Next node

1 4 1 4  2 2 2
2
3 3 3 3
2 2 4 3
 4 5 4 5 5 3
6 3
Добиениот Граф на најкуси растојанија
(означен со црвени линкови) од јазол 1 до сите други

Iteration N D2 D3 D4 D5 D6
Initial {1} 3 2 5  
find a not in N such that D(a) is
1 {1,3} 3 4  3 a minimum
add a to N
2 {1,3,2} 4 7 3 update D(b) for all b adjacent to
a and not in N :
3 {1,3,2,6} 4 5 D(b) = min ( D(b), D(a) + ca,b )
4 {1,3,2,6,4} 5
5 {1,3,2,6,4,5}
Најкуса патека во 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
4 4 најкусите растојанија од
1 2 1 2
3 3 изворниот јазол 1 до сите
2 2
5 5 останати јазли во мрежата
4 4
Реакции на испад
● Акоиспадне линк:
● Рутерот го поставува растојанието на бесконечност и ја
преплавува мржата со пакет за ажурирање (update)
● Сите рутери моментално ја обновуваат базата со линкови и
вршат повторна пресметка на најкусите патеки
● Брзо се опоравуваат

● Внимавајте на стари пораки за ажурирање:


● Треба да се додадат time stamp или број на секвенца на
секоја порака за ажурирање
● Проверте дали секоја порака за ажурирање е нова

● Ако е нова, додадетe ги записите во база и препратете ги

● Ако се постари, испрати порака за ажурирање на линкот од


каде доаѓа пораката
Предности на Link-State протоколот

● Брза конвергенција без јамки


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

● RIP – Routing Information Protocol


● OSPF – Open Shortest Path First
● BGP – Border Gateway Protocol
NAT: Network Address Translation
NAT: сите уреди во локалната мрежа делат една иста јавна IPv4 адреса за
комуникација со надворешниот интернет

Пример. rest of local network (e.g., home


Internet network) 10.0.0.0/24

10.0.0.1
138.76.29.7 10.0.0.4

10.0.0.2

10.0.0.3

сите датаграми кои ја напуштаат Датаграмите кои комуницираат во рамките


локалната мрежа имаат иста изворна на локалната мрежа имаат приватни IP
NAT IP адреса - јавна: 138.76.29.7, но адреси на пример, од видот 10.0.0.0/24
различни изворни броеви на порта
NAT: Network Address Translation
 Сите уреди во локалната мрежа имаат 32-битни адреси од приватната
адресна група (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) кои може да се
користат само во дадената локална мрежа
 Предности:
 само една јавна IP адреса е потребна од ISP провајдерот за сите уреди
 Адресите на хостовите во локалната мрежа може да се менуваат без
нотификации до надворешниот интернет
 Може да се промени ISP провајдерот без промена на адресите на
уредите во локалната мрежа
 сигурност: уредите во локалната мрежа не се директно видливи од
надворешниот интернет
NAT: Network Address Translation
Имлементација: NAT рутерот мора (транспарентно):
 Појдовните датаграми: замени ги (изворната IP адреса, број на порта) на секој
датаграм кој заминува во (NAT IP адреса, нов број на порта)
• Одалечените клиенти/сервери ќе одговорат користејки ги (NAT IP адреса, нов
број на порта) како дестинациска адреса
 запомни (во NAT табелата за преведување) се врши мапирање на (изворната IP
адреса, број на порта) во (NAT IP адреса, нов број на порта) во појдовна насока и
обратно мапирање во дојдовна насока
 Дојдовни датаграми: замени ги (NAT IP адреса, нов број на порта) во
дестинациските полиња на секој дојдовен датаграм со соодветните (изворна IP
адреса, бројот на порта) зачувани во NAT табелата
NAT: Network Address Translation

NAT translation table


2: NAT рутерот ја менува 1: host 10.0.0.1 испраќа
WAN side addr LAN side addr датаграм кон
изворната адреса од
10.0.0.1, 3345 во 138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
138.76.29.7, 5001, …… ……
и ја ажурира табелата
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
10.0.0.1
1
S: 138.76.29.7, 5001
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2
138.76.29.7 S: 128.119.40.186, 80
D: 10.0.0.1, 3345
4
S: 128.119.40.186, 80 10.0.0.3
D: 138.76.29.7, 5001 3
3: одговорот доаѓа на
дестинациска адреса:
138.76.29.7, 5001

You might also like