Օգտատիրային դեյթագրամի հաղորդակարգ From Wikipedia, the free encyclopedia
UDP, (անգլ.՝ User Datagram Protocol, հայերեն՝ Օգտատիրային դեյթագրամի հաղորդակարգ), ցանցային հաղորդակարգերի ծրագրակազմի հիմնական բաղադրիչներից։ Հաղորդակարգը նախագծվել է Դեյվիդ Ռիդի կողմից 1980 թվականին և պաշտոնապես սահմանվել RFC 768֊ում։
UDP | |
---|---|
Հապավում | UDP |
Տեսակ | ցանցային արձանագրություն և internet standard? |
Ընտանիք | TCP/IP (երբեմն նաև UDP/IP) |
Մասն է | TCP/IP[1] |
Հրատարակման ամսաթիվ | 1980[2] |
Հատկություններ | RFC 768 |
Գործակալներ | Windows, Linux, UNIX |
Սերվերներ | Windows, Linux, UNIX |
User Datagram Protocol Վիքիպահեստում |
UDP֊ին օգտագործում է նվազագույն առանց նախապես կապի հաստատման հաղորդակարգի մեխանիզմով հաղորդման մոդել է։ Այն չունի կապի հաստատման «երկխոսություններ», և այդ իսկ պատճառով ի հայտ է բերում հենքում ընկած ցանցի հաղորդակարգի բոլոր անհուսալիությունները օգտատիրոջ ծրագրերում։ Չկա ոչ մի երաշխիք տվյալների փոխանցման, դասավորման կամ դուբլիկատից պաշտպանման համար։ UDP֊ին տրամադրում է ստուգիչ գումարներ (անգլ.՝ checksums) տվյալների ամբողջականության ստուգման համար, և միացքի համարանիշ (անգլ.՝ port number) տարբեր գործընթացների դեյթագրամի ելակետում և վերջնակետում հասցեավորման համար։
UDP֊ով համակարգչային ծրագրերը ունակ են ուղարկելու հաղորդագրություններ՝ դեյթագրամաներ, համացանցային հաղորդակարգի (IP) ցանցում այլ հոստերի առանց նախապես հաղորդակցվելու հատուկ հաղորդման հոսքերի կամ տվյալների ճանապարհների ստեղծման համար։ UDP֊ին նպատակահարմար է այն դեպքում, երբ սխալների ստուգում և ուղղում կա՛մ անհրաժեշտ չէ, կա՛մ կատարվում է ծրագրում, խուսափելով այդպիսի մշակումների վերդիրից ցանցային միջերեսի մակարդակում։ Ժամանակային առումով զգայուն ծրագրերը հիմնականում օգտագործում են UDP, որովհետև փաթեթների բաց թողումը նախընտրելի է ի տարբերություն նրանց սպասելուն, որը կարող է հանդիսանալ հարմար տարբերակ իրական ժամանակում գործող համակարգերին (անգլ.՝ real-time systems)[3]: Եթե սխալների ուղղման հնարավորությունները անհրաժեշտ են ցանցային միջերեսի մակարդակում, ապա ծրագիրը կարող է օգտագործել TCP կամ SCTP (անգլ.՝ Stream Control Transmission Protocol), որոնք և նախատեսված են հենց այս նպատաակի համար։
Մի շարք UDP֊ի հատկանիշներ դարձնում են այն նպատակահարմար որոշակի կիրառությունների համար․
Ծրագրերը օգտագործում են դեյթագրամի բնիկներ (անգլ.՝ datagram sockets) հոստը֊հոստին կապեր հաստատելու համար։ Ծրագիրը կապում է բնիկը տվյալների տեղափոխման իր վերջնակետին, որը IP հասցեի և ծառայության միանցքի (անգլ.՝ service port) համադրությունն է։ Միանցքը ծրագրային կառույց է, որ նույնականացվում է միանցքի համարով (անգլ.՝ port number, 16 բիթանի ամբողջ թիվ՝ 0֊ց մինչև 65535 միջակայքում)։ 0 համարով միանցքը ռեզերվային է, բայց նաև թույլատրելի ելակետային միանցքի համար է, եթե հաղորդող գործընթացը չի ենթադրում պատասխան հաղորդագրություն։
IANA֊ն (անգլ.՝ Internet Assigned Numbers Authority) բաժանել է միանցքների համարները երեք ընդգրկույթների[4]։ 0֊ից մինչև 1023 միանցքային համարները օգտագործվում են տարածված և ճանաչված ծառայությունների կողմից։ UNIX֊անման օպերացիոն համակարգերի վրա առանց գերօգտագործողի թույլատվությամբ հնարավոր չէ օգտագործել այդ ընդգրկույթից։ 1024֊ից 49151֊ը զբաղեցված միանցքներն են և օգտագործվում են IANA֊ի կողմից գրանցված ծառայությունների կողմից։ 49152֊ից մինչև 65535֊ը փոփոխական միանցքներն են, որոնք նախատեսված չեն որևէ կոնկրետ տեսակի ծառայության համար և կարող են օգտագործվել ցանկացած նպատակով։ Դրանք նույնպես օգտագործվում են որպես անցողիկ միանցքներ (անգլ.՝ ephemeral port), որոնցից ծրագրերը կարող են պատահականորեն ընտրել ցանկացածը ինքնասահմանման համար[4]։ Արդյունքում նրանք օգտագործվում են որպես ժամանակավոր միանցքներ հիմնականում բաժանորդների կողմից, երբ կապվում են սպասարկչի հետ։
Հուսալիության պակասի պատճառով, UDP օգտագործող ծրագրերը պետք է պատրաստ լինեն կրելու կորստի, սխալների և դուպլիկատների հաղորդման ընթացքում։ Որոշ ծրագրեր, ինչպիսիք են TFTP֊ն (անգլ.՝ Trivial File Transfer Protocol), կարող են ավելացնել տարրական հուսալիության ապահովման մեխանիզմներ ծրագրային մակարդակի մեջ ըստ անհրաժեշտության[4]։
Հիմնականում UDP ծրագրերը չեն կիրառում հուսալիության ապահովման մեխանիզմներ և անգամ հնարավոր է դրանց կողմից խոչընդոտվի աշխատանքը։ Մեդիա հոսարկման, իրական֊ժամանակում բազմամասնակցային խաղերը և IP հեռախոսակապը այն ծրագրերի օրինակներն են, որոնք հաճախ օգտագործում են UDP։ Այսպիսի ծրագրերում որոշակի փաթեթների կորուստը ճակատագրական խնդիր չէ։ եթե ծրագիրը ունի խիստ բարձր մակարդակի հուսալիության կարիք, ապա փոխարենը պետք է օգտագործվի հաղորդակարգ, ինչպիսին TCP֊ն է (անգլ.՝ Transmission Control Protocol)։
Համացանցի բազմաթիվ առանցքային ծրագրեր օգտագործում են UDP֊ն, ներառյալ․ DNS֊ը, որտեղ հարցումները պետք է լինեն արագ և միայն բաղկացած լինեն հարցումից ու նրան հետևող պատասխան միակ փաթեթից, SNMP֊ն (անգլ.՝ Simple Network Management Protocol), RIP֊ն (անգլ.՝ Routing Information Protocol)[3] և DHCP֊ն (անգլ.՝ Dynamic Host Configuration Protocol)։
Ձայնային և տեսահոսքերը հիմանականում հաղորդվում են օգտագործելով UDP։ Իրական֊ժամանակում աշխատող տեսա և ձայնահոսարկման հաղորդակարգերը նախագծված են այնպես, որ կարողանան գլուխ հանեն անգամ եթե ունեն կորսված փաթեթներ, այսպիսով միայն ունենալով անշան որակային ցածրացում երկար դադարների փոխարեն, եթե կորսված փաթեթները վերհաղորդվեին։ TCP֊ի և UDP֊ի միևնույն ցանցում համատեղ կիրառության պատճառով, բազում կազմակերպություններ նկատում են, որ վերջին շրջանում UDP հոսքերի շատացումը իրական֊ժամանակում ծրագրերից սկսում է խանգարել TCP օգտագործող ծրագրերին, ինչպիսիք են վաճառակետերի, հաշվապահական ծրագրերին և տվյալների բազաներին։ Երբ TCP֊ին հայտնաբերում է փաթեթի կորուստ, այն հետ է դրսևորվում իր տվյալների փոխանակման թողունակությունը։ Քանզի իրական֊ժամանակում գործող և բիզնես ծրագրերը անհրաժեշտ են կազմակերպությունների համար, ծառայությունների լուծումների զարգազող որակը համարվում է օրհասական ոմանց կողմից[5]։
TCP֊ն կապ֊կողմնորոշում ունեցող հաղորդակարգ է, որը նշանակում է այն պահանջում է նախապես կապորդի հետ կապի հաստատում (անգլ.՝ handshaking) հետագա հաղորդակցումը շարունակելու համար։ Կապը հաստատվելուց հետո օգտատիրային տվյալները կարող են փոխանակվել երկկողմանիորեն։
UDP֊ն ավելի պարզ հաղորդագրություն կողմնորոշված առանց նախապես կապի հաստատման (անգլ.՝ handshaking) հաղորդակարգ է։ Այսպիսի հաղորդակարգերը չեն հաստատում առանձնացված վերջակետերի միջև կապ։ Կապը կայանում է նրանով, որ տեղեկատվությունը հաղորդվում է մեկ ուղղությամբ ելակետից վերջակետ առանց ստուգելու ընդունողի պատրաստ լինելը կամ վիճակը։ Այնուամենայնիվ UDP֊ի առավելությունը IP հեռախոսակապի կիրառության մեջ այն է, որ հապաղումը և թրթռումը առաջնահերթ կարևորության են։ IP հեռախոսակապում UDP֊ն ենթադրվում է, որ օգտատերերը ապահովում են ամեն անհարածեշտ իրական֊ժամանակային առումով հաղորդագրությունների ընդունումը։
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.