Ŝanĝu ACL-ojn detale

ACLoj (Alirkontrollisto) sur retaj aparatoj povas esti efektivigitaj kaj en aparataro kaj softvaro, aŭ pli ofte parolante, aparataro kaj softvar-bazitaj ACLoj. Kaj se ĉio devus esti klara kun programaro-bazitaj ACL-oj - ĉi tiuj estas reguloj kiuj estas stokitaj kaj prilaboritaj en RAM (t.e. sur la Kontrola Ebeno), kun ĉiuj sekvaj limigoj, tiam ni komprenos kiel aparataro-bazitaj ACL-oj estas efektivigitaj kaj funkcias nian. artikolo. Ekzemple, ni uzos ŝaltilojn de la serio ExtremeSwitching de Extreme Networks.

Ŝanĝu ACL-ojn detale

Ĉar ni interesiĝas pri aparataro-bazitaj ACL-oj, la interna efektivigo de la Datuma Aviadilo, aŭ la realaj pecetaroj (ASIC) uzataj, estas de plej granda graveco por ni. Ĉiuj Extreme Networks-ŝaltiloj estas konstruitaj sur Broadcom ASIC-oj, kaj tial la plej multaj el la informoj malsupre ankaŭ estos vera por aliaj ŝaltiloj sur la merkato, kiuj estas efektivigitaj sur la samaj ASIC-oj.

Kiel videblas de la supra figuro, la "ContentAware Engine" rekte respondecas pri la funkciado de ACL-oj en la pecetaro, aparte por "eniro" kaj "eliro". Arkitekture, ili estas la samaj, nur "eliro" estas malpli skalebla kaj malpli funkcia. Fizike, ambaŭ "ContentAware Engines" estas TCAM-memoro plus akompana logiko, kaj ĉiu uzanto aŭ sistema ACL-regulo estas simpla bit-masko skribita al ĉi tiu memoro. Tial la pecetaro prilaboras trafikan paketon post pako kaj sen rendimento-degradado.

Fizike, la sama Ingress/Egress TCAM, siavice, estas dividita logike en plurajn segmentojn (depende de la kvanto de memoro mem kaj la platformo), la tiel nomataj "ACL-tranĉaĵoj". Ekzemple, la sama afero okazas kun fizike la sama HDD sur via tekkomputilo kiam vi kreas plurajn logikan diskojn sur ĝi - C:>, D:>. Ĉiu ACL-tranĉaĵo, siavice, konsistas el memorĉeloj en la formo de "ŝnuroj" kie "reguloj" (reguloj/bitmaskoj) estas skribitaj.

Ŝanĝu ACL-ojn detale
La divido de TCAM en ACL-tranĉaĵoj havas certan logikon malantaŭ ĝi. En ĉiu el la individuaj ACL-tranĉaĵoj, nur "reguloj" kiuj estas kongruaj kun unu la alian povas esti skribitaj. Se iu el la "reguloj" ne kongruas kun la antaŭa, tiam ĝi estos skribita al la sekva ACL-tranĉaĵo, sendepende de kiom da liberaj linioj por "reguloj" restas en la antaŭa.

De kie do venas ĉi tiu kongruo aŭ nekongruo de ACL-reguloj? La fakto estas, ke unu TCAM "linio", kie "reguloj" estas skribita, havas longon de 232 bitoj kaj estas dividita en plurajn kampojn - Fiksa, Field1, Field2, Field3. 232 bitoj aŭ 29 bajtoj TCAM-memoro sufiĉas por registri la bitan maskon de specifa MAC aŭ IP-adreso, sed multe malpli ol la plena Eterreto-paka kaplinio. En ĉiu individua ACL-tranĉaĵo, la ASIC elfaras sendependan serĉon laŭ la bito-masko aro en F1-F3. Ĝenerale, ĉi tiu serĉo povas esti farita uzante la unuajn 128 bajtojn de la Eterreto-kapo. Efektive, ĝuste ĉar la serĉo povas esti farita pli ol 128 bajtoj, sed nur 29 bajtoj povas esti skribitaj, por ĝusta serĉo oni devas agordi ofseton rilate al la komenco de la pako. La ofseto por ĉiu ACL-tranĉaĵo estas agordita kiam la unua regulo estas skribita al ĝi, kaj se, skribante postan regulon, la bezono de alia ofseto estas malkovrita, tiam tia regulo estas konsiderata nekongrua kun la unua kaj estas skribita al la sekva ACL-tranĉaĵo.

La suba tabelo montras la ordon de kongruo de la kondiĉoj specifitaj en la ACL. Ĉiu individua linio enhavas generitajn bit-maskojn kiuj estas kongruaj kun unu la alian kaj malkongruaj kun aliaj linioj.

Ŝanĝu ACL-ojn detale
Ĉiu individua pakaĵeto prilaborita fare de la ASIC prizorgas paralelan serĉon en ĉiu ACL-tranĉaĵo. La kontrolo estas farita ĝis la unua matĉo en la ACL-tranĉaĵo, sed multoblaj matĉoj estas permesitaj por la sama pakaĵeto en malsamaj ACL-tranĉaĵoj. Ĉiu individua "regulo" havas respondan agon kiu devas esti farita se la kondiĉo (bit-masko) estas egalita. Se matĉo okazas en pluraj ACL-tranĉaĵoj samtempe, tiam en la bloko "Action Conflict Resolution", surbaze de la prioritato de la ACL-tranĉaĵo, decido estas farita kiun agon fari. Se la ACL enhavas kaj "ago" (permeso/nei) kaj "ago-modifilon" (kalkulo/QoS/log/...), tiam en kazo de multoblaj kongruoj nur la pli alta prioritato "ago" estos efektivigita, dum "ago" -modifier” estos ĉio kompletigita. La malsupra ekzemplo montras, ke ambaŭ nombriloj estos pliigitaj kaj la pli alta prioritato "nei" estos ekzekutita.

Ŝanĝu ACL-ojn detale
"Gvidilo pri ACL-Solvoj" kun pli detalaj informoj pri la funkciado de ACL en la publika havaĵo en la retejo extremenetworks.com. Ajnaj demandoj, kiuj aperas aŭ restas, ĉiam povas esti demanditaj al nia oficeja personaro - [retpoŝte protektita].

fonto: www.habr.com

Aldoni komenton