Ցանցային ինտերֆեյսի վերահսկիչ

**Ցանցային ինտերֆեյսի վերահսկիչ** (), որը հայտնի է նաև որպես ցանցային քարտ, ցանցային ադապտեր կամ LAN ադապտեր, համակարգչային սարքավորում, որը համակարգիչը միացնում է համակարգչային ցանցին։

Ավելի վաղ ցանցային ինտերֆեյսի վերահսկիչները սովորաբար իրականացվել են ընդլայնման քարտերի տեսքով, որոնք միացել են համակարգչի լարերին։ Էթերնեթ ստանդարտի ցածր գնի և տարածվածության շնորհիվ այսօրվա համակարգիչների մեծ մասն ունեն ցանցային ինտերֆեյս, որը ներկառուցված է գլխավոր պլատայի վրա կամ տեղադրված է USB միացումով ադապտերի մեջ, չնայած ցանցային քարտերը դեռ հասանելի են։

Ժամանակակից ցանցային ինտերֆեյսի կարգավորիչները հյուրընկալող պրոցեսորներին առաջարկում են առաջադեմ հնարավորություններ, ինչպիսիք են ընդհատման և DMA ինտերֆեյսները, բազմաթիվ ընդունման և փոխանցման հերթերի աջակցությունը, բազմաթիվ տրամաբանական ինտերֆեյսների բաժանումը և կարգավորիչի վրա ցանցային երթևեկության մշակումը, ինչպիսին է TCP բեռնաթափման շարժիչը։

## Նպատակ
Ցանցային վերահսկիչը իրականացնում է էլեկտրոնային սխեմա, որն անհրաժեշտ է հատուկ ֆիզիկական և տվյալների կապի շերտի ստանդարտներով (օրինակ՝ Էթերնեթ կամ Wi-Fi) հաղորդակցվելու համար։ Սա հիմք է ստեղծում ամբողջական ցանցային արձանագրությունների ստեկի համար, ինչը հնարավորություն է տալիս հաղորդակցվել նույն լոկալ ցանցի () համակարգիչների միջև, ինչպես նաև իրականացնել լայնածավալ ցանցային հաղորդակցություն երթուղավորվող արձանագրությունների միջոցով, ինչպիսին է Internet protocol-ը ()։

Ցանցային ինտերֆեյսի վերահսկիչը () թույլ է տալիս համակարգիչներին հաղորդակցվել ցանցի միջոցով՝ օգտագործելով կամ մալուխներ, կամ անլար տեխնոլոգիաներ։ NIC-ը գործում է որպես երկու շերտերի սարք՝ ֆիզիկական և տվյալների կապի։ Ֆիզիկական շերտում այն ապահովում է ֆիզիկական կապը ցանցային միջավայրի հետ (օրինակ՝ մալուխի կամ անլար ալիքի)։ Տվյալների կապի շերտում (հատկապես IEEE 802 և նմանատիպ ցանցերի համար) այն տրամադրում է ցածր մակարդակի հասցեավորման համակարգ՝ յուրաքանչյուր ինտերֆեյսին հատկացված եզակի MAC հասցեների միջոցով։

## Իրականացում

Համակարգչային ցանցերի պատմության մեջ, ցանցային ինտերֆեյսի վերահսկիչները սկզբում իրականացվում էին որպես ընդլայնման քարտեր, որոնք միացվում էին համակարգչի մագիստրալին։  Ժամանակի ընթացքում, Էթերնեթ ստանդարտի ցածր գնի և լայն տարածման շնորհիվ, այսօրվա համակարգիչների մեծ մասն ունեն ցանցային ինտերֆեյս, որը ներկառուցված է գլխավոր պլատայի մեջ։ Ավելի նոր սերվերային մայրական պլատաները կարող են ունենալ նույնիսկ մի քանի ներկառուցված ցանցային ինտերֆեյսներ։ Էթերնեթի հնարավորությունները կամ ինտեգրված են մայրական պլատայի չիպսետի մեջ, կամ իրականացվում են առանձին, էժան Էթերնեթ չիպի միջոցով։ Առանձին ցանցային քարտի կարիք այլևս չի լինում, բացառությամբ այն դեպքերի, երբ անհրաժեշտ են լրացուցիչ անկախ ցանցային կապեր կամ օգտագործվում է ոչ Էթերնեթ տիպի ցանց։ Համակարգչային սարքաշարի ընդհանուր միտումը դեպի բաղադրիչների ինտեգրումը մեկ չիպի վրա է, և այս միտումը կիրառվում է նաև ցանցային ինտերֆեյսի վերահսկիչների դեպքում։

