You are on page 1of 48

ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО

ИНЖИНЕРСТВО - ФИНКИ

КОМПЈУТЕРСКИ МРЕЖИ
(I КОЛОКВИУМ)
СКРИПТА ТЕОРИЈА
Проф. Игор Мишковски

1.1. Што е Интернет?


 Компјутерска мрежа што поврзува стотици милиони уреди во светот hosts/end systems,
на кои работат мрежни апликации.
 Host-овите меѓу себе се поврзани со комуникациски врски и линкови и packet switches.
 Различни врски пренесуваат податоци со различна брзина (transmission rate).
 Еден host кога праќа нешто на друг host ги сегментира податоците и додава header bytes
на секој сегмент (packet).
 Packet switch зема packet кој пристигнува на некој од комуникациските врски и го
проследува истиот на комуникациска врска – outgoing (- го насочува кај што треба).
Најпознати packet switches се router и link layer switch.

- Од што се состои?
 Интернетот е мрежа од меќусебно поврзани ISP.
 Сите host-ови, packet switch-ови и други делови на интернетот работат на база на
протоколи кои го контролираат примањето и испраќањето на податоци. Пример: TCP,
IP, HTTP, Skype, 802.11.
- TCP – Transmission Control Protocol
- IP – Internet Protocol -Специфицира формат на патеките.
 Интернет стандарди :
 RFC – Request for comments – дефинираат протокол во детали
 IETF стандарди – Internet engineering task force

-Услуги/Сервиси

 Интернетот е инфраструктура која обезбедува услуги/сервиси на апликациите


(работа на hosts)
 Нуди програмабилни интерфејси на апликациите (крајни точки кои овозможуваат
апликациите кои испраќаат и примаат да се “поврзат” на Интернет)
 API – Application programming interface - множество правила кои sending програмата
мора да ги следи.
 Специфицира како една програма што ја има на еден host ќе побата од интернет
инфраструктурата да ја пренесе податоци до дестинациската програма на друг host

-Протокол

 Протоколите ги дефинираат форматот, редоследот на примање и праќање пораки


помеѓу мрешните ентитети, и акциите кои се превџемаат при прием/праќање на
порака.
1
1.2. The Network edge – мрежен раб
-Hosts: clients – servers -Најчесто се во податочни
центри.

-Пристапоност/Access Мрежи – мрежа што


физички поврзува еден домаќин со ‘edge router’
(прв router): жичани, безжични комуникациски
линкови.

-Мрежно јадро/core: Меѓуповрзани


упатувачи/routers, Мрежа од мрежи.

- Пристапна мрежа: digital subscriber line (DSL)

 Се надоградува на веќе постоечка телефонска линија. Телефонските жици ја нудат


можноста истовремено да работат и интернетот и телефонот.
 Symmetrical DSL – ист пропусен опсег
 Asymmetrical DSL – различен пропусен опсег на downstream и upstream

 Користење на постојна телефонска линија до DSLAM во централата- Податоците преку DSL


тел. линија одат на Интернет. Гласот преку DSL тел. линија оди низ тел. Мрежа.

< 2.5 Mbps нагорна/upstream брзина (типично < 1 Mbps)

< 24 Mbps надолна/downstream брзина (типично < 10 Mbps)

2
-Пристапна мрежа: кабловска

 Поделба по фреквенции: frequency division multiplexing: Различни канали се пренесуваат


во различни фреквенциски опсези
 ISP е кабловска компанија
 Има еден разделник (splitter) во кој се спојуваат телевизорот и модемот, крајниот систем на
ниво на neighborhood е поврзан со оптика, а од таа точка до секој дом (500 – 5000 домови) се
користи коаксијален кабел.
 HFC – Hybrid fiber coaxial access – тука модемот се поврзува со PC преку Ethernet порта.

-FTTH – Fiber to the home – директно 1 оптичко влакно до секој дом.

-Компаниска пристапна мрежа (Ethernet)

 Се користи во компании, универзитети и слично.


 Корисниците се поврзани на Ethernet switch преку парица.

3
-Безжични пристапни мрежи
 Поврзува host со рутер (преку access point или базна станица)
Безжичен LAN Регионален безжичен пристам
 Во рамки на зграда
 Понуден од оператор
 Wi-Fi
 3G, 4G, LTE(Long term
 Брзина на пренос 450-1000 Mbps
evolution)

- Домаќин/Host: испраќа податочни пакети

-Физички медиуми

 Бит – за секој пар предаватели/приемник, битот е пратен, се движи, со


електромагнетни бранови, оптички пулс, сето тоа преку некој физички медиум.
 Физичките линкови (лежи помеѓу предавател и приемник) може да бидат:
А)Насочени (сигналите пропагираат низ цврсти медиуми, пр: парица, оптика,
коаксијален кабел)
Б)Ненасочени (сигналите слободно пропагираат, пр: радио)
 Уплетена парица (TP -twisted pair) – две изолирани бакарни жици вплетени во спирала
(EMI). Има категории (пр: категорија 5: 100 Mbps, 1 Gbps Ethernet, Категорија 6: 10Gbps)
 Коаксијален кабел – 2 концентрични бакарни проводници, двонасочен. Се користи за
кабелски ТВ, повеќе канали на еден кабел.
 Фибер оптички кабел – Стаклено влакно низ кое минуваат светлосни пулсови, секој
пулс е бит. Работи со големи брзини (Точка-точка пренос со голема брзина (пр. 10ици-
100ици Gbps). Има мала рата на грешка (имун на електромагнетен шум).
 Радио – пренос на сигнал низ електромагнетен спектар. Двонасочен но нема физичка
жица. Добри се од економски причини – нема жица, носи сигнал во далечина.
Негативно е што може да се појави попреченост поради објекти, рефлексија,
интерференција.

-Типови на радио линкови – бранови, врски:


 Земјени микробранови - до 45 Mbps  Регионални (пр: мобилни) - 4G : ~ 10 Mbps
 LAN (пр: Wi-Fi) – до 54 Mbps  Сателитски : геосинхрони и во ниска орбита

4
1.3. The Network Core – Мрежно јадро
-Мрежа од меѓусебно усповрзани рутери/упатувачи.

 Packet switching – домаќините ги делат пораките во сегменти, делови – пакети, Ваквите


пакети се праќаат од еден на друг рутер преку линкови кои се наоѓаат на патеката од
изворот до дестинацијата. Секој пакет се пренесува со полна брзина на линкот. L/R
Ваквиот начин коритсти:
 Store and forward transmission (запомни и прати) – да го прими цел пакет, па после да
почне со пренос на следниот линк.

= 2L/R
 Queuing delays and packet loss – ако ратата на пристигање (во битови) е поголема од
брзината на испраќање на линкот во даден временски период, пакетите ќе се редат
во редица на чекање и пакетите ќе бидат паднати (изгубени) ако се исполни
меморијата (баферот).

-Две клучни функции на мрежното јадро:

 Упатување/ рутирање/ routing – одпредување на патеката од изворот до одредиштето по


која ќе одат пакетите со помош на рутирачки табели и алгоритми.
 Препраќање/forwarding - преместување на пакетите од влезниот линк кон соодветен
излезен линк

 Circuit switching – Алтернативно јадро – Кај овие мрежи, ресурсите кои се потребни низ
целиот пат (рутер, линк, бафер...) за комуникација се резервирани за повик. Се воспоставува
end-to-end комуникација.
-Ресурсите се посветени што значи сигурни перформанси. Ако не се користат од повикот за
кој се резервирани тие се слободни.
-Се користи во традиционални телефонски мрежи:

5
 Packet switching наспроти Circuit switching

- Повеќе корисници - За апликација која пренесува


- Не е за real time services константно (пр: берза)
- За непредвидлив сообраќај - Real time services
- Добро е за податоци кои доаѓаат во
роеви / bursty data

- End systems се поврзуваат преку ISP (резиденцијални, компаниси, универзитетски)

6
1.4. Доцнење, загуба, пропусна моќ во packet switched networks
-Како се случува загуба и доцнење? - Пакетите се редат во редица за чекање во баферите
брзината на доаѓање на пакети на линкот (привремено) го надминува капацитетот на линкот.
Пакетите се редат, чекаат да дојдат на ред.

-Вкупното доцнење е збир од следните доцнења:


 Process Delay - обработка: времето потребно за справување со 1 пакет, да се прочита
заглавјето, да се одреди каде треба да оди, на кој link.
Проверка на bit level errors - <msec.
 Queueing Delay – чекање: време на чекање во редица кај излезниот линк, зависи каков е
застојот. Може да биде променливо
 Transmission Delay – трансмисионо доцнење:
L- должина на пакет
R - рата на пренос dtrans=L/R - да се пренесат сите битоби на пекотот на
линкот
 Propagation Delay – пропагациско доцнење: должина на физички медиум/линк и брзина
на светлината: 2*108 – 3*108 m/s.

7
 Доцнење во редица на чекање (повторно)

R: пропусен опсег на линк (bps) La/R ~ 0: мало средно доцнење

L: должина на пакет (bits) La/R → 1: големо средно доцнење

a: средна брзина на доаѓање на пакети La/R > 1: доаѓа повеќе “работа” од што може
да се опслужи, средното доцнење е
бесконечно!

Загубен пакет може да биде ре-емитуван (или не) од претходниот јазол.

 Throughput – пропусна моќ – брзина со која битовите се пренесуваат меѓу изворот и


дестинацијата.
-Инстантна -брзина во било кој момент
-средна – во подолг период
Се зема поспората брзина за средна крај-крај пропусна моќ. Пример:

 По-врска крај-крај пропусна моќ: min(Rc,


Rs, R/10)
Во пракса: Rc или Rs често е bottleneck.

8
1.5. Слоеви од протоколи, модели на услуги
- Мрежите се многу комплексни, со многу делови: Домаќини/hosts, Упатувачи/routers, Различни
линкови, Апликации, Протоколи, Хардвер, Софтвер.

-Слоеви: Секој слој имплементира некоја услуга/ сервис – преку неговите акции, потпирајќи се на
подолниот слој.

-Кога има експлицитно поделена структура, тоа дозволува да можеме да ја идентификуваме


поврзаноста меѓу нив, а со тоа и одржување и подобрување на системот. Пример ако смениме
нешто во еден слој, нема да штети тоа на друг бидејќи се индивидуални.

 Апстракција
 Модуларност
 Раздели и владеј

1. Апликациски-Поддржува и имплементира
мрежни апликации FTP (размена на фајлови), SMTP
(праќање емаил) , HTTP
2. Транспортен -податочен пренос од процес до
процес - TCP, UDP
3. Мрежен- рутирање на датаграми од извор до
одредиште - IP, рутирачки протоколи
4. Податочен- податочен пренос меѓу два соседни
мрежни елементи - Ethernet, 802.111 (WiFi), PPP
5. Физички- битови “на жица”

*ISO/OSI Референтен модел:

6. Презентациски - апликациите може да го


интерпретираат значењето на
податоците, пр. шифрирање, компресија,
кодирачки конвенции
7. Сесиски - синхронизација, точки за
проверка, враќање изгубени податоци

9
2.1 Принципи на мрежните апликации
 Цели:
-Коцептуални, аспекти на имплементација на протоколи за мрежна апликација.
 Апликацискиот слој ги користи услужните модели на транспортниот слој (TCP и
UDP)
 Клиент - сервер парадигма
 Peer – to – peer парадигма
 Мрежа за дистрибуција на содржина
-Учење на протоколите со анализа на популарни протоколи на апликацискиот слој
 HTTP
 FTP
 SMTP / POP3 / IAMP
 DNS
 Мрежни апликации :
 Електронска пошта (Gmail, Yahoo Mail)
 Веб
 Испраќање/примање на пораки (Email)
 Далечинско најавување (remote login пр: Telnet, SSH)
 P2P споделување на фајлови (Torrent, (за зголемен) File Download)
 Мрежни игри со повеќе корисници (Fortnite)
 Видео стриминг (Netflix, Hulu, Youtube)
 Voice over IP (Skype)
 Видео конференции во реално време (Zoom)
 Социјални мрежи
 Пребарување (Search engines)
 ...

- Креирање на мрежна апликација:

-Програми кои работат на различни


крајни системи и кои комуницираат преку мрежа.
На пример софтверот на Веб серверот
комуницира со софтверот на пребарувачот.

- Не треба да се пишува софтвер за


уредите од јадрото на мрежата (за рутерите).
Уредите од јадрото на мрежата не извршуваат
кориснички апликации. Овој дизајн допринесува
за брз развој и размножување на мрежните
апликации.

10
- Архитектура на апликациите - Можна структура на апликациите:

 Клиент – сервер
 Peer – to – peer (P2P)

-Клиент – сервер архитектура:

 Сервер мора да е секогаш


уклучен. Тој има постојана IP
адреса за да може клиентот да се
уклучи од било кој уред и било
која локација и содржи податочни
центри за скалирање.
 Клиентот комуницира со
серверот. Може да е повремено
поврзан, т.е да не е постојано
уклучен за разлика од серверот.
Може да има динамичка IP адреса
што значи дека клиентот може да
користи повеќе различни уреди на
различни места. И клиентите не
комуницираат помеѓу себе.

- P2P архитектура

 Нема “секогаш уклучен” сервер.


Случајни крајни системи директно
комуницираат.
 “peers” бараат услуга од други
“peers”, обезбедуваат услуга за
возврат на другите “peers”. Само
приспособливи се што значи дека
новите “peers” носат нов услужен
капацитет, како и нови побарувања за
услуги. ( Торент кога се симнува
дозволува движење низ различни
корисници преку seeders т.е
искористување на линкот од друг).
 Корисниците повремено се
поврзуваат и ја менуваат IP адресата.
– комплексно управување.

-Комуникација на процеси:
11
- Процеси : програма која работи кај домаќинот. Во рамките на еден домаќин, два процеси
комуницираат користејќи интер - процесна комуникација.

-Процесите кај различни домаќини комуницираат со размена на пораки.

-Клиентски процес претставува процес кој иницира комуникација. Поточно клиентот е тој кој
започнува со барање на услуга од серверот.

-Серверски процес претставува процес кој чека да биде контактиран. Ова значи дека
серверот постојано седи “уклучен” и чека наредба да добие.

 Апликациите со P2P архитектури имаат клиентски и серверски процес. Во исто време


претставуваат и клиент и сервер.

-Сокети:

- Процесите испраќаат и примаат пораки од/до нивните сокети.

-socket – аналоген на врата. – испраќачкиот процес ја турка пораката низа вратата и се


потпира на транспортната инфраструктура од другата страна на вратата за да достави порака до
сокетот на примачот.

-Адресирање на процеси:

-За да примаат пораки процесите мора да имаат идентификатор.

-Домаќините имаат единствена 32 – битна IP адреса ( а во поново време може да е и 128


битна поради зголемен број на корисници и продукти кои користат IP адреси.) И поради ова само IP
адреса не е доволна за идентификација на процесот бидејќи многу процеси може да се изврѓуваат
на истиот домаќин.

-Идентификаторот вклучува и IP адреса и бројот на портата кои го дефинираат процесот на


домаќинот.

- Протокол на апликацискиот слој ги дефинира:

12
 Типот на пораки кои се разменуваат (пр: барање, одговор)
 Синтакса на пораките (Кои полиња ги има пораката и како се разграничуваат полињата.)
 Семантика на пораките (Значењрто на информацијата во полињата.)
 Правила за тоа кога и како процесите праќаат и одговараат на пораки.

-Отворени протоколи: Дефинирани во RFC – a (Remote Function Call). Овозможуваат интеграбилност.


(пр: HTTP, SMTP) Значејќи дека на пример e-mail независно на која e-пошта си (Yahoo, Gmail) може
да се праќаат пораки меќусебно.

-Комерцијални протоколи: Апликациите како Skype користат комерцијални протоколи дозволувајќи


комуникација само меѓу корисниците кои имаат Skype. Тоа значи дека ако имаш Skype, неможе
корисник кој користи Viber или друга апликација да ти праќа пораки на тебе.

-Транспортни услуги на апликацијата:

 Интегритет на податоците ( Сигурен ): Некои апликации (пр: трансфер на фајлови, Веб


трансакции) бараат 100% надежен пренос на податоци. За разлика од нив други апликации
како што се аудио апликациите може да толерираат одредена загуба. (При снимање да
изгубиме некоја секунда од Voice Recording)
 Тајминг : Некои апликации (пр: Интернет телефонијата, интерактивни игри) бараат мало
доцнење за да бидат “ефективни”.
 Пропусна моќ : Некои апликации (пр: мултимедија) бараат минимална пропусна моќ за да
бидат “ефективни”. Други апликации “еластични апликации” ја искористуваат пропусната
моќ што ја добиваат каква и да е.
 Безбедност : Шифрирање, интегритет на податоците...

-Барање за транспортни услуги:

-Транспортни услуги на протоколи на Интернет:

13
 TCP услуга:
 Надежен транспорт : помеѓу процесите кои испраќаат и примаат.
 Контрола на проток : испраќачот нема да го “затрупа” примачот.
 Контрола на застој (congestion) : испраќачот “забавува” кога мрежата е
преоптоварена.
 Не овозможува : тајминг, гаранција за минимална пропусна моќ.
 Конекциски – ориентиран : потребно е поставување конекција помеѓу процесите.
 UDP услуга:
 Ненадежен пренос на податоци : помеѓу процесите кои испраќаат и примаат.
 Не овозможува : надежност, контрола на проток, контрола на застој, тајминг,
гаранција на пропсна моќ, безбедност, ниту поставување на конекција.

-Интернет апл. : апликациски, транспортни протоколи:

-Безбедност на TCP :

 TCP & UDP -нема шифрирање. Лозинките поминуваат низ Интернет како чист (јасен) текст.
 SSL – овозможува шифрирана TCP конекција и интегритет на податоци. Автентикација на
крајните точки.
 SSL (Secure Sockets Layer) е на апликациски слој – апл. користат SSL библиотеки, кои
“зборуваат” со TCP.
 SSL сокет API – лозинките поминуваат низ Интернет шифрирани

14
2.2 .Web и HTTP
-Веб страната се состои од објекти ( HTML фајл, JPEG слика, Java applet, аудио фајл ). Се состои од
основен HTML-фајл кој вклучува неколку референцирани објекти.

-До секој објект може да се пристапи преку URL-

-HTTP : hypertext transfer protocol – е протокол од апликацискиот слој кој се користи од Веб.

-Користи клиент/сервер модел:

 Клиент: прелистувач што бара, прима


(користејќи HTTP протокол) и
„прикажува“ веб-објекти
 Сервер: Веб серверот испраќа
(користејќи HTTP протокол) објекти
како одговор на барањето

-Користи TCP:
 Клиентот иницира TCP конекција ( креира сокет ) до серверот, порта 80.
 Серверот прифаќа TCP конекција од клиентот.
 HTTP пораки (пораки од протокол на апликациски слој) се разменуваат помеѓу
прелистувачот (HTTP клиентот) и Веб серверот (HTTP серверот).
 TCP конекцијата се затвора.

-HTTP e “stateless” – серверот не чува информации за претходни барања на клиентот.

-HTTP конекции:

 Непостојан HTTP: најмногу еден објект се праќа преку ТСР конекција и конекцијата
потоа се затвора. Симнувањето на повеќе објекти бара повеќе конекции. (На една
конекција може да се побара барање само за еден објект и откако ќе се добие
повратен одговор – поточно објектот, се затвара конекцијата. Потоа мора пак и пак
се додека не се добие целата веб страна која се состои од многу објекти.)
 Постојан HTTP : повеќе објекти може да се пратат преку една ТСР конекција помеѓу
клиентот и серверот.(Со само едно приклучување кон серверот се праќаат сите
објекти кои ги содржи веб страната и тек кога ќе заврши целиот пренос се затвара
конекцијата.)

15
-Непостојан HTTP : време на одговор :

 RTT: време потребно еден мал пакет да се пренесе од клиентот до серверот и


назад.
 HTTP време на одговор: едно RTT за да се иницира ТСР конекција. Потоа уште едно RTT за
HTTP барање и првите неколку бајти од HTTP одговорот и времето на пренесување на
фајлот.
 Време на одговор кај непостојан HTTP = 2 RTT + време за пренесување на фајлот

 Проблеми : бара 2 RTTа по објект. Оптоварување на ОС за секоја ТСР конекција.


Прелистувачите обично отвораат паралелни ТСР конекции за референцираните објекти.

-Постојан HTTP : време на одговор :

 Серверот ја остава конекцијата отворена по испраќањето на одговорот.


 Последователни HTTP пораки помеѓу клиентот/серверот се праќаат преку отворената
конекција.
 Клиентите праќаат барања штом најдат референциран објект – еден RTT за сите
референцирани објекти.
 Време на одговор кај постојан HTTP = RTT + време за пренесување на фајлот

- HTTP request порака: Постојат два типа : request (ASCII – формат што може да се чита), response

-Uploading form input :

 POST метод: Веб страната вообичаено содржи форма за внес. Внесот се прикачува на
серверот во телото на пораката.
 URL метод: Го користи GET методот. Влезот се додава во URL полето од request линијата:
Пр. www.somesite.com/animalsearch?monkeys&banana

16
-Типови на методи:
 HTTP/1.0
 HTTP/1.1: GET, POST, HEAD, PUT (се прикачува фајл од телото на пораката на локација дадена
во URL полето), DELETE (го брише фајлот даден во URL полето).

- HTTP response порака:

- HTTP response статус кодови: кодот за статус се појавува на првата линија од сервер – клиент
response пораката.

 200 ОК – барањето е успешно, бараниот објект е во пораката


 301 Moved Permanently – бараниот објект е преместен, новата локација е специфицирана
подолу во пораката (Location:)
 400 Bad Request – барањето не е разбрано од серверот
 404 Not Found – бараниот документ не е пронајден на серверот
 505 HTTP Version Not Supported – кога работиме со постара HTTP, со HTTP/1.0

- Корисник-сервер состојба: колачиња – многу Веб страни користат колачиња (cookies).

- Четири компоненти:

1) Заглавје на колаче на HTTP response порака


2) Заглавје на колаче на HTTP request порака
3) Колаче фајл кој се чува кај корисникот, управуван од прелистувачот
4) База на податоци на страна на Веб сајтот

-Пример: Сузана секогаш пристапува на Интернет преку нејзиниот компјутер. Посетува


одредена страна за е-комерција за прв пат. кога иницијалните HTTP барања ќе пристигнат,
се креира: единствено ID и запис во базата на податоци за тоа ID.

17
-За што може да се користат колачињата:
 Авторизација
 Кошничка за купување
 Препораки
 Состојба на сесијата на корисникот (Веб е-пошта)

-Како се чува “состојбата”:

 Крајните точки на протоколот : чуаат состојба кај испраќач/примач во текот на повеќе


трансакции.
 Колачињата : http пораки ја пренесуваат состојбата.

-Колачињата и приватност:

 Колачињата им овозможуваат на страните да научат многу за нас.


 Може да внесете име и адреса на е-пошта.

- Веб кеш (“proxy” сервер)

– Целта е да се задоволат барањата


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

-Корисникот го подесува
прелистувачот: пристап во Веб преку кеш.
Прелистувачот ги праќа сите HTTP барања до
кешот. Доколку објектот е во кеш, се праќа
објектот, инаку, кешот го бара објектот од
изворниот сервер и потоа го праќа до
клиентот.

