Проблеми пројектовања мрежа
Овај чланак садржи списак литературе, сродне писане изворе или спољашње везе, али његови извори остају нејасни, јер нису унети у сам текст. |
Овај чланак можда захтева чишћење и/или прерађивање како би се задовољили стандарди квалитета Википедије. |
Пројектовање компјутерских мрежа представља умрежавање више рацунара од једне мреже (на глобалном нивоу интернет).
Увод
[уреди | уреди извор]Приликом пројектовања и реализације једне рачунарске мреже, суочени смо са
- разноврсном опремом (различитих произвођача)којом је могуће реализовати мрежу
- разноврсним мрежним софтвером и оперативним системима под којима раде рачунари које треба умрежити
- како повезати рачунаре у мрежу (који физички медијум изабрати)
- како представити податке које треба пренети преко медијума
- како да знамо да је рачунар коме шаљемо податке присутан на мрежи
- Како управљамо брзином саобраћаја и спречавамо оверфловом
- како да знамо да је наша порука стигла на жељену адресу (одредиште)
- како је могуће повезати у мрежу рачунаре који раде под различитим оперативним системима
- како да знамо да је порука коју смо примили стигла исправна (без грешака у преносу)
Да бисмо превладали све ове дилеме и питања, било је неопходно увести стандарде (као што постоје стандарди за каблирање, рецимо), којима ће се превазићи наведени проблеми.
ОСИ референтни модел за отворено повезивање система
[уреди | уреди извор]ОСИ модел је интерцонални стандард развијен од стране ИСО са циљем описа тока података кроз рачунарску мрежу. Модел узима у обзир ток података почевши од физичког прикључка, па до апликације крајњег корисника дакле, модел је свеобухватан.
Замишљен је као слојевита или вишенивоска архитектура, а реализован је у облику стека протокола (енгл. protocol stack) за сваки ниво постоје одговарајуће функције које нижим слојевима обезбеђују сервисе из виших слојева. Две мреже (два рачунара, два система, ...) комуницирају тако што се подаци шаљу од виших ка нижим нивоима (предаја) затим преко кабла (медијум) и онда од нижих ка вишим слојевима (пријем).
Ток података кроз мрежу са аспекта ОСИ модела је организован у седам нивоа (или слојева)
- Слој апликације (енгл. Application Layer) – кориснички интерфејс према мрежним сервисима (file transfer/database access,terminal emulation RPCs)
- Слој презентације (енгл. Presentation Layer) – транслација формата података, компресија података, безбедност података, операције редирекције (SMBs & NCPs)
- Слој сесије (енгл. Session Layer) - успостављање/одржавање/раскидање везе, синхронизаија корисничких таскова, двосмерна комуникација, препознавање имена (NetBIOS & WinSock)
- Транспортни слој (енгл. Transport Layer) - управљање током саобраћаја, осигурање да су пристигли пакети стигли исправни, без губитака, без дуплирања, и да се могу рестаурирати без обзира на редослед пристизања (TCP & UDP)
- Слој мреже (енгл. Network Layer) – претварање логичких и физичких адреса, одређивање путање од извора до одредишта, управљање саобраћајем (IP & IPX)
- Слој везе (енгл. Data Link Layer) - претварање фрејмова у низ бита (страна предаје) и пријем низа битова (пријемна страна),(енгл. error check), поновно слање ако нема потврде (NACK noacknowledgement) (NIC driver)
- Физички слој (енгл. Physical Layer) – пренос бинарних података, спецификација каблова и сигнализације (NIC & cable)
Рутирање
[уреди | уреди извор]Циљ рутирања јесте да за сваки крајњи систем рутер конструише табелу рутирања која садржи путање до сваке одредишне мреже, до сваког рутера до кога би датаграм требало послати.
Табеле рутирања могу бити статичке или динамичке. Статичка табела, међутим, може да садржи алтернативне руте у случају да одређени рутер није доступан. Динамичка табела је флексибилнија у случајевима када дође до нагомилавања или грешке. Узмимо за пример Интернет, наиме, ако један рутер прекине са радом сви његови суседи шаљу статусни извештај који онда омогућава рутерима и станицама да ажурирају своје табеле рутирања. Сличан план се може користити и за конторолу нагомилавања. Контрола нагомилавања је врло значајна због не слагања капацитета LAN-a и WAN-a.
Табеле рутирања се такође могу користити као помоћ оталим сервисима међусобно повезаних мрежа, као што су сигурност и приоритет. На пример, појединачне мреже могу служити за преузимање података до одређене сигурносне границе. Механизам рутирања мора уверити да ће подацима задатог сигурносног нивоа бити забрањено да пролазе кроз мреже које нису овлашћене да преузимају такве податке. Још једна од техника рутирања је изворишно рутирање. Изворишна станица одређује руту тако што наводи доследан низ рутера у датаграму. Ова техника може бити корисна због захтева сигурности и приоритета. Коначно, поменућемо сервис који је у сродству са рутирањем: записивање руте. Да би се обавило записивање руте, сваки рутер додаје своју интернет адресу у листу адреса у датаграму. Ова особина је корисна у намери тестирања или отклањања грешака (debugging).
Животни век датаграма
[уреди | уреди извор]Ако се користи динамичко или алтернативно рутирање, постоји могућност да датаграм неодређено дуго кружи интернетом. Ово је недопустиво из два разлога. Прво, бескрајно дуго кружење датаграма троши средства. Друго, транспортни протокол може бити зависан од постаојања горње границе живота датаграма. Да би се избегли ови проблеми сваки датаграм може бити обележен са животним веком. Када животни век истекне, датаграм бива одбачен.
Најједноставнији начин да се имплементира животни век је коришћење бројача скокова. Сваки пут када датаграм прође кроз рутер, бројач се декрементира (умањује за један). Алтернативно, животни век може бити права временска величина. Ово затева од рутера да некако зна колико је времена прошло од када је датаграм или фрагмент последњи пут прошао кроз рутер, да би знао за колико да декрементира поље животнни век. Да би то било могуће потран је глобални временски механизам. Предност коришћења стварне временске величине је та што се може користити у алгоритму за поновно склапање пакета, што је објашњено следеће.
Фрагментовање и поновно склапање
[уреди | уреди извор]Појединачне мреже у интернету могу назначити различите максималне величине пакета. Било би невешто и крајње незгодно диктирати исту величину пакета кроз различите мреже. Према томе, рутер мора да фрагментује пристигле пакете у мање целине, које се називају сегменти или фрагменти, пре него што их проследи следећој мрежи. Ако датаграми могу бити фрагментовани (по могућству више од једнанут) у току путовања поставља се питање где ће се поново склопити. Најлакше решење је да се поновно спајање изврши само у одредишту. Главна неповољност овог приступа је та што фрагменти могу бити само мањи како се пакет креће по интернету. Ово може смањити ефикасност неких мрежа. Међутим, ако је дозвољено поновно склапање у рутерима на међупутањи, може доћи до следећих неповољних околности:
- Потребни су велики бафери у рутеру и постоји ризик да цео простор бафера буде потрошен у складиштењу дела датаграма.
- Сви делови датаграма морају да прођу кроз исти рутер, што спречава коришћење динамичког рутирања.
У IP-у, фрагменти датаграма се склапају у одредишном систему. Техника IP фрагментовања користи следеће информације у IP заглављу:
- Идентификатор пакета (ID)
- Дужина Података
- Офсет
- Флег More (још)
ID служи да јединствено идентификује оригинални датаграм крајњег система. У IP-у се састоји од изворишне и одредишне адресе, броја који одговара слоју у коме се налази протокол који је генерисао податак (нпр. TCP), и идентификације набављене од стране слоја протокола. Дужина Података је дужина корисничких података, исказана у октетима (бајтовима), Офсет је позиција фрагмента корисничких података у пољу података у оригиналном датаграму, повећано за 64 бита.
Изворишни систем ствара датаграм са Дужином Података истом као цела дужина поља података, са Офсетом = 0 и флегом Још постављеним на 0 (false). Да би поделио дугачак датаграм у два дела, IP модул у рутеру извршава следеће:
- Прави два нова датаграма и копира заглавље оригиналног датаграма у оба.
- Дели долазеће корисничке податке на два приближно једнака дела уз 64-битну границу, стављајући сваки део у нови датаграм, први део се мора повећати за 64 бита.
- Поставља Дужину Података првог новог датаграма на дужину уметнутих података и поставља флег Још на 1 (true). Офсет поље оставља непромењено.
- Поставља Дужину Података другог новог датаграма на дужину уметнутих података и додаје дужину првог дела податка подељену са 8 у поље Офсет. Флег Још остаје исти (0, false).
Слика описује претходно наведени пример. Процедура је лако уопштена на n-ту поделу.
Да би се поново склопио датаграм, мора да постоји довољно места у баферу на месту где се датаграм склапа. Како пристижу пакети са истим ID пољем, њихова поља са подацима се убацују у одговарајући део у баферу док се не склопи цело поље са подацима, што се постиже када група података почиње са Офсетом једнаким нула и завршава се подацима из фрагмента коме је флег Још био постављен на 0 (false).
Једна од могућности са којом се морамо суочити јесте да један или више фрагмената можда неће стићи до одредишта: IP сервис не гарантује испоруку. Потребна је метода којом би се одлучило када да се одустане од покушаја склапања података како би се ослободило место у баферу. Тренутно се користе два приступа. Први, треба доделити животни век склапању података првом фрагменту који пристигне. То је локални сат за склапање података, додељен од стране функције за склапање података, који се декрементира док се баферују фрагменти оригиналног датаграма. Ако време истекне пре него што се заврши склапање података, примљени фрагменти бивају одбачени. Други приступ је да се искористи животни век датаграма, који је део заглавља сваког пристиглог фрагмента. Наставља се са декрементирањем животног века од стране функције за склапање података; као и код првог приступа, ако животни век истекне пре него што се изврши склапање пакета, примљени фрагменти се одбацују.
Контрола грешке
[уреди | уреди извор]Међуумрежавање не гарантује успешну испоруку сваког датаграма. Када рутер одбаци датаграм, он треба да врати неке информације изворишту. Изворишни Интернет Протокол може да искористи ове информације да измени стратегију преноса и да обавести више слојеве. Да би пријавио да је неки датаграм био одбачен потребан је део идентификације датаграма. Датаграм може бити одбачен из много разлога, укључујући истек животног века, загушења и грешке чексуме. У осталим случајевима, извештај није могућ зато што је поље са изворишном адресом можда оштећено.
Контрола протока
[уреди | уреди извор]Контрола протока у интернету дозвољава рутерима и/или одредишним станицама да ограниче норму примања података. За тип сервиса без успоставе везе који се овде описују, механизам контроле протока је ограничен. Најбољи приступ би био да се пошаље пакет који врши контролу протока другим рутерима и изворишним станицама који би захтевао смањење протока података. Овакав је описан у ICMP (Internet Control Message Protocol).
Адресирање
[уреди | уреди извор]Концепт адресирања у архитектури комуникације је скуп који покрива доста проблема, као што су:
- Ниво адресирања
- Област адресирања
- Начин адресирања
Ниво адресирања
[уреди | уреди извор]Односи се на ниво у архитектури комуникације у којој је именована суштина. Сваком крајњем и међу систему у конфигурацији додељује се јединствена адреса. У случају TCP/IP архитектуре, ово се односи на IP адресу или једноставно, интернет адресу. IP адреса се користи да би се рутирао PDU кроз мрежу или мреже до система на који указује IP адреса у PDU-у. Нижи ниво адресирања је потребан за било коју појединачну мрежу која има више привезаних система на себе, као што су frame relay или АТМ мреже. У овом случају јединствена адреса се додељује сваком уређају привезаном на ову мрежу. Када подаци стигну до одредишног система, они морају бити усмерени неком процесу или апликацији у систему. Систем ће подржавати више апликација и апликација може подржавати више корисника. Свакој апликацији и, можда, сваком заједничком кориснику апликације додељује се јединствени идентификатор, који се односи на порт у TCP/IP архитектури или као приступна тачка сервиса (Service Access Point – SAP) у OSI архитектури. Још један проблем који се тиче адреса једног крајњег система или међу система је област адресирања. Интернет адреса је глобална адреса. Кључне карактеристике глобалних адреса су следеће:
- Глобална недвосмисленост: Глобална адреса идентификује јединствен систем. Синоними су дозвољени. Значи, систем може имати више од једне глобалне адресе.
- Глобална употребљивост: Могуће је на неком систему идентификовати било који други систем, на начин глобалне адресе другог система.
Због тога што је глобална адреса јединствена и глобално употребљива, интернету је омогућено да прослеђује податке са било ког система прикљученог на било коју мрежу ка било ком другом систему прикљученог на било коју другу мрежу.
Још један од концепата адресирања је начин адресирања. Најопштије, једна адреса се односи на један систем или порт; у овом случају односи се на индивидуалну или unicast адресу. Такође је могуће да се једна адреса односи на више целина или портова. Као што је адреса која идентификује више симултаних појединаца. На пример, мрежни контролни центар жели да обавести све кориснике да мрежа пада. Адреса за више примаоца може бити broadcast, намењена за све целине одређеног домена, или multicast, намењена за одређену подмрежу или целину. Слика приказује неке од могућности.