Էթերնեթ ցանցային վերահսկիչները սովորաբար ունեն 8P8C վարդակ, որտեղ միանում է ցանցային մալուխը։ Ավելի հին NIC-երն ունեցել են նաև BNC կամ AUI միացումներ։ Էթերնեթ ցանցային վերահսկիչներն աջակցում են 10 Մբիթ/վ, 100 Մբիթ/վ և 1000 Մբիթ/վ արագություններ։ Նման վերահսկիչները նշանակվում են 10/100/1000՝ ցույց տալով, որ դրանք կարող են աշխատել 10, 100 կամ 1000 Մբիթ/վ արագությամբ։ Այսօր արդեն հասանելի են նաև 10 գիգաբիթ Էթերնեթ NIC-եր, որոնք 2014 թվականի նոյեմբերից սկսել են ներառվել նաև համակարգչային մայրական պլատաներում։

Մոդուլային կառուցվածքները, ինչպիսիք են SFP-ն և SFP+-ը, լայն տարածում ունեն, հատկապես  Թելքաօպտիկական կապի ոլորտում։ Դրանք սահմանում են ստանդարտացված բնիկ մեդիայից կախված հաղորդիչների համար, ինչը թույլ է տալիս օգտատերերին հեշտությամբ հարմարեցնել ցանցային ինտերֆեյսն իրենց կարիքներին։

Ցանցային միակցիչին կից կամ դրա մեջ ներկառուցված LED ցուցիչները օգտատիրոջը տեղեկացնում են՝ արդյոք ցանցը միացված է, և երբ տվյալների փոխանցում է տեղի ունենում։

Ցանցային ինտերֆեյսի վերահսկիչը կարող է ունենալ ROM (կարդալու համար նախատեսված հիշողություն)՝ իր գործարանային MAC հասցեն պահելու համար։NIC-ը կարող է օգտագործել հետևյալ տեխնիկաներից մեկը կամ մի քանիսը՝ ցույց տալու համար, որ փոխանցման համար փաթեթներ կան.

* Հարցում (). CPU-ն ծրագրի կառավարման ներքո ստուգում է ծայրամասային սարքի վիճակը։
* Ընդհատումով կառավարվող ներմուծում/արտածում (). ծայրամասային սարքը ինքն է ահազանգում CPU-ին, որ պատրաստ է տվյալներ փոխանցել։
NIC-ը փաթեթի տվյալները փոխանցելու համար կարող է օգտագործել հետևյալ տեխնիկաներից մեկը կամ մի քանիսը.

* Ծրագրավորված ներմուծում/արտածում (). CPU-ն տվյալները տեղափոխում է NIC-ից հիշողություն կամ հակառակը։
* Հիշողության ուղղակի մուտք (). CPU-ից բացի մեկ այլ սարք ստանձնում է համակարգային մագիստրալի վերահսկողությունը՝ տվյալները NIC-ից հիշողություն կամ հակառակը տեղափոխելու համար։ Սա թուլացնում է CPU-ի ծանրաբեռնվածությունը, բայց պահանջում է ավելի շատ տրամաբանություն քարտի վրա։ Բացի այդ, NIC-ի վրա փաթեթային բուֆերի կարիք չի լինում, և ուշացումը կարող է նվազել։

## Արդյունավետություն և առաջադեմ ֆունկցիոնալություն

Բազմահերթ NIC-երը () տրամադրում են բազմաթիվ փոխանցման և ընդունման հերթեր, ինչը թույլ է տալիս, որ NIC-ի կողմից ստացված փաթեթները բաշխվեն ընդունման հերթերից մեկին։ NIC-ը կարող է մուտքային տրաֆիկը բաշխել ընդունման հերթերի միջև՝ օգտագործելով հեշ ֆունկցիա։ Յուրաքանչյուր ընդունման հերթին հատկացվում է առանձին ընդհատում. այդ ընդհատումներից յուրաքանչյուրը տարբեր CPU-երին կամ CPU-երի միջուկներին ուղղորդելով՝ հնարավոր է բաշխել մեկ NIC-ի կողմից ստացված ցանցային տրաֆիկի կողմից առաջացած ընդհատման հարցումների մշակումը, ինչը բարձրացնում է արդյունավետությունը։