-Кешот претставува и клиент и сервер ( сервер за иницијалниот клиент и клиент на изворниот


сервер). Вообичаено кешот се инсталира од страна на Веб сервис провајдерот -ИСП (ИСП за
универзитетот, компанијата, домаќинството)

-Се користи бидејќи се намалува времето на одговор на барањето на клиентот. Се намалува и


сообраќајот на пристапниот линк на инситуцијата и им овозможува на “лошите” провајдери на
содржина ефикасно да испорачуваат содржина (исто како и P2P споделување на содржина).

-Условен GET – целта му е да нее праќа доколку web cache има зачувано ажурирана зачувана
верзија. Нема трансмисиско доцнење за објектот и има помала искористеност на линкот.

18
2.3. Електронска пошта – SMTP, POP3, IMAP
- Има три главни компоненти:

 Кориснички агент – или “читач на пошта”. Им дозволува на корисниците да читаат,


пишуваат, проследуваат пораки. Појдовни, дојдовни пораки зачувани на серверот (Outlook,
Thunderbird, Gmail…)
 Email server – Сандаче (mailbox) со дојдовни пораки, редица на пораки (message queue) што
треба да се пратат, SMTP протокол помеѓу е-пошта и серверите. Праќа-клиент, прима-
сервер.
 SMTP [RFC 2821] - порта 25 – користи ТСР за надежен пренос на е-маил. Директен пренос
сервер кој испраќа до сервер кој прима. Постојат три фази на пренос: ракување, пренос на
пораки и затворање. Пораките се во 7 битен ASCII код. Има команда/одговор интеракција.
-SMTP користи постојана конекција и CRLF.CRLF за да означи крај на пораката.

-Во споредба со НТТР протоколот:

•HTTP: pull протокол •SMTP: push протокол


(влечење) (туркање)
•двата имаат ASCII
команда/одговор
•HTTP: секој објект интеракција, статус кодови •SMTP: повеќе предмети
спакуван во сопствена се испраќаат во
response порака повеќекратна порака

-Форма на порака од е-пошта:

19
-Протокол за пристап до пошта:

 SMTP: испорака/складита до северот на примачот


 За пристап до пошта - вчитување од сервер:
 РОР: Post office protocol - преземање
 IMAP: Internet Mail Access Protocol - манипулација со зачуваните пораки на серверот и др.
 HTTP: Gmail, Hotmail, Yahoo! Mail, итн.

-POP3 – Постојат две фази:

1. Фаза на автентикација каде што клиентот дава команди user(декларација на корисничко


име) и pass(лозинка), а серверот одговара со +OK, -ERR.
2. Фаза на трансакција каде што клиентот дава команди list(листа на броеви на пораки),
retr(вчитување на порака по број), dele(бришење), quit.
-Една порака неможе да се чита пак ако го промениме уредот. Овој протокол не чува состојба за
различни сесии.
-IMAP – ги чува сите пораки на едно место на серверот. Му овозможува на корисникот да ги
организира пораките по фолдери. Истиот чува состојба за различни сесии (имиња на
фолдери и мапирање помеѓу ID на порака и име на фолдер).

2.4. DNS: domain name system


- Дистрибуирани бази имплементирани во хиерархија од многу именски/name сервери.

- Превод на доменски имиња во IP.(Доколку не постои DNS системот треба да пратиме IP адреси на
секоја страна, па така овој систем работи во стил на телефонски именик, пребрауваме името на
страната а тој ни ја дава IP адресата нејзина)

- Протокол на апликациско ниво – домаќини и name серверите комуницираат да го добијат името.

-Зошто да не се централизира DNS?

 Единствена точка на пад


 Волумен на сообраќај
 Оддалечена централизирана база на пдоатоци
 Одржување

20
-Процесот на пронаоѓање на име започнува со клиентот кога внесува збор од страната која сака да
ја отвори. Нашиот компјутер проверува дали ја има во кеш и потоа праќа на Resolver кој ја препраќа
на Root Server. Root Server нема информации за како се вика таа IP адреса но знае каде да го
препрати-Во TLD серверот кој ги содржи најголемите домени како што се .com,.org и сл. Кога
открива кој домен е го препраќа за последен пат во Name серверот од каде и го добива одговорот.

- “Root name” сервер:

 Контактирани од локалните “name” сервери


кои неможат да го разрешат одреденото име.
 Го контактира авторитативниот сервер доколку
мапирањето не е познато. Го добива
мапирањето и истото го препраќа до локалниот
сервер.
 Во светото постојат 13 логички “root name”
сервери.

- TLD (top-level domain)– авторитативни сервери:

 Одговорни се за .com, .net, .edu и др., и сите


top-level домени на држави пр: .uk, . fr и др.
 Network Solutions чува сервери за .com TLD
 Educause за .edu TLD

- Авторитативни DNS сервери:

 Сопствен DNS сервер на организацијата,


обезбедува мапирање на име на домаќинот со
IP адреса за домаќин од организацијата
 Може да се одржува од организација или од
сервис провајдер.

-Локален DNS сервер:

 Не припаѓа стриктно на хиерархијата. Секој


Интернет сервир провајдер – ИСП има еден -
“default name server”
 Кога домаќинот врши DNS барање, барањето се
бара преку локалниот DNS сервер. Има локална
меморија за неодамнешни парови за превод од
име до адреса(но може да не се ажурирани!) и
тој делува како посредник т.е го проследува
барањето во хиерархијата.

21
- DNS: Кеширање и ажурирање на записи:

 Еднаш кога еден name сервер ќе научи мапирање, го кешира мапирањето. Доколку некогаш
сме пребарале IP адреса за некоја страна ни ја чува и кога праќа DNS порака најпрвин
проверува во кеш дали ја има па потоа ако ја нема продолжува со проследување на
барањето до хиерархијата.
 Записите во кешто се бришат по одредено време. TLD серверите најчесто се кеширани на
локалните сервери што значи дека root серверите не се посетуваат често.
 Кеш записите можат да се застарени.

- DNS записи – Дистрибуирана база на податоци за записи за ресурси (resource records – RR)

RR format: (name, value, type, ttl)

Record
Опис Name Value
Type

А работи со IPv4 а АААА со Ipv6


A и АААА Име на домаќин IP aдреса
Address Record

Име на домаќин на
Name Server. Покажува каде тој
NS Домен (пр: foo.com) авторативен name
домаќин е регистриран
сервер на тој домен
Алиас име за некое
Мапирање на hostname во друг канонично(вистинско) име (пр
CNAME Канонично име
hostname www.ibm.com е вистински
servereast.backup2.ibm.com)
Име на е-пошта сервер
MX За праќање на маил /
поврзан со name

-DNS протокол, пораки - query и reply пораки, со ист формат на порака

-Напад на DNS:

 DDoS напади: се се бомбардираат root серверитесо сообраќај. Често неуспешно бидејќи


локалните DNS сервери ги кешираат IP адресите на TLD.
 Напади со пренасочување: man-in-middle – пресретнување на барања. DNS труење – се
праќаат лажни одговори до DNS серверот кој ги кешира.
 Искористување на DNS за DDoS: се праќаат барања со лажна изворна адреса. Бара
засилување.

22
2.5. P2P апликации
- Нема секогаш вклучен сервер. Произволни крајни системи директно комуницираат и peers
наизменично се поврзуваат и менуваат IP адреси.

-Пример за ова се:

 Дистрибуција на фајлови како што е BitTorrent – Фајлот се дели на помали делчиња и притоа
peers во torrent испраќаат или примаат делови од фајлот. се регистрира со tracker(tracker:
ги следи peers кои учествуваат во torrent) за да добие листа на peers, се поврзува со
подмножество на peers (“соседи”). Секој клиент е во вид и сервер со тоа што едни на други
peers си ги поставуваат деловите. Кога еден peer го има целиот торент може да остане и да
помага други да го имаат или да го напушти.
 Стриминиг – КанКан
 VoIP-Skype.

2.6. Видео стриминг и мрежи за дистрибуција на содржина


- Видео сообраќајот е најголемиот потрошувач на пропусна моќ на Интернетот. За да се постигне со
големата потрошувачка и клиентела поточно преку билион корисници применета е дистрибуирана
инфраструктура на апликациско ниво.

 Мрежи за дистрибуција на содржина : CDN: чува копија на содржината кај CDN јазли (пр.
Netflix чува копии од MadMen). Претплатникот бара содржина од CDN. насочено кон
најблиската копија, се презема содржината. Може да избере друга копија доколку мрежата
е загушена

- Видео преставува низа од слики прикажани во константна рата.

-Дигитална слика е низа од пиксели кадешто секој пиксел е преставен со битови.

- Кодирање: Користење на редундантност во и помеѓу сликите за да се намали бројот на битови за


кодирање на сликата – може да е:

 Просторно - наместо да се пратат N вредности од иста боја (сите виолетови), прати само
две вредности: вредност на боја (виолетова) и број на повторувања (N)
 Временско - наместо да се испрати целосна рамка во i + 1, испрати само разлики од
рамката i

- CBR: (constant bit rate): фиксна рата на енкодирање на видео.

- VBR: (variable bit rate): ратата на енкодирање се менува со количината на просторни и временски
промени во кодирањето.

23
3.1. Услуги на транспоретен слој
 Обезбедува логичка комуникација помеѓу
процесите кои работат на различни хостови.
(network layer – логичка комуникација помеѓу
хостови).
 Транспортните протоколи работат на хостовите,
на уредите од мрешно јадро (рутерите). Не им
требаат транспортни протоколи.

 Испраќач: ги дели пораките до апликацискиот


слој во сегменти и ги праќа до мрежниот слој.
 Примач: ги составува сегментите во пораки и ги
праќа до апликацискиот слој.

 Постојат повеќе транспортни протоколи:


 Интернет: TCP и UDP

 Интернет протоколи на транспортниот слој

 TCP – (segment) – надежна достава по редослед:


- Контрола на проток
- Контрола на застој (congestion)
- воспоставување на врска
 UDP – (datagram) – ненадежна достава, вон редослед:
- Неконекциски
- Без многу додатни функционалности на “best effort” IP
 Услуги кои не се нудат:
