TCP/IP

**Համացանցային հաղորդակարգերի հավաքածու,** առավել հայտնի որպես **TCP/IP** համակարգչային ցանցի մոդել և հաղորդակարգերի («պրոտոկոլների») հավաքածու, որն օգտագործվում է համացանցում և համակարգչային այլ ցանցերում։ Փոխանցման կառավարման հաղորդակարգը (TCP) և ինտերնետային հաղորդակարգը (IP) եղել են առաջին ցանցային հաղորդակարգերը, որ ներկայացվել են որպես ստանդարտ և վերջինների հիմնարար դերի պատճառով հաճախ ողջ հավաքածուն անվանում են *TCP/IP*։

Հաճախ անվանվելով «ինտերնետային մոդել», այն սկզբնապես հայտնի է եղել որպես **DoD** մոդել, քանի որ ցանցային մոդելի զարգացումը սկսվել է ԱՄՆ-ի պաշտպանության դեպարտամենտի DARPA գործակալության կողմից։

TCP/IP հաղորդակարգերը տրամադրում են սկզբնակետից վերջնակետ միացում, որը բնութագրում է, թե ինչպես վերջնակետում պետք է տվյալները հասցեագրվեն, փաթեթավորվեն, փոխանցվեն, ուղղորդվեն և ստացվեն։ Շերտերը՝ բարձրից ցածր, հետևյալն են. կապակցման շերտ (մեկ ցանցային սեգմենտի համար նախատեսված հաղորդակցության տեխնոլոգիա), ինտերնետային շերտ (կապակցում է իրարից անկախ ցանցերը՝ այդպիսով ստեղծելով համատեղ աշխատանք), տրասպորտային շերտ (ստեղծում է համակարգչից համակարգիչ հաղորդակցություն) և ծրագրային շերտ (հնարավորություն է ստեղծում փոխանակելու ծրագրային տվյալները պրոցեսից պրոցես)։ TCP/IP մոդելը և հարակից պրոտոկոլները մշակված են *Internet Engineering Task Force (IETF)*  կողմից։

## Պատմություն
### Սկզբնական հետազոտություն
thumb|Առաջին փոխկապակցված միացման դիագրամ
thumb|
Ստենֆորդի հետազոտությունների ինստիտուտի ռադիոալիքային փաթեթի վագոն։ Առաջին եռակողմ փոխկապակցված փողանակումը։
Ինտերնետային պրոտոկոնլերի հավաքածույի հետազոտությունն ու մշակումը սկսվել է1960-ական թվականների վերջերին՝ Defense Advanced Research Projects Agency (DARPA) գործակալության կողմից։

1969 թվականին ARPANET-ում իրականացվող աշխատանքից հետո DARPA-ն սկսեց աշխատել փոխանակման մի շարք այլ տեխնոլոգիաների վրա։

1972 թվականին Ռոբերտ Քանը միացավ DARPA ինֆորմացիոն պրոցեսինգի տեխնոլոգիաների գրասենյակին, որտեղ նա աշխատել է և՛ արբանյակային և վերգետնյա ռադիոալիքային ցանցերի վրա և գնահատում էր այդ երկու դաշտերում աշխատելու ունակության արժեքը։ 1973 թվականի գարնանը ARPANET-ի ցանցային կառավարման ծրագրի մշակող Վինտոն Սերֆը միացավ Խանին՝ աշխատելու բաց կառուցվածքով փոխկապակցման միջոցներ ստեղծելու համար՝ նպատակ ունենալով մշակելու ARPANET-ի հաջորդ սերնդի հաղորդակարգ։

1973 թվականի ամռանը Ռոբերտ Քանը և Սերֆը մշակել էին հիմնարար վերաձևակերպումներ, որտեղ ցանցային հաղորդակարգերի միջև տարբերությունը թաքցվում էր՝ օգտագործելով հասարակ համացանցային պրոտոկոլ, և ի տարբերություն ARPANET-ի, որտեղ ցանցն էր պատասխանատու հուսալիության համար, այստեղ կայաններն էին դառնում պատասխանատու։

Ցանցի նախագիծը ներառում էր այն հասկացությունը, որ այն պետք է մատուցի միայն ծայրային նոդերի միջև արդյունավետ հաղորդման և երթուղավորման հոսքերը, իսկ մյուս բոլոր կարևոր բաղադրիչները՝ ցանցի մի ծայրում՝ նոդերի վերջում։ Հասարակ դիզայն օգտագործելով հնարավոր եղավ գրեթե ցանկացած ցանց անկախ լոկալ հատկանիշներից միացնելու ARPANET-ին՝ այսպիսով լուծելով Խանի խնդիրը։

