Jump to content

Internet protocol

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Internet Protocol
Internet standard, գյուտ, հաղորդակարգ Խմբագրել Wikidata
Ենթակատեգորիահաղորդակարգ
 • ցանցային արձանագրություն Խմբագրել Wikidata
Մասն էTCP/IP model
 • TCP/IP Խմբագրել Wikidata
Թողարկման ամսաթիվ1981 Խմբագրել Wikidata
ՄշակողՎինթոն Գրեյ Սերֆ, Ռոբերտ Քան Խմբագրել Wikidata
OSI Model layer locationnetwork layer Խմբագրել Wikidata

Internet Protocol (IP, բառացի․ «համացանցային հաղորդակարգ»), այն TCP/IP ցանցային մակարդակի երթուղային հաղորդակարգ է։ Հենց IP-ն դարձավ այն հաղորդակարգը, որը միացրեց առանձին համակարգչային ցանցերը ընդհանուր համացանցի հետ։ Հաղորդակարգի անբաժանելի մասը ցանցի հասցեագրումն է։

Հատկություններ

[խմբագրել | խմբագրել կոդը]

IP-ն համատեղում է ցանցի հատվածները մեկ ցանցի մեջ, ապահովելով տվյալների փաթեթների առաքում ցանկացած ցանցի հանգույցների միջև կամայական թվով միջանկյալ հանգույցների (երթուղիչների) միջոցով: Այն դասակարգվում է որպես ցանցային շերտի հաղորթակարգ ՝ ըստ OSI ցանցային մոդելի: IP-ն չի երաշխավորում փաթեթի հուսալի առաքումը հասցեատիրոջը,մասնավորապես, փաթեթները կարող են չուղարկվել այն կարգով, որով առաքվել են, կրկնօրինակվել (մեկ փաթեթից երկու օրինակ է գալիս), վնասված լինել (սովորաբար վնասված փաթեթները ոչնչացվում են) կամ ընդհանրապես չեն ուղարկվում։ Փաթեթների անսխալ առաքման երաշխիքը տրվում է ավելի բարձր մակարդակի որոշ հաղորդակարգերով՝ OSI ցանցային մոդելի տրանսպորտային շերտով, օրինակ TCP — ներով, որոնք IP-ն օգտագործում են որպես տրանսպորտ:

IP փաթեթների մասնատում

[խմբագրել | խմբագրել կոդը]

IP փաթեթը առաքելիս այն անցնում է առաքման տարբեր ուղիներով: Հնարավոր է իրավիճակ, երբ փաթեթի չափը գերազանցում է կապի համակարգի հանգույցի հնարավորությունները: Այս դեպքում արձանագրությունը նախատեսում է առաքման ընթացքում փաթեթը IP մակարդակով մանրացնելու հնարավորություն։ Ըստ այդմ, վերջնական ստացողին փաթեթը կգա մի քանի փաթեթների տեսքով, որոնք պետք է հավաքվեն մեկում, նախքան հետագա վերլուծությունը: Փաթեթը հետագայում հավաքելու հնարավորությունը կոչվում է IP մասնատում:Արձանագրությունը նախատեսում է կոնկրետ փաթեթի մասնատման արգելքի հնարավորություն։ Եթե \ u200b \ u200bայդպիսի փաթեթը հնարավոր չէ ամբողջությամբ փոխանցել կապի հատվածի միջոցով, ապա այն ոչնչացվում է, և ICMP հաղորդագրությունը ուղարկվում է ուղարկողին խնդրի վերաբերյալ:

Ժամանակակից համացանցն օգտագործում է չորրորդ տարբերակի IP-ն, որը հայտնի է նաև որպես IPv4: Այս տարբերակի IP արձանագրությունում ցանցի յուրաքանչյուր հանգույցին համապատասխանեցվում է 4 օկտետ երկարությամբ (4 բայթ) IP հասցե ։ Այս դեպքում ենթացանցերում համակարգիչները միավորվում են հասցեի ընդհանուր սկզբնական բիթերով ։ Այս բիթերի քանակը, որոնք ընդհանուր են տվյալ ենթացանցերի համար, կոչվում է ենթացանցերի դիմակ, (նախկինում օգտագործվել է հասցեների տարածքի բաժանումը ըստ դասերի, A, B, C, ցանցի, դասը որոշվում էր ավագ օկտետի արժեքների միջակայքով և որոշում էր տվյալ ցանցում հասցեագրված հանգույցների քանակը, այժմ օգտագործվում է ոչդասային հասցեավորում

1996 թվականից սկսել է օգտագործվել հաղորդակարգի վեցերորդ տարբերակը, IPv6, որը թույլ է տալիս հասցեագրել զգալիորեն ավելի մեծ թվով հանգույցներ, քան IPv4-ը ։IPv6 հասցեի տարածքը կազմում է 2128։ Հասցեի նման մեծ տարածքը ներդրվել է հասցեների հիերարխիայի համար (այն հեշտացնում է երթուղղումը): Այնուամենայնիվ, հասցեի ավելացված տարածքը Nat-ը կդարձնի ընտրովի: IPv6-ի դասական կիրառումը (ցանցի միջոցով 64/մեկ բաժանորդի համար, օգտագործվում է միայն unicast հասցեագրումը) հնարավորություն կտա ավելի քան 300 միլիոն IP հասցեներ օգտագործել երկրի յուրաքանչյուր բնակչի համար: Այս տարբերակը առանձնանում է հասցեի բիթի բարձրացմամբ, ներկառուցված գաղտնագրման հնարավորությամբ և որոշ այլ առանձնահատկություններով: IPv4-ից IPv6-ի երկար անցումը կապված է հեռահաղորդակցման օպերատորների և ծրագրային ապահովման արտադրողների ժամանակատար աշխատանքի հետ և չի կարող կատարվել մեկ ակնթարթում: 2013-ի աշնանը Ինտերնետում առկա էր ավելի քան 14,000 ցանց, որոնք աշխատում էին IPv6 հաղորդակարգում: Համեմատության համար նշենք, որ 2010 թվականի կեսերին IPv4 հասցեների տարածքում առկա էր ավելի քան 320 հազար ցանց, բայց IPv6-ում ցանցերը շատ ավելի մեծ են, քան IPv4-ում:

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

Տարբերակ 4 (IPv4)

[խմբագրել | խմբագրել կոդը]
Օկտետ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 Տարբերակ IHL Differentiated Services Code Point ECN Փաթեթի երկարություն
4 Իդենտիֆիկատոր Դրոշներ Ֆրագմենտի տեղաշարժ
8 Կյանքի ժամանակը (TTL) Հաղորդակարգ Վերնագրի ստուգիչի գումարը
12 Ուղարկողի IP հասցե
16 Ստացողի IP հասցե
20 Ընտրանքներ (0-ից 10 32-բիթանոց բառ)
  Տվյալներ
  • Տարբերակ-IPv4-ի համար դաշտի արժեքը պետք է լինի 4:
  • IHL-(Internet Header Length) IP փաթեթի վերնագրի երկարությունը 32-բիթանոց բառերով (dword): Այս դաշտը ցույց է տալիս տվյալների բլոկի սկիզբը (անգլ.՝ payload — օգտակար բեռ) փաթեթում: Այս դաշտի նվազագույն ճիշտ արժեքը 5 է:
  • Փաթեթի երկարությունը - (ընդհանուր երկարություն) փաթեթի երկարությունը օկտետներում, ներառյալ վերնագիրը և տվյալները: Այս դաշտի նվազագույն ճիշտ արժեքը 20 է, առավելագույնը 65 535:
  • Իդենտիֆիկատոր - (Identification) փաթեթ ուղարկողի կողմից նշանակված արժեք և նախատեսված է փաթեթի հավաքման ժամանակ բեկորների ճիշտ հաջորդականությունը որոշելու համար: Մասնատված փաթեթի համար բոլոր հատվածներն ունեն նույն նույնացուցիչը:
  • Դրոշների 3 բիթ: Առաջին բիթը միշտ պետք է հավասար լինի զրոյի, երկրորդ DF (don't fragment) բիթը որոշում է փաթեթի մասնատման հնարավորությունը, իսկ երրորդ MF (more fragments) բիթը ցույց է տալիս, թե արդյոք այս փաթեթը վերջինն է փաթեթի շղթայում:
  • Ֆրագմենտի տեղաշարժ - (Fragment Offset) արժեք, որը սահմանում է տեղաշարժ դիրքը տվյալների հոսքում: Հատվածը տրվում է ութ բայթ բլոկների քանակով, ուստի այս արժեքը պահանջում է բազմապատկել 8-ով, բայթերի վերածելու համար:
  • Կյանքի ժամանակը (TTL) — երթուղիչների քանակը, որոնք կարող է անցնել այս փաթեթը: Երթուղիչն անցնելիս այս թիվը մեկով նվազում է ։  Եթե այս դաշտի արժեքը զրո է, ապա փաթեթը պետք է մերժվի, և փաթեթ ուղարկողին կարող է ուղարկվել Time Exceeded հաղորդագրություն (ICMP տիպ 11 ծածկագիր 0):
  • Հաղորդակարգ - հաջորդ մակարդակի ցանցային արձանագրության նույնացուցիչը ցույց է տալիս, թե որ արձանագրության տվյալներն է պարունակում փաթեթը, օրինակ,TCP, UDP, կամ ICMP В IPv6֊ը կոչվում է «Next Header»։
  • Վերնագրի ստուգիչ գումարը - (Header Checksum) հաշվարկվում է ըստ RFC 1071
Դիրքը օկտետներում 0 1 2 3
Դիրքը բիթերում 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Տարբերակ Երթևեկության դաս Հոսքի պիտակ
4 32 Բեռի երկարությունը հաջորդ վերնագիր Անցումների քանակը
8 64 Ուղարկողի IP հասցե
12 96
16 128
20 160
24 192 Ստացողի IP հասցե
28 224
32 256
36 288
  • Տարբերակ IPv6-ի համար դաշտի արժեքը պետք է լինի 6:
  • Երթևեկության դասը որոշում է երթևեկության առաջնահերթությունը (QoS, ծառայության դաս):
  • Հոսքի պիտակը եզակի թիվ է, որը նույնն է փաթեթների միատարր հոսքի համար:
  • Բեռի երկարությունը տվյալների երկարությունը օկտետներում (IP փաթեթի վերնագիրը հաշվի չի առնվում):
  • Հաջորդ վերնագիր սահմանում է ընդլայնված վերնագրի տեսակը (անգլ.՝ IPv6 extension), որը գալիս է հաջորդը: Վերջին ընդլայնված վերնագրում հաջորդ վերնագրի դաշտը սահմանում է տրանսպորտային արձանագրության տեսակը (TCP, UDP եւ այլն) և սահմանում է հետևյալ ծածկագրված մակարդակը:
  • Անցումների քանակը երթուղիչների առավելագույն քանակը, որոնք փաթեթը կարող է անցնել: Երբ երթուղիչը անցնում է, այս արժեքը նվազում է մեկով, և երբ հասնում է զրոյի, փաթեթը մերժվում է:
  • RFC 791 ֊ IP հստակեցում
  • RFC 1918 ֊ առանձնացնելով հասցեները մասնավոր ցանցերի համար
  • RFC 3330 ֊ IPv4-ում հասցեների հատուկ տիրույթներ