- Загарантирано доцнење
- Загарантиран пропусен опсег

 Услугите кои транспортниот слој ќе ги нуди често ограничени од слојот под него (мрежниот
слој). Ако мрежниот слој не може да гарантира пропусен опсег за сегментите на
транспортниот, тогаш ни транспортниот не може да го гарантира истото за апликациските
пораки кои се праќаат меѓу процесите.
 Кога се креира мрежна апп, мора да се специфицира еден од двата протоколи.
 Протоколот на мрежно ниво т.е. IP обезбедува логичка комуникација помеѓу хостови и има
модел best effort delivery service. Тоа значи дека прави напор да доставува сегменти помеѓу
хостовите, но не гарантира. -НЕДОВЕРЛИВ!
 Контролата на проток и застој значи регулирање со каква брзина ќе се праќа, за разлика кај
UDP, тоа е слободно.

24
 Ова се користи со цел да се даде на секој линк исто право на пропусниот опсег во одредено
време. – Не се нуди загарантирано доцнење и загарантиран bandwidth.

3.2. Мултиплексирање / демултиплексирање

 Мултиплексирање кај испраќачот: Праќа сегменти до мрежниот слој (податоците-


сегментите) што ги добива пак од апликацискиот слој. Ги добива преку сокети, и истите ги
енкапсулира додавајќи заглавја.
 Демултиплексирање кај примачот: Заглавјето што го читаме од сегментите ќе ни каже на кој
сокет треба да се проследат истите.

25
 Хостот добива IP датаграми:
 Секој датаграм има изворна IP адреса, дестинациска IP
адреса
 Секој датаграм содржи еден сегмент од транспортен слој
 Секој сегмент има изворен и дестинациски број на порта
 Хостовите ја користат IP адресата и бројот на порта за да го
постават сегментот до точниот сокет.

- HTTP е на порта 80, додека пак FTP е на порта 21.

- Секоја пратка е 16 битна. 0 – 65535, додека броевите на


порти од 0 до +-23 се well known port numbers. (види број на
порта -> препрати до соодветен сокет)

Постојат два вида на демултиплексирање:

a) Безконекциско демултиплексирање – UDP сокетот се идентификува со два


индентификатори.
- Дестинациска IP адреса
- Дестинациска порта, и ако стигне нешто од 2 различни извори до истата адреса и истиот IP,
тие ќе се пратат во еден сокет до истиот дестинациски процес.
- Еден сокет за било колку конекции (еден покажувач)
 Пример за безконекциско демултиплексирање

26
b) Конекциско демултиплексирање – TCP сокет се идентификува со четири дела:
- Изворна IP адреса
- Дестинациска IP адреса
- Изворна порта
- Дестинациска порта
- Примачот ги користи сите четири за да проследи сокетот до соодветниот сегмент.

 Серверот истовремено може да подржи повеќе ТСР сегменти, секој ќе го идентификува


посебно со четири делови.
 Web servers имаат различни сокети за секој клиент.
 Непостојан HTTP има сокет за секое барање/одговор.
 Пример за конекциско демултиплексирање

3.3. Безконециски пренос: UDP


- “no- frills” – bare bones Интернет транспортен протокол.

- “best effort” услуга, што значи дека UDP сегментите може да се изгубат, или да се пренесат во
погрешен редослед.

- Безконекциски UDP – нема воспоставување на конекција помеѓу праќачот и примачот и притоа


секој сегмент е независен од другите. Нема “handshaking” пред праќањето.
UDP се користи за апликации за пренос на мултимедија кои се впрочем толерантни на загуба или
осетливи на брзина. Пример за вакво користење е пренос на некој спортски настан на пример. Се
користи исто така и за DNS, SNMP.
27
- За да обезбеди нешто помеѓу апликацискиот слој и мрежниот, би требало барем да се обезбеди
mux/demux услуга за да може да се праќаат податоците меѓу мрежниот и соодветниот процес на
апликацискиот слој.

- UDP не нуди некои посебни функционалсности повеќе од IP.

- Брз (не се чека за коенкција и притоа има мало доцнење)

- Мало заглавје

- Нема congestion control (со која брзина сакаме со таа работи – no speed limits)

- Едноставен (нема состојба на врска кај примачот и испраќачот)

 UPD Checksum – да се детектира грешка во пренесениот сегмент.


 Испраќач: го третира сегментот (содржина + заглавје) како низа од 16 битни цели броеви.
Му прави checksum: го собира (прв комплемент) збирот на содржината на сегментот .
Испраќачот ја става checksum вредноста во UDP полето checksum
 Примачот: пресметува checksum на примениот сегмент. Проверува дали соодветствува со
вредноста на полето checksum: доколку НЕ – има детекција на грешка, а ДА – нема грешка.

- Пример за Internet Checksum: собери два 16-битни цели броеви (integers)

28
- Ако знаеме дека овој вид на проверка се прави во податоччниот слој (Етернет), сепак за да ги
заштитиме подолжните слоеви и обезбедиме услуга, тоа да го правиме погори значи дека error
checking мора да биде на end to end basis.

“Ако функционалностите ги ставиме на пониско ниво, може да бидат редундантни бидејќи


повисоките слоеви го прават тоа, или може да имаат помала вредност (не можат да проверат над
нив, само под нив)” – Saltzer 1984.

3.4. Принцип на надежен пренос


- Принцип на надежен податочен пренос (rdt) : Важен
концепт кај транспоттниот и податочниот слој.
Надежноста е една од нјаважните теми во мрежи.

- RDT – reliable data transfer protocol – користење на finite


state machines (FSM)/ конечни автомати.

29
- rdt1.0: надежен пренос преку надежен канал

- Каналот за комуникација е надежен што значи дека нема бит грешки и нема губење на пакети.

- Посебни FSMs за испраќачот, примачот: испраќачот испраќа податоци по надежен канал, а


пак примачот прима податоци по надежен канал.

30
- rdt2.0: канал со бит грешка

- Каналот може да ги промени битовите во пакетот т.ш. се користи checksum за детекција на


грешки.
- Како да се справиме доколку пронајде грешки:

 Потврди – acknowledgements(ASKs): примачот експлицитно му кажува на испраќачот


дека пакетот е примен без грешка.
 Негативни потврди – negative acknowledgments (NAKs): примачот експлицитно му
кажува на испраќачот дека настанача грешка во пакетот. При оваа ситуација
испраќачот го препраќа пакетот.

- Нов механизам во rdt2.0 – Детекција на грешка и повратна иформацијат.е контролни


пораки (ACK,NAK) од примачот кон испраќачот.

-Сценарио без грешки:

-Сценарио со грешки:

31
- Неповолности на rdt2.0: Доколку се оштети ACK/NAK испраќачот нема да знае што се случило со
примачот. Не може само да препрати бидејќи тука постои можност за дупликати.