Ընդունված ասացվածք կա, որ Սերֆի և Քանի TCP/IP գործիքը կաշխատի «երկու թիթեղյա տարաներով և լարերով» (տարիներ հետո որպես կատակ ստեղծվեց և հաջողությամբ փորձարկվեց IP over Avian Carriers պրոտոկոլը։)

Համակարգիչը, որը կոչվում է երթուղիչ (անգ. router), օժտված է յուրաքանչյուր ցանցի ինտերֆեյսով։ Այն փաթեթները իրար միջև ուղղորդում է առաջ և հետ։ Սկզբնապես երթուղիչը կոչվել է անցուղի (անգ. *gateway), *բայց անվանումը հետագայում փոխվել է այլ տեսակի անցուղիներ հետ չշփոթելու համար։

### Առանձնահատկություններ
1973 թվականի մինչև 1974 թվականի Սերֆի ցանցային հետազոտություններ խումբը մշակեց այն գաղափարի մանրամասները, որը բերեց առաջին TCP բնութագրին։ Տեխնիկական մեծ ազդեցություն դարձավ ցանցային աշխատանքը Xerox PARC-ում, որը թողարկեց PARC ունիվերսալ հավաքածու, որը ընդգրկում էր այդ ժամանակներում գոյություն ունեցող գրեթե բոլոր պրոտոկոլների հավաքածուն։

DARPA-ն այնուհետև պայմանագիր կնքեց BBN Technologies ընկերության, Stanford համալսարանի և College London համալսարանի հետ՝ տարբեր հարթակների վրա հաղորդակարգի կամայական տարբերակներ ստեղծելու համար։ Մշակվեցին 4 տարբերակներ. TCP v1, TCP v2, TCP v3 and IP v3, and TCP/IP v4. Վերջին տարբերակը դեռևս գործում է։

1975 թվականին Ստենֆորդի և Լոնդոնի համալսարանների միջև տեստավորվեց երկու ցանցերի մասնակցությամբ TCP/IP հաղորդակցությունը։ 1977 թվականին ԱՄՆ-ի, Միացյալ թագավարության և Նորվեգիայի քաղաքների միջև տեստավորվեց երեք ցանցերի մասնակցությամբ հաղորդակցությունը։ 1978-ից 1983 թվականների ընթացքում տարբեր հետազոտական կենտրոնների կողմից մշակվեցին տարբեր այլ TCP/IP նախատիպեր։ ARPANET-ի տեղափոխումը TCP/IP պաշտոնապես ավարտվեց 1983 թվականի հունվարի 1-ին, երբ նոր հաղորդակարգեր ակտիվացվեցին։

### Ինտեգրում
1982 թվականի մարտին ԱՄՆ պաշտպանության դեպարտամենտը TCP/IP հաղորդակարգը հայտարարեց ռազմական համակարգչային ցանցերի համար ստանդարտ։

1985 թվականին առաջին Interop կոնֆերանսը կենտրոնացած էր TCP/IP հաղորդակարգի փոխօգտագործման սահմանները ընդլայնելու հարցի վրա։

IBM, AT&T և DEC ընկերությունները եղել են առաջին մեծ կազմակերպությունները, որոնք օգտագործել են TCP/IP, չնայած ներքին հաղորդակարգեր օգտագործելուն (SNA, XNS և այլն)։ 1984 թվականին IBM կորպորացիայում կատարվեց TCP/IP զարգացում։   Բերի Էփլմենի խումբը աշխատում էր այն ուղղությամբ, որ TCP/IP պրոդուկնտները գործեն IBM -ի տարբեր համակարգերի հետ։ Այդ ընթացքում ավելի փոքր ընկերություններ, ինչպիսին էին FTP Software-ը և Wollongong Group-ը, սկսեցին TCP/IP առաջարկել DOS և MS Windows օպերացիոն համակարգերի համար։ Առաջին VM/CMS TCP/IP փաթեթը եկել է Վիսկոնսի համալսարանից։

Այնուհետև այս TCP/IP փաթեթներից շատերը սկսեցին գրվել մի քանի շնորհաշատ ծրագրավորողների կողմից։ Օրինակ Ջոն Ռոմկին, ով աշխատում էր FTP Software ընկերությունում, MIT PC/IP փաթեթի հեղինակն էր։

