TCP vs UDP: Ишенимдүүлүк менен Натыйжалуулуктун дебатын ачуу

Бүгүн биз TCPге көңүл буруу менен баштайбыз. Мурда катмарлоо боюнча бөлүмдө биз маанилүү бир жагдайды айтканбыз. Тармак катмарында жана ылдыйда, бул хост менен хост байланыштары жөнүндө, демек, сиздин компьютериңиз ага туташуу үчүн башка компьютер кайда экенин билиши керек. Бирок, тармактагы байланыш көбүнчө машиналар аралык байланыш эмес, процесстер аралык байланыш болуп саналат. Ошондуктан, TCP протоколу порт түшүнүгүн киргизет. Портту бир гана процесс ээлей алат, ал ар кандай хосттордо иштеген колдонмо процесстеринин ортосунда түз байланышты камсыз кылат.

Транспорттук катмардын милдети ар кандай хосттордо иштеген тиркеме процесстеринин ортосунда түз байланыш кызматтарын камсыз кылуу болуп саналат, ошондуктан аны аягына чейин протокол деп да аташат. Транспорттук катмар тармактын негизги деталдарын жашырат, бул колдонмо процессине транспорттук катмардын эки объектисинин ортосунда логикалык байланыш каналы бар экенин көрүүгө мүмкүндүк берет.

TCP Transmission Control Protocol дегенди билдирет жана туташууга багытталган протокол катары белгилүү. Бул бир тиркеме экинчисине маалыматтарды жөнөтө баштоодон мурун, эки процесс кол алышуу керек дегенди билдирет. Кол алышуу - бул маалыматтардын ишенимдүү берилишин жана иреттүү кабыл алынышын камсыз кылган логикалык жактан байланышкан процесс. Кол алышуу учурунда булак менен көздөгөн хосттордун ортосунда бир катар башкаруу пакеттерин алмашуу жана маалыматтарды ийгиликтүү берүү үчүн кээ бир параметрлер менен эрежелерди макулдашуу аркылуу байланыш түзүлөт.

TCP деген эмне? (Mylinking'sNetwork TapжанаNetwork Packet BrokerTCP же UDP пакеттерин иштете алат)
TCP (Transmission Control Protocol) байланышка багытталган, ишенимдүү, байт агымына негизделген транспорт катмарынын байланыш протоколу.

Туташуу багытталган: Туташуу-багытталган TCP байланышы бирден-бирге, башкача айтканда, чекиттен чекитке учтан-учка байланыш экендигин билдирет, UDPден айырмаланып, бир эле учурда бир нече хостторго билдирүүлөрдү жөнөтө алат, ошондуктан бирден көпкө байланышка жетишүү мүмкүн эмес.
Ишенимдүү: TCP ишенимдүүлүгү пакеттердин түйүн байланышындагы өзгөрүүлөргө карабастан кабыл алуучуга ишенимдүү жеткирилишин камсыздайт, бул TCP протоколунун пакет форматын UDPге караганда татаалыраак кылат.
Байт агымына негизделген: TCP'дин байт агымына негизделген табияты каалаган өлчөмдөгү билдирүүлөрдү жөнөтүүгө мүмкүндүк берет жана билдирүүлөрдүн тартибин кепилдейт: мурунку билдирүү толук кабыл алынбаса дагы, жана кийинки байттар алынган күндө дагы, TCP аларды иштетүү үчүн колдонмо катмарына жеткирбейт жана кайталанган пакеттерди автоматтык түрдө таштайт.
А хосту менен В хосту байланышты орноткондон кийин, тиркеме маалыматты жөнөтүү жана кабыл алуу үчүн виртуалдык байланыш линиясын гана колдонушу керек, ошентип маалыматтардын берилишин камсыз кылат. TCP протоколу байланышты орнотуу, ажыратуу жана кармап туруу сыяктуу тапшырмаларды көзөмөлдөө үчүн жооптуу. Белгилей кетчү нерсе, бул жерде виртуалдык линия байланышты орнотууну гана билдирет, TCP протоколунун туташуусу эки тараптын маалыматтарды берүүнү баштай ала тургандыгын жана маалыматтардын ишенимдүүлүгүн камсыз кылууну гана билдирет. Маршруттук жана транспорттук түйүндөр тармактык түзүлүштөр тарабынан иштетилет; TCP протоколунун өзү бул деталдарга тиешеси жок.

TCP туташуусу толук дуплекстүү кызмат болуп саналат, бул A хосту жана В хосту TCP туташуусунда эки багытта тең маалыматтарды өткөрө алат дегенди билдирет. Башкача айтканда, маалыматтар эки багыттуу агымда А жана В хостунун ортосунда өткөрүлүшү мүмкүн.

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 бул бит 1ге орнотулушу керек экенин белгилейт SYN пакеттеринен башкасы туташуу башында орнотулганда.
RST бит: Бул бит 1 болгондо, ал TCP туташуусунда өзгөчөлүк бар экенин жана туташууну мажбурлап өчүрүү керек экенин көрсөтөт.
SYN бит: Бул бит 1ге коюлганда, бул байланыш түзүлө турганын жана катар номеринин баштапкы мааниси катар номери талаасында коюлганын билдирет.
FIN бит: Бул бит 1 болгондо, бул келечекте эч кандай маалымат жөнөтүлбөйт жана байланыш керек дегенди билдирет.
TCPтин ар кандай функциялары жана мүнөздөмөлөрү TCP пакет сегменттеринин түзүлүшү менен камтылган.

UDP деген эмне? (Mylinking'sNetwork TapжанаNetwork Packet BrokerTCP же 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 ортосундагы айырмачылыктарNetwork TapжанаNetwork Packet BrokerTCP же UDP пакеттерин иштете алат
TCP жана UDP төмөнкү аспектилери боюнча айырмаланат:

TCP vs UDP

Байланыш: TCP - бул туташууга багытталган транспорттук протокол, ал маалыматтарды өткөрүп берүүдөн мурун байланыш түзүлүшү керек. UDP, экинчи жагынан, байланышты талап кылбайт жана дароо маалыматтарды өткөрүп бере алат.

Кызмат объектиси: TCP бул бирден эки чекиттүү кызмат, башкача айтканда, туташуунун бири-бири менен байланышуу үчүн эки гана акыркы чекити бар. Бирок, UDP бирден-бирге, бирден-көпкө жана көп-көп интерактивдүү байланышты колдойт, алар бир эле учурда бир нече хосттор менен байланыша алат.

Ишенимдүүлүк: TCP маалыматтардын катасыз, жоготуусуз, кайталанбашы жана талап боюнча келип турушун камсыз кылуу, маалыматтарды ишенимдүү жеткирүү кызматын камсыз кылат. UDP, экинчи жагынан, бардык күч-аракетин жумшайт жана ишенимдүү жеткирүүгө кепилдик бербейт. UDP берүү учурунда маалыматтарды жоготууга жана башка кырдаалдарга дуушар болушу мүмкүн.

Сыгууну көзөмөлдөө, агымды көзөмөлдөө: TCP маалымат берүүнүн коопсуздугун жана туруктуулугун камсыз кылуу үчүн тармактын шарттарына ылайык маалыматтарды берүүнүн ылдамдыгын жөнгө сала турган тыгынды көзөмөлдөө жана агымды башкаруу механизмдери бар. UDPде тыгынды көзөмөлдөө жана агымды башкаруу механизмдери жок, тармак өтө тыгын болсо да, ал UDP жөнөтүү ылдамдыгына оңдоолорду киргизбейт.

Баш маалымат: TCP узун аталышка ээ, адатта 20 байт, ал параметр талаалары колдонулганда көбөйөт. UDP, экинчи жагынан, 8 байттан турган туруктуу баш маалыматка ээ, ошондуктан UDP төмөнкү баш маалыматка ээ.

TCP vs 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