- Справување со дупликати: Испраќачот го препраќа пакетот ако е оштетен/ corrupted ACK/NAK.


Испраќачот додава секвентен број на секој пакет, т.ш. примачот го отфрла дупликатот поточно не го
пренесува нагоре.

- Stop and wait: Испраќачот праќа еден пакет, потоа чека одговор од примачоѕ.

- rdt2.1: испраќач, оштетени ACK/NAKs

- rdt2.1: примач, оштетени ACK/NAKs

32
 Испраќачот: Додава секвенцен број на пакетот. Два секвентни броја се сосема доволни за
да се увиди грешка во пакетите. Доколку се повторува број тоа значи дека пратен е
дупликат. Мора да провери дали примениот ACK/NAK е оштетен.
 Примачот: Мора да провери дали примениот пакет е дупликат. Состојбата покажува дали 0
или 1 е очекуваниот секвенцен број. Примачот не може да знае дали неговиот последен
ACK/NAK успешно ги примил испраќачот.

- rdt2.2: протокол без NAK

- Има иста функционалност


како и rdt2.1, користи АСКѕ.
Наместо NAK, примачот испраќа
АСК за последниот успешно
примен пакет. Примачот мора
експлицитно да го вклучи
секвенцниот број.

- Доколку кај испраќачот


стигнат двојни АСК, значењето е
исто како и примање на NAK во
rdt2.1 поточно повторно
испраќање на тековниот пакет.

- Фрагменти кај испраќач и примач:

- rdt3.0: канали со грешки и губење


на пакети
33
- Пакетите (податочни и АСКѕ) можат да се изгубат низ каналот и користење на секвенцен
број, детекција на грешки и АСКѕ не е доволно, па затоа се креира нов пристап со 3.0 каде што
испраќачот чека некое “разумно” време за АСК.

- Доколку за даденото време не добие АСК,


го препраќа пакетот. Во случај АСК да не е загубен туку само да доцни, и притоа истекло времето и
се препрати пакетот, тој ќе биде дупликат но независно бидејќи секвентните броеви го решаваат
тоа.

- Примачот мора да го
наведе секвенцниот број на пакетот за којшто праќа АСК.

- Потребен е бројач којшто брои наодолу / одбројува и ни претставува изминатото време.

 Проточни протоколи
34
- *: Испраќачот овозможува последователни, “in-flight” не потврдени пакети. Ова значи
дека опсегот на секвенцните броеви мора ад се зголеми. Баферирање кај праќачот или кај
примачот.

- Има две генерички форми на проточни протоколи : go – Back – N, selective repeat.

 Go-Back-N: примач – АСК-only: секогаш испраќа АСК за успешно примен пакет со најголем
редоследен секвенцен број. Може да се генерираат дупликати АСКи. Треба да го памти
само секв. бр. на следниот редоследен пакет. Доколку има пакет кој не е во редослед се
отфра ( не се баферира, не постои баферирање кај примачот ). Примачот повторно го
потврдува пакетот со најголем редоследен секв.бр.

 Selective repeat:
35
- Примачот индивидуално ги потврдува сите успешно примени пакети со тоа што ги
баферира пакетите по потреба, за евентуално да ги препрати по редослед до соодветниот
протокол од апликацискиот слој.
- Испраќачот ги препраќа само пакетите за кои не добил АСК. Стартува тајмер за секој
непотврден пакет.
- Испраќачки прозорец се N последователни секвенцни броеви. Непотврдените пакети ги
ограничува секв.бр. на пратените пакети.

36
Selective repeat: дилема

Прмер:
 секв.бр.: 0, 1, 2, 3
 Големина на прозорец=3
 Примачот не ги разликува
двете сценарија!
 Податоците кои се дупликат се
примаат како нови во сценариото
под (b)

П: која е врската помеѓу опсегот на


секвентни броеви и големината на
прозорецот за да се избегне
проблемот во (b)?

37
3.5. Конекциски пренос на податови ТСР – структура на сегмент

- Секвентни броеви кај АСК кај ТСР:


 Секвентни броеви: број на првиот бајт од
сегментот од податочниот проток (во бајти)
 Потврди: Секвентниот број на следниот
очекуван бајт на другата страна –
кумулативен АСК.

** Прашање: Како испраќачот се справува со сегменти кои


се вон редослед?

- Не е специфицирано во ТСР – зависи од


имплементацијата.

- TCP време на обиколка (RTT) и time-out

- Прашање е како да постоави вредноста на ТСР time-


out?
-

38
- Телнет служи за
далечинско управување на
командна линија се
испраќаат команди, бајт по
бајт мора да се точно
пратени команди.
- Фајл бришење мора
да е точно за да се
избрише точниот фајл.
Опис на сликата
- Или до сега сме
испратиле 41 или рандом
е генериран, адресата на
бајтот. С е информациите кои го праќаме. Следната адреса ќе биде 43... Итн. АСК потврдува
дека претходниот е примен и следниот кој чекаме да се прати е 80. Серверот исто така си
генерира негов секвенсен број. АСК го чека 43 во овој случај т.е наредната информација што ја
чека. АСК е наредниот бајт кој што треба да го очекува серверот и тоа е тоа што серверот му го
праќа на клиентот поточно што серверот му праќа како секвенцен број. 43 за претходното
примено. И С се покажува на екран и повторно праќа дека е примено бидејќи така
функционира ТСР мора да се потврди се што е пратено.

- TCP време на обиколка (RTT) и time-out

Праќаме сегменти. Притоа активираме тајмер за секој сегмент одделно. Мора да се запази за
апликации кои се временски сенситивни. Ако го ставиме премало голема е веројатноста дека
ќе се препраќаат премногу податоци.
Времето за RTT е време кое го мериме така што праќаме еден сегмент до серверот со тоа што
го

39
пуштаме тајмерот и гледаме колку му треба време да стигне до серверот. За ова е битно и
колку се оптоварени рутерите.

- После секој успешно пример пакет да измериме колку е RTT време.


- Средната вредност ја пегламе со тоа што гледаме од минатото какви времиња сме добивале и
притоа со формулата решаваме како проценка. ТСР се прилагодува на мрежата за ако има и
редица.

- Конекциски пренос на податови ТСР – надежен пренос на податоци

- rdt кај TCP: ТСР креира rdt услуга над ненадежниот IP протокол. Ова го прави со тоа што
користи проточни сегменти, кумулативни тајмери и поединечен тајмер за препраќање.

- Препраќањето е иницирано од time-out или дупликат потврди.

- Како знаеме дека пакетот е изгубне? – Time-out – само тој сегмент да го препрати.

- ТСР настани кај праќачот: Кога прима податоци од апликациски слој тој креира сегмент со
секв.бр. Секв.бр еброј на првиот податочен бајт во сегментот од протокот на бајти. Се стартува
тајмер, доколку моментално нема активен тајмер. Тајмерот е за најстариот непотврден
сегмент со интервал на истекување TimeOutInterval. Кога ќе истече time-out го препраќа
сегментот кој предизвикал time-out и го рестартира тајмерот.
Прима АСК и доколку АСК потврдува некој претходно непотврден сегмент ажурира што е
потврдено и стартува тајмер ако се уште има непотврдени сегменти.

40
- Праќање кај ТСР пример со изгубен АСК и предвремен time out

АСК = 92+8 = 100.

-Истекол тајмерот а Хост А нема добиено АСК за пакетот што


го пратил. Го препраќа пакетот. Во оваа ситуација АСК се
изгубил, па имајќи time-out го крати изгубеното време и
препраќа се штое потребно Хост А.

- Поради предвремен time-out, т.е кратко време


поставено на часовникот Хостот А не добива
навреме АСК, па го препраќа истиот пакет со
што креира дупликат.

- Истото сценарио како претходно но 100ката


се губи овој пат. Но бидејќи добива АСК за 120, добива
информација дека се пред тоа е пристигнато бидејќи користи
кулуативен АСК и она што го бара е 120 и се што следува после
тој секвенцен број.

41
- Креирање на ACK кај TCP [RFC 1122, RFC 2581]

- TCP fast retransmit (брзо препраќање)

Времето за time-out е релативно долго со што добиваме и големо доцнење пред да се


препрати изгубениот пакет.
Изгубените сегменти може да се детектираат преку дупликат АСК бидејќи ако се изгубил
сегментот, најверојатно за него испраќачот примил дупликат АСК.
Доколку испраќачот примил 3 АСК за истиот сегмент (дупликати) го препраќа непотврдениот
сегмент кој има најмал секвенцен број, притоа нема да чека time-out.

- За сликата: Постојано го бара 100 што треба да е


нареден пакет, но тој бил изгубен. А бидејќи time-out е
доста долг само продолжува да го бара наредниот.
Немораме да го чекаме time-out бидејќи е долг. Па
треба да го препратиме бидејќи додека да го
препратиме он ќе бара АСК.

42
- Конекциски пренос на податови ТСР – контрола на проток

- TCP контрола на проток – примачот го контролира испраќачот, за да не се преполни баферот


кај примачот кога имаме случај на брз испраќач.

- Нема задоцнувања, нема губење


на пакети идеална е мрежата, но
приемникот е тука проблематичен.
Па брзината на баферот кој ги чита
податоците е помала од таа со која
што ние ги испраќаме податоците.
ТСР ќе ги става во бафер но може
да се се прелијат, па приемникот
мора да има наччин како да каже
стоп за да не се праќаат повеќе
податоци. Receive window е
големина на баферот, и со ова му
најавува колку простор има
слободен во комуникацијата на
сервер - примач. 4КВ ОС го прави
најчесто да е голем прозорецот.
Кога комуницираат серверот и
примачот кажуваат колку баферот
може да прими, т.е колкав
слободен простор има во
моментот.

- Конекциски пренос на податови ТСР – управување со конекција

Пред да се разменат податоци, испраќачот и примачот се “ракуваат” – притоа договараат да се


креира конекција и се договараат за параметрите на таа конекција.

43
- TCP 3-way handshake (ракување)
Open:

Најпрвин состојбата е closed кај клиентот а серверот има состојба listen.


Треба да се воспостави конекција. ТСР е на ниво на ОС. И тој ќе ја повика конекцијата.
Корисникот генерира секв.бр х – нулта адреса. Откако ќе воспостави конекција. Серверот ја
прифаќа конекцијата и одговара со: Ми го даде х како број но јас морам да ти го потврдам.
Серверот потврдува на тој начин што го зголемува х за 1 и со тоа знаеме дека серверот
прифаќа. Серверот исто така си генерира свој секв.бр. Пакет испаќа серверот и повторно
мораме и ние да му го потврдиме на серверот одговорот. Ова претставува three way
handshake.

Closed:

44
3.6 Принципи на контрола на застој

- застој: неформално: “многу испраќачи многу брзо испраќаат многу податоци, со кои
мрежата не може да се справи”
- многу различно од контрола на проток!
- резултат: изгубени пакети (се преполнуваат баферите кај рутерите), големи доцнења (пакетите
долго време се во редицата во баферите на рутерите)
- спаѓа во топ 10 мрежни проблеми!

- Причини/цена за застој:

 Два испраќачи, два примачи


 Еден рутер, бесконечен
бафер
 Капацитет на излезен линк R
 Нема препраќања

- Баферите кај рутерите се конечни, може да паднат пакети


- Препраќање на пакети по time-out (може да се појават две копии од истиот пакет) –
предвремен time-out – се намалуваат перформансите

45
3.7 TCP контрола на застој

- Зголемување со додавање, намалување со делење (AIMD)

- пристап: испраќачот ја зголемува ратата на пренос (window size), со што ја испитува корисната
пропусна моќ, додека не се случи загуба
- Зголемување со додавање/additive: зголеми го cwnd за 1 MSS при секој RTT доколку
нема загуба
- Намалаување со делење/multiplicative: намали го двојно cwnd по загубата

- TCP рата на испраќање: приближно- испрати


cwnd број на бајти, чекај RTT за АСК, потоа
испрати уште бајти.

- Ограничување на преносот кај испраќачот:

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

46
- Контрола на застој и проток: Бројот на непотврдени бајти кај испраќачот зависи и од примачот
(rwnd) и од состојбата на мрежата (cwnd): min(rwnd, cwnd)

- TCP Slow Start (бавен старт)

- Kога ќе се воспостави конекција, зголеми ја


ратата експоненцијално до првата загуба:
 иницијално cwnd = 1 MSS
 двојно cwnd при секој RTT
 т.е. cwnd++ при секој примен ACK

заклучок: иницијалната рата е мала, но расте многу


брзо

- TCP: детекција и реакција при загуба

- time-out како индикација за загуба:


 cwnd се враќа на 1 MSS;
 прозорецот повторно расте експоненцијално (slow start) до одреден праг (ssthresh),
по што расте линеарно
- 3 дупликат ACK како индикација за загуба: TCP RENO
 дупликат ACKs покажуваат дека мрежата може да пренесе дел од сегментите
 cwnd се преполовува, по што расте линеарно
- TCP Tahoe секогаш го поставува cwnd на 1 (при time-out или 3 дупликат ack)

- TCP: од slow start кон избегнување на застој (Congestion Avoidance)

П: кога од експоненцијално зголемување треба


да се премине на линеарно?
O: кога cwnd ќе постигне половина од неговата
вредност пред time-out
имплементација:
- променлив ssthresh
- при загуба, ssthresh се поставува на 1/2 од
cwnd пред да настане загубата

47
48

You might also like