TCP/IP տարածումը ավելի տարածվեց 1989 թվականին, երբ AT&T ընկերությունը համաձայնեց UNIX-ի համար նախատեսված կոդը դարձնել հանրային սեփականություն։ Շատ ընկերություններ, ինչպես օրինակ IBM-ը, այս կոդը օգտագործում էին իրենց TCP/IP փաթեթներում։ Շատ կազմակերպություններ Windows օպերացիոն համակարգի համար վաճառում էին TCP/IP փաթեթներ, մինչև որ Microsoft կորպորացիան Windows 95 թողարկեց իր սեփական TCP/IP փաթեթը։ Սա տեղի ունեցավ հաղորդակարգերի զարգացումից մի փոքր ավելի ուշ, սակայն իրական հիմք հանդիսացավ TCP/IP հաղորդակարգի տարածման և զարգացման համար։ Սա վերջնականորեն անհետացրեց նախկին բոլոր հաղորդակարգերը։

## Նախագծման հիմնական սկզբունքները
Նախագծային սկզբնական փաստաթուղթը՝ RFC 1122, ընդգրկում էր նախագծային հիմնական նկարագրություններ շերտավորման միջոցով։
* Ծայրից ծայր սկզբունք. Այս սկզբունքը ժամանակի ընթացքում ենթարկվել է մշակումների։ Դրա սկզբնական արտահայտությունը գործունեությունը դնում է ծայրերի վրա, և այդ դեպքում երկու ծայրերը իրար միացնելով հիմնականում շեշտը դրվում էր արագության և պարզության վրա։ Այժմյան աշխարհը արգելապատնեշների (անգլ.firewalls), ցանցային հասցեների թարգմանիչների, վեբ կոնտենտի քեշավորման և ժամանակի հրամանով այլ փոփոխումների կարիք ունի։
*Դիմացկությունան սկզբունք։ "Սկզբնապես գործունեությունը պետք է պահպանողական լիներ ուղարկման հարցում, իսկ ստացման դեպքում՝ լիբերալ։ Սա նշանակում է, որ պետք է զգուշություն ցուցաբերվեր լավ կազմված դատագրամները ուղարկելուց, բայց պետք է ունակ լիներ ընդունելու ցանկացած դատագրամ։ Սկզբունքի երկրորդ մասը նույնքան կարևոր է, ինչքան նախորդը. մյուս կողմում ծրագիրային փաթեթը կարող է պարունակել թերություններ, ինչը թույլ չի տա ունենալ անվտանգ հաղորդակարգի հատկություններ։

## Կարդացեք նաև
* HTTP
* HTTPS
* SMTP
* TCP
* IP

## Հղումներ

## Գրականություն
* Douglas E. Comer. *Internetworking with TCP/IP - Principles, Protocols and Architecture*. ISBN 86-7991-142-9
* Joseph G. Davies and Thomas F. Lee. *Microsoft Windows Server 2003 TCP/IP Protocols and Services*. ISBN 0-7356-1291-9
* 
* Craig Hunt *TCP/IP Network Administration*. O'Reilly (1998) ISBN 1-56592-322-7
* 
* Ian McLean. *Windows(R) 2000 TCP/IP Black Book*. ISBN 1-57610-687-X
* Ajit Mungale *Pro .NET 1.1 Network Programming*. ISBN 1-59059-345-6
* W. Richard Stevens. *TCP/IP Illustrated, Volume 1: The Protocols*. ISBN 0-201-63346-9
* W. Richard Stevens and Gary R. Wright. *TCP/IP Illustrated, Volume 2: The Implementation*. ISBN 0-201-63354-X
* W. Richard Stevens. *TCP/IP Illustrated, Volume 3: [[T/TCP|TCP for Transactions]], [[HTTP]], [[Network News Transfer Protocol|NNTP]], and the [[unix domain sockets|UNIX Domain]] Protocols*. ISBN 0-201-63495-3
* Andrew S. Tanenbaum. *Computer Networks*. ISBN 0-13-066102-3
* 

## Արտաքին հղումներ
* Internet History —Pages on Robert Kahn, Vinton Cerf, and TCP/IP (reviewed by Cerf and Kahn).
* RFC 675 - Specification of Internet Transmission Control Program, December 1974 Version
* TCP/IP State Transition Diagram  (PDF)
* RFC 1180 A TCP/IP Tutorial - from the Internet Engineering Task Force (January 1991)
* TCP/IP FAQ
* The TCP/IP Guide - A comprehensive look at the protocols and the procedures/processes involved
* A Study of the ARPANET TCP/IP Digest
* TCP/IP Sequence Diagrams
* Daryl's TCP/IP Primer - Intro to TCP/IP LAN administration, conversational style
* Introduction to TCP/IP

Կատեգորիա:Ինտետնետային պրոտոկոլներ
Կատեգորիա:Ինտերնետի պատմություն
Կատեգորիա:Ցանցային ենթակառուցվածքներ