TCP және UDP: сенімділік пен тиімділік туралы пікірталас

Бүгін біз TCP-ге назар аударудан бастаймыз. Бұрын қабаттау туралы тарауда біз маңызды мәселені айттық. Желілік деңгейде және одан төменірек, бұл хост-хост қосылымдары туралы көбірек, яғни компьютер оған қосылу үшін басқа компьютердің қайда екенін білуі керек. Дегенмен, желідегі байланыс көбінесе машина аралық байланыс емес, процессаралық байланыс болып табылады. Сондықтан TCP протоколы порт ұғымын енгізеді. Портты тек бір процесс алуы мүмкін, ол әртүрлі хосттарда жұмыс істейтін қолданбалы процестер арасында тікелей байланысты қамтамасыз етеді.

Тасымалдау деңгейінің міндеті әртүрлі хосттарда орындалатын қолданбалы процестер арасында тікелей байланыс қызметтерін қамтамасыз ету болып табылады, сондықтан ол «соңғы протокол» ретінде де белгілі. Тасымалдау деңгейі желінің негізгі мәліметтерін жасырады, бұл қолданбалы процеске көліктік деңгейдің екі нысаны арасында қисынды байланыс арнасы бар екенін көруге мүмкіндік береді.

TCP Transmission Control Protocol дегенді білдіреді және қосылымға бағытталған протокол ретінде белгілі. Бұл бір қолданба деректерді екіншісіне жіберуді бастамас бұрын, екі процесс қол алысу керек дегенді білдіреді. Қол алысу – деректерді сенімді беру мен ретті қабылдауды қамтамасыз ететін логикалық байланысты процесс. Қол алысу кезінде деректердің сәтті берілуін қамтамасыз ету үшін басқару пакеттерінің қатарын алмасу және кейбір параметрлер мен ережелерді келісу арқылы бастапқы және тағайындалған хосттар арасында байланыс орнатылады.

TCP дегеніміз не? (MylinkingЖелі түртужәнеЖелілік пакет брокеріTCP немесе UDP пакеттерінің екеуін де өңдей алады)
TCP (Transmission Control Protocol) – қосылуға бағытталған, сенімді, байт ағынына негізделген көлік деңгейінің байланыс протоколы.

Қосылымға бағытталған: Қосылымға бағытталған TCP байланысы бір-біріне, яғни бір уақытта бірнеше хосттарға хабарламалар жібере алатын UDP-ге қарағанда нүктеден-ұшқа байланысты, сондықтан бір-көп байланысқа қол жеткізу мүмкін емес екенін білдіреді.
Сенімді: TCP сенімділігі желілік байланыстағы өзгерістерге қарамастан пакеттердің қабылдағышқа сенімді түрде жеткізілуін қамтамасыз етеді, бұл TCP протокол пакетінің пішімін UDP-ге қарағанда күрделірек етеді.
Байт ағынына негізделген: TCP-тің байт ағынына негізделген сипаты кез келген көлемдегі хабарламаларды жіберуге мүмкіндік береді және хабарлама тәртібіне кепілдік береді: тіпті алдыңғы хабарлама толық қабылданбаған болса да, тіпті кейінгі байттар алынған болса да, TCP оларды өңдеу үшін қолданбалы деңгейге жеткізбейді және қайталанатын пакеттерді автоматты түрде тастайды.
А хосты мен В хосты қосылым орнатқаннан кейін, қолданба деректерді жіберу және алу үшін виртуалды байланыс желісін ғана пайдалануы керек, осылайша деректерді беруді қамтамасыз етеді. TCP протоколы қосылымды орнату, ажырату және ұстап тұру сияқты тапсырмаларды басқаруға жауап береді. Айта кету керек, бұл жерде виртуалды желі тек қосылымды орнатуды білдіреді, TCP протоколы қосылымы тек екі жақтың деректерді беруді бастауға болатындығын көрсетеді және деректердің сенімділігін қамтамасыз етеді. Маршруттау және тасымалдау түйіндері желілік құрылғылармен өңделеді; TCP протоколының өзі бұл мәліметтерге қатысты емес.

