Համակարգչային ցանցեր։ Ներածություն։

Ներածություն։

Բարև Ձեզ, բարի գալուստ Ալան Թյուրինգի անվան Ծրագրավորման Փիլիսոփայության Դպրոց: Մենք այսօր սկսում ենք ցանցային և web ծրագրավորման հիմունքներ կոչվող դասընթացը: Կարևոր մեկ նյուանս՝ հիմունքներ և ոչ թե տարրեր: Դրանք էապես տարբեր բաներ են, բայց հաճախ մարդիկ մեկը մյուսով փոխարինում են, որպես նույն բանն են հասկանում: Վեբ ծրագրավորման տարրերից են ասենք՝ htlm լեզուն կամ SCC-ը, որը որ միջնակարգ դպրոցում էլ երեխեքը անցնում են ու նորմալ է: Հիմունքների մեջ մտնում են՝ ցանցեր, սոկետներ, պորտեր, host և client կոմունիկացիա, արձանագրություններ, պրոտոկոլներ ու էլի սենց լիքը բարդ բաներ, որոնք ո՛չ դպրոցներում են անցնում, ո՛չ էլ մարդիկ են խորանում հիմնականում այդպիսի բաների մեջ: Դպրոցի նպատակը, իմաստը կայանում է նրանում, որ փորձում ենք տալ հենց այդ ֆունդամենտալ, ավելի փիլիսոփայականը տանող գիտելիքը, քան թե՝ տարրական գիտելիք, որը հիմնականում հենց գործում է: Ուրեմն՝ իմ նպատակը և այս դասի նպատակն այն է, որ ստանանք հիմունքներ՝ գիտելիքներ, թե հետո որտեղ կօգտագործեք՝ չգիտեմ։ Չէ կատակ եմ անում: Ցանկացած լուրջ տիպի հարցազրույցի մեջ ներառված է լինում ցանցային և web ծրագրավորման հիմունքներից հարցեր: Միգուցե, առնչված լինեք, օրինակ՝ երբեմն պատահում է այսպիսի հարցեր են տալիս՝ սոկետը պորտից ինչո՞վ է տարբերվում: Ու ասենք իրենք, ընդհանրապես, իրար հետ կապ չունեն՝ ուղղակի հարցն է այդպես ձևակերպված: Այսինքն՝ հարցն այս տեսքը կունենա, դուք դրան պետք է պատասխանեք: Նախ պետք է իմանաք մեկն ինչ է, մյուսն ինչ է, հետո նոր կարողանաք ընդհանուր եզրեր գտնել, ինչ-որ ձևով հասկանանք իրենք իրար հետ ի՞նչ կապ ունեն ու ինչո՞վ են տարբերվում: Այ այդ տիպի հարցերը, իրոք, ոնց որ ավելի խորքային, ավելի բարձր պաշտոնի հավակնող մարդկանց համար են: Դժվար, թե ասենք junior ծրագրավորողին այ այս տիպի հարցեր հարցնեն: Բայց իմ մոտեցումը հետևյալն է, ինչպես Սուվորվն էր ասում. «Плох тот солдат, кто не мечтает быть генералом»: Ես կարծում եմ, որ եթե որևէ մեկը ցանկանում է դառնալ ծրագրավորող, ապա նա նաև մի 5 տարի հետո ցանկանում է դառնալ ավագ ծրագրավորող: Եվ եթե նա այստեղ բաց թողնի ինչ-որ բան, ապա մի օր ստիպված է լինելու լրացնել՝ այդ տեղը հասնելու համար: Դրա համար ինչքան շուտ ես սկսում, այդքան այդ պրոցեսն ավելի հեշտ կլինի: Ընդ որում ես ունեմ այդպիսի հետադարձ կապ, ում մոտ ասենք կա այդպիսի բաց: Օրինակ՝ ընկերություններ, որի աշխատողները գնան ու այսպիսի խորքային բաներ լսեն, որովհետև ժամանակին մարդիկ բաց են թողել՝ գործի մեջ են կլանված եղել: Հիմա ինչ-որ կերպ այդ բացը իրենք պետք է լրացնեն: Կապ չունի, որ ինքը 5 տարվա կամ 10 տարվա ծրագրավորող է: Լավ կլինի գնա ու այսպիսի ֆունդամենտալ բաներ սովորի:

Իմ անունը՝ Վահրամ Մարտիրոսյան է, ես դպրոցի հիմնադիրն եմ, նաև դասավանդում եմ մի քանի առարկաններ: Ընթացքում կարծում եմ, ավելի մոտիկից կծանոթանանք: Դասընթացը կոչվում է ցանցային ու web ծրագրավորման հիմունքներ։ Ինչո՞ւ։ Վեբ ծրագրավորումը փաստացի հանդիսանում է ցանցային ծրագրավորման մասնակի դեպք, երբ կան կոնկրետ արձանագրություններ, պրոտոկոլներ։ Խնդրում եմ, մի պահանջեք ինձանից լրիվ հայերեն բովանդակություն, որովհետև տերմինները թարգմանելուց ինչ-որ անիմաստ բան կստացվի, ինչքան հնարավոր է հայերեն կասեմ, բայց երբեմն, ուղղակի կասենք պրոտոկոլ, որովհետև արձանագրություն մի տեսակ այդպես լավ չի հնչում: Որպեսզի կարողանանք web-ի մասին խոսել, պետք է հասկանանք, թե ոնց են սարքած, թե ոնց են աշխատում ցանցերը, ոնց են ծրագրավորում ցանցերը, այսինքն՝ ցանցերի միջոցով գրում ծրագրեր: Հետո հասկանանք, որ այդ ծրագրերից մեկը կոչվում է web սերվեր և արդեն այդտեղ ամեն ինչը կոչվում է web ծրագրավորում:

Շատ լավ, ուրեմն համակարգչային ցանցերը ստեղծվում են համակարգիչները իրար միացնելով: Կարևոր հանգամանք, որ համակարգիչները միացնելու արդյունքում պետք է կարողանան տվյալներ փոխանակեն: Կարող ենք այնպես միացնել, որ ցանց չդառնա: Մի քանի կարևոր հանգամանք պետք է ֆիքսել: Անհնար է խոսել ցանցի մասին ու չասել, թե այդ հանգույցները ոնց են իրար կպած, լարով, որ հոսանք է գնում, լարով, որով լույս է գնում, թե ռադիոալիքներով, թե ձայնային ալիքներ են, էլ չգիտեմ ոնց կարելի է կպցնել։ Պետք է իմանալ, թե ֆիզիկական մակարդակում ոնց են իրար կպած։ [Հարց․ արդյոք դա նույնը չէ՞, ինչ լեզուն։] Նույնը չէ, քանի որ նույն ֆիզիկական կապի դեպքում՝ մենք կարող ենք ունենալ տարբեր լեզուներ: Մարդու խոսակցությունը, մարդկանց միջև շփումը ձայնային ալիքների միջոցով է, և բերանն ու ականջն են այդ սարքերը ֆիզիակական մակարդակում: Բայց այդ նույն բերանով ու ականջով մենք կարողնում ենք տարբեր լեզուներով շփվել: Ասենք՝ ես հիմա հայերեն եմ խոսում, դա software մակարդակն է, բերանը՝ hardware: Ուրեմն, եթե ցանցի մասին խոսում ենք, ապա պետք է ֆիզիկական մակարդակն իմանաք, հետո պետք է իմանաք, թե ինչ լեզու են օգտագործում հանգույցները և ևս մեկ կարևոր բան պետք է՝ հանգույցները հասցեավորվեն, համարակալվեն, իդենտիֆիկացվեն, որովհետև, երբ որ մի հանգույցը մյուսին բան է ասում, այդ ինչ-որ բանի վրա պետք է հասցեատերը գրված լինի, ակնհայտ է, որ դրանք պետք է տարբեր համարներ ունենան:

Շատ լավ, երբ հանգույցները միացրեցինք իրար, միացման տարբեր հնարավոր եղանակներ ունենք, նույն տեխնոլոգիայի շրջանականերում, օրինակ՝ եթե ես վերցնեմ 4 հանգույց, ապա ես կարող եմ, օրինակ՝ հաջորդաբար միացնել ու այստեղ, եթե առաջին հանգույցը որոշի 3-րդ հանգույցին ինչ-որ բան ուղարկել, ապա ենթադրենք ուղղություն էլ ունի այս կապը, ապա՝ առաջինը պետք է փոխանցի երկրորդին՝ ասելով փոխանցեք երրորդին: Հաջորդական միացում, որտեղ կան խնդիրներ: Ուրեմն սա կոչվում է տոկոլոգիա՝ կառուցվածք, ստրուկտուրա ցանցի: Այս դեպքում տոկոլոգիան հաջորդական է: Ես նմանատիպ 4 հանգույցանի ցանց կարող եմ կառուցել, օրինակ՝ այսպես։ Բոլոր հանգույցները՝ միացնելով բոլոր հանգույցներին: Ես կունենամ լրիվ գրաֆ տարբերակը: Ամեն հանգույց ուղիղ կապ ունի։ Եթե պատկերացնենք լարեր են, ապա ես 4 հագույցի համար 6 հատ լար եմ անցկացրել: Դե բանաձևով կարելի է հաշվարկել, քանի լար է պետք, քանի հանգույցի համար: Օրինակ եթե 1000 հանգույց լինի, ապա այդտեղ տասնյակ հազարավոր լարեր են պետք: Դա լավ եղանակ է, բայց այստեղ ոչ մի հանգույց ոչ մի հանգույցից կախված չէ: Լավ, ինչ-որ խնդիր լավ է լուծվում, ինչ-որ խնդիր վատ: Կարող ենք մեկ այլ տարբերակ ևս գրել: Եվս մեկ հանգույց էլ, եթե լիներ ու այդ բոլորը միանային այս մեկ հանգույցին, իրենք թող իրենցը ունենային, այստեղ 5 անվանեինք, սա էլ ինչ-որ իր դրական կողմերն ունի: Այսինքն, օրինակ՝ այստեղ լարերը քիչ են, ընդամենը 4 լարով, այնքան, ինչքան այստեղ էր, բայց ունեցանք մի կողմից ավելի հուսալի, օրինակ, եթե այստեղ մեկն անջատված լինի, ապա 1-ն ու 3-ը դեռ կկարողանան շփվել, բայց մյուս կողմից ավելի կենտրոնացված պրոբլեմատիկ, այսինքն՝ եթե 5-րդ հանգույցն անջատվեց, ուրեմն վերջ՝ այլևս ցանցը գոյություն չունի: Ուրեմն, սա էլ անվանում են աստղաձև տոպոլոգիա և միգուցե էլի ինչ-որ տարբերակներ լինեն, սրանք ավելի տարածված են:


Օրինակ՝ նայեք, այս սենյակում մենք ունենք համակարգիչներ ու այստեղ մի հատ սարք կա, գետնի վրա, բոլոր լարերը գալիս են ու իրեն միանում: Համակարգիչներից լարերը գալիս են ու միանում իրեն: Հիմա, եթե այս սարքը ևս հանդիսանում է հանգույց, ոնց իմանաք հանդիսանում է, թե՝ ոչ: Հասցե ունի՞, ես չգիտեմ ունի, թե՝ ոչ: Հիմա երկու դեպք կարող է լինել, կա՛մ ունի, կա՛մ չունի: Տարբերակներից մեկը սա է նայեք. Այսպիսի սարք կա՝ Hub կամ Switch: Այսպիսի սարք է, որ բոլոր լարերը գալիս են միանում են իրեն, ներսում ինքն ապահովվում է կոնտակ համապատասխան լարերի միջև, այսինքն՝ բոլորից եկող առաջին լարերը միացնում է իրար, երկրորդներն իրար, երրորդներն իրար և ստացվում է այսպես՝ խրցով փաթաթված են իրար: Ինքն այս դեպքում ցանցի հանգույց չի: Փաստացի, եթե Hub է սարքը, ապա մենք ունենք լրիվ գրաֆ, այսինքն՝ քիչ են, մի կողմից մենք լարերը այս մոդելով ենք քաշել, ամեն համակարգչից մի լար է դուրս գալիս, բայց որպես այդպիսին, կենտրոնական հանգույց չկա, Hub-ը հանգույց չի: Հիմա նայեք, վերցնենք այս ցանցում մենք ինչ ունենք, տեխնոլոգիան, պղնձից լարեր են գնում, փաստացի այդ շղթայից օգտվող հանգույց։ Ցանցի աշխատանքը պատկերացնելու համար դպրոցական ֆիզիկայի կուրսը երևի բավական է: Այս սրա նման, առանց 5-ի, փաստացի ես ունեմ հանգույցներ և այդ բոլոր լարերը միացված են իրար: Հիմա, եթե ես այստեղ լարում եմ տալիս, ապա ո՞վ է ստանում այդ լարումը, ո՞ւմ է հասնում։ Բոլորին, հա: Այսինքն, եթե հանգույց 1-ը հանգույց 3-ին փորձում է ինչ-որ բան փոխանցել, այստեղ ինքը լարում է ստեղծում, լարման միջոցով կոդավորված ես չգիտեմ ոնց, ուզում է փոխանցել, բոլորն իմանում են այդ մասին, հասկանում եք, բոլորին այդ ինֆորմացիան գալիս է: Պատկերացրեք, և ինչ է տեղի ունենում: Պարզապես, այդ փաթեթն ունի հասցեատեր, վրան գրված է դա 3-ի համար է և մյուս հանգույցները՝ 2-ն ու 4-ը ուղղակի դա չեն բացում և չեն նայում, թե մեջն ինչ կա, բայց իրենց ստանում են: Այսինքն՝ մենք, ոնց որ այդ մասին չենք մտածում, բայց խնդրում եմ մտածեք։ Երբ դուք որևէ մեթոդով, որևէ մեկին, որևէ բան եք ուղարկում, այդ նույն բանը ստանում են տասնյակ հազարավոր հանգույցներ ևս, պարզապես իրենք չեն ընդունում դա: Ենթադրենք՝ լավ կլիներ, որ իրենք չբացեին, մենք չենք կարող վստահ լինել, երևի չեն անում այդպիսի բան: Ուրեմն այդպիսի հարցերը լուծում են, hardware-ի և օպերացիոն համակարգերի մակարդակների վրա: Այսինքն՝ մեր տեսակետից կարևոր նյուանս, մենք ցանցերին նայելու ենք որպես application developer, ոչ թե համակարգային ծրագրավորող, կա՛մ hardware developer, կա՛մ ցանցային ադմինիստրատոր։ Դրանք տարբեր տեսանկյուններից օբյեկտին դիտման մեխանիզմներ են, որպես application developer: Մեզ համար, այն ամենն ինչը գտնվում է համակարգից ներքև, ուղղակի սև արկղեր են տուփի մեջ: Ինչ-որ սև արկղեր հիմա այնպես են անում, որ երբ 1-ը ուղարկում է 3-ին, մյուսները չեն ստանում, չեն կարդում, բովանդակությունը չեն տեսնում, բայց Hub-ը դա, ոնց որ ամենացածր մակարդակի հանգույցն է, երբեմն Hub-ը հանգույց էլ չի, ավելի լավ տարբերակ կա՝ Switch կոչվող սարքը, որի վրա գրված է, որ ինքը Switch է: Կան էլի, որ մի քանի լարերից եկող հանգույցներ միանում են և աշխատում է որպես Hub: Այսինքն, երբ նոր միացրեցինք, ինքը պարզապես Hub-ի պես այդ բոլոր լարերը կպցնում է իրար, բայց նայում է այդ պրոցեսին, այսինքն՝ ինքն ուշադիր նայում է, որ ինչ-որ բան ուղարկեց՝ ինքը տեսնում է փաթեթը, որ վրան գրված է 1-ը 3-ին ուղարկում է ինչ-որ փաթեթ: Ինքը չի նայում՝ ինչ է գրված մեջը, բայց բոլորին ուղարկում է և տեսնում է, որ այսինչ համարի լարից պատասխան եկավ կամ հաստատում եկավ: Այնտեղ գրված է հա ստացա: 3-ը փաստորեն ստացավ: Այսինքն՝ ինքն իր մոտ այդ արտապատկերում է պահում: 3 համարի հանգույցը, իրա պորտերից կպած էր 4-ին, ենթադրենք: Ինքն իր մոտ գրում է 3-ը ոնց որ 4-ն է: Ինքը շարունակում է էլի ուսումնասիրել, էլի սենց ինչ-որ տվյալներ են գնում գալիս, ինքն անընդհատ նայում է, ում էին ուղարկում և որտեղից եկավ պատասխան: Որովհետև ինքը միշտ բոլորին է ուղարկում, բայց պատասխանը մի տեղից է գալիս: Ու քիչ-քիչ իր մոտ այդ վստահությունն ավելանում է, որ 3 համարը 4-րդ պորտին է կպցված, ու իրա մոտ ինքը հաստատ համոզվեց, դրանից հետո, երբ որ 3-ին ուղարկված փաթեթներ են գալիս, ինքը միայն 4 պորտին կպցված պորտով է ուղարկում: Դրանից հետո այն մնացած բոլորը չեն ստանում, հա՛մ ընդհանուր ծանրաբեռնվածությունն է թեթևանում, հա՛մ էլ դե ինչու ստանան, եթե իրենցը չի այդ փաթեթը: Ուրեմն, Switch մի քիչ ավելի խելոք սարք է, կարելի է այդպես ասել, բայց ինքն այդպես կոնֆիգուրացվող չի, քանի որ ընթացքում սենց հասկանում է ում է հասցեագրված ու սկսում է պարզեցնել իր երթևեկությունը: Բայց, օրինակ՝ մենք կարող ենք վերցնել երկու լար և տեղերով փոխենք ու Switch-ի մոտ ամեն ինչ կխառնվի իրար, ինքն իր իմացած լարի միջոցով փորձում է ուղարկել, բայց պատասխան չի գալիս, որովհետև հասցեատերը փոխվել է, ընդունողն ասում է՝ ուղղակի սա իմ փաթեթը չի ու անտեսում է: Ստացվում է՝ պատասխան չի գալիս ու ինքն ասում է, վայ կարողա մի բան խառնել եմ, ջնջում է իր մոտի հավաքած ինֆորմացիան ու ասում է՝ լավ հլը նորից սկսենք: Նույն բանը տեղի է ունենում, երբ որ իրեն մենք անջատում ու միացնում ենք: Ինքն ամեն անգամ սկսում է ցանցի հետ ծանոթանալ:

Switch—ից հետո արդեն ավելի խելացի սարքեր կան, որոնց անվանում են router երթևեկիչ, երթուղիչ, չգիտեմ, բայց route-ը երթուղին է: Այսինքն՝ սարք, որն օգնում է գտնել երթուղին: Մենք հետագայում իրենց հետ ավելի լավ կծանոթանանք: Թե ոնց են իրենք օգնում, որ ցանցերն աշխատեն, թե ոնց են ցանցերը սարքած՝ չգիտեմ: Ուրեմն router-ը կարելի է ավելի խելացի սարք համարել, իրենք, փաստացի, համակարգիչների պես են աշխատում, բայց հատուկ տիպի օպերացիոն համակարգեր, որոնց նպատակը հենց այդ հարցը լուծելն է: Ուրեմն, router-ի նպատական այն է, որ իրենք կարող են մտնել ցանց հազարավոր հանգույցներով և բարդ ցանցում ցույց տան ճանապարհ: Օրինակ՝ դուք վերցրել եք ու ցանկանում եք ուղարկել ինչ-որ մեկին, վրան գրել եք 3, router-ը իր մոտ քարտեզներ պետք է բացի, նայի, թե ում կարող է հարցնել հավելյալ ինֆորմացիայի համար, այսինքն՝ իր իմացածը քիչ է, ինքը չգիտի 3-ը ով է, որովհետև ցանցը մի քիչ շատ է: Ուրեմն, router-ները խելացի հանգույց են հանդիսանում արդեն փաստացի: Եվ հաճախ router-ի գործը համակարգիչները կարող են անել: Հիմա ցանկացած օպերացիոն համակարգում կա routing service կոչվածը, windows-էլ ունի, Linux-ն էլ routing և ադմինիստրատորը ամեն ինչ կարգավորում է։ Մի անգամ կարգավորում ես ու թողնում ես ինքն աշխատում է: Ուղղակի կներեք, եթե ես սխալվում եմ, բայց գաղափարն այդպես է: Մի անգամ կառուցենք, հետո ինքն իրեն կաշխատի:

Ուրեմն, տոպոլոգիայի տեսակետից ցանցերը լինում են տարբեր: Կարևոր հանգամանքը տարածվածությունն է։ Ամենափոքր տարբերակը՝ local area network-ն է, որը լոկալ տիրույթներում աշխատող սարքերն են: Օրինակ՝ մի սենյակում, կա՛մ մի շենքում, կա՛մ այստեղ, որ այս ցանցը տեսնում եք կան համակարգիչներ, կա wi-fi, այդ բոլորը միմյանց միացված են, ուրեմն՝ մենք գործ ունենք local area network-ի հետ: Ուրեմն, հիմնականում իրար լարերով են միացված լինում և օրինակ՝ այդ դեպքում մենք գործ ունենք՝ ethernet կոչված ցանցի հետ: Բայց չգիտեմ միակ տարբերակն է, թե՝ ոչ: Կարող են էլի ցանցեր լինեն, որտեղի կոմունիկացիան ապահովվում է 8 լարանի այդ մալուխը՝ Untwisted pairs - UTP: Եվ այստեղ կարևոր է, թե որը, որին է միացված: Կախված նրանից, թե որ լարը որին կմիանան կունենաք երկու իրարից տարբեր մոդելներ: Այսինքն՝ երկու իրար հավասար կամ մեկը մեկի նկատմամբ առավելություն ունեցող: Ուրեմն՝ լոկալ ցանցերում հանգույցների քանակը բավականին խելամիտ պետք է լինի` 100 միգուցե, մենք այդտեղ որոշակի տոկոլոգիայով պետք է շարժվենք, երևա հա, որ այս ցանցն այսպիսին է:

Տարածվածության հաջորդ մակարդակը կոչվում է Wide Area Network, ավելի մեծ area-ների համար, օրինակ՝ քաղաք, կամ ամբողջ երկիրը՝ Wide Area Network-ը կարող է ծածկել: Օրինակ՝ հայկական բոլոր պրովայդերներն իրար միացված են օպտիկական մալուխներով: Այն ժամանակ, համենայնդեպս, միացված էին: Ստացվում է, որ Հայաստանի բոլոր հանգույցները գտնվում են այդ Wide Area Network-ի մեջ, մի պրովայդերից մյուս պրովայդեր: Եվ մենք ունենք, փաստացի, Wide Area Network Հայաստանի սահմանի մեջ, բայց դա միակը չի, օրինակ՝ մի ժամանակ կային wireless, ինչ որ մոդեմներով, ռադիոմոդեմներով, կարող է հիշեք “I-con” կոչվող պրովայդեր կար մի ժամանակ, որը հենց այդ տիպի ցանց էր կառուցում, այսինքն՝ իրենք հեռարձակում էին և դուք կարող էիք ունենալ ընդունիչ մի քանի կիլոմետր հեռու, որը պետք է ճիշտ դնեիր ու աշխատում էր: Ամբողջ քաղաքը կարող էր օգտվել: Wide Area Network-ի դեպքում կոմունիկացիան էլի կարող է լարով լինել, կարող է չլինել: Երկու դեպքն էլ կարող է լինել: Եվ հաջորդ մակարդակում կարող ենք ասենք ունենք գլոբալ ցանց: Գլոբալ, Globe-ը Երկրագունդն է: Գլոբալ ցանցը ենթադրում է, որ երկրագնդի ամբողջ մակերեևույթով է ցանցը: Այսինքն՝ ցանկացած տեղից հանգույց կարող է իրեն միանալ և գլոբալ ցանցերում արդեն հարց է առաջանում հա, բա տեխնոլոգիան ոնց լարով միացնենք, թե՝ wi-fi-ով, թե ինչով միացնենք: Արդեն այստեղ լուծումները ավելի մեծ են, այստեղ կա արբայնակային կապի հնարավորությունը և հեսա մի քանի տարի հետո էլ Spacex-ը, որ անընդհատ արբայնակներ է թռցնում, ամբողջ մոլորակն ուզում են ծածկել wi-fi-ով: Wi-fi-ով հա, ոչ թե արբայնակային կապով, որովհետև Wi-fi-ը արբայնակներից լավ է: Բայց եկեք գլոբալի վրա չկանգնենք։ Օրինակ՝ Curiosity-ն մարսագնացը, Մարսի վրա է աշխատում, բայց մենք դրա հետ էլ կապ ունենք: Դա այնքան էլ գլոբալ չի, որովհետև արդեն դա երկու մոլորակների մինչև կապն է: Կամ վերցնենք Վոյաժորներին, ովքեր արդեն դուրս են եկել արեգակնային այդ համակարգի սահմաններից, իրենք մեր գալակտիկայի մասն են կազմում, այսինքն՝ մենք ունենք գալակտիկական մակարդակի ցանց: Մենք չէ, բայց Nasa-ն ունի: Բայց ինչ-որ մեկն ունի: Գլոբալով չենք սահմանափակվում, բայց հիմնական թիրախը՝ գլոբալը, հերիք է: Եթե երկրագունդը կարողացանք ծածկել, ուրեմն՝ հերիք է:

Ուրեմն՝ ինչ են անում այս ցանցերի հետ: Եկեք այսպես նայենք հա, արդյո՞ք իրենք մեզ պետք են։ Եթե մենք ապրեինք 70-ական թվականներին, ես մոտավորապես նույն բաները կպատմեի, բացի գլոբալից, որովհետև այդ ժամանակ wi-fi էլ չկար, բայց էլի ինչ-որ ցանցերի մասին կկարողային խոսել, իսկ հարցին, թե իրենք մեզ պետք են, թե՝ ոչ հիմնականում մարդիկ կասեին չէ, որովհետև այն թվականներին ցանցով իրար միացված էին ասենք ուժային կառույցների շենքեր, հանգույցներ, մեկել երևի թե ինչ-որ բուհեր, ուղղեք ինձ եթե ես սխալվում եմ:

Ուսանող - Ինքնաթիռի տոմսերը:

Վահրամ - Ինքնաթիռի տոմսերը 70-ականներին արդեն ցանցով էին պատվիրում, լավ. ուրեմն՝ դրանք էլ ավելացնենք:

Հարց ---- Լուսին թռչելիս ցանց չի եղե՞լ։

Վահրամ - Լավ, բայց դա չի եղել համակարգչային ցանց, եղել է դա, նույն ռադիոալիքներն են օգտագործվել, իրականում հեռուստատեսությունն էլ է եղել նույն ռադիոալիքով ու ինքը եղել է դեռևս 30-ականներից: Ուղղակի այդտեղ նոր բան չի հորինված, ուղղակի հաճախություն է կոնկրետ, հեռավորություններն են ավելի լավ, թողունակությունն է մեծ, բայց բուն տեխնոլոգիան ռադիոալիքներն են, որը ոնց որ շատ վաղուց կան: Այդ ժամանակներում կար ցանցայինը, որը շատ սահմանափակ տիրույթ է, այսինքն՝ մարդը իր տանը դժվար թե մտածեր ունենար հանգույց, որ միացված է, դե հեռախոս հասկացանք, կար այդ ժամանակ հեռախոսային ցանց, բայց համակարգիչներ համարյա չկային ու ցանցերն էլ նույն վիճակում էին: Մեր օրերում իրավիճակը ճիշտ հակառակն է, մեր բոլորիս տներում կան հեռախոսներ, համակարգիչներ, պլանշետներ, laptop-եր, նեթբուքեր, ու էլի սենց շատ բառեր ու իրենք բոլորը ցանցերի մեջ են: Ուղղակի դժվար է պատկերացնել ինչ-որ սարք, որը միացված չէ, ոչ մի բանի: Ի՞նչ ենք անելու իրենով: Պատկերացրեք՝ ունեք այդ տիպի սարքը, որը ոչ մի բանի միացված չի: Ասենք խաղեր կան չէ Տետրիս, դրանից այն կողմ ինչ կարելի է անել: Իրականում նույնիսկ հիմա խաղերը, նույն Տետրիսը, երբ խաղում եք վերջում ասում է. կուզես արդյունքներդ share անեմ ինչ-որ մեկի հետ: Ասենք՝ ինքը ցանցային խաղ չի, ուզում էի իմ համար տանը խաղայի: Ուրեմն, արդեն դժվար է մեզ պատկերացնել առանց ցանցերի: Շատ լավ, իրականում ցանցերն այսքան էլ պարզ չեն: Մի հատ փոքր նյուանս էլ, ուրեմն, ինչ վերաբերում է արդեն ավելի մեծ ցանցերին, օրինակ՝ օգտագործվում է օպտիկա-մալուխային կապ, оптоволокно կոչվածը, որն իրենից ներկայացնում է, ոչ թե մետաղական հաղորդիչ լար, այլ լույսի հաղորդիչ, իսկ ավելի կոնկրետ՝ ապակի, կամ ապակուն շատ մոտիկ նյութ: Եվ կարող եք նայեք տեսանյութեր կան, թե ոնց են սարքում այդ լարերը: Շատ աբսուրդի հասնող բան է: Մեծ ապակե գլան է, որի տակ մի կետում տաքացնում են, դե ապակին ամորֆ է չէ, ինքն ուղղակի փափկում-փափկում է ու սկսում է ծորալ, այսինքն ինքը հալում չունի, տաքանում-տաքանում է ու սկսում է ծորալ, սենց բարակ գալիս գալիս է, հետո այն կողմից վերցնում են, սենց տանում են փաթաթում են մի հատ մեծ բանի վրա և դառնում է ապակուց բարակ լար, հետո այդ լարը պատվում է մի հատ նյութով, որը չի թույլ տալիս ուղղակի, որ լույսը դուրս գա միջից և երբ որ մի կողմից լույս եք բաց թողնում, լույսը մեջն անդրադառնալով պատերից, ինքը սենց ուղիղ չի գնում, ուղղակի տեղ չունի փախնելու, գնում է ու մյուս կողմից դուրս է գալիս: Լույսի արագությամբ: Իհարկե ոչ մեկին չենք զարմացնի, որովհետև ռադիոալիքներն էլ են լույսի արագությամբ գնում, բայց հետաքրքիրն այն է, որ այստեղ հենց լույսն է: Այսինքն, եթե դուք իրեն այսպես նայեք այնտեղ լույս է, հենց լույս:

Մյուս հետաքրքիր կոմունիկացիոն տեխնոլոգիան արբայնակային կապն է, որովհետև այստեղ, հիմնականում տներում, պետք չի լինում, մեծ շենքերի գլխին է, մեծ սենց անտենաներ դրված լինում, այսինքն՝ ոչ թե հեռուստաալիքների համար են դրանք դրված լինում, այլ որպես ցանց օգտագործելու համար: Հիմնականում օգտագործում են գեոստացիոնար կոչված արբայնակները, որովհետև իրենք միշտ նույն կետում են գտնվում, որովհետև եթե արբայնակը փախնում է մենք ոնց իրեն ուղղենք, այսինքն՝ մի ժամանակ, այդպիսի լուծումներ էլ կային, միայն գեոստացիոնարը չի, մի հատ էլ գեո էլի ինչ-որ օրբիտա կա, որի պրոեկցիան երկրի վրա ինչ-որ ութաձև տիրույթ է կազմում և պետք է անտենան հետևի, այսինքն՝ ինքն այսպես շարժվում է, ինքը մի կետում կանգնած չի ու պետք է անտենայի վրա շարժիչ լինի, որը անընդհատ կուղղորդի այդ անտենային, որ անընդհատ նայի այդ արբայնակին այդքան էլ հարմար չի: Ավելի լավ է ինքը միշտ մի կետում լինի: Հիմա նայեք, եթե ինքը միշտ մի կետում է, ապա որտեղ է գտնվում, կամ որն է ուղեծրի պրոեկցիան երկրի վրա, Երկիր մակերևույթի վրա: Արբայնակ էլ ինքն իր համար թռնում է: Գեոստացիոնարը նշանակում է, որ ինքը միշտ նույն կետի վերևում է գտնվում: Հիմա, իրա ուղեծրի պրոեկցիան երկրի մակերևույթի վրա՝ ո՞նց կբնութագրեք, դա ո՞րն է: Որ կետի վերևում է, այսինքն՝ ուղիղ կանգնեմ նայեմ վերև վերևում լինի, ես որտե՞ղ պետք է լինեմ՝ հասարակած: Օրինակ՝ ինքը չի կարող սենց պտտվի, այսինքն՝ բևեռների վերևով անցնի, որովհետև ինքը պետք է Երկրագնդի նույն կետի հենց վերևում լինի, այսինքն՝ պետք է պտտվի Երկրագնդի հասարակածով անցնող հարթության մեջ: Մի բան պարզեցինք: Հետաքրքիր բան, ասում են, երբ որ մոլորվում են հարավը ոնց են գտնում, ավելի ճիշտ հյուսիսը գտնում ենք՝ նայելով ծառերի վրա աճող մամուռին: Չէ, մամուռն աճում է հյուսիային կողմում: Իրականում, այդ պնդումը ճիշտ է միայն հյուսիային կիսագնդում, որովհետև հարավային կիսագնդում մամուռն աճում է հարավում: Մի հատ մտածեք ու կհասկանաք՝ խի, դա իրականում արևի դիրքից է կախված, ստվերը որ կողմում է, այդ կողմում էլ մամուռն է: Ուրեմն, նայեք, եթե կան արբանյակային անտենաներ՝ ալեհավաքներ, ապա ինչպես պետք է կողմոնորշվել, հյուսիսային կիսագնդում գտնվելու դեպքում իրենք նայում են հարավ, միջինում, այսինքն՝ եթե մի քանի հատ վերցնենք, ապա իրենց միջին ուղղությունը հարավն է, քանի որ հասարակածը մեզնից հարավ է գտնվում, նույնը նաև հակառակը՝ Ավստրալիայում դեպի հյուսիս են ուղղված: Ուղղակի, որ մոլորվեք հանկարծ քաղաքում կարող եք դրանով կողմնորոշվել:

Հարց---

Վահրամ- դե չէ առավոտը, եթե արևը տեսնում ենք՝ կկողմնորոշվենք, բա եթե արև չկա: Լավ, հաջորդ կարևոր նյուանսը՝ գեոստացիոնարը արբայնակները, նույն անկյունային արագությամբ են պտտվում ինչ՝ Երկիրը և օգտվելով այդ փաստից, և այն փաստից, որ ինքն իր շարժիչների հաշվին չի թռնում, ինքը ո՛չ ընկնում է երկրի վրա, ո՛չ էլ գնում է Երկրից: Հետևաբար՝ ինքն առաջին տիեզերական արագությամբ է թռնում երևի, այսպես մի քանի փաստեր համախմբելով դպրոցական նյութից, կարող ենք դուրս բերել և կստանանք, որ գեոստացիոնար արբայնակների օրբիտայի շառավիղը իրականում 33.000 կմ է: Այդ թիվը շատ մեծ թիվ է, եթե համեմատենք երկրագնդի շառավղի հետ, մի քանի անգամ մեծ է: Իրականում այնքան մեծ է, որ լույսի արագությամբ գնացող ինֆորմացիան ինչ-որ բան ունի անելու: Լույսի արագությունը մոտ 299 792 458 մ/վ, ստացվում է, որ եթե մենք լույսի արագությամբ ռադիոալիքներ ենք ուղարկում, գնալու և հետ գալու վրա լույսը ծախսում է մոտ 200 միլիվայրկյան: Դա լավագույն դեպքում: Միգուցե, պետք լինի գնա, հետո անցնի մեկ ուրիշ արբայնակի, հետո նոր հետ գա, ապա այդ դեպքում 200-ից ավել: 200 միլիվայրկյանը արդեն շատ մեծ թիվ է ցանցերի համար, որովհետև, եթե դուք երկու հանգույցների միջև ունեք 200 միլիվայրկյանից ավելի մեծ ուշացում, ապա հնարվոր է, որ այդ ինֆորմացիան էլ ոչ մեկին պետք է չէ: Մինչև ինֆորմացիան գա մեզ հասնի, մենք այնքան ենք հետ ընկել, որ էլ մենք չենք կարող գործել: Օրինակ՝ հենց ցանցերը օգտագործվում են բիրժաներում՝ բորսաներում (հայերեն), ինչ է տեղի ունենում: Ինչ-որ տեղ գործարք է տեղի ունենում և այդ գործարքի մասին ինֆորմացիան պետք է փոխանցել մեկ այլ հանգույց, որտեղ պետք է շատ ուրիշ տեղերից եկող ինֆորմացիաների հետ ագրեգացվի, ինչ-որ անալիտիկա արվի և դրա հիման վրա գնել կամ վաճառել: Եվ կախված նրանից, թե դուք ինչքան շուտ կստանաք ինֆորմացիան, ավելի շուտ կկարողանք գնել կամ վաճառել: Եվ այդ պարագայում, որքան դուք մոտ եք աղբյուրին, այնքան շուտ կստանաք։ Նույնիսկ դեպքեր կան, երբ ծովափին մոտ, սենց ինչ-որ շենք է կառուցված ավազի մոտ, որովհետև լարը, այդ երկու մայրցամաքներն իրար կապող լարն է այնտեղից դուրս գալիս հա, օպտիկական, ու ով ավելի մոտ է, այդ լարով ավելի խորն է կպած՝ ինքն ավելի շուտ կստանա ինֆորմացիան:

Շատ լավ, գնացինք առաջ: Այպիսով հասկացանք, որն է տեխնոլոգիան, լեզուն հասցեավորումը: Օրինակ, մի հատ հայտնի ցանցի օրինակ բերեմ ձեզ համար. gsm ցանց, ճիշտն ասած չգիտեմ հապավումն ինչպես է բացվում, բայց դա մեր իմացած հեռախոսային ցանցն է՝ բջջային: GSM ցանցում ինֆորմացիան ինչ-որ հաճախությամբ է 1800,1900, 2100 մեգա հերց, նայած որ սերնդի, լեզուն որով իրար հետ շփվում են, ես ճիշտն ասած չգիտեմ, իսկ ինչ վերաբերվում է հասցեներին, ապա gsm ցանցում IMEI կոչված համարներն են, որոնք ամեն gsm մոդուլի վրա մի հատ այդպիսի ունիկալ համար է դրված ու հեռախոսի տուփերի վրա գրված է լինում, ու եթե հեռախոսը կորցնենք, ապա տուփի այդ վրայի համարով կարող եք իրեն գտնել, IMEI-ով հեռախոսը անկախ նրանից սիմ քարտ կա, թե ոչ կարելի է գտնել: Եվ վերցնենք նույն Ethernet ցանցը, որտեղ հասցեները, համարները սարքի մեջ դրված թվեր են, որոնց անվանում են Mac հասցեներ: Mac հասցեները թերևս ունիկալ են, պայմանականորեն: Հիմա նայեք, եթե ունենք GSM հանգույց, ապա նա կարող է կապվել gsm հանգույցների հետ, ամեն ինչ բնական է, նորմալ է, հասկանալի է, կապվում է ամեն ինչ լավ է, բայց խնդիրն այն է, որ մենք՝ gsm հանգույցներով, փորձում ենք կապվել լրիվ ուրիշ տիպի ցանցերի հանգույցների հետ: Այսինքն՝ դուք երբեևէ հեռախոսով հեռախոսին gsm data connection արել ե՞ք: Դա ի՞նչ է նշանակում: Հլը մի հատ մտածեք, դուք երբևէ արել ե՞ք նման բան: Երկու հեռախոս gsm ցանցով կպած են իրար, այսինքն ոչ թե հեռախոսազանգ, այլ տվյալներ եք փոխանակում իրար հետ, եղե՞լ է նման բան: Հա եղել է ձեր մոտ: Ես ուղղակի չեմ պատկերացնում, թե ինչ կարելի է անել այդ դեպքում։ Չէ bluetooth չէ՝ gsm, bluetooth-ը ուրիշ ցանց է: Այդպիսի բան երբեք չի արվում, այսինքն՝ իմաստ չունի տենց բան անել: Բայց, օրինակ, ինտերնետ ցանցում երկու համակարգիչ, չնայած երևի չէ էլի տենց բան չեք արել:

Հարց-ինչի չէ, տվյալներ ենք փոխանակել:

Վահրամ-Հա բայց ուղիղ, հեռախոսից հեռախոս, ոնց ե՞ք փոխանակել:

Հարց-Ցանցի միջոցով:

Վահրամ-Ի՞նչ ցանցի:

Հարց-gsm ցանցով:

Վահրամ-ոնց եք հեռախոսը իդենտիֆիկացնում:

Հարց -Մենք ոնց ենք փոխանակվում:

Վահրամ-IMEI-ով չեք փոխանակվում, դուք չգիտեք ստացողն ով է: Դուք, ընդհանրապես, ստացողի մասին որևէ բան չգիտեք: Բացի, միգուցե, իրա՝ ասենք ֆեյսբուքի ակաունթի id-ից: Կամ ինչ-որ այդ կարգի մի բան, որը այս ցանցի հետ կապ չունի: Այս ցանցից դուրս ինֆորմացիայի մասին ենք խոսելու արդեն: Նույնն այստեղ, եթե ես ձեզ երկու համակարգիչները տամ, ասեմ մի հատ իրենց մեջ փոխանակում արեք, արել ե՞ք երբևէ տենց բան, այ դա արել եք, ինչ խնդիր ե՞ք լուծել:

Հարց-

Վահրամ - Այսինքն մեկը մյուսին կարող է կոնֆիգուրացիա ուղարկել: Լավ, բայց համոզված չեմ, որ mac հասցեով եք դիմել, այդտեղ ուրիշ ցանցի մասին է խոսքը: Սա շատ քիչ հավանական է, որ երկու հանգույցներ ուղիղ mac հասցեով իրար հետ գործ անեն: Դա համարյա անհնար է, ես չգիտեմ այդպիսի use case, սրա համար էլ չգիտեմ, որ IMEI-ով կարողանան իրար հետ աշխատել: Այդպիսի բան չի լինում:

Հարց-

Վահրամ-Դե դա արդեն շատ բարդ տերմին է և մեզ այս ցանցերից հանեց, շպրտեց եսիմ ուր: Ուրեմն, հիմնականում, ցանցի ներսում հենց, օրինակ՝ bluetooth ցանցի ներսում լինում է, դուք ունեք երկու հանգույց, օրինակ հեռախոսը pair եք արել notebook-ի հետ, այդ դեպքում mac հասցեով եք pair անում: Bluetooth-ն էլ ունի հասցե, այնտեղ էլ է mac հասցե կոչվում: Տեսել ե՞ք այն երկար 16-ական, երկու կետերով անջատած Mac հասցե, bluetooth-ի mac հասցե: Այ այնտեղ օգտագործում են mac հասցե: Եվ այդ այն եզակի դեպքերից է, որ դուք տեսնում եք դրա ֆիզիզկական հասցեն: Բայց հիմնականում մեր իմացած ցանցերում այդպիսի բան չի լինում: Բա լավ, ի՞նչ է լինում դրա փոխարեն: Լինում է չէ ինչ-որ բան, բոլորս գիտենք, որ ինչ-որ բան լինում է: Հեռախոսից հեռախոս ամբողջ օրը messenger-ով 100-ավոր բաներ ենք ուղարկում, ոնց որ թե գնում է, բայց մենք երբեք չենք մտածում, որ Gsm ցանցով IMEI-ը իմանալով կամ ինչ-որ տենց մի բանով: Ուրեմն՝ այդ ամենը, ինչ-որ տեղի է ունենում, կարող ենք այսպես պատկերացնել։

Ենթադրենք ունենք ցանցեր, այդպես պատկերացնենք հա, կապույտ գույնի շրջանակներ, որոնք իրար են միացված ինչ-որ ցանց է և կանաչ գույնի քառակուսիներ, որոնք իրար միացված են այլ տեխնոլոգիայով՝ համեմատած սրա հետ, բայց նույնն են իրենց ներսում: Ունենք համարներ, թող դրանք լինեն հին ու բարի հնդկական թվեր, իսկ մյուսի դեպքում օգտագործել ենք հռոմեական թվերը: Լեզուն, որն օգտագործվել է, պայմանականորեն, մի դեպքում համարենք՝ հայերեն, մյուսում, օրինակ պայմանականորեն, համարենք խոսում էին հունարեն: Հիմա այնպես է ստացվել, ուղղակի խնդիրն է այդպիսին, որ այս հանգույցը մյուս հանգույցին ուզում է ինչ-որ բան ուղարկել, այսինքն 2-ը հանգույցը ուզում է հռոմեական I հանգույցին ինչ-որ բան ուղարկել: Առաջին խնդիր, որ այստեղ առաջանում է հետևյալն է. Իսկ այս հանգույցից այդ հասցեն ընդհանրապես կարող է՞ ուղարկել։ Մոտավորապես ոնց որ ես ձեզ ասեմ, պատկերացնենք սա քաղաքային հեռախոսային ցանցն է, իսկ սա բնակարանների հասցեներն են, քաղաքային շենքերի: Իրենք իրար ֆիզիկապես մոտիկ են չէ, նույնիսկ ահագին նույնն են: Հիմա դուք պատկերացրեք կարող ե՞ք քաղաքային հեռախոսից նամակ ուղարկել ձեր ընկերոջ տուն: Մոռացեք համակարգչային ցանցերը, ինչ-որ հիմար բան եմ ասում: Հին, բարի հեռախոսից նամակ ուղարկեք, վրան հասցե գրեք այսինչ փողոց, այսինչ տուն, այսինչ բնակարան, ես ուզում եմ հասկանանք աբսուրդը: Հեռախոսով կարող ենք միայն հեռախոսի համարներ հավաքել, միայն թվեր են չէ այնտեղ, չնայած չէ, եթե կնոպկաներով է, ապա կարող է նաև տառեր էլ լինել: Կարող է կարողանանք հասցեն էլ հավաքենք, դա դեռ ոչինչ չի նշանակում, նամակն ուր պետք է գնա, ինչ նամակ, մեջն ինչ պետք է լինի, ուզում եմ աբսուդրը հասկանաք: Նախ մենք չենք կարող հասցեն գրել, երկրորդ մենք չենք կարող այս լեզվով որևէ բան գրել, որովհետև այստեղ մեր լեզուն հայերենն է, իսկ այնտեղ հունարեն է ինչ-որ: Հետո կոմունիկացիայի հարցը կա, այս մեկում լարով իրար կպած հեռախոսներ են, իսկ այնտեղ չգիտեմ ինչեր են: Տներն ինչով են իրար կպած, ոչ մի բանով: Այսինքն՝ մենք ոչ մի տարբերակ չունենք, բայց արի ու տես, որ մեր իմացած աշխարհում ոնց, որ լինում է ու անընդհատ հեռախոսից մենք կարողանում ենք ինչ-որ բաներ ուղարկել համակարգչին, որն օրինակ՝ wi-fi ցանցով կպած է ու gsm-ի մասին ոչինչ չգիտի: Ուրեմն, այդ կախարդանքը լինում է այսպես. ինչ-որ մեկը ասում է ,ուրեմն նայեք, եթե դուք ուզում եք իրար հետ ինֆորմացիա փոխանակել, եկեք այս երկու ցանցերը միավորենք իրար: Ստեղծենք նոր ցանց, որի մեջ այս բոլոր հանգույցները մասնակցում են որպես հանգույցներ, իրենց հետ ոչինչ տեղի չի ունենում: Կոմունիկացիոն տեխնոլոգիան էլի բոլորինը մնում է նույնը, ոնց որ կար: Սա թող լինի ենթադրենք gsm, սա թող լինի Ethernet լավ, լար և ալիքներ են: Բայց այստեղ թող մի հատ հանգույց լինի, որը մի կողմից կկարողանա կապույտ գույնի լարով կպած լինել երկուսի հետ, մյուս կողմից՝ կետագծերով կպած լինի այս մյուս հանգույցի հետ, բայց ինքն ակնհայտորեն ո՛չ սրանից է, ո՛չ էլ սրանից: Ինքն ինչ-որ ուրիշ մի բան է, եկեք սև գույնի եռանկյուն նկարենք, ուրեմն ինքը սև եռանկյուն է, որը այս երկու կոմունիկացիոն տեխնոլոգիաներին տիրապետում է:

Լավ, հիմա այդ դեպքում, ոնց այս երկուսին, ոնց համոզենք, որ սրա հետ խոսա: Ասում է՝ ուրեմն, նայեք հասցեներն էլ պետք է փոխենք, նախ ասում է եկեք բոլորիդ նոր հասցեներ տամ, կապ չունի թե՛ դուք gsm ցանցում հեռախոս էիք, թե՛ Ethernet ցանցում՝ համակարգիչ: Սրանից հետո դուք բոլորդ միանման հասցեներ եք ունենալու: Բոլորիդ կնքում ենք սև գույնի, նոր հասցեներ ենք տալիս: Թող դրանք լինեն լատինական տառերը, կարևոր չէ, ինչ-որ հասցեներ ենք տալիս ու ասում ենք սրանից հետո դուք բոլորդ սև եռանկյուններ եք: Պատկերացրեք, որ դուք բոլորդ սև եռանկյունիներ եք, մոռացեք, որ դուք մի ժամանակ կլոր էիք կամ քառակուսի, ուրեմն՝ սրանից հետո, դուք սև եռանկյունի եք և ձեր հասցեներն էլ համապատասխանաբար լատինական տառերն են: Ուղղակի հերթով, պարզապես ուշադրություն չդարձնելով, իրենց բողոքներին, իրենց համարակալում ենք, հասցեավորում ենք: Այս հանգույնց էլ, ինքն էլ է չէ սև եռանկյունի, ինքն էլ այս նույն ձևի, ինչ-որ A հասցե ունեցավ: Կոմունիկացիայի հարցը դեռևս մի քիչ լողում է: Բայց այս մեկը մեզ կօգնի՝ հասցեները բոլորինը նույն է, մնում է լեզուն, մի ցանցը հայերեն էր խոսում, մյուսը՝ հունարեն: Ասում է՝ մոռացեք, ինձ չի հետաքրքում հայերեն է խոսում, թե՝ հունարեն, մի հատ նոր լեզու ենք բոլորս սովորում, բոլորս միջցանցային լեզու ենք ընտրում, պայմանականորեն ընտրենք անգլերենը: Շատ լավ լեզու է, եկեք սրանից հետո իրար միայն ուղարկենք լատինատառ անգլերեն հաղորդագրություններ, հա դուք ձեր մայրենի լեզուն հիշեք կարևոր չի, բայց ձեր ներսում կարող եք օգտագործել, իսկ միջցանցային գործողությունների ժամանակ արդեն պետք է օգտվեք այս լեզվից: Հիմա, տեխնոլոգիաների հարցը լուծեցինք, հասցեները բոլորը միատիպ են, այսինքն՝ այստեղ էլ խնդիր չկա հեռախոսից նամակ ուղարկելու, բոլորը նույնատիպ հասցեներ ունեն: Լեզվի հարցն էլ լուծեցինք։ Ուրեմն՝ լեզվի հարցը միշտ հնարվոր է լուծել, եթե այս հանգույցները օժտված են բանականության ինչ-որ տարրերով: Մարդը նույն բերանով կարող է հա՛մ հայերեն խոսել, հա՛մ անգլերեն, բերանը նույնն է, եթե այս սարքը բավականին ունակ է և իր վրա կա գիտակցություն, օրինակ՝ օպերացիոն համակարգ, ապա մենք կարող ենք այդ օպերացիոն համակարգի միջոցով՝ այդ նոր լեզուն դարձնել հասանելի: Մեզ չի հետաքրքրում, այնտեղ ինչ-որ սև արկղ կա, որն այդ հանգույցին կսովորեցնի անգլերեն խոսել: Իրականությունն այն է, որ մեր ունեցած բոլոր սարքերը բավականին ունակ են: Այսինքն՝ դժվար, թե դուք ինչ-որ սարք գտնեք, որը չկարողանա իմ ասածն ապահովի, թեկուզ hardware կամ software մակարդակում: Այ այս ինչ-որ ստացանք, մենք ստացանք նոր ցանց, որին կարող ենք պայմանականորեն անվանել միջցանց: Այս նոր ցանցը, որ ասում էի միջցանցային լեզու, միջցանցային հասցեավորում այդ նոր միջցանցն է: Մենք մի նոր ցանց ենք ստացել, որն իրենից ներկայացնում է ցանց՝ ցանցերի միջև: Միավորում է ցանցեր: Ուրեմն՝ internet ասածը ուղղակի ցանց է, որը թույլ է տալիս տարբեր տեսակի ցանցերն իրար հետ աշխատեն՝ միավորվեն մի ցանցի մեջ: Հիմա, այստեղ internet-ը գրված է փոքրատառով, որովհետև այսպիսի internet-ներ շատ կան, դուք կարող եք մի օր նստեք, եթե կարող եք կլոր կապույտից ստանալ սև եռանկյուն, սարքեք դուք՝ ձեր համար նոր internet: Բայց կարելի է օգտվել նաև եղածներից։ մարդիկ արդեն երկար տարիներ սարքում և շահագործում են բարեհաջող կերպով ու այդ internet-ներից մեկը մեզ ավելի հայտնի է: Նույնիսկ իր անունը մեծատառով Internet-են գրում, որովհետև դա արդեն հատուկ անուն է: Ուրեմն այս Internet-ը, որի մասին մենք գիտենք, որտեղ մենք բոլորս ապրում ենք այս տարբեր internet-ներից մեկն է ընդամենը: Ֆիքսած են հետևյալ գաղափարները: Ուրեմն՝ կոմունիկացիայով ազատ ենք, որովհետև միշտ կան այս միջանկյալ օղակները, որոնց անվանեք փոխակերպիչներ, router-ներ, որոնք թույլ են տալիս երկու տարբեր ցանցերին իրար հետ խոսալ, օրինակ՝ կա լար, որին ասենք՝ օպտիկական լար է միացված, մի կողմից օպտիկական ցանցի հանգույց է, մյուս կողմից wi-fi ցանցի հանգույց է: Ու դեռ մի հատ էլ Ethernet լար կարող է դուրս գալ: Այսինքն՝ մենք ունեցանք ևս մի տեխնոլոգիա: Կոմունիկացիոն տեխնոլոգիան կարևոր չի, կարևոր է հասցեավորումը, հասցեավորման տարբեր մեխանիզմներ կան: Այդ մեխանիզմներից մեկը, նախ մինչև հասցեավորմանն անդրադառնալը, նախ կարևոր է նաև լեզուն, լեզուն այս Internet-ում ֆիքսած է: Այս Internet-ում լեզուն կոչվում է Internet Protocol (IP), ուրեմն՝ այս Internet Protocol ասածն այն լեզուն է, որը պետք է իմանան, բոլոր հանգույցները, որպեսզի կարողանան այս Internet-ի մաս դառնալ: Կարճ ասում են IP: IP ասածը՝ protocol-ը հանգույցներին սովորեցնում է օպերացիոն համակարգը, սև արկղը, մենք գործ չունենք դրա հետ: Եվ ժամանակակից բոլոր օպերացիոն համակարգերը գիտեն այդ լեզուն: Նույնիսկ, եթե մի հատ շատ փոքրիկ սարք եք գտել, որի վրա օպերացիոն համակարգի պես մի բան կա, ապա այն, ամենայն հավանականությամբ, IP-ն գիտի: Նենց լավ ա մտածած: Նույնիսկ սառնարանները, հեռուստացույցները, ասենք ցանակացած smart սարքեր, ցանկացած, connected devices, որ նույնիսկ smart էլ չլինի, իրենք IP-ն գիտեն: Եվ հասցեավորման հարցը, ուրեմն՝ ամեն Internet Protocol-ի համար, որովհետև իրենք էլ կարող են շատ լինել, կա իրա հասցեավորումը: Հիմա, ուրեմն՝ այս Internet Protocol-ի հետ եղել է այսպիսի մի պատմական իրադարձություն։ Այնպես է ստացվել, որ հայտնի են Ipv4 և Ipv6, անկեղծ ասած, 1, 2, 3, 5-ի մասին ոչ մի բան չգիտեմ: Չգիտեմ կարող եք մի հատ փնտրել ու՞ր են իրենք: Ipv4-ը դեռևս ամենատարածվածն է երևի թե, Ipv6-ը չկա, չի երևում հորիզոնում: Ipv4-ը ամենատարածված protocol-ն է համակարգում և հասցեավորումը հենց այս մեխանիզմում հենց օգտագործվում է 4 բայթանի թվեր, 4-ը իրականում դրա հետ կապ չունի, բայց այդպես է ստացվել: 4 բայթ հասցեներ, անունը IP address: Ուրեմն՝ IP address-ը հասցեն է, IP-ն՝ լեզուն: Այդ երկու տերմինները չի կարելի փոխել: Չի կարելի IP հասցեի փոխարեն ասել IP, կամ IP-ի փոխարեն՝ IP address: Հետևյալ հարցը, իսկ քո IP-ին ի՞նչ է, կարող է ունենալ երկու հնարավոր պատասխան՝ Ipv4 կամ Ipv6, այսինքն՝ քո IP-ին կարող է լինել կա՛մ առաջինը, կա՛մ երկրորդը: Այ դա ուրիշ բան է, բայց երբ մարդը չի հարցնում հասցեն, այլ հարցնում է քո IP-ին ո՞րն է պետք է իրեն ասել քո IP-ին որն է: Ուրեմն 4 բայթեր, որոնք նշանակում է, որ մենք ունենք 2-ի 32 աստիճան հնարավոր իրարից տարբեր արժեքների բազմություն, այսինքն՝ այդքան բիթ, ամեն մեկում 0 կամ 1 կարող ենք գրել, բազմապատկում ենք իրարով՝ ստանում ենք 2-ի 32 աստիճան: Թիվը բավականին մեծ է, բայց եթե նայում ենք 10-ի աստիճաններով, դա 4 միլիարդի կարգի թիվ է: Այսինքն՝ 10-ի 9 աստիճան: Հիմա դա շատ է, թե՝ քիչ: Ինչի՞ համար է շատ: Բավակա՞ն է, որպեսզի համարակալենք բոլոր հանգույցները, աշխարհի բոլոր հանգույցները, smart հանգույցները, համակարգիչ պարունակող հանգույցները: Հիմա համակարգիչ պարունակում են հեռուստացույցները, սառնարանները, մեքենաները, լվացքի մեքենաները, ցանկացած այսպես փոքր սարք, իրենք բոլորն ուզում են արդեն համարակալվեն չէ, հասցեավորվեն: Ու իրականում այս 4 միլիարդը շատ քիչ է: Շատ վաղուց արդեն շատ քիչ էր: 90-ականներին արդեն քիչ էր, այդ մարդիկ հասկացել էին, որ քչություն է անում: Ու բռնել են այդ թվերը, նախ թվերը դժվար է հիշել այդքան երկար թիվ, ասում են եկեք տրոհենք այդ թվերը, բաժանենք 4 կտորի, ամեն կտորում մի բայթը գրենք ու կետով իրարից առանձնացնենք, որովհետև 4 հատ փոքր թիվ հիշելն ավելի հեշտ է, քան՝ մի հատ մեծ: Ուրեմն՝ տեսան, որ այս 4 կոմպոնենտները քչություն է անում, և տրոհեցին այդ բազմությունը մի քանի մասին։ Ուրեմն, առաջինը՝ 127.0․0․1 հասցեն է, դա կոչվում է local host, դա ոնց որ ես եմ, ես ինձ այդ հասցեով տեսնում եմ: Ցանկացած հանգույց ինքն իրեն այս հասցեով է տեսնում միշտ, ոչ է թե 0․0․0․0… Հասկանո՞ւմ եք՝ այլ 127.0․0․1․.. Միգուցե 2-ական ներկայացմամբ սա գեղեցիկ թիվ է, չգիտեմ, 1 հատ 0 հետո 7 հատ 1 հետո շատ 0-ներ,վերջում մի հատ 1: Ես չգիտեմ լավ, ես չգիտեմ ինչո՞ւ են այս թիվը վերցրել: Հետո առանձնացրեցին ևս մի քանի միջակայք: Միջակայքերը հետևյալն են՝ ասացին 192․168 ու ինչ պատահի, մեկել 10 այստեղ, եթե չեմ սխալվում 0 հետո ինչ պատահի, կամ կարող է սխալվում եմ, կարող է այստեղ 1 էլ լինի. 10․1․ ու ինչ պատահի ու կարող է մի քանի հատ էլ սենց ինչ-որ միջակայքեր: Սրանք իրականում, եթե իրենց վերածեք թվերի, ապա միջակայքեր կստանաք: Այսինքն՝ այս վերջին թվանշաններում, ինչ ուզում եք գրեք, կոպիտ ասած: Ուրեմն՝ այս միջակայքերից, ասացին սրանցից ոչ մեկ իրական հասցե չի, սրանք օգտագործենք այ սենց փոքր ցանցերը հասցեավորելու համար: Այ մնացած հասցեները իրական են։ Կան իրական IP հասցեներ և կան, այսպես ասած, local հասցեներ: Local IP հասցեները ինչ-որ իմաստով դրսից չեն երևում, իրենք հենց այդ ցանցի ներսում օգտագործելու համար են: Եվ, եթե ինչ-որ հանգույց, գտնվելով ինչ-որ local ցանցի ներսում, ունենալով այսպիսի հասցեներից մեկն ու մեկը, ուզում է դրսից երևալ, ինքն ահագին պետք է տանջվի։ Պետք է ինչ-որ մեկին ասի, այդ մեկը ինչ-որ ուրիշ մեկին ասի, NATting, masquerading, ինչ-որ տենց IPtable-ներ ու էսիմ ինչեր խառնի իրար, որ դրսից երևա: Որովհետև ինքը չունի իրական հասցե, ինքն այս մեծ նկարում ոնց որ չի հասցեավորվում: Մնացածներն արդեն երևում են, բայց այդ մնացածներն էլ ավելի քիչ են արդեն քիչ են 2 միլիարդ հատ մնացած, թե 4 միլիարդ հատ մնա, բայց մեկա քիչ է: Դրա համար Ipv6-ը ու դա շատացրեցին ու այնքան շատացրեցին, որ սարքեցին 16 բայթ, եթե չեմ սխալվում մի հատ կարող եք նայել: Ու սա արդեն այնքան շատ է, որ եթե բերում են 10-ի աստիճանների ինչ-որ անիմաստ թիվ է ստացվում ուղղակի, պարզապես այնքան մեծ է, որ իմաստ չունի: Ինքն այնքան մեծ է, որ ցանկացած էլեկտրական սարք, որը երբևէ կարտադրվի, կունենա ունիկալ համար: Այսինքն սա, սա սա...ցանկացած սարք, որի մեջ հոսանք է գնում, որը կարող է հանկարծ հայտնվել ցանցում՝ կունենա իր ունիկալ համարը: Բավական է բոլորին, արդեն Ipv6-ում չկան այդ լոկալ միջակայքերը, մանիպուլյացիաներ, ինչ-որ կոնֆիգուրացիաներ, որպեսզի այդ ամեն ինչն աշխատի: Նման բաներ չկան, բոլոր հանգույցներն ունեն իրենց սեփական հասցեն ու բոլորը երջանիկ են: Բայց մի հատ բայց կա, Ipv6-ը չի մտնում մեր կյանք։ Ուղղեք ինձ, եթե ես սխալվում եմ: Նույնիսկ հիմա, եթե ես hosting եմ առնում, ես հատուկ պետքա գնամ մտնեմ ինչ-որ տեղ այդ Ipv6-ը միացնեմ հատուկ ինչ-որ մի քանի քայլ ևս անեմ, որպեսզի ինձ ի վերջո Ipv6 հասցե տան ու կարողանամ այդ հասցեով դրսից երևալ, դեռ մի քիչ էլ պետք է տանջվեմ, որ սերվերս համակարգով ուղղեմ, որ դա աշխատի: Ես չգիտեմ, թե ինչումն է խնդիրը, բայց Ipv6-ը կա ու բոլոր հանգույցները իրեն գիտեն, նոր լեզու է հա, այդ նոր լեզուները բոլորը գիտեն, այդ հասցեները բոլորը կարող են ունենալ, բայց ոչ մեկի չի հետաքրքրում: Չգիտեմ, ինչ-որ մի բան երևի սխալ է գնում կամ կարող է դեռ շուտ է և մի քանի տարուց կարող է ունենաք: Շատ լավ, այսքանից հարցեր կա՞ն: Ամեն ինչ հա՞րթ է:

Շատ լավ, հիմա եկեք ավելի վախենալու մի բան դիտարկենք: Այս Internet-ը, ինչպես գիտեք, գլոբալ է: Ինքը տարածվածության առումով գլոբալ է: Այսինքն՝ մնացած ամեն ինչ ասեցինք, բացի տարածվածությունից: Բայց, դե ոնց, որ բոլորս էլ գիտենք Internet-ի մասին, որ ինքը գլոբալ է: Հիմա տեսեք. գլոբալ Internet-ում a անունով հանգույցը ցանկանում է դիմել գտնվող b-ին։ Ենթադրում ենք, որ b-ն իրական հասցե ունի, լավ այստեղ խնդիր չկա: Այսինքն՝ a-ն մի հատ ծանրոց ունի վրան գրված է b, մնում է այդ ծանրոցը հասնի տեղ: Հիմա եկեք խնդիրն արտապատկերենք մեր վրա՝ հենց այստեղ արտապատկերենք: Ես, ունեմ փաթեթ, վրան գրված է, որքան էլ դա վտանգավոր հնչի, Չինաստան, Շանհայ այս ինչ միկրոթաղամաս, այսինչ փողոց, այսինչ շենք, այսինչ բնակարան: Հիմա ես այս ծանրոցը պետք է տանեմ հասցնեմ տեղ: Ես պետք է գնամ, ես այդ ծանրոցը պետք է տանեմ, ես սուրհանդակն եմ, ինձ տվել են ու ասել են տար: Հիմա. Իմ առաջին քայլը, ինչ եմ անում. Ես կարող եմ օրինակ՝ վերցնել քարտեզ, նայեմ և տեսնեմ, որ Չինաստանն արևելքում է, կողմնացույցը վերցնեմ, նայեմ տեսնեմ արևելքը, որ կողմում է և սկսեմ գնալ այդ ուղղությամբ այնքան, մինչև հասնեմ: Չէ՞։ Բայց կհասնե՞մ: Օրինակ՝ արևելքն այնտեղ է կամ չգիտեմ այս մյուս կողմում, հիմա եթե ես սկսեմ անընդհատ գնալ այս ուղղությամբ, ես կհասնե՞մ Չինաստան։ Չէ, չէ՞։ Որովհետև այստեղ պատ կա: Եթե ես այս պատը հաղթահարեմ, մյուս պատն էլ հաղթահարեմ, այնտեղ ես երկրորդ հարկում եմ գտնվում՝ կընկնեմ: Այդպես չեն անում, դրա փոխարեն ես պետք է նախ դուրս գամ այս դռնից, հետո դուրս գամ միջանցքից, հետո դուրս գամ շենքից։ Լավ, ուրեմն՝ հիմա ես իմ առաջին մի քանի քայլով պետք է դուրս գամ, դուրս գամ, դուրս գամ, հետո երբ, որ հասնեմ դուրս, այ այդտեղ կսկսեմ մտածել՝ հիմա աջ գնամ, թե ձախ գնամ: Բայց մինչև այդտեղ ես մտածելու բան չունեմ, պետք է միայն դուրս գամ: Հիմա նայեք a-ն գտնվում է ինչ-որ ցանցում՝ լոկալ ցանցում, որտեղ կա, պետք է լինի դուռ: Ուրեմն՝ բոլոր ցանցերում կա հանգույց, որը կոչվում է gateway՝ դարպաս և բոլորը հանգույցները այդ gateway-ի տեղը գիտեն, հասցեն: Այսինքն՝ դուք օրինակ, օգտագործելով այդ ցանցային գործիքները՝ ipconfig-ը օրինակ, կարող եք տեսնել, թե Ձեր gateway-ը ով է: Ուրեմն՝ gateway-ը դա այն հանգույցն է, որին բոլորը գիտեն, որ դա իրենց դուռն է ուղղակի, ուրիշ ոչ մի ելք այստեղ չկա ուղղակի: Հիմա, այս gateway-ը իր հերթին գտնվում է ցանցում, այսինքն՝ հիմնականում գտնվում են ցանցում, ու այս gateway-ն էլ իր ուրիշ ենթացանցերի հետ գտնվում է մեկ այլ ավելի մեծ ցանցում, որն էլ իր հերթին ունի իր gateway-ը ու ինքն էլ սրա տեղը գիտի ու ուրիշ բան իրեն պետք չի: Իրեն պետք չէ սրա կամ նրա տեղն իմանալ: Ինքն ինֆորմացիա չի տալիս: Ուրեմն՝ gateway-ները մնացած հանգույցներից տեսեք, թե ինչով են առանձնանում: Իրենք առնվազն երկու գիծ են ունենում, մեկից ավել, որովհետև իրենք մի կողմից կպած են մի ցանցին, մյուս կողմից իրենք ուրիշ ցանցի մեջ են գտնվում։ Ընդ որում այստեղ նույնիսկ կոմունիկացիոն տեխնոլոգիաները կարող են տարբեր լինել: Կարող է մի կողմից լարով լինել, մյուս կողմից՝ wi-fi-ով, կամ՝ հակառակը: Լավ, այստեղ հստակ կարևոր է, որ ինքն այստեղ ունի մեկից ավել կոմունիկացիոն Interface-ներ ունի: Ուրեմն՝ երկրորդ gateway-ն էլ իր հերթին կարող է գտնվել մեկ այլ ցանցում, այսպես մի քանի շերտ հետո, մենք կհայտնվենք մի քիչ ավելի մեծ ցանցում, որը հիմնականում Internet service provider-ի ցանցն է: Դրանք արդեն բավականին ավելի մեծ wide area network-ներ են՝ շատ մեծ քանակությամբ հանգույցներով և այնտեղ ոչ թե կան gateway-ներ, այլ կան router-ներ, որն այն հանգույցն է, ով ավելի շատ բան գիտի տեղ գնալու մասին, քան պարզապես դուռը: Այսինքն՝ այստեղ մենք կարող ենք համարել, որ արդեն դուրս ենք եկել շենքից:

Հարց-չի լսվում:

Վահրամ-Չէ, gateway-ը բոլորի տեղն էլ գիտի, բայց դրանք իրեն պետք չեն, որովհետև իրան, նայեք իր խնդիրը, որն է: Իրեն տվել են մի հատ ծանրոց, որի վրա գրված է b, այս դեպքում իր միակ անելիքն է դուրս գա և ասի router-ներին, թե b-ն որտեղ է: Որովհետև սրանք չգիտեն b-ի մասին, b-ն շատ հեռու տեղում է գտնվում: Իր խնդիրն այս պահին ուղղակի դուրս հանելն է այդ ծանրոցը: Բայց, եթե այնպես ստացվեր, որ սա ուզում է ներսում ինչ-որ մեկին բան ուղարկել՝ c-ին ասենք, այս դեպքում ինքը պարզապես կփոխանցեր, ինքը c-ի տեղը գիտի: B-ին են ուզում, բայց ինքը b-ի տեղը չգիտի: Հիմա ինչ-որ պահի gateway-ը ծանրոցը փոխանցում է router-ին ծանուցումով, ասում է b-ին եմ ուզում, b-ն նշանակում է Չինաստան, Շանհայ, այդ որ ասում էի, այդ հասցեն է: Հիմա այդ router-ը նայում է ու ասում Չինաստան, Չինաստան։ Մի րոպե, պատկերացրեք հա՞, շենքից դուրս եմ եկել։ Ձախ գնամ, թե՞ փողոցը անցեմ: Պատկերացրեք ինչ-որ մեկը կանգնած է շենքի դիմաց՝ դուք դուրս եք գալիս ու հարցնում եք՝ Չինաստան ո՞նց գնամ: Չէ լուրջ եմ ասում, Չինաստան ո՞նց են գնում։ Ինքանթիռով, չէ՞։ Ուրիշ ոնց են գնում, ուրեմն՝ Ձեզ պետք է օդնավակայան։ Լավ բա օդանավակայան ո՞նց գնամ, դե ասում է հեսա նստիր տաքսի ու գնա: Այ այդ հենց երթուղին է։ Ինքը Ձեր համար երթուղի է գծում, ինքն ասում է այ հիմա տաքսի նստի ու ասա ինձ տար օդանավակայան: Նստում եմ տաքսի գնում եմ օդանավակայան, այնտեղ կա ուրիշ router, մտնում եմ օդանավակայան, ասում եմ ուզում եմ Չինաստան գնալ, ասում են գնում ես ձախ կողմից տոմս ես առնում, գնում եմ առնում եմ, հետո ասում եմ բա ինչ անեմ այս տոմսը, ասում են չգիտեմ, գնում ես ռեգիստրացիա ես լինում, հաջորդ router-ն է, հետո ասում է, որ ռեգիստրացիա լինես կգնաս այսինչը կանես։ Հիշում եք չէ՞, որ ես b-ին եմ ուզում հասնել, ամեն տեղ հարցնում եմ Չինաստան ոնց գնամ ու ինձ մի հատ կոնկրետ ուղղություն ասում են։ Եթե ես, օրինակ՝ ասեմ Ամերիկա ոնց գնամ, ինձ կարողա ուրիշ բան ասեն, ասեն չէ գիտես, խի ես չինական ավիաընկերության տոմսեր առնում, գնա այ այն բանը առ: Ստացվում է, որ ամեն router-ը գիտի հաջորդ router-ի տեղը, որը կարող է գիտի, թե դու ոնց գնաս: Հստակ ոչ մեկ չգիտի ոնց գնալ Չինաստան, որովհետև ուղիղ եգիծ Չինաստանի հետ չկա: Մենք կարող է դեռ Հայաստանում ենք, օդանավակայանում ենք, դուրս չենք եկել: Ինչ-որ պահի մեկել այնպես է ստացվում, որ մենք հայտնվում ենք հանգույցում, օրինակ՝ R8, որն արդեն Չինաստանում է: Օրինակ՝ հայտնվել ենք Շանհայի օդանավակայանում։ Ենթադրենք, բախտներս բերել է: Հիմա էլի մեկին հարցնեմ, ոնց գնամ այսինչ փողոց, այսինչ տուն ասում է տաքսի նստի կտանի: Տեսեք. արդեն շատ վտանգավոր է այստեղ Կորոնավիրուս, բան։ Ուրեմն՝ ես գտա այն հանգույցը, որն ինձ հստակ կարողացավ ասել, թե ինչպես գտնեմ b-ն: Այ այս է ամբողջ ճանապարհը, որը ես այսպես լիարժեք նկարեցի, բայց եկեք հասկանանք հա մի բան: Մենք ունենք այսպես շատ մեծ ցանց, ամբողջը ենթացանցեր, ենթացանցեր էին և իրականում կան նաև բավականին մեծ քանակությամբ լարեր ու ամեն պահի, ամեն router որոշում է կայացնում հարցին՝ b-ն ո՞նց գտնեմ, ինքն ամեն անգամ ասում է այ ստեղ գնա, հետո ոչ միայն ասում է, այլ նաև follow up է անում և ասում է հետ գալուց ձայն կտաս, հետ գալուց կասես, որ տեղ հասար: Իրականում այս ծանրոցները, որ գնում են այ մյուս կետից հաստատում է գալիս, որ գիտեք՝ հասավ: Ու ինքն այդ հաստատման միջոցով համոզվում է, որ իր ասած ճանապարհը ճիշտ էր: Կամ հակառակը՝ ինքն ասում է գնա R3, բայց ինքը հետ է գալիս և ասում է R3 չկար, ինչ R3: Այսինքն՝ ես գնում եմ օդանավակայան, հետ եմ գալիս և ասում եմ գիտես օդանավակայանը փակ էր: Ասում է՝ մի րոպե, փակ էր, լավ արի հլը փորձի երկաթգծով և գնա R10: Ուրեմն՝ կա, մի ձև կհասնեմ: Այսինքն, եթե այս մի ճանապարհը չեղավ, ինքն ինձ մի հատ ուրիշ ճանապարհ կառաջարկի, միշտ ինչ-որ մի հատ ճանապարհ կա, որովհետև ցանցը շատ հանգույցների միջև կապեր ունի: Միևնույն է կգտնեմ ես երկու հանգույցների միջև ճանապարհ: Ուրեմն՝ պատկերացնենք, որ այդ ծանրոցը, անցնելով հանգույցից հանգույց, այսինքն՝ router-ից router, ամեն քայլում ջանք է թափում: Ասում է՝ իմ մոտով այսինչ պահին այս ծանրոցն անցավ ու երբ-որ հասնում է վերջին, վրան բավականին քանակությամբ ինֆորմացիա է գրված և պատասխանն արդեն կարելի է հետ ուղարկել հենց այդ նույն ճանապարհով: Այսինքն՝ պետք չի սրան հարցնել սրա տեղը, այսինքն՝ հետ գալն է իր հերթին արդեն անլուծելի խնդիր է, որովհետև եթե b-ն ծանրոց ստեղծի ու վրան գրի a և ուղարկի, այն երբեք տեղ չի հասնի, որովհետև a-ն իրական հասցեն չէ: Ինքը չի կարող ուղղակի, որևէ բան ուղարկել a-ին: A-ն b-ին կարող է ուղարկել, b-ից կարող է գալ պատասխան, եթե արդեն հայտնի է, թե ոնց էր a-ից եկել b: Այ սենց մի հատ լուրջ խնդիր կա: Եվ հենց այդ ճանապարհն էլ հետ գնալու համար՝ օգտագործում են և այդ ծանրոցի վրա գրված ինֆորմացիան, օգտագործում են, ուղղակի հակառակ կարգով՝ անցնելով ծանրոցը հետ է գալիս: Եվ այդ հետ գալու ճանապարհին հանգույցներից ամեն մեկը իր համար ուրախանում է, որ այ ինչ լավ էր իմ ասածով գնացին ու հետ եկավ: Հենց այդ ձևով ցանցը, ոնց որ ամեն անգամ, router-ը, հիշում ե՞ք չէ switch-ի ավելի խելոք տեսակն էր, այսինքն, եթե switch-ը գիտի, որը որտեղ է, ապա router-ը պիտի իմանա ու իմանա, ինքն արդեն չի կարող չիմանալ, ինքը խելոք է, ինքը գիտի ամեն ինչ ու ինքը ամեն անգամ, երբ որ իր ասածով գնում ես ու պատասխան է գալիս, ինքն իր մոտ նշում է, փաստորեն ճիշտ էի ասում Չինաստանն այն կողմում է: Իհարկե, իրենք կոնֆիգուրացվում են, այսինքն՝ կարող է ադմինիստրատորը մտնի և ասի սպասի սրանից հետո Չինաստան սենց ենք գնում, որովհետև հիմա, օրինակ՝ այնտեղ փակ է, անջատել են հա, հանգույց չկա և ուրիշ ճանապարհ է առաջարկում: Ընդ որում՝ ցանցային ադմինիստրատորներն ինձ կհասկանան, որ երբեմն պատահում է, որ router-ն է կազմակերպում, որ պատահում է, որ ծանրոցը այսպես գնում, գնում է ու այսպես հետ է գալիս նույն տեղը, չէ՞: Կարող է պատահել այսինքն՝ սրան ասել էին այստեղ կուղարկես, սրան այստեղ, սրան այստեղ մեկել սա էլ ուղարկում է հետ այստեղ, հիմա հետ եկավ իրեն ի՞նչ անի, նորից այսպես ուղարկի նորից է հետ գալու, իրականում այսպես խնդիր կա ցանցերում՝ ցիկլերի հայտնաբերում: Էլերյան ցիկլեր կամ չգիտեմ ինչյան ցիկլեր: Շատ լավ գնաց պատասխանը հետ եկավ: Հարցեր ունեք:

ՀԱՐՑ---

Վահրամ-Նայեք մենք չենք կարող սրանց ասել ցանցեր, իրականում internet-ը հենց router-ն են: Այսինքն, որ ասում ենք internet, դրանք հենց router-ներն են և internet server-ները: Սա internet չի, սա լոկալ, մեր սենց ույուտ ցանցն էր, այ երբ դուրս եկանք դռնից դուրս, հայտնվեցինք internet-ում: Ու այնտեղ router-ներ, server-ներ, որոնք մեզ հետաքրքրում են, դա է հենց Internet-ը, իրենք էլ առանձին փոքր ցանցերի մեջ չեն, իրենք սենց երևացող առանձին-առանձին հանգույցներ են, դրա համար b-ն ոչ մի ցանցի մեջ չեմ նկարել:

ՀԱՐՑ---

Վահրամ- Router-ներ-ի վրա աշխատում է օպերացիոն համակարգ, ինչ-որ Routing-ի service, ինչ-որ ծրագիր է աշխատում հա, որն անընդհատ այդ եկող հարցումների համար որոշումներ է կայացնում, թե որտեղ ուղարկի: Դա է խելոքությունը՝ ելնելով ինչ-որ կոնֆիգուրացիոն ֆայլերից, ինչ-որ վիճակագրությունից, չգիտեմ ինչ-որ բաներից, աշխարհագրությունից, ընդ որում, ինքը կարող է իմանալ, որ R4-ը Չինաստանին մոտիկ է կամ իմանա, որ հենց R8-ը Չինաստանում է, այսինքն՝ իր խնդիրն այն է, որ այդ ծանրոցը հասցնի R8, իսկ R8-ը հաստատ կիմանա ինքն ինչ անի, որովհետև ինքը Չինաստանում է:

ՀԱՐՑ---

Վահրամ-Դե նայեք, հետ ուղարկելու խնդիրը IPV4-ի հետ է կապված, իսկ a-ն լոկալ հասցե է, այսինքն՝ այս նույն a-ից, կոպիտ եմ ասում, այ ստեղ էլ կա: Այստեղ կա մի հատ ցանց, լրիվ ուրիշ Անգլիայում, մի հատ ցանց կա, որի մեջ էլի կա a հասցեով հանգույց: Հիմա, եթե b-ն ուզենա a-ին ինչ-որ բան ուղարկել, ոնց ուղարկի, երկու հատ a կա: Հասցեները կրկնվում են։ Այն, որ ասում էինք չեն հերիքում հասցեները, այ դա չէի ասել, այն փաստը, որ հասցեները չեն հերիքում նշանակում է նրանք կրկնվում են: Այսինքն՝ նույն հասցեն երկու տարբեր հանգույցների վրա հնարավոր է դրվի:

ՀԱՐՑ---

Վահրամ-Հա, հա, հա դա լոկալ հասցե է: Լավ մինչև նոր հարցեր մտածեք, ուրեմն նայեք internet-ում այդ տվյալների գնալ գալը ինչ-որ իմաստով տենց քաոտիկ, պատահական բաների վրա հիմնված գործընթաց է: Կարող է գնալ տեղ չհասնի, կարող է գնալ պատասխանը հետ չգա և երբ փորձի հետ գալ, պարզի, որ այդ մի հանգույցն անջատվել է: Հետ գալու պահին կարող է ուղարկի։ Այսինքն՝ ինֆորմացիան գնաց, հաստատումը հետ չեկավ։ Հիմա ի՞նչ անենք, ուրեմն այ այս տիպի հարցեր շատ կան, ընդ որում՝ այս հարցերը շատ ավելի շատ են, պատկերացրեք այս լարին, ասենք ինչ-որ gateway-ի լարն է հա, որով gateway-ին կպնում են, այստեղ մի հատ էլ d կա, որը ևս կպած է այդ gateway-ին, հիմա այդ gateway-ի մուտքում երկու հոգի միաժամանակ ուզում են ասել, գիտես այսինչը ուղարկի, գիտես այնինչը ուղարկի, իրենք իրար խանգարելու են: Կամ պատկերացնենք լարը: Լարում պետք է հոսանք չլինի, այսինքն, որպեսզի ինչ-որ մեկը օգտագործի, ինքը պետք է ազատ լինի, չէ՞: Հիմա ես փորձում եմ օգտագործել, տեսնում եմ, որ զբաղված է: Այս պահին ինչ-որ բան է գնում գալիս այնտեղ: Ի՞նչ անեմ, չեմ կարող խառնվել, այնտեղ զբաղված է, չէ՞, կխանգարեմ։ Ուրեմն՝ այս տիպի մանր հարցեր կան, օրինակ՝ այսպիսի լուծում են տվել, փորձում ես զբաղված է, մի քիչ սպասում ես, պատահական քանակով միլիվայրկյաններ սպասում ես, հետո մի հատ էլ ես փորձում, զբաղված է ստոպ, մի հատ էլ ես փորձում, հետ քաշվում սպասում ես, ընդ որում, եթե երկու հոգի զուգահեռ են փորձում, ստացվում է բախտներս պետք է բերի տարբեր քանակությամբ ժամանակ սպասեն, որ կարողանանք ի վերջո օգտվել, եթե նույնը սպասեցին էլի իրար կխանգարեն: Ուրեմն՝ այս տիպի հարցեր կան, որոնք hardware-ի մակարդակի վրա պետք է լուծվի ու այդ տիպի հարցերն էլ, այսինքն, երբ որ հանգույցը հանկարծ չկա, գնալուց չգտանք ասենք երթուղին, հանգույցներ չկային կամ գնաց պատասխանը ետ չեկավ: Դրա համար արդեն IP-ին և այլոք օգնում են՝ այդ տիպի խնդիրները լուծելու համար: Նայեք, թե ինչ է այն իրենից ներկայացնում այս ամեն ինչը: IP-ն պարզապես հնարավորություն է Internet հանգույցների միջև հաղորդագրություն ուղարկելու, բայց այդ ուղարկման և ստացման պրոցեսն ինքն այդքան էլ լավ չի վերահսկում, այսինքն, եթե կոպիտ ասենք, դա իր խնդիրը չէ, որ ինչ որ բան տեղ չհասավ, իր գործը տանելն էր, հիմա ինքը փորձեց, չկարողացավ տանել, դե ասում է չկարողացա տանեմ, ինչ ուզում եք արեք: Դրա համար այդ պրոտոկոլներից շատ է լինում: Մի հատ տխուր բան պետք է ասեմ՝ մի 7 հատ կա: IP-ն, եթե չեմ սխալվում ներքևից 4-րդ մակարդակի պրոտոկոլն է, իրենից ներքև ևս մի քանի շերտեր կան, դրան անվանում են պրոտոկոլների ստեկ: Կան ինչ-որ քանակով պրոտոկոլներ, մեկը մեկի վրա տեղադրված ասենք այ ստեղ ինչ-որ մեկը IP-ն է: IP-ն ապահովում է այն, որ ինտերներտ հանգույցների միջև տվյալները հնարավոր լինի փոխանակել: Բայց ոնց է ուղարկում, իրականում, ոնց որ պատկերացրեք այսպես հա, ես ծանրոց եմ գեներացրել, ուզում եմ ուղարկել։ Հիմա այդ ծանրոցը բացում է կամ լավ չի բացում կտրում է, բերում է իր համար ավելի ընդունելի, օրինակ՝ կարող է շատ մեծ լինել, 1 գիգաբայթանոց ծանրոց է, IP-ին չի կարող 1 գիգաբայթ միանգամից ուղարկի: Ինքն ասում է 1 րոպե հա, այս ինչ մեծ ծանրոց է, դնում կտրտում է, փոքրացնում է ամեն կտորի վրա բան է անցկացնում անջրաթափանց, վրան գրում է 1, 2, 3, 4, 5, 6, 7, 8...ու փոխանցում է ներքևի շերտին՝ ներքևի հարկ: Ներքևի հարկում նստած է ինչ-որ մեկը, ով ստանում է այդ կտորները ու ինքը չգիտի, որ այդ 7 հատը, ինչ-որ մեկ պակետի՝ ծանրոցի կտորներն են: Ինքը պարզապես հերթական կտորը վերցնում է, ասում է այս ինչ մեծ է, ինքն էլ է կտրտում, վրան գրում է a, b, c, d...ինչ-որ բաներ, փաթաթում է ինչ-որ ուրիշ բաների մեջ կամ քառակուսիացնում է, որովհետև ինքը մենակ քառակուսի բաներ է կարողանում ուղարկել, արկղերի մեջ է դնում կամ չգիտեմ ինչ, փոխանցում է ներքև, հետո այդ ներքևինը վերցնում է ասում է, վայ այս արկղը չթրջվի ու վրայից ինչ-որ բան է քաշում, վրան ինչ-որ բան է գրում, այդպես պատկերացրեք չգիտեմ ինչ է լինում այդ սև արկղն է, ես չգիտեմ ինչ է կատարվում այնտեղ: Գալիս հասնում է ֆիզիկական մակարդակին, օրինակ՝ այս ամեն ինչից, ի վերջո, պետք է լարումներ ստանանք, հոսանք ստանանք: Ինչ-որ մեկը այդ ամենաներքևի մակարդակում վերցնում է այդ կտրտած, փաթաթած սենց մի փոքր բան ու դա վերածում է հոսանքի։ Ոնց ե՞ք դա պատկերացնում, ոնց ուզում եք պատկերացրեք, ես էլ չգիտեմ: Լարով գնում է այն կողմ, որտեղ ճիշտ նույն ձևով շենք կա, գալիս է այս ներքևի հարկին, էլի ֆիզիակական նույն ձևի, ուրիշ չի կարող լինել: Այսինքն, եթե վերևում նկարագրված դեպքն է, ապա այդ մեկ կտորն է հա: Նույն տիպի են այստեղ. լար է երկու ծայրերին ինչ-որ հանգույցներ: Հիմա այստեղ այդ մեկը ստանում է այդ լարումները, այդ լարումներից ինչ-որ բիթեր է միգուցե հավաքում, բայթեր է սարքում, հետո այդ բայթերը կպցնում է, իրար վրա սենց փաթաթում է մի բանով, ասում է՝ ահա ինչ-որ բան ստացա ու փոխանցում է վերևի հարկ, վերևինը նայում է ասում է ահա 8 հատից առաջինը եկավ, սպասում է, մեկ էլ՝ հոպ, երկրորդն է գալիս, հետո, երրորդը, հետո չորրորդը....հավաքում է այս 8 հատը բացում է, կպցնում է իրար մի հատ նոր փաթեթի մեջ է դնում, վրան գրում է 4 և ուղարկում է վերև: Վերևինը նայում է ասում է ահա 4-ն եկավ, ինչու 4-ը չգիտեմ, ինքը գիտի, որ 46 հատ պետք է գար, 4-ն է եկել, որովհետև վրան գրված է 4: Ու ինքը սպասում է, որ ներքևից գան: Այսինքն՝ վերևից կտրտվելով, տրոհվելով գալիս հասնում է ֆիզիկական մակարդակի գնում է այնտեղ, իսկ այնտեղ արդեն հակառակը՝ սկսում է վերակառուցվել հետ, գալիս հասնում է IP-ի մակարդակի: Հիմա, եթե այստեղ արանքում ինչ-որ բան եղավ IP-ին մեղավոր չի, ինքը փորձեց ուղարկել, բայց չստացվեց: Դրա համար արդեն վերևը ուրիշ շերտեր են հայտնվում: Հա կարող է ես այս 4-ը խառնում եմ IP-ին 3-րդ մակարդակում է, չգիտեմ: Այս ամեն ինչը կոչվում է ISO/OSI 7 մակարդականի ցանցային մոդել: Սրա ավելի պարզեցած տեսակն էլ կա, որը կոչվում է tcp/ip, որն այստեղ 5 հատ ունի շերտեր։ Ես այդպես լավ չեմ այդ շերտերից, կարող եք գրքերում կարդալ: Ուրեմն՝ IP-ն այդտեղ մեղավոր չէր, բայց քանի որ մեր համար կարևոր կարող է լինել, օրինակ՝ կարող է մենք ասում ենք, որ չգնաց՝ գոնե ինձ ասա, ես ուզում եմ իմանալ, այ դա IP-ի գործը չի: Դրա համար ավելի վերևում կարող է լինել մի հատ ուրիշ պրոտոկոլ, որը կոչվում է transmission control protocol, որն օգտագործում է IP-ն, բայց ինքն այդ IP-ին վերահսկում է, ուղարկում է, ինքը վրան գրում է՝ նայի ասենք ինչ-որ բան է հաշվարկում, օրինակ՝ check sum, կամ մի այլ հավելյալ ինֆորմացիա գրում է այդ ծանրոցի վրա, հլը թող հետ չգա, ես դրան կասեմ: Ուղարկում է գալիս է այստեղ, հետ է բարձրանում Ip, հետո հետ է բարձրանում այդ tcp-ին: TCP-ն ստանում է ու վրան գրված թիվն է հետը ստանում, հետո ինքը բացում է այդ ծանրոցը, ինչ-որ գործողություն է անում հետը, այս թիվը վերցնում նայում է ասում է` չեղավ, չբռնեց իրար, ուրեմն փչացել է: Ես հորինում եմ սա, tcp-ին կարող է նման բան չի անում, բայց կարող է անում է: Ինքը նայում է ու ասում է պարունակությունը և իմ check sum-ը, այսինքն՝ այն թիվը, որը ես հաշվարկել էի, ես չէ էլի, իմ այս մյուս տարբերակը հաշվարկել էր՝ ելնելով այդ պարունակությունից, ինչ-որ ալգորիթմ կա, ալգորիթմով հաշվարկեցի ուրիշ թիվ ստացա, հիմա կա՛մ այս թիվն է փչացած, կա՛մ այս տվյալներն են փչացած: Ամեն դեպքում՝ այստեղ ինչ-որ բան այն չէ և ինքը հետ է ուղարկում ինֆորմացիա այն մասին, որ ձեր տվյալները փչացած էին: Ընդ որում՝ կարող է 8 հատ ծանրոցից, ինչ-որ մեկի վրա էր փչացած, միևնույնն է ինքն ասում է այդ 8-ն էլ արդեն ակտուալ չեն: Ինձ չի հետաքրքրում, ինչ-որ բան այնտեղ խառնել եք: Հլը նորից ուղարկեք: Այսինքն՝ Tcp-ի մակարդակում արդեն կարգավորվում է այդ խնդիրը, որ եթե հանկարծ չի հասել, կա՛մ հասել է վատ վիճակում, կա՛մ հասել է և հաստատումը հետ չի եկել, միևնույնն է այս կողմից նորից է ուղարկվում, նորից է ուղարկվում, նորից է ուղարկվում, այնքան է ուղարկվում, մինչև այնտեղից հաստատում գա, որ եկելա հասելա հենց այն, ինչ-որ դուք ուղարկել էիք: Պատկերացնում ե՞ք ինչ ահռելի խնդիր են լուծում: Այսինքն, եթե այստեղ կապը գնաց, այս ուղարկողը չստացավ պատասխան, ինքը նորից է փորձում ուղարկել ու այս կապը կարող է ինչ-որ ուրիշ ձևով ուղարկել, որ գնա հասնի տեղ: Առաջին անգամ չստացվեց, երկրորդին կարող է գնա կամ կարող է առաջինն ինչ-որ կողքը մագնիս է դրված եղել խառնվեց, գնաց հասավ: Ուրեմն՝ Tcp-իով էլ հեքիաթը չի ավարտվում, բայց կարևոր է, որ մինչև Tcp-ին, սրանից ներքև՝ համակարգային մակարդակներ են, այսինքն՝ օպերացիոն համակարգն է դա տրամադրում, կամ Firmware-ը, եթե կա այդտեղ Firmware, եթե չկա` ապա օպերացիոն համակարգն է տրամադրում: Այսինքն՝ մենք ձեր հետ Tcp-ով աշխատելու դեպքում անհանգստանալու կարիք չունենք: Համակարգիչները ունեն Tcp-ի, IP-ի հնարավորություններ, հեռախոսներն ունեն և այն ամեն ինչի, ինչի հետ դուք գործ եք անելու՝ ունեն: Բայց դրանից վերև էլ կան շերտեր, այ այդ շերտերն արդեն application development-ի գործն է: Ուրմեն՝ Tcp-ից վերև գտնվում են շատ մեծ պրոտոկոլներ, որոնք կարծեմ հենց application պրոտոկոլներ են կոչվում կամ presentation չգիտեմ, անունները չեմ հիշում: Օրինակ՝ այստեղ կարող է լինել smtp պրոտոկոլը, որը Simple mail transfer protocol-ն է, այսինքն՝ նամակներ ուղարկելու համար է: Հետևաբար, այս մյուս կողմում էլ պետք է լինի smtp ակնհայտորեն: Ուրեմն՝ ուղարկողը և ստացողը պետք է նույն լեզվով խոսեն իրար հետ:

Հիմա եկեք մի հատ հասկանանք, թե ինչ է այս պրոտոկոլը ի վերջո: Պրոտոկոլը կարող ենք պայմանականորեն ասենք, որ դրանք այն կանոններն են, որոնց պետք է հետևեն երկու կողմերը, որպեսզի իրենց միջև կոմունիկացիան դառնա հնարավոր: Ինչ-որ համաձայնություններ են, պայմանավորվածություններ են, երկուսն էլ գործում են ու նույն բանն են անում, կոպիտ եթե ասենք, ապա կարող է դա նույն լեզուն է, որով իրենք իրար հետ խոսում են, ճիշտ չեմ ասում, լեզուն անգլերեն է, իսկ պրոտոկոլն այն է, որ դու մարդուն տեսնում ես բարևում ես, մարդուն հարցնում ես ոնց ե՞ք, ասենք անծանոթ մարդուն “Դուք”-ով ես դիմում, եթե ընկերդ է ուրիշ ձևով ես դիմում: Այդ ամեն ինչը պրոտոկոլ է: Ուրեմն՝ այս բոլոր մակարդակներում այդ ամեն ինչը տեղի է ունենում, բայց մենք դա չենք կարող զգալ, շոշափել, սրանից վերև մակարդակները շոշափելի են: Օրինակ՝ smtp-ին դուք կարող եք շոշափել, smtp-ին այսպիսին է: Կլինետը կպնում է սերվերին, այսինքն՝ այս կոմունիկացիոն Tcp-ն հաստատում է, երաշխավորում է, որ այս ամեն ինչը գնաց, եկավ, ամեն ինչ ճիշտ է և ակնկալվում է, որ կլինետը սերվերին պետք է կպնի, բառացիորեն պետք է ստեղից գնա, հետևյալը գրված լինի helo, ընդ որում, 1 L-ով, ու սերվերի անունը ու ուղարկվում է այն կողմ: Սերվերը ստանում է ասում է՝ օօօ, բարևեց և հետ է ուղարկում նմանատիպ մի պատասխան, ինքն էլ է ասում helo և սրա հասցեն է ուղարկում, այ սրա լոկալ հասցեն է ուղարկում: Ինչ-որ ունի, դա էլ ուղարկում է: Կարող է ասի, գիտես մի հատ նամակ է պետք ուղարկել, սերվերը կասի լավ, ո՞ւմ, ինքն ասում է այսինչին է պետք ուղարկել, ասում է լավ, բա դու ո՞վ ես, ասում է ես այսինչն եմ, ասում է լավ, իսկ ի՞նչ ես ուզում ուղարկել, ասում է ուրեմն՝ վերնագիրը սա, content-ը՝ սա, իսկ վերջում՝ մի հատ կետ, մի հատ դատարկ տող, ասում է հերիք է լավ հասկացա։ Դա պրոտոկոլն է։ Ինքը դա վերցնում է, տանում է իր մոտ, դնում է հերթի մեջ, ասում է հենց առիթը եղավ կուղարկեմ նամակը:

Տնային աշխատանք, գտնում եք smtp-ի մի սերվեր ու հետը խոսում եք: Լուրջ՝ շատ հետաքրքիր է, ես փոքր ժամանակ գրել եմ smtp-ի client, այն ժամանակ կար, հիմա esmtp-ին է (Extended), օրինակ gmail-ն ունի esmtp-ի սերվեր, բայց այնտեղ ինքը պարտադրում է, որ դուք աուտենտիկացիան անցնեք, ընդ որում՝ encription, էսինչ, էնինչ...փորձեք, մի քիչ դժվար է, բայց փորձեք, մի քիչ փորձեք տանջվեք: Ինձ թվում է smtp-ի էլ կգտնեք, ուղղակի simple smtp սերվեր, մի քիչ, որ ման գաք կգտնեք, եթե չէ ես ման կգամ ձեզ տեղյակ կպահեմ: Ուրեմն՝ նայեք, smtp սերվեր-ի հետ խոսելու համար, ձեզ պետք է ծրագիր, որը կապահովի այս Tcp, IP կոմունիկացիան և այդպիսի ծրագիր կա, բախտներս շատ բերել է, կոչվում է՝ Telnet: Կարելի է ասել, որ Telnet-ը ունիվերսալ ցանցային գործիք է, ունիվերսալ կլինետ է, ամեն ինչի կարող է կպնել TCP/IP պրոտոկոլներով: Ամեն ինչի հետ ինքը կարողանում է աշխատել: Դուք իրեն ասում եք սերվերի հասցեն ու մի քիչ էլ ավել ինֆորմացիա, ինքը գնում կպնում է: Այդ մի քիչ ավելի ինֆորմացիայի մասին ևս ես ձեզ կասեմ: Ուրեմն՝ windows-ի ստանդարտ գործիքների մեջ Telnet-ը չկա, չէ մեկ րոպե Telnet-ը կա server-ը չկա Telnet-ի, ուրեմն բացում եք commandline, գիտե՞ք command prompt-ը, մեջը գրում եք Telnet, միանում է ծրագիր անունը՝ Telnet: Կամ միանգամից գրում եք Telnet պրոբել ու այն մնացած ինֆորմացիան, որը պետք է: Ինքը կպնում է այդ ուր, որ պետք է ձեզ և ձեզ էլ ոչ մի բան չի ասում, եթե բան չի ասում ուրեմն կպել է: Դուք սկսում եք գրել ինչ, որ ուզում եք ուղարկել enter եք սեղմում, ինքը վերցնում է ձեր գրածը ուղարկում է, սպասում է ձեր պատասխանը գա ու ձեզ ցույց է տալիս: ֆանտաստիկ գործիք է, այնպիսի բաներ է լինում անել: Փորձեք մի հատ, գտեք esmtp-ի սերվեր հետը աշխատեք, եթե այդքան հավես չունեք, ապա կարող եք մի հատ ուրիշ պրոտոկոլ վերցնեք, http-ին. սա ավելի հեշտ է: Քայլերի քանակը շատ-շատ ավելի քիչ են: Մի հատ քայլ է պետք ընդամենն անել. Կպնում եք սերվերին, ինչ-որ անկապ բան եք գրում, ինքը ձեզ պատասխանում է վերաջնում է, connection էլ փակվում է: Բայց կարող եք իմաստալից հարցում ուղարկել, բայց չխորանաք ուղղակի կպնեք տեսնեք, որ ինքը պատասխանում է: Բայց smtp-ին հետաքրքիր է կամ ftp ինտերնետով կարող եք, բայց կարող եք FTP client գտնել և դրանով գտնել, սա էլ է հետաքրքիր: FTP-ն՝ File Transfer Protocol-ն է, բայց չգիտեմ այդ տիպի պրոտոկոլ կա հիմա, թե՝ ոչ, ոնց որ դուրս են եկել արդեն մոդայից:

Բացի հասցեից, մեզ ևս մեկ բան էլ է պետք, որպեսզի կարողանանք կապ հաստատել, ի վերջո հանգույցը, այդ ամբողջական համակարգիչը չի հա, որի հետ մենք խոսում ենք, որովհետև այդ նույն համակարգչի հետ միաժամանակ շատ տարբեր server-ներ կարող են խոսել: Այսինքն՝ միաժամանակ այդ նույն համակարգչի վրա կարող է http և smtp server լինի ու այդ բոլորի հետ աշխատանքը հնարավոր է միաժամանակ կազմակերպել՝ օպերացիոն համակարգերի միջոցներով: Օպերացիոն համակարգերը տրամադրում են ևս մի հասցեավորման մեխանիզմ՝ գործիք, հավելյալ, որը կոչվում է պորտ: Պորտ ասածը ընդամենը մի հատ թիվ է՝ երկու բայթանի թիվ, որի միջոցով իդենտիֆիկացվում է պրոցեսը, ծրագիրը, այդ հանգույցի վրա: Մոտավորապես՝ պատկերացնենք smtp սերվեր է, հա ինչ-որ ծրագիր է, ինքը միանալուց դիմում է օպերացիոն համակարգին և ասում է ես շատ եմ ուզում 25 համարի պորտն իմը լինի: Դա ոչ մի բան չի նշանակում, դա մի հատ թիվ է: Օպերացիոն համակարգը բացում է իր կոնֆիգուրացիոն ֆայլերը, արդեն ինչ-որ աղյուսակները, այդ զբաղեցրած պորտերի աղյուսակներն է նայում, տեսնում է 25-ը ազատ է, ասում է հա ազատ է 25-ը: Նայում է ասում է, իսկ դու ով ես ասում է, դե ես սերվեր եմ, ասում է ադմինիստրատորն է քեզ միացրել, ասում է հա, ասում է լավ, որովհետև 0-ից 1023 համարի թվերը զբաղված են ադմինիստրատորի համար միայն, բայց եթե ադմինիստրատոր է քեզ միացրել, ուրեմն, լավ: Բայց երևի մի երկու բան է հարցնում, չգիտեմ, սև արկղ է չգիտենք ինչ է անում: Հետո ասում է լավ, ուրեմն 25-ը քոնն է, ու իր մոտ մի տեղ աղյուսակի մեջ գրում է 25 համարի պորտը զբաղեցրել է այսինչ պրոցեսը: Այդ պրոցեսներնեն էլ իդենտիֆիկացնում են իրենց համարներով: Կարևոր չի հա, ինչ-որ իդենտիֆիկատոր է: Ուղղակի իր մոտ գրում է 25-ը այսինչ պրոցեսն է: Հիմա, երբ որ դուք այս ճանապարհով գալիս հասնում եք իրեն, իրականում այդ ծանրոցի մեջ գրված է լինում այդ պորտի համարը: Ոչ թե ուղղակի b, այլ b և ինչ-որ մի հատ էլ թիվ: Նախ նկատեցիք չէ ճանապարհին ինչքան հանգույց կա, նույնիսկ երբ որ կտրտում են, աչքերը փակ են կտրտում անում, որ չիմանան մեջը ինչ կա դե անվտանգություն է, սուտ եմ ասում, չգիտեմ ոնց է լինում: Ուրեմն՝ գալիս հասնում է b-ին, b-ն տեսնում է, որ վրան գրված է b, ինքն էլ b-ն է, ինքը բացում է ու տեսնում է, որ իր կոնկրետ այսինչ համարի, կոնկրետ 25 համարի պորտին է ուղարկված ու այդտեղ իր աղյուսակների մեջ նայում է, որ 25 համարի մոտ ով էր ու եթե պարզվեց, որ 25 համարի վրա ոչ մեկ չկար, այդ ամբողջ ճանապարհը անիմաստ էր, ինքն ուղղակի մերժում է, հետ ուղարկում և ասում է, որ այդ պորտի վրա ոչ մեկ չկա: Ինքը ստացավ ծանրոցը հասկանում եք, բայց ասում է ոչ մեկ չէր սպասում քո ծանրոցին, ստացանք, բայց ոնց որ դուք բնակելի շենքի հասցեն ճիշտ եք գրել, բայց բնակարանի համար գոյություն չունեցող համար եք գրել, ասենք չգիտեմ շատ բարձր հարկի համար եք ինչ-որ գրել, չկա ու պարզապես մերժում է հետ գալիս, չէ՞: Նամակի վրա գրված է լինում սխալ հասցե, էսիմ ինչեր, այսինքն՝ մերժումը գալիս է a-ին, ինքն իմանում է, որ իր ուղարկածը չի հասել: Իսկ, եթե այդ պորտի վրա լսող կա, ապա պարզապես այդ ծանրոցը փոխանցվում է այդ ծրագրին, իսկ թե այնտեղ ինչ կախարդանք է տեղի ունենում մենք ընթացքում կսովորենք: Այսինքն՝ այդ ծրագիրը, smtp server-ը, ստանում է ինչ-որ բան, բացում է այդ ինչ-որ բանը, տեսնում է մեջը գրված է helo, առաջին բանն է, որ եկել է հա, առաջին անգամ ինչ-որ տեղից ինչ-որ բան է եկել, ինքը նայում է մեջը գրած է helo, գրած չի միանգամից պատասխան մերժում է, գրում ասում է ես չեմ մշակում քո հարցումը, որովհետև դու չես բարևել: Հետ եկավ, դուք տեսնում եք այնտեղ գրած է “polite people must greet first”, ինչ-որ այս կարգի մի բան, հետո նոր հարցում եք ուղարկում, մեջը գրած է helo, ինքը բացում է ու ասում է ահա լավ է, բարևեց պատասխանում է, ասում է բարև հետ է ուղարկում: Ուրեմն՝ այս ուղարկել-ստանալուն, անընդհատ մասնակցում է օպերացիոն համակարգը: Անընդհատ, անընդհատ պետք է ասել, որ օպերացիոն համակարգն է դարձնում այդ ամեն ինչը հնարավոր: Եթե ինքը չլիներ, ապա այս բոլոր գործողությունները մենք պետք է անեինք լավ, ինչ-որ մեկը պետք է աներ: Ցանցերն ի վերուստ տրված չէին, մարդիկ սարքել են ու այդ սարքելու ընթացքում այնպես են արել, որ օպերացիոն համակարգերն այդ ամեն ինչ իմանան ու ճիշտ անեն, ասեմ ավելին՝ ցանցերը այն միակ կետերն են, որում բոլոր օպերացիոն համակարգերը համակարծիք են, նույն ձև են աշխատում, նույն ձև են մտածում, նույն ձև են ինտերպրետացնում տվյալները, որովհետև եթե այդպես չլիներ, դուք չէիք կարող ձեր հեռախոսից, որի վրա ios է աշխատում, օրինակ՝ ուղարկեիք ինչ-որ բան մի հատ համակարգչի, որի վրա աշխատում էր linux։ Իրենք իրար կարող է չհասկանային, այսինքն՝ այդ մակարդակում մենք մի կողմ ենք դնում օպերացիոն համակարգի մնացած ամեն ինչը, այսինքն՝ անունը, վերսիան, ով է արտադրել, ինչ CPU-ի վրա է աշխատում: Ցանց ես մտել, ուրեմն՝ այդ լրիվ դնում ես մի կողմ, ցանց ես մտել վերջ, ցանցի հանգույցները բոլորը նույն ձևի են, հա դու կարող ես ընթացքում ասել գիտեք ես Linux-ն եմ, կասեն հա հա լավ, բայց չպետք է քո խոսացածը փոխվի դրանից, դու Linux էիր, Unix էիր, թե Mac OS էիր։ Կապ չունի դու ով ես, դու նույն բանը պետք է ասես, բայց խոսքի մեջ վերջում կարող ես ասել, հա իմիջայլոց ես էլ http այսինչ սերվերն եմ, ես աշխատում եմ Linux-ի վրա, որպես ինֆորմացիա հա, բայց ինքը պետք է նույն բառերը պատասխանի, այդ ամբողջ ստրուկտուրան պետք է նույնը լինի, հավելյալ կարող է ասել հա ես նաև Linux-ի վրա եմ աշխատում:

Ուրեմն՝ դա այնքան խորն է, որ այդ 2 բայթը, այդ բայթերը այսպես են դասավորված, թե ՛ այսպես, թե ՛ սենց, թե ՛ այսենց: Ուրեմն՝ բայթերի կառուցվածքը մալթիբայթ արժեքների կառուցվածքը ֆիքսված է, բոլոր ցանցային հանգույցները նույն ձև են հասկանում: Կապ չունի այնտեղ CPU-ն քանի բիթանի է, ինքն ինչ է մտածում, CPU-ում բայթերի մեջ բիթերի քանակը քանի հատ է, կարևոր չէ: Եթե դու ցանց ես մտել, ցանցն ասում է բայթը մոռացանք բայթ չկա, կան 8-յակներ: 8-յակը 8 հատից է բաղկացած: Կան 8-յակներ, որոնք իրար հետևից այսպես պետք է շարված լինեն: Ինձ չի հետաքրքրում ձեր CPU-ն ոնց է մտածում, դուք պետք է այնպես դասավորեք թվերը, որ ճիշտ գնան, որովհետև մյուս կողմում էլ նմանատիպ խնդիր կա: Ստացողը չպետք է մտածի իրեն ուղարկողը Linux էր, որը Arm-ի վրա էր աշխատում, թե windows էր, որը Intel-ի վրա էր աշխատում: Լավ, ինքը չգիտի, ինքը ստանալու պահին չգիտի, թե դուք ով եք, դրա մեջ է գրված, թե դուք ով եք, ինքը պետք է կարողանա կարդալ չէ, որ իմանա դուք ով եք, այստեղ հավի ու ձվի խնդիր կա: Դրա համար լուծել են այսպես՝ սրանից հետո միայն հավեր են գնում գալիս, ուրիշ ոչ մի բան, մենակ հավեր են այսպես դասավորված իրար հետևից գնում են: Ու բոլոր արժեքները, որոնք ցանցերով գնում են նույն տեսքն ունեն: Մի կողմից դա հեշտացնում է ցանցերի հանգույցների գործը, մյուս կողմից՝ հեշտացնում է ցանցերը լսողի գործը: Մեկն էլ կողքից նստած լսում է, չէ՞: Որովհետև ինքն էլ է ստանում այդ ամեն ինչը: Դրա համար պետք է կոդավորել տվյալները:

Նյութը բավականին շատ էր: Սա ինչ ասեմ, ցանցերի վերաբերյալ ցանկացած գրքի առաջին 10 էջն է երևի, որ այսպես թարմանանք ու մտնենք նոր բնագավառ: Ընդ որում՝ այս ամեն ինչի մասին գրքերում այնքան մանրամասն է գրված լինում, որ նույնիսկ գլուխներ են նվիրված լինում այս շերտերին, ֆիզիկական մակարդակը, այդ ամենը մեզ հետաքրքիր չի: Ես ասացի, որ մենք պետք է նայենք, որպես ծրագրավորողին հասանելի գործիք: Եթե մենք ինչ-որ գործիք ունենք, օրինակ՝ շտանգեն ցիրկուլ, իրեն սենց դնում ես, կարդում ես գրված է տրամագիծը, կարանք չխորանանք, թե ինքը ոնց է սարքված: Կարևորը կարողանանք ստուգել, որ ինքը ճիշտ է աշխատում, ունենալ էտալոնային ինչ-որ բան, տեսնել, որ ինքը ճիշտ է աշխատում և իրեն օգտագործել: Գործիքի կառուցվածքի մեջ այնքան է պետք խորանալ, որպեսզի հանկարծ սխալ չօգտագործենք կամ եթե հնարավոր է օգտագործենք էֆֆեկտիվ: Բայց, ոչ թե այնքան, որ մենք այդ գործիքից սարքենք, որովհետև չի կարելի բոլոր գործիքներից սարքել, պետք է ինչ-որ պահի կանգնել և օգտագործել գործիքը: Դե հարցեր տվեք:

ՀԱՐՑ---- Իսկ ավելի վերև այլ պրոտոկոլներ կա՞ն։

Վահրամ –Նայեք իրականում, օրինակ՝ http-ից վերև կա: Իսկ SMTP-ից վերև դուք կարող եք ձերը կառուցել հա, օրինակ՝ secure smtp, օրինակ՝ մենք իրա վերևում կարող ենք Encryption-ի մակարդակ դնել, երբ որ մենք ամեն ինչ encrypt ենք անում, նոր ենք փոխանցում ներքև կամ կարող ենք միգուցե application այլ մակարդակում ևս: SMTP-ի դեպքում չեմ կարող ասել, բայց http-ի դեպքում, օրինակ՝ soap-ը http-ի վրա հիմնված XML-ը որպես հիմք օգտագործող պրոտոկոլ է: XML-ային պրոտոկոլ է և իր վրա էլ կարելի է կառուցել նոր պրոտոկոլ, որն արդեն կօգտագործի soap-ը ու այսպես մի քանի շերտ կարելի է բարձրանալ: Բայց իմաստի պահն է: Այսինքն՝ բուն Http-ին կոնկրետ խնդիրների բազմություն է, դու իր միջոցով կարող ես նոր պրոտոկոլ սահմանես, որն էլ ուրիշ խնդիրների բազմություն կամ ավելի հեշտ լուծում կտա ինչ-որ խնդիրների բազմության: Արել են կա այդպիսի բաներ շատ:

ՀԱՐՑ--- HTTP—ն ամենապրակտիկ պրոտոկոլն է՞։

Վահրամ-Չէ, ոչ թե պրակտիկն է, այլ web-ի դեպքում http-ին է: Եթե Web, ապա http: Դրանով ինքը web-ի անկյունաքարային, հիմնարար պրոտոկոլն է: Բայց ասենք, եթե web-ի մասին չխոսենք, ապա կարող է smtp-ի մասին մի հատ առանձին դասախոսություն անենք, Extended SMTPn ինչքան լավն է:

ՀԱՐՑ---

Վահրամ- Մենք Internet-ի փոխարեն միայն այս gateway-ի տեղը գիտենք, մենք Internet-ի տեղը, որպես այդպիսին չգիտենք, միայն այս gateway-ի հասցեն ունենք, կոպիտ ասած, ցանկացած առիթով դիմում ենք gateway-ին: Այդքան մի բան, դուռն է ինքը: Այսինքն, եթե ուզում ես դուրս գալ, դիմում ես դռանը:

ՀԱՐՑ-

Վահրամ- Այո ՛, այո ՛ smtp պրոտոկոլն է պահանջում այդպես: Դա շատ նեղ ինչ-որ հարց է: Smtp-ն այդպիսին է, բայց, օրինակ՝ http-ն այդպիսին չի: Ftp-ն էլ այդպիսին չի: Իրենց ուրիշ հարցեր են հետաքրքրում:

ՀԱՐՑ-

Վահրամ-Ստանդարտ չի, պրոտոկոլի մեջ է: Պրոտոկոլը հենց այդ է, մենք որ իրար տեսնում ենք բարևում ենք, այ պրոտոկոլի մեջ գրված է, որ իրար տեսնում եք բարևեք: Մինչև չես բարևում սերվերը չի ընդունում, որ դու իրա կլինետն ես: Այսինքն՝ ինքը գիտի, որ իրա կլինետները իրան բարևում են, ուրեմն, եթե դու կպել ես ու իրան չես բարևել, ուրեմն, դու կարող է սխալ ես կպել, դու smtp-ով չես խոսում իր հետ, որովհետև smtp-ով իրա առաջին բառը պետք է լիներ helo-ն, հետևաբար դու ինչ-որ բան խառնել ես ու ինքը չի կարող քեզ սպասարկել, ինքը չի կարող նամակները ուղարկել քո հրամանով, որովհետև դու նրա հետ լրիվ ուրիշ բանից ես խոսում:

ՀԱՐՑ-

Վահրամ- Smtp սերվերվերները հենց այդ mail ուղարկող սերվերն են, այսինքն, որ ասում եմ gmail-ը, google mail-ն ունի Smtp սերվեր: Web ինտերֆեյսի մասին չեմ խոսում, այլ 25 համարի պորտին, ոչ թե՝ 80: 80-ին, որ կպնեք այնտեղ նրա web ինտերֆեյսն է: Իսկ 25 համարի պորտի վրա smtp սերվերն է: Extended smtp-ի է, սովորական չի, որն ավելի մի քիչ նյուանսներ է պահանջում, բայց կարող եք գտնել ավելի պարզ smtp-իներ: Կարող եք նույնիսկ ձեր համակարգչի վրա դնել: Windows-ի հետ էլ է լինում, Linux-ի հետ էլ կարող եք դնել, հենց ձեր մոտ լինի լոկալ: Ուրիշ հարցեր: Ուրեմն՝ ամեն հաջորդ դասին կարճ ամփոփելու եք այս դասի նյութը, որպեսզի նստվածք տա, որպեսզի լուրջ մոտենանք, որպեսզի վերաբերվենք որպես ուսումնական պրոցես, այլ ոչ թե որպես սեմինար կամ կոնֆերանս։ Չեմ ուզում դրան գանք, որովհետև եկել ենք սովորելու, լա՞վ: Եթե ես մենակ խոսամ, դուք լսեք ու գնաք, հա ինչ-որ բան կսովորեք, բայց ինչպես հետազոտություններն են ցույց տալիս, երբ որ մարդ լսում է ինչ-որ բան, ինքը այդ ստացածից 60 թե 70%-ն է, որ իրոք հասկանում է: Երբ որ մարդ ինքն է բացատրում իրա բացատրածի 92%-ն է հասկանում: Ձեր փոխարեն կհարցնեի, ո՞նց 100-ից քիչ: Այո՛ 100-ից քիչ: Նույնիսկ ես այսօրվա իմ ասածի մեջ, ես իմ ասածի 92%-ը հասկացել եմ, բաներ կան, որ ես չեմ հասկացել՝ Ձեզ ասել եմ: Ես չեմ ասում, բրիտանացի գիտնականներն են դա ասել: Այնպես, որ խնդրում եմ ամեն դասին այդ ձևով մոտեցեք, հիմա ես այս նյութը, որը ձեզ տվեցի նշումներ եք արել կա՛մ գրքերից կարող եք կարդալ, կա՛մ wikipedia-ներից կարող եք կարդալ, կա՛մ արդեն գիտեիք կարևոր չի, փորձեք սիստեմավորել հաջորդ դասին ինչ-որ մեկին խնդրելու եմ ամփոփել: Շատ լավ, եթե էլ հարցեր չունեք, ուրեմն, այսքանը այսօրվա համար:

ՀԱՐՑ-

Վահրամ- Telnet-ը ծրագիր է command line-ից կարող եք windows-ում աշխատացնել, Linux-ում էլ։ Ինքը պարզապես ունիվերսալ ծրագիր է, միանում է, դուք իրեն ասում եք ում կպնի, հասցե եք ասում, պորտ եք ասում ինքը կպնում է, հետո դուք ինչ գրում եք ինքն ուղարկում է: Սպասում է պատասխանին, հետո ինչ պատասխան գալիս է ձեզ ցույց է տալիս: Ինքն իրենից ոչ մի բան չի անում, ինքն ուղղակի կապի միջոց է: Այսինքն՝ ինքը tcp-ն է օգտագործում որպես տրանսպորտ և այդ tcp-ի վրա դուք ինչ ուզենաք կարող եք ստանալ: Smtp կլիենտ է, կարող եք սարքել http-ի էլ: Կախված նրանից, թե դուք ի՞նչ կգրեք և ո՞ւմ կգրեք: Շատ լավ, դե ուրեմն հաջողություն ձեզ: