Transportni sloj i sloj aplikacije
1
Транспортни слој и слој апликациje
Транспортни слој
Прихватањем података од апликативног слоја транспортни слој има задатак да податке
преведе у облик погодан за транспорт. Знатно комплекснија функција овог слоја јесте да
податке пренесе коришћењем нижих слојева којима често недостају поменуте
функционалности везане за гарантовање испоруке и контролу грешака.
Пример комуникације протокола транспортног и суседних слојева
Остваривање виртуелне везе за пренос података, превођење података у (углавном
бинарни) формат погодан за пренос, сегментација података ради ефикаснијег
искоришћења комуникационог канала, испорука података у идентичном облику у ком су
послати, омоућавање оптималне брзине преноса података у складу са пропусном моћи и
учесталошћу грешака на комуникационом каналу и прихватној моћи примаоца. Иако је
адресирање главна улога мрежног слоја, транспортни слој поседује интерни систем
адресирања чија је адресна јединица порт. Порт је одређен 16-битним нумеричким
параметром и његова је улога да адресира изворни/одредишни ентитет апликативног слоја
(апликацију) од кога потичу подаци тј. коме треба испоручити податке.
Портови се могу поделити на привилеговане, регистроване и динамичке (или
краткотрајне) портове. Привилеговани портови су портови у опсегу 0-1023 и право на
њихово отварање углавном има само оперативни систем. На овим портовима се налазе
најчешће коришћени сервиси (FTP, SSH, Телнет, DNS и сл.). Регистровани портови се
крећу у опсегу од 1024 до 49151 и на њима се званично користе сервиси новијег датума.
2
Транспортни слој и слој апликациje
Динамички или краткотрајни портови се крећу у опсегу од 49152 до 65535 и њих није
могуће регистровати а углавном служе за клијентске компоненте клијент/сервер софтвера.
Ентитете апликативног слоја је могуће адресирати путем портова по сопственом избору
с тим да је за стандардизацију у овој области задужена организација IANA (Internet
Assigned Numbers Authority). Ово тело на захтев произвођача софтвера анализира
оправданост за званичним додељивањем слободних портова (у складу са
распрострањеношћу сервиса за који се порт захтева) и додељује захтевани порт уколико је
доступан. Пре званичног додељивања порта сервису потребно је остварити одређену
општост (тј. масовност) сервиса. Овакав начин може довести до конфликтних ситуација
код којих се два или више сервиса користе у различитим мрежама на истом порту и
остваре одређену групу корисника пре званичног захтева за одређеним портом. Пример
овакве ситуације јесте порт 465 који се без званичног одобрења користи за SMTP
протокол заштићен SSL-ом као и од стране Cisco компаније. Композитна адресна јединица
транспортног и мрежног слоја јесте socket. Socket (некада се назива и мрежни socket или
само socket) је сачињен од следећих компоненти:
•
IP адреса изворишта
•
Порт изворишта
•
Протокол транспортног слоја
•
Порт одредишта
•
IP адреса одредишта
Подршка за socket-е се у оперативним системима најчешће реализује помоћу готових
системских библиотека. Неке од најпопуларнијих socket библиотека су Униx оперативне
системе и Wинсоцк за МС Wиндоwс оперативне системе. Осим Berkeley socket за UNIX
употребе у рачунарским мрежама socket-и се могу користити и код апликација које се
извршавају на локалном рачунару. Нпр.Windows system графички систем на UNIX
платформи захтева socket да би функционисао.
Иако референти модели ОSI и TCP/IP омогућавају развој различитих транспортних
протокола данас су у употреби (и на Интернету и код локалних мрежа) најчешће
Transmision Control Protocol (ТCP) и User Datagram Protocol (UDP). ТCP протокол
омогућава поуздан пренос података путем остваривања виртуелне везе, контроле грешака,
контроле редоследа сегмената и прилагођавање брзине слања података пријемној моћи
одредишта док UDP протокол не поседује ове функционалности. TCP протокол се користи
код сервиса код којих је неопходна тачност на рачун перформанси а UDP протокол у
обрнутим ситуацијама.
Управљање везом