TCP қосылымы толық дуплексті қызмет болып табылады, яғни A хосты мен В хосты TCP қосылымында екі бағытта да деректерді жібере алады. Яғни, деректерді екі бағытты ағында A хосты мен В хосты арасында тасымалдауға болады.

TCP деректерді қосылымның жіберу буферінде уақытша сақтайды. Бұл жіберу буфері үш жақты қол алысу кезінде орнатылған кэштердің бірі болып табылады. Кейіннен TCP жіберу кэшіндегі деректерді қажетті уақытта тағайындалған хосттың қабылдау кэшіне жібереді. Іс жүзінде әрбір теңденің мұнда көрсетілгендей жіберу кэші және қабылдау кэші болады:

TCP-UDP

Жіберу буфері жіберілетін деректерді уақытша сақтау үшін пайдаланылатын жіберуші жағында TCP іске асыру арқылы қолдау көрсетілетін жад аймағы болып табылады. Қосылымды орнату үшін үш жақты қол алысу орындалғанда, жіберу кэш орнатылады және деректерді сақтау үшін пайдаланылады. Жіберу буфері желінің кептелуіне және қабылдағыштың кері байланысына сәйкес динамикалық түрде реттеледі.

Қабылдау буфері – қабылданған деректерді уақытша сақтау үшін пайдаланылатын қабылдау жағында TCP іске асыру арқылы қолдау көрсетілетін жад аймағы. TCP қабылданған деректерді қабылдау кэшінде сақтайды және жоғарғы қолданбаның оны оқуын күтеді.

Жіберу кэшінің және қабылдау кэшінің өлшемі шектеулі екенін ескеріңіз, кэш толы болған кезде, TCP сенімді деректерді беру және желі тұрақтылығын қамтамасыз ету үшін кептелуді бақылау, ағынды бақылау және т.б. сияқты кейбір стратегияларды қабылдауы мүмкін.

Компьютерлік желілерде хосттар арасында мәліметтерді тасымалдау сегменттер арқылы жүзеге асырылады. Сонымен пакет сегменті дегеніміз не?

TCP кіріс ағынын бөліктерге бөлу және әрбір бөлікке TCP тақырыптарын қосу арқылы TCP сегментін немесе пакет сегментін жасайды. Әрбір сегментті шектеулі уақытқа ғана жіберуге болады және сегменттің максималды өлшемінен (MSS) аспауы керек. Төмен жолда пакет сегменті сілтеме қабаты арқылы өтеді. Байланыс деңгейінде максималды жіберу бірлігі (MTU) бар, ол деректер сілтеме қабаты арқылы өте алатын ең үлкен пакет өлшемі. Максималды беру бірлігі әдетте байланыс интерфейсімен байланысты.

Сонымен, MSS пен MTU арасындағы айырмашылық неде?

Компьютерлік желілерде иерархиялық архитектура өте маңызды, өйткені ол әртүрлі деңгейлер арасындағы айырмашылықтарды ескереді. Әр қабаттың әртүрлі атауы бар; тасымалдау деңгейінде деректер сегмент деп аталады, ал желілік деңгейде деректер IP пакеті деп аталады. Сондықтан, максималды жіберу бірлігін (MTU) желілік деңгей арқылы жіберуге болатын IP пакетінің максималды өлшемі ретінде қарастыруға болады, ал ең үлкен сегмент өлшемі (MSS) бір уақытта TCP пакеті арқылы берілуі мүмкін деректердің максималды көлемін білдіретін көлік деңгейінің тұжырымдамасы.

Ең үлкен сегмент өлшемі (MSS) максималды жіберу бірлігінен (MTU) үлкенірек болғанда, IP фрагментациясы желі деңгейінде орындалатынын және TCP үлкен деректерді MTU өлшеміне сәйкес сегменттерге бөлмейтінін ескеріңіз. Желі деңгейінде IP деңгейіне арналған бөлім болады.

TCP пакет сегментінің құрылымы
TCP тақырыптарының пішімі мен мазмұнын зерттейік.

TCP сегменті

Реттік нөмірі: TCP қосылымы орнатылған кезде оның бастапқы мәні ретінде қосылым орнатылған кезде компьютер жасаған кездейсоқ сан және реттік нөмір SYN пакеті арқылы ресиверге жіберіледі. Деректерді жіберу кезінде жіберуші жіберілген деректер көлеміне сәйкес реттік нөмірді арттырады. Қабылдаушы алынған реттік нөмірге сәйкес деректердің ретін бағалайды. Деректердің ретсіздігі анықталса, қабылдаушы деректер ретін қамтамасыз ету үшін деректерді қайта реттейді.

