{"id":55847,"date":"2020-01-30T00:00:00","date_gmt":"2020-01-29T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/acl-kommutatorov-v-detalyah"},"modified":"2020-02-18T14:04:00","modified_gmt":"2020-02-18T11:04:00","slug":"acl-kommutatorov-v-detalyah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","title":{"rendered":"ACL-er for svitsjer i detalj","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>ACL (Access Control List) p\u00e5 nettverksenheter kan implementeres b\u00e5de maskinvare- og programvarebasert, eller sagt p\u00e5 en annen m\u00e5te, hardware- og software-based ACL. Og hvis software-based ACL er greit, \u2014 det er regler som lagres og behandles i minnet (dvs. p\u00e5 Control Plane), med alle de p\u00e5f\u00f8lgende begrensningene, vil vi i artikkelen v\u00e5r unders\u00f8ke hvordan hardware-based ACL er implementert og fungerer. Som eksempel vil vi bruke ExtremeSwitching-serien fra Extreme Networks.<\/p>\n<p><img decoding=\"async\" alt=\"ACL-er for svitsjer i detalj\" src=\"\/wp-content\/uploads\/2020\/01\/1be325a0b6ed23e1e64f9a635dd77ce1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nSiden vi er interessert i hardware-based ACL, er den interne implementeringen av Data Plane, eller de brukte chipene (ASIC), av st\u00f8rste betydning for oss. Switchene i alle linjer fra Extreme Networks er bygget p\u00e5 ASIC fra Broadcom, og derfor vil mesteparten av informasjonen nedenfor ogs\u00e5 v\u00e6re relevant for andre switcher p\u00e5 markedet som benytter lignende ASIC.<\/p>\n<p>Som det fremg\u00e5r av figuren over, er det \u2018ContentAware Engine\u2019 som direkte h\u00e5ndterer ACL i chipsettet, med separate funksjoner for \u2018ingress\u2019 og \u2018egress\u2019. Arkitektonisk er de like, men \u2018egress\u2019 er mindre skalerbar og funksjonell. Fysisk er begge \u2018ContentAware Engine\u2019 TCAM-minne pluss tilh\u00f8rende logikk, og hver bruker- eller systemregel for ACL er en enkel bitmaske (bit-mask) lagret i dette minnet. Det er derfor chipsettet behandler trafikk pakke for pakke uten tap av ytelse.<\/p>\n<p>Fysisk er den samme Ingress\/Egress TCAM logisk delt opp i flere segmenter (avhengig av hvor mye minne og plattformen), kjent som \u2018ACL slices\u2019. For eksempel skjer det samme med en fysisk harddisk p\u00e5 laptopen din n\u00e5r du lager flere logiske disker \u2013 C:&gt;, D:&gt;. Hver ACL-slice best\u00e5r i sin tur av minneceller, i form av \u2018rader\u2019 hvor \u2018rules\u2019 (regler\/bit-masker) lagres.<\/p>\n<p><img decoding=\"async\" alt=\"ACL-er for svitsjer i detalj\" src=\"\/wp-content\/uploads\/2020\/01\/9cb85f7f1ea86fa53142a9665f98651b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nOppdelingen av TCAM i ACL-slices har en bestemt logikk. I hvert enkelt ACL-slice kan det bare lagres \u2018rules\u2019 som er kompatible med hverandre. Hvis en av \u2018rules\u2019 ikke er kompatibel med den forrige, vil den bli lagret i neste ACL-slice, uavhengig av hvor mange ledige rader som gjenst\u00e5r i det forrige. <\/p>\n<p>Hvor kommer s\u00e5 denne kompatibiliteten eller inkompatibiliteten av ACL-regler fra? Det er fordi \u00e9n \"linje\" TCAM, hvor \"reglene\" lagres, har en lengde p\u00e5 232 bit og er delt opp i flere felter \u2013 Fixed, Field1, Field2, Field3. 232 bit eller 29 byte TCAM-minne er mer enn tilstrekkelig til \u00e5 lagre bit-masken til en bestemt MAC- eller IP-adresse, men er betydelig mindre enn hele overskriften til en Ethernet-pakke. I hver enkelt ACL-slice utf\u00f8rer ASIC en uavhengig lookup basert p\u00e5 de etablert i F1-F3 bit-masken. Generelt kan denne lookuppen utf\u00f8res p\u00e5 de f\u00f8rste 128 byte av Ethernet-overskriften. Faktisk, nettopp fordi s\u00f8ket kan skje p\u00e5 128 byte, mens det kun kan lagres 29 byte, m\u00e5 offset stilles i forhold til begynnelsen av pakken for korrekt lookup. Offset for hver ACL-slice settes ved innsending av den f\u00f8rste regelen, og hvis det oppdages behov for en annen offset ved innsending av neste regel, anses den regelen som inkompatibel med den f\u00f8rste og lagres i neste ACL-slice.<\/p>\n<p>Tabellen nedenfor viser rekkef\u00f8lgen av kompatibilitet for betingelsene som skrives inn i ACL. Hver enkelt linje inneholder de som er kompatible med hverandre, og de som ikke er kompatible med andre linjer, former bit-masker.<\/p>\n<p><img decoding=\"async\" alt=\"ACL-er for svitsjer i detalj\" src=\"\/wp-content\/uploads\/2020\/01\/a8cff880d3f588d17e5f583b638ff03f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nHver enkelt pakke som behandles av ASIC, utf\u00f8rer en parallell lookup i hver ACL-slice. Sjekken foreg\u00e5r til det f\u00f8rste treffet i ACL-slice, men det er rom for flere treff for samme pakke i forskjellige ACL-slice. Hver enkelt \"regel\" har en tilsvarende handling som m\u00e5 utf\u00f8res i tilfelle en betingelse (bit-mask) er oppfylt. Hvis det skjer et treff i flere ACL-slice, tas det en avgj\u00f8relse om hvilken handling som skal utf\u00f8res i blokken \"Action Conflict Resolution\" basert p\u00e5 prioriteten til ACL-slice. Hvis det er angitt b\u00e5de \"action\" (permit\/deny) og \"action-modifier\" (count\/QoS\/log\/\u2026), vil ved flere treff kun den mer prioriterte \"action\" bli utf\u00f8rt, mens alle \"action-modifiers\" vil bli utf\u00f8rt.<\/p>\n<p><img decoding=\"async\" alt=\"ACL-er for svitsjer i detalj\" src=\"\/wp-content\/uploads\/2020\/01\/c6556c6484e2850f7532462cf195e8c0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/documentation.extremenetworks.com\/PDFs\/EXOS\/ACL_Solutions_Guide.pdf\">\u201cACL-l\u00f8sningsguide\u201d<\/a><\/noindex> med mer detaljert informasjon om hvordan ACL fungerer offentlig tilgjengelig p\u00e5 nettstedet <noindex><a rel=\"nofollow\" href=\"http:\/\/extremenetworks.com\">extremenetworks.com<\/a><\/noindex>. Eventuelle sp\u00f8rsm\u00e5l som m\u00e5tte oppst\u00e5 eller gjenst\u00e5, kan alltid rettes til ansatte p\u00e5 v\u00e5rt kontor \u2013 <noindex><a rel=\"nofollow\" href=\"mailto:cis@extremenetworks.com\">cis@extremenetworks.com<\/a><\/noindex>.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/extremenetworks\/blog\/486070\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>ACL (Access Control List) \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0435\u0439 \u0433\u043e\u0432\u043e\u0440\u044f hardware \u0438 software-based ACL. \u0418 \u0435\u0441\u043b\u0438 \u0441 software-based ACL \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u0441\u0451 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u2014 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0442.\u0435. \u043d\u0430 Control Plane), \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u043c\u0438 \u043e\u0442\u0441\u044e\u0434\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0442\u043e \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55847","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"ACL (Access Control List) \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0435\u0439 \u0433\u043e\u0432\u043e\u0440\u044f hardware \u0438 software-based ACL.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ACL \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"ACL (Access Control List) \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0435\u0439 \u0433\u043e\u0432\u043e\u0440\u044f hardware \u0438 software-based ACL.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-29T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Detaljer om ACL for svitsjer | ProHoster","description":"ACL (Access Control List) p\u00e5 nettverksenheter kan implementeres b\u00e5de maskinvarebasert og programvarebasert, eller mer vanlig kjent som hardware og software-based ACL.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ACL \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 | ProHoster","og:description":"ACL (Access Control List) \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0435\u0439 \u0433\u043e\u0432\u043e\u0440\u044f hardware \u0438 software-based ACL.","og:url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-29T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55847","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:35:41","updated":"2022-09-29 07:17:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/55847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=55847"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/55847\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=55847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=55847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=55847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}