4
Транспортни слој и слој апликациje
Прималац одговара сегментом са укљученим
ACK
индикатором.
За потпуни раскид везе прималац шаље сегмент са укљученим
FIN
индикатором.
Иницијатор раскида шаље одговор у виду сегмента са укљученим
ACK
индикатором.
Страна која иницира раскид везе извршава активан раскид везе (енгл.
active close
)
док страна која прихвата раскид везе извршава пасиван раскид везе (енгл.
passive
close
). Уколико једна страна иницира раскид везе (пошаље сегмент
са
FIN
индикатором и прими сегмент са
ACK
индикатором) а друга задржи везу
успостављеном таква веза се назива полу-раскинутом (енгл.
half-close
) и њоме се
надаље могу слати само подаци у једном смеру.
Успостављање и прекид везе
При коришћењу TCP протокола две стране морају да успоставе везу између себе као
предуслов за даљу размену података. Успостављање везе се врши путем следећих корака:
1.
Клијент серверу шаље сегмент са SYN индикатором који садржи број порта
сервера на који клијент жели да се повеже и ISN клијента.
2.
Сервер одговара на SYN захтев клијента сегментом који садржи ACK индикатор
са ISN-ом клијента увећаним за један. Сегмент такође садржи SYN индикатор сервера са
његовим ISN.
3.
Клијент одговара на SYN захтев сервера шаљући сегмент са ACK индикатором
који садржи ISN сервера увећан за један.
Ова три корака се називају “руковање” (енг.
handshake
) и уколико не дође до грешке у
њима, веза је успостављена. Страна која иницира успостављање везе извршава активно
успостављање везе (енг.
active open
) док страна која прихвата успостављање везе
извршава пасивно успостављање везе (енг.
passive open
). Једном успостављена веза
остаје активна док год се не захтева њен прекид или док се једна од страна не изгуби
евиденцију о њој (нпр. ресетовањем рачунара). То значи да су у периодима када се веза не
користи за пренос података могући прекиди на свим нижим слојевима (укључујући и
физички).
Код прекида успостављене везе потребно је да обе стране добију информацију да је
веза прекинута и да даљи пренос података није могућ. Прекид везе може иницирати свака
од страна, без обзира на то која страна је иницирала успостављање везе. За прекид везе се
користе FIN индикатори у TCP заглављу а редослед сегмената је следећи:
1.
Страна која иницира прекид шаље TCP сегмент са укљученим ФИН индикатором.
5
Транспортни слој и слој апликациje
2.
Прималац одговара сегментом са укљученим ACK индикатором.
3.
За потпуни прекид везе прималац шаље сегмент са укљученим ФИН индикатором.
4.
Иницијатор прекида шаље одговор у виду сегмента са укљученим ACK
индикатором.
Страна која иницира прекид везе извршава активан прекид везе (енг.
active close
) док
страна која прихвата прекид везе извршава пасиван прекид везе (енг.
passive
close
).
Уколико једна страна иницира прекид везе (пошаље сегмент са ФИН индикатором и
прими сегмент са ACK индикатором) а друга задржи везу успостављеном таква веза се
назива полу-затвореном (енг.
half-close
) и њоме се надаље могу слати само подаци у
једном смеру.
Transmission Control Protocol (TCP)
Transmission Control Protocol (протокол за управљање преносом) је протокол задужен за
рад са подацима у транспортном слоју. TCP је протокол са успоставом везе дизајниран да
за податке користи низове бајтова и обезбеди поуздан пренос података у оба смера (full-
duplex). Овај протокол је погодан за рад на комуникационим каналима високе поузданости
(нпр. УТП и оптички каблови) а показује слабије перформансе на комуникационим
каналима са честим оштећењем података при преносу (нпр. бежична комуникација).
TCP протокол је један од најчешће коришћених протокола на транспортном нивоу када
је у питању Интернет и класичне локалне мреже. Овај протокол је већ годинама у
употреби и разлог томе је пре свега оптималан рад на Еthernet технологији. TCP протокол
је иницијално дефинисан у документу РФЦ793 а касније је његова спецификација
неколико пута мењана у складу са новим потребама и могућностима рачунарских мрежа.
Неки параметри TCP протокола су одређени у складу са ограничењима комуникационих
канала (нпр. MTU параметар је ограничен на 536 бајтова за везе са странама које нису у
локалној мрежи) али су се временом показали неадекватним услед значајних унапређења
брзина и поузданости комуникационих канала.
Савремена окружења за развој дистрибуираних апликација најчешће имају развијену
подршку за коришћење TCP протокола и/или протокола вишег нивоа који користе услуге
TCP протокола. То значи да овај протокол представља де фацто стандард за развој
дистрибуираног софтвера који захтева поуздан пренос података. Неки од најпопуларнијих
сервиса интернета (Wеб, е-маил, FTP итд) се базирају на TCP протоколу.

7
Транспортни слој и слој апликациje
је реч од 32 бита. Уколико опција не садржи довољно података да испуни 32 бита,
преостали битови се допуњавају нулама. Неке од најважнијих опција TCP протокола су
MSS (
Maximum Segment Size
)
WSOPT (
Window Scale Option
), SACK (
Selective ACK
) i SACK Permitted. Садржај
опција такође улази у контролну суму сегмента (
TCP
checksum
).
UDP (User Datagram Protocol)
UDP је бесконекциони протокол, функционише без успостављања везе тј. нема
усаглашавања за успостављање конекције. Обезбеђује непоуздану испоруку. Сегмент
укључује изворни порт, одредишни порт, дужину, поље провере (цхецксум) и податке.
Када UDP има податке за слање, он креира UDP сегмент и даје га IP-у ради испоруке. На
пријемној страни UDP добија податке од IP-а и врши проверу грешке. Ако нема грешака,
UDP прослеђује податке на више слојеве. Ако постоји грешка UDP одбацује податке. Не
постоји формални механизам за потврду грешака, нити одредбе за контролу тока или
секвенцирање сегмената.
Сегмент UDP састоји се од заглавља (величине 8 бајтова) и поља података. UDP заглавље
састоји се од:
• поља изворишног и одредишног порта (величине по 2 бајта)
-намена изворишног и одредишног порта иста је као и у TCP заглављу – идентификација
прикључних тачака изворишног и одредишног рачунара, •поља дужине (величине 2 бајта)
- указује на укупну дужину UDP сегмента укључујући и UDP заглавље,
•поља података - садржи корисничке податке,
•контролни збир (величине 2 бајта) - контолни збир се односи на псеудозаглавље које се
користи и код TCP протокола. Опционо је, и уколко се оно не користи његова вредност
поставља се на 0.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti