FreeBSD-ն աջակցություն է ավելացնում Netlink արձանագրությանը, որն օգտագործվում է Linux միջուկում

FreeBSD կոդերի բազան ընդունում է Netlink կապի արձանագրության ներդրումը (RFC 3549), որն օգտագործվում է Linux-ում՝ միջուկի և օգտատիրոջ տարածքում պրոցեսների միջև փոխազդեցությունը կազմակերպելու համար: Նախագիծը սահմանափակված է NETLINK_ROUTE օպերացիաների ընտանիքին աջակցելով՝ միջուկում ցանցային ենթահամակարգի վիճակը կառավարելու համար:

Իր ներկայիս տեսքով Netlink-ի աջակցության շերտը FreeBSD-ին թույլ է տալիս օգտագործել Linux ip ծրագիրը iproute2 փաթեթից՝ ցանցային ինտերֆեյսները կառավարելու, IP հասցեներ սահմանելու, երթուղավորումը կարգավորելու և հաջորդող օբյեկտները շահարկելու համար, որոնք պահում են փաթեթը ցանկալի նպատակակետ ուղարկելու համար օգտագործվող վիճակը: . Վերնագրի ֆայլերը մի փոքր փոխելուց հետո հնարավոր է օգտագործել Netlink-ը Bird երթուղային փաթեթում։

Netlink-ի իրականացումը FreeBSD-ի համար փաթեթավորված է որպես բեռնվող միջուկի մոդուլ, որը, հնարավորության դեպքում, չի ազդում այլ միջուկի ենթահամակարգերի վրա և ստեղծում է առանձին առաջադրանքների հերթեր (tasqueue)՝ պրոտոկոլի միջոցով մուտքային հաղորդագրությունները մշակելու և գործողություններ ասինխրոն ռեժիմով կատարելու համար: Netlink-ի տեղափոխման պատճառը միջուկի ենթահամակարգերի հետ փոխգործակցության ստանդարտ մեխանիզմի բացակայությունն է, ինչը հանգեցնում է նրան, որ տարբեր ենթահամակարգեր և դրայվերներ հորինում են իրենց պրոտոկոլները։

Netlink-ն առաջարկում է հաղորդակցման միասնական շերտ և ընդարձակվող հաղորդագրության ձևաչափ, որը կարող է հանդես գալ որպես միջնորդ, որն ավտոմատ կերպով միավորում է տարբեր աղբյուրներից ստացված տարբեր տվյալները մեկ հարցման մեջ: Օրինակ՝ FreeBSD ենթահամակարգերը, ինչպիսիք են devd-ը, jail-ը և pfilctl-ը, կարող են տեղափոխվել Netlink՝ այժմ օգտագործելով իրենց ioctl զանգերը, ինչը մեծապես կհեշտացնի այս ենթահամակարգերի հետ աշխատելու համար հավելվածների ստեղծումը: Բացի այդ, Netlink-ի օգտագործումը երթուղավորման կույտում nexthop օբյեկտները և խմբերը փոփոխելու համար թույլ կտա ավելի արդյունավետ փոխազդեցություն օգտատերերի տարածության երթուղավորման գործընթացների հետ:

Ներկայում ներդրված առանձնահատկությունները.

  • Տեղեկություններ ստանալ երթուղիների, nexthops օբյեկտների և խմբերի, ցանցային ինտերֆեյսների, հասցեների և հարևան հոսթերների մասին (arp/ndp):
  • Ցանցային ինտերֆեյսների տեսքի և անջատման մասին ծանուցումների ձևավորում, հասցեների կարգավորում և ջնջում, երթուղիների ավելացում և ջնջում:
  • Երթուղիների, nexthops-ի օբյեկտների և խմբերի, դարպասների, ցանցային միջերեսների ավելացում և հեռացում:
  • Ինտեգրում Rtsock ինտերֆեյսի հետ՝ երթուղային աղյուսակը կառավարելու համար:

Source: opennet.ru

Добавить комментарий