Растау нөмірі: Бұл деректердің қабылданғанын растау үшін TCP-де қолданылатын реттік нөмір. Ол жіберуші қабылдайтын келесі деректердің реттік нөмірін көрсетеді. TCP қосылымында қабылдағыш қабылданған деректер пакетінің сегментінің реттік нөмірі негізінде қандай деректер сәтті қабылданғанын анықтайды. Қабылдаушы деректерді сәтті қабылдағанда, ол жіберушіге растау растау нөмірін қамтитын ACK пакетін жібереді. ACK пакетін алғаннан кейін жіберуші жауап нөмірін растау алдында деректердің сәтті қабылданғанын растай алады.

TCP сегментінің басқару биттері мыналарды қамтиды:

ACK биті: Бұл бит 1 болғанда, бұл растау жауап өрісінің жарамды екенін білдіреді. TCP бұл бит бастапқыда қосылым орнатылған кезде SYN пакеттерін қоспағанда, 1-ге орнатылуы тиіс екенін көрсетеді.
RST биті: Бұл бит 1 болғанда, ол TCP қосылымында ерекшелік бар екенін және қосылымды мәжбүрлеп ажырату керектігін көрсетеді.
SYN биті: Бұл бит 1-ге орнатылғанда, бұл қосылым орнатылатынын және реттік нөмір өрісінде реттік нөмірдің бастапқы мәні орнатылғанын білдіреді.
FIN бит: Бұл бит 1 болғанда, бұл болашақта басқа деректер жіберілмейтінін және қосылым қажет екенін білдіреді.
TCP әртүрлі функциялары мен сипаттамалары TCP пакетінің сегменттерінің құрылымымен бейнеленген.

UDP дегеніміз не? (Менің сілтемелерімЖелі түртужәнеЖелілік пакет брокеріTCP немесе UDP пакеттерін өңдей алады)
User Datagram Protocol (UDP) — қосылымсыз байланыс протоколы. TCP-мен салыстырғанда, UDP күрделі басқару механизмдерін қамтамасыз етпейді. UDP протоколы қолданбаларға қосылым орнатпай-ақ инкапсуляцияланған IP пакеттерін тікелей жіберуге мүмкіндік береді. Әзірлеуші ​​TCP орнына UDP пайдалануды таңдағанда, қолданба IP-мен тікелей байланысады.

UDP протоколының толық атауы – User Datagram Protocol, ал оның тақырыбы бар болғаны сегіз байт (64 бит), бұл өте қысқа. UDP тақырыбының пішімі келесідей:

UDP сегменті

Тағайындалған және бастапқы порттар: Олардың негізгі мақсаты UDP пакеттерін қай процеске жіберу керектігін көрсету.
Пакет өлшемі: Пакет өлшемі өрісі UDP тақырыбының өлшемін және деректер өлшемін қамтиды
Бақылау сомасы: UDP тақырыптары мен деректерін сенімді жеткізуді қамтамасыз ету үшін жасалған Бақылау сомасының рөлі деректердің тұтастығын қамтамасыз ету үшін UDP пакетін жіберу кезінде қате немесе бүліну орын алғанын анықтау болып табылады.

Mylinking-те TCP және UDP арасындағы айырмашылықтарЖелі түртужәнеЖелілік пакет брокеріTCP немесе UDP пакеттерінің екеуін де өңдей алады
TCP және UDP келесі аспектілерде ерекшеленеді:

TCP және UDP

Байланыс: TCP — деректерді тасымалдау үшін қосылымды орнатуды талап ететін қосылымға бағытталған тасымалдау протоколы. UDP, керісінше, қосылымды қажет етпейді және деректерді дереу тасымалдай алады.

Қызмет көрсету объектісі: TCP - бір-бірден екі нүктелік қызмет, яғни қосылымда бір-бірімен байланысу үшін тек екі соңғы нүкте бар. Дегенмен, UDP бір уақытта бірнеше хосттармен байланыса алатын «бірден көпке», «бірден көпке» және «көптен көпке» интерактивті байланысты қолдайды.

Сенімділік: TCP деректерді сенімді түрде жеткізу қызметін қамтамасыз етеді, деректер қатесіз, жоғалтпайды, қайталанбайды және сұраныс бойынша жеткізіледі. UDP, керісінше, бар күш-жігерін салады және сенімді жеткізуге кепілдік бермейді. UDP деректердің жоғалуынан және жіберу кезінде басқа жағдайлардан зардап шегуі мүмкін.

Кептелуді бақылау, ағынды бақылау: TCP-де кептелістерді бақылау және ағынды басқару механизмдері бар, олар деректерді тасымалдаудың қауіпсіздігі мен тұрақтылығын қамтамасыз ету үшін желі жағдайларына сәйкес деректерді жіберу жылдамдығын реттей алады. UDP-де кептелуді бақылау және ағынды басқару механизмдері жоқ, тіпті желі өте кептеліс болса да, ол UDP жіберу жылдамдығына түзетулер енгізбейді.

Үстіңгі деректеме: TCP ұзын тақырып ұзындығына ие, әдетте 20 байт, ол опция өрістері пайдаланылған кезде артады. Екінші жағынан, UDP-де тек 8 байттан тұратын тұрақты тақырып бар, сондықтан UDP-де төменгі тақырып үстемесі бар.

TCP және UDP

TCP және UDP қолданбаларының сценарийлері:
TCP және UDP екі түрлі транспорттық деңгей протоколдары және олардың қолданба сценарийлерінде кейбір айырмашылықтары бар.

TCP қосылымға бағытталған протокол болғандықтан, ол ең алдымен сенімді деректерді жеткізу қажет сценарийлерде қолданылады. Кейбір жалпы пайдалану жағдайлары мыналарды қамтиды:

FTP файлды тасымалдау: TCP тасымалдау кезінде файлдардың жоғалмауын және бүлінуін қамтамасыз ете алады.
HTTP/HTTPS: TCP веб-мазмұнның тұтастығы мен дұрыстығын қамтамасыз етеді.
UDP қосылымсыз хаттама болғандықтан, ол сенімділік кепілдігін бермейді, бірақ ол тиімділік пен нақты уақыт сипаттамаларына ие. UDP келесі сценарийлер үшін қолайлы:

DNS (домендік атаулар жүйесі) сияқты аз пакеттік трафик: DNS сұраулары әдетте қысқа пакеттер болып табылады және UDP оларды жылдамырақ аяқтай алады.
Бейне және аудио сияқты мультимедиялық байланыс: Жоғары нақты уақыттағы талаптары бар мультимедиалық тасымалдау үшін UDP деректердің дер кезінде берілуін қамтамасыз ету үшін төмен кідірісті қамтамасыз ете алады.
Тарату байланысы: UDP «бірден көпке» және «көптен көпке» байланысын қолдайды және оны таратылатын хабарларды жіберу үшін пайдалануға болады.

Түйіндеме
Бүгін біз TCP туралы білдік. TCP – қосылуға бағытталған, сенімді, байт ағынына негізделген көлік деңгейінің байланыс протоколы. Ол байланыс орнату, қол алысу және растау арқылы деректерді сенімді беру мен ретті қабылдауды қамтамасыз етеді. TCP протоколы процестер арасындағы байланысты жүзеге асыру үшін порттарды пайдаланады және әртүрлі хосттарда жұмыс істейтін қолданбалы процестер үшін тікелей байланыс қызметтерін ұсынады. TCP қосылымдары бір уақытта екі бағытты деректерді тасымалдауға мүмкіндік беретін толық дуплексті болып табылады. Керісінше, UDP сенімділік кепілдіктерін қамтамасыз етпейтін және нақты уақыт талаптары жоғары кейбір сценарийлер үшін қолайлы қосылымсыз бағытталған байланыс протоколы болып табылады. TCP және UDP қосылу режимінде, қызмет көрсету нысанында, сенімділікте, кептелісті бақылауда, ағынды бақылауда және басқа аспектілерде әртүрлі және олардың қолдану сценарийлері де әртүрлі.


Жіберу уақыты: 03 желтоқсан 2024 ж