Кіріспе

Протоколды мойындау қабілеті

Компьютерлік желілерде сенімді протокол – жіберушіге деректерді көздеген алушыларға жеткізу сәтті болды ма, болмады ма, туралы хабарлайтын байланыс протоколы. Сенімділік – ITU және ATM форумы қолданатын кепілдіктің синонимі. Сенімді протоколдар, әдетте, сенімсіз протоколдарға қарағанда көбірек жүктемеге ие болады, нәтижесінде, баяу жұмыс істейді және масштабталуы шектеулі. Бұл көбінесе біржолғы протоколдар үшін мәселе тудырмайды, бірақ сенімді көпжолғы протоколдар үшін қиындыққа айналуы мүмкін. Интернетте қолданылатын негізгі протокол – Трансмиссиялық басқару протоколы (TCP), ол сенімді біржолғы протокол болып табылады; ол қолданбаларға сенімді байт ағынының абстракциясын ұсынады. UDP сенімсіз протокол болып табылады және көбінесе компьютерлік ойындарда, ағынды медиада немесе жылдамдық маңыздырақ болған және деректердің уақытша сипатынан кейбір деректердің жоғалуына төзелуге болатын басқа жағдайларда қолданылады. Көбінесе сенімді біржолғы протокол да қосылымға бағытталған болады. Мысалы, TCP қосылымға бағытталған, виртуалды тізбек идентификаторы бастапқы және мақсатты IP-адрестері мен порт нөмірлерінен тұрады. Дегенмен, кейбір сенімсіз протоколдар да қосылымға бағытталған, мысалы, Асинхронды беру режимі және Фреймдік реле. Сонымен қатар, кейбір қосылымсыз протоколдар, мысалы IEEE 802.11 сенімді болып табылады.

Тарих

Дональд Дэвис ұсынған пакеттік коммутация тұжырымдамасына сүйене отырып, ARPANET-тегі алғашқы байланыс протоколы 1822 интерфейсі арқылы хосттарды қосу үшін сенімді пакет жеткізу процедурасы болды. Хост компьютер деректерді дұрыс пакет форматында жинақтап, түпкілікті хост компьютердің адресін қосып, хабарламаны интерфейс арқылы қосылған Интерфейс хабарлама процессорына (IMP) жібереді. Хабарлама мақсаттағы хостқа жеткеннен кейін, жіберуші хостқа қуаттау хабарламасы жіберілді. Егер желі хабарламаны жеткізе алмаса, IMP жіберуші хостқа қате туралы хабарлама қайтарады. Осы аралықта, CYCLADES және ALOHAnet әзірлеушілері сенімді пакеттік беруді қамтамасыз етпестен тиімді компьютерлік желі құруға болатынын көрсетті. Бұл сабақты кейінірек Ethernet дизайнерлары қабылдады. Желі пакет жеткізілімін кепілдемесе, жоғалған пакеттерді анықтау және қайта жіберу арқылы сенімділікті қамтамасыз ету жауапкершілігі хостқа жүктеледі. ARPANET-тегі кейінгі тәжірибе желінің өзінің барлық пакет жеткізу қателіктерін сенімді түрде анықтай алмайтынын көрсетті, бұл кез келген жағдайда қателерді анықтау жауапкершілігін жіберуші хостқа жүктеді. Бұл Интернеттің негізгі дизайнының қағидаларының бірі болып табылатын "соңынан соңға" қағидасын әзірлеуге алып келді.

Сенімділік қасиеттері