Վերը նկարագրված ընդհատումների ապարատային բաշխումը կոչվում է ընդունման կողմի սանդղակավորում ()։ Գոյություն ունեն նաև բացառապես ծրագրային իրականացումներ, ինչպիսիք են՝ ստացվող փաթեթների ղեկավարումը (), ստացվող հոսքի ղեկավարումը () և Intel Flow Director-ը։ Արդյունավետության հետագա բարձրացում կարելի է ապահովել՝ ընդհատման հարցումները ուղղելով այն պրոցեսորներին կամ միջուկներին, որոնք կատարում են այն կիրառական ծրագրերը, որոնց համար նախատեսված են ցանցային փաթեթները։ Այս տեխնիկան CPU քեշերի ավելի լավ կիրառման և քիչ անհրաժեշտ կոնտեքստի փոխարկումների շնորհիվ բարելավում է տեղայնացման սկզբունքը և հանգեցնում է ավելի բարձր ընդհանուր արդյունավետության, նվազեցնում է ուշացումը և բարելավում է սարքաշարի օգտագործումը։

Բազմահերթ NIC-երի դեպքում, լրացուցիչ արդյունավետություն կարելի է ապահովել՝ ելքային տրաֆիկը բաշխելով տարբեր փոխանցման հերթերի միջև։ Տարբեր փոխանցման հերթեր տարբեր պրոցեսորներին կամ պրոցեսորի միջուկներին հատկացնելով՝ կարելի է խուսափել օպերացիոն համակարգի ներքին կոնֆլիկտներից։ Այս մոտեցումը սովորաբար կոչվում է փոխանցվող փաթեթների ղեկավարում ()։

Որոշ ապրանքներ առաջարկում են NIC բաժանում (), որը նաև հայտնի է որպես պորտի բաժանում ()։ Այս տեխնոլոգիան, օգտագործելով SR-IOV վիրտուալացումը, մեկ 10 գիգաբիթ Ethernet NIC-ը բաժանում է բազմաթիվ առանձին վիրտուալ NIC-երի, որոնցից յուրաքանչյուրն ունի իրեն հատկացված թողունակությունը։ Օպերացիոն համակարգի համար այս վիրտուալ NIC-երը ներկայացվում են որպես առանձին PCI սարքեր։

Որոշ NIC-եր ապահովում են TCP բեռնաթափման շարժիչ ()։ Այս գործառույթը թույլ է տալիս TCP/IP ստեկի ամբողջ մշակման ծանրաբեռնվածությունը տեղափոխել ցանցային վերահսկիչի վրա՝ թուլացնելով պրոցեսորի բեռը։ Այս տեխնոլոգիան հատկապես արդյունավետ է բարձր արագությամբ ցանցերի (օրինակ՝ Gigabit և 10 Gigabit Ethernet) դեպքում, որտեղ ցանցային ստեկի մշակումը զգալի ծանրաբեռնվածություն է ստեղծում։

Որոշ NIC-եր ունեն ինտեգրված դաշտի կողմից ծրագրավորվող տրամաբանական մատրիցներ ()։ Դրանք նախատեսված են ցանցային տրաֆիկը մշակելու համար՝ նախքան այն հոսթ համակարգչին փոխանցելը, ինչը թույլ է տալիս զգալիորեն նվազեցնել ուշացումները ժամանակի նկատմամբ զգայուն աշխատանքների դեպքում։ Որոշ NIC-եր նույնիսկ առաջարկում են ամբողջական ցածր ուշացման TCP/IP ստեկներ, որոնք աշխատում են այդ ինտեգրված FPGA-ների վրա։ Դրանք օգտագործում են գրադարաններ, որոնք կանխում են ցանցային այն գործողությունները, որոնք սովորաբար կատարվում են օպերացիոն համակարգի միջուկի կողմից։ Solarflare-ի բաց կոդով OpenOnload ցանցային ստեկը, որն աշխատում է Linux-ի վրա, դրա օրինակ է։ Այս ֆունկցիոնալությունը հայտնի է որպես օգտատիրոջ մակարդակի ցանցային ապահովում։

## Նշումներ


## Ծանոթագրություններ

## Արտաքին հղումներ
* 
* 
* Multi-queue network interfaces with SMP on Linux

Կատեգորիա:Գուգլ
Կատեգորիա:Ինֆորմատիկա
Կատեգորիա:Համակարգիչ
Կատեգորիա:Համակարգչային նեթվորքինգ
Կատեգորիա:Համակարգչային ցանցեր
Կատեգորիա:Համակարգչի բաղկացուցիչներ
Կատեգորիա:Համացանց
Կատեգորիա:Հաշվարկում
Կատեգորիա:Վիքիպեդիա
Կատեգորիա:Տեխնոլոգիա