You are on page 1of 45

Податочен слој

КМиБ/КМ - Аудиториски Вежби 7


Податочен слој
Цели:
 Да се научат принципите на
податочниот слој:
 Интерфејс со мрежното ниво
 Врамување
 Детекција и корекција на
грешки
 Споделување на бродкаст
канал (multiple access)
 Податочно адресирање
 Надежен податочен пренос,
контрола на проток

2 КМ/ПКК - Аудиториски Вежби


Податочен слој
 Пренесување на податоци Транспортна аналогија
со помош на различни  Патување од Велес до Нови Сад
 автомобил: Велес до Скопје
протоколи преку различни
 авион: Скопје до Белград
врски:
 воз: Белград до Нови Сад
 на пример: Етернет на првата
врска, Frame relay на втората  туристи = податоци
врска и 802.11 на последната  Транспортен сегмент =
врска комуникациска врска
 Секој протокол овозможува  Начин на транспорт =
различни услуги: податочен протокол
 на пример може, но не мора  Патничка агенција =
да овозможи надежен рутирачки протокол
податочен пренос
3 КМ/ПКК - Аудиториски Вежби
Услуги на податочниот слој
 Врамување, пристап на врска
 Енкапсулација на податоците во рамки
 Пристап на каналот
 Medium Access Control (MAC) адреси
 Надежна достава помеѓу соседни јазли
 Контрола на проток
 Детекција и корекција на грешки
 Half-duplex и full-duplex
 Half-duplex – јазлите од двете страни може да испраќаат, но
не во исто време
 Full-duplex – двонасочна комуникација

4 КМ/ПКК - Аудиториски Вежби


Каде е имплементиран податочниот слој?
 Во секој домаќин
host schematic
 Имплементиран во
application
“адаптерите” (мрежна transport
network cpu memory
картичка: NIC – network link

interface card) host


bus
 Ethernet картичка, PCMCIA controller (e.g., PCI)
link
картичка, 802.11 картичка physical
physical
 Се поврзува на системската transmission

магистрала на домаќинот
network adapter
 Комбинација од софтвер, card

хардвер и вграден софтвер


(firmware)

5 КМ/ПКК - Аудиториски Вежби


Услуги кои ги нуди на мрежното ниво
 Непотврдена комуникација без воспоставување на
конекција (Unacknowledged connectionless)
 Ниска рата на грешки, real-time сообраќај
 Повеќето LAN
 Потврдена комуникација без воспоставување на
конекција (Acknowledged connectionless)
 Ненадежни канали, безжични системи
 Потврдена комуникација со воспоставување на
конекција (Acknowledged connection-oriented)
 Еквивалентно со надежен проток на битови
 Секоја рамка се прима точно еднаш и сите рамки се во
точен редослед
6 КМ/ПКК - Аудиториски Вежби
Важно!!!
 Кај мрежните протоколи е клучна разликата помеѓу
испраќач (sender, source) и примач (receiver,
destination)
 Испраќач
 ДОДАВА информации според протоколот на комуникација
 Примач
 ГИ РАЗБИРА САМО додадените информации од испраќачот
според протоколот на комуникација
 Неговото однесување се базира на додадените податоци
 Доколку проследува нешто на погорното ниво, ГИ
ОТСТРАНУВА податоците кои се додадени од испраќачот

7 КМ/ПКК - Аудиториски Вежби


Врамување (framing)
 Го дели протокот на битови во дискретни рамки и за
секоја рамка пресметува “checksum”
 Начини на врамување:
 Броење на карактери
 Знаменца со додавање на бајти (byte stuffing)
 Почетни и крајни знаменца, со додавање на битови (bit
stuffing)
 Кодирање на физичко ниво (користење на невалидни
физички кодови)

8 КМ/ПКК - Аудиториски Вежби


Броење на карактери

9 КМ/ПКК - Аудиториски Вежби


Полнење со бајти - Byte stuffing

10 КМ/ПКК - Аудиториски Вежби


Полнење со битови - Bit stuffing

Секоја рамка започнува и завршува со специјален


шаблон: 01111110

11 КМ/ПКК - Аудиториски Вежби


Задача 1
 Кај протокол од податочно ниво се користи следното
кодирање на знаци:

A: 01000111; B:11100011; FLAG: 01111110 ESC: 11100000

 Прикажете ја пренесената низа на битови (бинарно) за


рамката со четири знаци: A, B, ESC, FLAG, доколку се
користат следните методи за врамување:
а. Брoење на знаци
б. Полнење со бајти
в. Полнење со битови

12 КМ/ПКК - Аудиториски Вежби


Задача 1 - решение

а. 00000101 01000111 11100011 11100000 01111110


б. 01111110 01000111 11100011 11100000 11100000
11100000 01111110 01111110
в. 01111110 01000111 110100011 111000000 011111010
01111110

13 КМ/ПКК - Аудиториски Вежби


Задача 2
 Следниот податочен фрагмент се јавува на средина од
податочна низа за кој се користи полнење со бајти:
 A B ESC C ESC FLAG FLAG D
 Кој е излезот по пополнувањето?

 По пополнувањето, се добива:
 A B ESC ESC C ESC ESC ESC FLAG ESC FLAG D

 Што прави примачот на пораката?

14 КМ/ПКК - Аудиториски Вежби


Задача 3
 Низа од битови: 0111101111101111110 треба да се
пренесе на податочниот слој. Која е низата која
навистина се испраќа по полнење со битови доколку
се користи FLAG=01111110?

 Излезот е:
01111110011110111110011111010 01111110

15 КМ/ПКК - Аудиториски Вежби


Задача 4
 Мрежното ниво треба да ја испрати следната низа од
карактери “KompjuterskiMrezi”. Нив ги испраќа во три
пакети: “Kompj”, “uterskiM”, “rezi”. При испраќањето на
податоците нема паузи и нема грешки во испраќањето.
 Доколку се користи броење на карактери, тогаш која е низата од
карактери која ќе ја прими примачот (сите рамки заедно)
 6Kompj9uterskiM5rezi
 Доколку користиме полнење со бајти, каде што маркерот (Flag) е
карактерот „i“, а излезниот карактер (Esc) е „e“, тогаш која е
целосната низа која ќе се прими (сите рамки заедно)
 iKompјi iuteerskeiMi ireezeii

16 КМ/ПКК - Аудиториски Вежби


Задача 5
 Примачот кој користи полнење со битови и FLAG=01110
на податочно ниво ја добива следната низа од битови:
00001110010011011011001110000111001100101100111000
 Колку рамки содржи примената низа? Кои пакети се
примени?
нема пренос податоци FLAG додадени битови
00001110010011011011001110000111001100101100111000
2 рамки
0100111111; 01101011

17 КМ/ПКК - Аудиториски Вежби


Детекција и корекција на грешки
 Детекција на грешки
 Грешки настануваат поради слабеење на сигналот, шум,
итн.
 Примачот детектира грешка
 Му сигнализира на праќачот да ја препрати рамката
 Ја отфрла рамката
 Корекција на грешки
 Примачот детектира и корегира грешки без потреба од
повторно препраќање на рамките

18 КМ/ПКК - Аудиториски Вежби


Детекција и корекција на грешки

 Единечна грешка vs грешка на низа од битови (burst


error)
110101 →100101 vs 100001

 n-битен коден збор = m податочни битови + r битови


за проверка

19 КМ/ПКК - Аудиториски Вежби


Детекција и корекција на грешки
 Хамингово растојание = # на различни битови
1010101
1001010
0011111 → Хамингово растојание = 5
 Растојание d на еден код = минимално Хамингово
растојание помеѓу било кои два кодни збора
 За да се детектираат m-битни грешки, потребно е
растојание d=m+1
 За да се корегираат m-битни грешки, потребно е
растојание d=2m+1

20 КМ/ПКК - Аудиториски Вежби


Детекција на грешки
EDC = Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include header fields

• Детекцијата на грешки не е 100% доверлива!


• протоколите може да пропуштат некои грешки, но ретко
• поголеми EDC полиња даваат подобра детекција и корекција

otherwise

21 КМ/ПКК - Аудиториски Вежби


Cyclic Redundancy Check (CRC)
 Претставување низи од битови како полиноми со коефициенти 0 и 1.
 Ги гледа податочните битови, D како бинарни броеви
 Се избира r+1 шаблон на битови (генератор), G
 цел: да се избере r CRC битови, R, така што
 <D,R> деливо со G (по модул 2)
 Примачот го знае G, го дели <D,R> со G. Ако има не-нулти остаток->
детектирана грешка!
 Може да ги детектира сите burst грешки помалку од r+1 бита
 Често употребувано во пракса (Ethernet, 802.11 WiFi, ATM)

22 КМ/ПКК - Аудиториски Вежби


