ACL (Lista e Kontrollit të Qasjes) në pajisjet rrjet mund të realizohen si harduerik ashtu edhe softuerik, ose siç quhet ndryshe, bazuar në harduer dhe softuer. Dhe nëse me ACL bazuar në softuer duhet të jetë gjithçka e qartë - janë rregulla që ruhen dhe përpunohen në kujtesën operuese (dmth. në Planin Kontrollues), me të gjitha kufizimet që përcjellin, atëherë si janë zbatuar dhe funksionojnë ACL bazuar në harduer, ne do ta shqyrtojmë në artikullin tonë. Si një shembull do të përdorim ndërprerësit e serisë ExtremeSwitching nga kompania Extreme Networks.

Duke qenë se na intereson pikërisht ACL bazuar në harduer, implementimi i brendshëm i Planit të Dhënave ka rëndësi kryesore për ne, ose konkretisht çipat që përdoren (ASIC). Ndërprerësit e të gjitha linjave të kompanisë Extreme Networks janë ndërtuar mbi ASIC nga Broadcom, dhe për këtë arsye pjesa më e madhe e informacionit më poshtë do të jetë e vlefshme gjithashtu për ndërprerësit e tjerë të pranishëm në treg, të realizuar mbi të njëjtin ASIC.
Siç tregohet në figurën më sipër, në chipset është përgjegjës "Content-Aware Engine" për funksionimin e drejtpërdrejtë të ACL, veçanërisht për "ingress" dhe "egress". Arkitektura e tyre është e njëjtë, vetëm se "egress" është më pak e shkallëzuar dhe më pak funksionale. Fizikisht, të dy "Content-Aware Engine" janë memorie TCAM plus logjika përcjellëse, dhe çdo rregull ACL, qoftë përdoruesi apo sistemor, është një maskë biterash (bit-mask) e shkruar në këtë memorie. Pikërisht për këtë arsye, përpunimi i trafikut nga chipset bëhet paketë-paketë dhe pa degradim të performancës.
Fizikisht, e njĂ«jta Ingress/Egress TCAM ndan logjikisht nĂ« disa segmente (varet nga sasia e vetĂ« memories dhe platformĂ«s), tĂ« njohura si "ACL slices". PĂ«r shembull, e njĂ«jta gjĂ« ndodh me njĂ« HDD fizikisht tĂ« njĂ«jtĂ« nĂ« laptopin tuaj, kur krijoni disa disqe logjike mbi tĂ« â C:>, D:>. Secili ACL-slice pĂ«rbĂ«het nga qeliza memorje, nĂ« formĂ«n e "rreshtave" ku shkruhen "rregullat" (rules/bit-mask).

Ndajtja e TCAM në ACL-slices ka një logjikë të caktuar pas saj. Në secilin ACL-slice të veçantë mund të shkruhen vetëm "rregulla" të cilat janë të përputhshme me njëra-tjetrën. Nëse ndonjë nga "rregullat" nuk është e përputhshme me të parën, atëherë ajo do të shkruhet në ACL-slice-n e ardhshëm, pavarësisht se sa rreshta të lirë për "rregulla" kanë mbetur në të mëparshmin.
Nga e ka origjinën kjo përputhje ose mos përputhje e rregullave ACL? E vërteta është se një "rrjesht" TCAM-i, ku shkruhen "rregullat", ka një gjatësi prej 232 bit dhe ndahet në disa fusha - Fixed, Field1, Field2, Field3. 232 bit ose 29 byte TCAM memorie janë mjaft të mjaftueshme për të regjistruar bit-maskën e një adrese MAC ose IP të caktuar, por shumë më e vogël se sa titulli i plotë i paketës Ethernet. Në çdo ACL-slice të veçantë, ASIC kryen një kërkim të pavarur përmes bit-maskës e vendosur në F1-F3. Në tërësi, ky kërkim mund të kryhet në 128 byte-të e parë të titullit Ethernet. Në fakt, për shkak se kërkimi mund të kryhet në 128 byte, por mund të shkruhen vetëm 29 byte, për një kërkim të saktë duhet caktuar një offset në raport me fillimin e paketës. Offset-i për çdo ACL-slice caktohet gjatë regjistrimit të rregullit të parë, dhe nëse gjatë regjistrimit të rregullit të mëpasshëm zbulohet nevoja për një offset tjetër, atëherë ky rregull konsiderohet i papërputhshëm me të parin dhe regjistrohet në ACL-slice tjetër.
TĂ« dhĂ«nat e mĂ«poshtme tregojnĂ« rendin e pĂ«rputhshmĂ«risĂ« sĂ« kushteve qĂ« shkruhen nĂ« ACL. Ădo rresht i veçantĂ« pĂ«rmban pĂ«rputhshmĂ«ritĂ« midis vetes dhe mos pĂ«rputhshmĂ«ritĂ« me rreshta tĂ« tjerĂ« tĂ« formuara bit-mask.

Ădo paketĂ« e veçantĂ« e procesuar nga ASIC nxit njĂ« kĂ«rkim paralel nĂ« çdo ACL-slice. Kontrolli bĂ«het deri nĂ« pĂ«rputhjen e parĂ« nĂ« ACL-slice, por lejohet gjithashtu pĂ«rputhje tĂ« shumĂ«fishta pĂ«r tĂ« njĂ«jtĂ«n paketĂ« nĂ« ACL-slice tĂ« ndryshme. Ădo "rregull" i veçantĂ« ka njĂ« veprim pĂ«rkatĂ«s qĂ« duhet tĂ« kryhet nĂ« rast pĂ«rputhjeje tĂ« kushtit (bit-mask). NĂ«se pĂ«rputhja ndodhi menjĂ«herĂ« nĂ« disa ACL-slice, atĂ«herĂ« nĂ« bllokun "Zgjidhja e Konflikteve tĂ« Veprimeve" sipas prioritetit tĂ« ACL-slice merret vendimi se cili veprim do tĂ« kryhet. NĂ«se nĂ« ACL Ă«shtĂ« regjistruar si "veprim" (lejo/moho) ashtu edhe "modifikuesi i veprimit" (numĂ«ro/QoS/regjistro... ), atĂ«herĂ« nĂ« rastet me pĂ«rputhje tĂ« shumta do tĂ« kryhet vetĂ«m "veprimi" mĂ« me prioritet, ndĂ«rsa "modifikuesi i veprimit" do tĂ« kryhen tĂ« gjitha. NĂ« shembullin mĂ« poshtĂ« tregohet se tĂ« dy numĂ«ruesit do tĂ« rriten dhe do tĂ« kryhet "moho" mĂ« me prioritet.

me informacion mĂ« tĂ« detajuar mbi funksionimin e ACL qĂ« Ă«shtĂ« nĂ« dispozicion publik nĂ« faqen . Ădo pyetje qĂ« mund tĂ« lindĂ« ose mbetet mund tĂ« bĂ«het gjithmonĂ« stafit tonĂ« tĂ« zyrĂ«s â .
Burimi: habr.com