Сенімді қызмет – жеткізу сәтсіз болған жағдайда пайдаланушыны хабардар ететін, ал сенімсіз қызмет жеткізу сәтсіз болғанда пайдаланушыны хабардар етпейді. Мысалы, Интернет протоколы (IP) сенімсіз қызмет көрсетеді. Трансмиссиялық басқару протоколы (TCP) және IP бірге сенімді қызмет көрсетеді, ал пайдаланушылық деректер протоколы (UDP) және IP сенімсіз қызмет көрсетеді. Таратылған протоколдар контекстінде сенімділік қасиеттері протоколдың хабарламаларды көздеген алушыларға жеткізуге қатысты қамтамасыз ететін кепілдіктерін анықтайды. Unicast протоколы үшін сенімділік қасиетінің мысалы – «кем дегенде бір рет», яғни хабарламаның кем дегенде бір данасы алушыға жеткізілуі кепілдендіріледі. Multicast протоколдарының сенімділік қасиеттерін алушылар бойынша (жа simple сенімділік қасиеттері) немесе жеткізілу фактісі немесе әртүрлі алушылар арасындағы жеткізілу реті бойынша қарастыруға болады (күшті сенімділік қасиеттері). Multicast протоколдары контекстінде күшті сенімділік қасиеттері протоколдың әртүрлі алушыларға хабарламаларды жеткізуге қатысты қамтамасыз ететін кепілдіктерді білдіреді. Мысалы, күшті сенімділік қасиеті – соңғы дананы қайтару, яғни егер хабарламаның кем дегенде бір данасы кез келген алушыда қолжетімді болса, басқа алушылардың барлығы, егер сәтсіздікке ұшырамаса, соңында хабарламаның данасын алады. Мұндай күшті сенімділік қасиеттері әдетте хабарламаларды қайта жіберуді немесе алушылар арасында таратуды талап етеді. Соңғы дананы қайтарудан күшті сенімділік қасиетінің мысалы – атомикалық. Бұл қасиет егер хабарламаның кем дегенде бір данасы алушыға жеткізілсе, барлық басқа алушылар да соңында хабарламаның данасын алады деп мәлімдейді. Басқаша айтқанда, әрбір хабарлама әрқашан барлық немесе ешбір алушыға жеткізіледі. Ең күрделі күшті сенімділік қасиеттерінің бірі – виртуалды синхрондылық. Сенімді хабар алмасу – сенімсіз инфрақұрылым арқылы хабар алмасу концепциясы, сонымен бірге хабарламалардың сәтті берілуі туралы нақты кепілдіктер беру мүмкіндігі. Мысалы, егер хабарлама жеткізілсе, ол ең көп дегенде бір рет жеткізіледі немесе сәтті жеткізілген барлық хабарламалар белгілі бір ретпен келеді. Сенімді жеткізілуді ең жақсы күш-жігермен жеткізілумен салыстыруға болады, онда хабарламалардың жылдам, ретпен немесе мүлдем жеткізілетініне кепілдік жоқ.

Қолданылу

Сенімді жеткізу протоколы сенімді емес протоколдың негізінде құрылуы мүмкін. Бұған ең көп кездесетін мысал – TCP/IP деп аталатын Интернет-протоколындағы Трансмиссиялық басқару протоколының қабаттасуы. IS-IS, Appia framework, JGroups немесе QuickSilver Scalable Multicast сияқты топтық байланыс жүйелері (GCS) жоғары деңгейде сенімділік қасиеттерін ұсынады. QuickSilver Properties Framework – бұл икемді платформа, ол сенімділік қасиеттерін қарапайым ережелерге негізделген тілді пайдалана отырып, толығымен декларативті түрде беруге және оларды автоматты түрде иерархиялық протоколға аудармалауға мүмкіндік береді. Сенімді хабар алмасуды іске асыратын протоколдардың бірі – WS ReliableMessaging, ол SOAP хабарларын сенімді жеткізуді қамтамасыз етеді. ATM қызметінің арнайы координациялық функциясы AAL5 арқылы толық қамтамасыз етілген жеткізілімді ұсынады. IEEE 802.11 барлық трафик үшін сенімді қызмет көрсетуге тырысады. Егер жіберу станциясы белгіленген уақыт ішінде ACK фреймін алмаса, ол фреймді қайта жібереді.