CRC Пример
сакаме:
D . 2r XOR R = nG
што е еквивалентно на:
D . 2r = nG XOR R
еквивалентно на:
ако поделиме D . 2r со G,
сакаме остаток R

D.2r
R = остаток [ ]
G

23 КМ/ПКК - Аудиториски Вежби


Задача 6
 Низа од битови 10011101 се пренесува користејќи го
стандардниот CRC метод. Полиномниот генератор е
x3 + 1. Прикажете ја вистинската низа од битови која
се пренесува. Претпоставете дека третиот бит од лево
се променил за време на преносот. Покажете дека
оваа грешка е откриена на крајот кај примачот.

24 КМ/ПКК - Аудиториски Вежби


Задача 6 - решение
 Рамката е 10011101. Генераторот е 1001. Пораката по
додавањето на три нули е 10011101000. Остатокот од
делењето на 10011101000 со 1001 е 100. Значи,
низата на битови која се пренесува е 10011101100

 Примената низа со грешка на третиот бит од лево е


10111101100. Ако се подели со 1001 се добива остаток
100, што е различно од нула. Значи, примачот
детектира грешка и може да побара повторно
праќање на рамката.

25 КМ/ПКК - Аудиториски Вежби


Задача 7
 Два уреди кои комуницираат, за детекција на грешка
користат единечна парна парност (single-bit even
parity). Праќачот го испраќа следниот бајт 10101010 и
поради шум во каналот примачот го добива бајтот
10011010. Дали примачот ќе детектира грешка?
Зошто?

 Примачот нема да детектира грешка, бидејќи


проверката на единечна парност детектира само
инверзија на непарен број на битови

26 КМ/ПКК - Аудиториски Вежби


Задача 8 (за дома)
 Да се најде CRC доколку D: 11100011 и G: 110011.

27 КМ/ПКК - Аудиториски Вежби


Задача 9
а) Во CRC шема на детекција на грешки, генераторен
полином е x4 + x + 1. Да се кодираат битовите
10010011011.
б) Да се претпостави дека каналот воведува грешка со
облик 100010000000000 (промена на позициите 1 и 5).
Што е примено? Дали грешката може да се детектира?
в) Дали грешката ќе биде детектирана доколку е
примена низата битови 000010110111100, при што
грешка е со облик 100110000000000?

28 КМ/ПКК - Аудиториски Вежби


Задача 9 - решение
а) Ако се подели 10010011011 со 10011 се добивва
остаток 1100, што значи дека ќе биде испратена
низата 100100110111100
б) Ако се прими низата 000110110111100, остатокот при
делењето со 10011 ќе биде 1110 - значи различен од
нула, што значи дека грешката ќе биде детектирана.
в) Ако се прими низата 000010110111100, остатокот при
делењето со 10011 ќе биде нула, што значи дека
грешката нема да биде детектирана.
Доколку грешката е делива со генераторниот полином, CRC нема да јави грешка!

29 КМ/ПКК - Аудиториски Вежби


Задача 10 (за дома)
 CRC се користи за кодирање на 11-битни пораки.
Генераторниот полином е x4 + x3 + 1
а) Да се кодира податочната низа 10011011100
(најлевиот бит е најмалку значаен бит) со помош на
генераторниот полином
б) Да се претпостави дека во седмиот бит (броејќи од
најмалку значајниот бит) има грешка и да се покаже
дали грешката ќе биде детектирана

30 КМ/ПКК - Аудиториски Вежби


LAN Технологии и LAN системи
 Уреди за поврзување во мрежите
 Насочувачи
 Поврзуваат 2 или повеќе различни мрежи
 Уреди од трето ниво
 Преклопници
 Поврзуваат 2 или повеќе уреди од иста мрежа
 Типови на уреди
 Преклопник (Switch)
 Мост (bridge)

31 КМ/ПКК - Аудиториски Вежби


Краток преглед

Routers
Switches, Bridges
Hub, Repeaters

 Етернет мрежите биле создавани со помош на повторувачи (repeaters).


 Кога перформансите на овие мрежи почнале да страдаат поради повеќето
уреди кои споделуваат исти сегмент, мрежните инженери создале мостови за
да креираат повеќе колизиски домени.
 Како што мрежите растеле во однос на големина и комплексност, така
мостовите прераснале во модерни преклопници, кои овозможуваат
микросегментација на мрежата.
 Денес мрежите најчесто се создадени со помош на преклопници и
насочувачи, најчесто со функциите преклопување и насочување во еден уред
32 КМ/ПКК - Аудиториски Вежби
Развој на Ethernet/802.3 LAN

 Ограничувања во однос на растојанието


 Етернет е во основа споделена технологија во која сите корисници да даден LAN сегмент се
натпреваруваат за истиот пропустлив опсег
 Ситуацијата е аналогна на примерот кога повеќе автомобили се обидуваат да пристапат на пат
со една лента во исто време
 Бидејќи патот има само една линија, само еден автомобил може да пристап во даден момент
 Со воведувањето на хабови во мрежите се овозможило повеќе корисници да се натпреваруваат
за истиот пропустлив опсег
 Колизиите се копродукт на Етернет мрежите
33 КМ/ПКК - Аудиториски Вежби
Преклопник (Switch)

 Преклопниците креираат виртуелни кола помеѓу два поврзани уреди,


воспоставувајќи посветена комуникациска патека помеѓу уредите
 Преклопниците овозможуваат микросегментација на мрежата
 Ова овозможува максимално искористување на пропустливиот опсег
 Преклопникот има можност да одржува повеќе, симултани виртуелни
кола
 Бродкаст рамките се препраќаат на сите уреди на мрежата
34 КМ/ПКК - Аудиториски Вежби
Податочно адресирање (Етернет)
 MAC (или LAN или физички или Етернет) адреси
 48 битна MAC адреса
 функција: земи ја рамката од еден интерфејс до друг физички
поврзан интерфејс (иста мрежа)
 Запишана во NIC ROM, понекогаш може да се нагоди софтверски
 Типови
 Unicast
 Пример 1A-2F-BB-76-09-AD
 Multicast
 8-миот бит од најзначајниот бајт: 1 – мултикаст, 0 – уникаст.
 Пример 01:80:C2:00:00:00
 Broadcast – сите битови 1
 Секогаш FF-FF-FF-FF-FF-FF

35 КМ/ПКК - Аудиториски Вежби 2013


LAN технологии и LAN системи
 Изворнa MAC адреса
 MAC адреса на праќачот
 Преклопникот учи врз основа на изворната адреса
 Запишува од која порта доаѓа рамката и ја пресликува со
изворната адреса
 Дестинациска MAC адреса
 MAC адреса на примачот (важи само за локални мрежи !!!)
 Преклопникот работи врз основа на дестинациската адреса
 Ако знае на која порта е дестинациската адреса, ја
препраќа рамката на таа порта
 Ако не ја знае, ја препраќа на сите останати порти освен од
онаа од кај што доаѓа рамката
36 КМ/ПКК - Аудиториски Вежби
Испраќање и примање на Етернет рамки преку
преклопник
Source Address Table
Port Source MAC Add. Port Source MAC Add.
02:23:45: 02:23:45:
67:89:ab 67:89:cd

 Преклопникот чува табела на


адреси на извори (source address
switch table) во кеш (RAM) каде се чуваат
изворните MAC адреси откако ќе
се научат
 Преклопникот прима Етернет
рамка и бара во табелата запис за
дестинациската MAC адреса.
 Доколку најде совпаѓање, рамката
02:23:45:67:89:ab 02:23:45:67:89:cd
се филтрира така што се испраќа
само на соодветната порта
 Доколку нема совпаѓање се
препраќа рамката на сите порти
02:23:45:67:89:bc 02:23:45:67:89:de
(floods)
37 КМ/ПКК - Аудиториски Вежби
Нема дестинациска адреса во табелата, преплави
Source Address Table
Port Source MAC Add. Port Source MAC Add.
7 02:23:45:67:89:cd 02:23:45: 02:23:45:
67:89:ab 67:89:cd

 Како се учат изворните MAC


switch адреси?
 Прво, преклопникот гледа дали
изворната адреса (ИА) -
02:23:45:67:89:cd наоѓа во табелата
 Ако е, се ресетира тајмерот
 Ако не е во табелата, ја додава
заедно со број на порта
02:23:45:67:89:ab 02:23:45:67:89:cd
 Наредно, преклопникот ја
препраќа рамката на сите порти
бидејќи дестинациската адреса
(ДА) не е во табелата
02:23:45:67:89:bc 02:23:45:67:89:de
38 КМ/ПКК - Аудиториски Вежби
Има дестинациска адреса во табелата, филтрирај
Source Address Table
Port Source MAC Add. Port Source MAC Add.
7 02:23:45:67:89:cd 1 02:23:45:67:89:ab 02:23:45: 02:23:45:
67:89:cd 67:89:ab

 Повеќето комуникации вклучуваат


switch еден вид на клиент-сервер размена
на информации
 Сега 02:23:45:67:89:ab праќа податоци
назад до 02:23:45:67:89:cd
 Преклопникот гледа дали ИА е
зачувана
 Не е во табелата, па се додава.
 Ова ќе помогне наредниот пат кога
02:23:45:67:89:ab 02:23:45:67:89:cd 02:23:45:67:89:cd ќе праќа до 02:23:45:67:89:ab

 Понатаму, ја проверува ДА и во овој


случај може да ја филтрира рамката,
со праќање само на порта 7
02:23:45:67:89:bc 02:23:45:67:89:de
39 КМ/ПКК - Аудиториски Вежби
Има дестинациска адреса во табелата, филтрирај
Source Address Table
Port Source MAC Add. Port Source MAC Add. 02:23:45: 02:23:45:
7 02:23:45:67:89:cd 1 02:23:45:67:89:ab 67:89:ab 67:89:cd

switch 02:23:45: 02:23:45:


67:89:cd 67:89:ab

 Сега, бидејќи двете MAC адреси се


во табелата, било која
информација разменета помеѓу
02:23:45:67:89:cd и 02:23:45:67:89:ab ќе се
испраќа само на соодветната порта
 Што се случува кога два уреда
02:23:45:67:89:ab 02:23:45:67:89:cd
праќаат до иста дестинација?
 Што ако беше hub?
 Каде се колизиските домени во
овој пример?
02:23:45:67:89:bc 02:23:45:67:89:de
40 КМ/ПКК - Аудиториски Вежби
Типови
преколпици

 Прободување (Cut-through ) со брзо-препраќање (FastForward) – При овој


начин на работа преклопникот чека да биде примена само дестинациската
хардверска адреса пред да ја побара дестинациската адреса во MAC табелата
за филтрирање. Cisco понекогаш го нарекува овој метод Брзо-препраќање.
 Прободување (Cut-through ) без-фрагменти (FragmentFree ) – Ова е
предодреден начин на работа за Catalyst 1900 преклопник, а се нарекува и
модифицирано прободување. При овој начин на работа, преклопникот ги чека
првите 64 бајти од рамката пред да ја препрати, за да се избегне препраќање
на фрагменти од рамките кои се предизвикани од колизии.
 Зачувај-и-препрати (Store-and-forward ) – при овој начин на работа,
податочната рамка се прима комплетно и баферира во преклопникот, се
проверува CRC и доколку CRC проверката е успешна преклопникот ја бара
дестинациската адреса во MAC табелата за филтрирање, па потоа соодветно ја
препраќа рамката.
41 КМ/ПКК - Аудиториски Вежби
Прободување (Cut Through) начин на работа

Preamble Des. Add Sour. Add Length Data FCS

7 1 2/6 2/6 2 46 - 1500 Bytes 4


Bytes Byte Bytes Bytes Bytes Bytes

• Прочитај ги првите 14 бајти од секој пакет, потоа препраќај


• Многу побрз
• Не може да детектира оштетени пакети
• Може да ги пропагира оштетените пакети низ мрежата
• Најсоодветен за мали мрежи
• Не може да се употребува ако влезниот линк има помала брзина од
излезниот, пр. од 100Mbps кон 1Gbps

42 КМ/ПКК - Аудиториски Вежби


Зачувај-и-препрати (Store and Forward)
начин на работа
• Прочитај го целиот пакет пред да го препраќаш
• Поспор од cut-through начин на работа
• Поточен бидејќи ги детектира оштетените пакети
користејќи го FCS
• Посоодветен за големи LAN бидејќи нема да се
препраќаат оштетените пакети

• Го поедноставува DB
100Mbps
податочниот трансфер
помеѓу сегменти со
различна брзина

43 КМ/ПКК10Mbps
- Аудиториски Вежби
Типови преклопници
 Адаптивно прободување (adaptive cut-through)
 Во овој начин на работа преклопникот користи прободување
додека не детектира одреден број на грешки
 Откако се помине предодредениот број на грешки преклопникот
преминува на зачувај-и-препрати начин

44 КМ/ПКК - Аудиториски Вежби


Делење на колизиски домени
 Кај преклопниците (switch) секоја порта е посебен
колизиски домен
 Кај разводниците (hub) сите порти припаѓаат во ист
колизиски домен

45 КМ/ПКК - Аудиториски Вежби

You might also like