{"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\/pt\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","title":{"rendered":"ACL dos switches em detalhes.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>ACL (Lista de Controle de Acesso) em dispositivos de rede pode ser implementada tanto em hardware quanto em software, ou mais comumente falada como ACL baseada em hardware e em software. E se com ACL baseada em software tudo deve estar claro \u2014 trata-se de regras que s\u00e3o armazenadas e processadas na mem\u00f3ria RAM (ou seja, no Control Plane), com todas as limita\u00e7\u00f5es decorrentes disso, ent\u00e3o vamos compreender como as ACLs baseadas em hardware s\u00e3o implementadas e funcionam em nosso artigo. Usaremos como exemplo os switches da s\u00e9rie ExtremeSwitching da Extreme Networks.<\/p>\n<p><img decoding=\"async\" alt=\"ACL dos switches em detalhes.\" 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 \/>\nComo estamos interessados especificamente em ACLs baseadas em hardware, \u00e9 crucial para n\u00f3s entender a implementa\u00e7\u00e3o interna do Data Plane, ou dos chipsets utilizados (ASIC). Os switches de todas as linhas da Extreme Networks s\u00e3o constru\u00eddos com ASICs da Broadcom, e, portanto, a maior parte das informa\u00e7\u00f5es a seguir tamb\u00e9m ser\u00e1 v\u00e1lida para outros switches dispon\u00edveis no mercado, que utilizam ASICs semelhantes.<\/p>\n<p>Como pode ser visto na figura acima, os motores de ACL no chipset s\u00e3o gerenciados pelo 'Content-Aware Engine', separadamente no 'ingress' e no 'egress'. Arquitetonicamente, eles s\u00e3o iguais, apenas o 'egress' \u00e9 menos escal\u00e1vel e menos funcional. Fisicamente, ambos os 'Content-Aware Engines' s\u00e3o mem\u00f3ria TCAM mais a l\u00f3gica associada, e cada regra de ACL, seja do usu\u00e1rio ou do sistema, \u00e9 uma simples m\u00e1scara de bits (bit-mask) gravada nessa mem\u00f3ria. \u00c9 por isso que o processamento de tr\u00e1fego pelo chipset \u00e9 feito pacote a pacote, sem degrada\u00e7\u00e3o de desempenho.<\/p>\n<p>Fisicamente, a mesma TCAM de Ingress\/Egress \u00e9 logicamente dividida em v\u00e1rios segmentos (dependendo da quantidade de mem\u00f3ria e da plataforma), chamados de 'ACL slices'. Por exemplo, isso \u00e9 semelhante ao que acontece em um \u00fanico HDD no seu laptop, quando voc\u00ea cria v\u00e1rias unidades l\u00f3gicas \u2014 C:&gt;, D:&gt;. Cada ACL slice consiste em c\u00e9lulas de mem\u00f3ria, na forma de 'linhas' onde as 'rules' (regras\/m\u00e1scaras de bits) s\u00e3o gravadas.<\/p>\n<p><img decoding=\"async\" alt=\"ACL dos switches em detalhes.\" src=\"\/wp-content\/uploads\/2020\/01\/9cb85f7f1ea86fa53142a9665f98651b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA divis\u00e3o da TCAM em ACL slices possui uma l\u00f3gica espec\u00edfica por tr\u00e1s dela. Em cada ACL slice separado, podem ser gravadas apenas 'rules' compat\u00edveis entre si. Se alguma das 'rules' n\u00e3o for compat\u00edvel com a anterior, ela ser\u00e1 gravada na pr\u00f3xima ACL slice, independentemente de quantas linhas livres para 'rules' ainda restam na anterior. <\/p>\n<p>De onde surge, ent\u00e3o, essa compatibilidade ou incompatibilidade das regras ACL? A quest\u00e3o \u00e9 que uma \"linha\" TCAM, onde as \"regras\" s\u00e3o gravadas, tem um comprimento de 232 bits e \u00e9 dividida em v\u00e1rios campos - Fixed, Field1, Field2, Field3. 232 bits ou 29 bytes de mem\u00f3ria TCAM s\u00e3o mais do que suficientes para gravar uma m\u00e1scara de bits de um determinado endere\u00e7o MAC ou IP, mas muito menos do que o cabe\u00e7alho completo de um pacote Ethernet. Em cada slice ACL, o ASIC realiza uma pesquisa independente com base nas m\u00e1scaras de bits estabelecidas em F1-F3. De modo geral, essa pesquisa pode ser realizada nos primeiros 128 bytes do cabe\u00e7alho Ethernet. Na verdade, \u00e9 devido ao fato de que a pesquisa pode ser feita em 128 bytes, enquanto pode ser gravado apenas 29 bytes, que, para uma pesquisa correta, deve ser definido um deslocamento (offset) relativo ao in\u00edcio do pacote. O deslocamento para cada slice ACL \u00e9 definido no momento em que a primeira regra \u00e9 gravada, e se ao gravar a regra subsequente for encontrada a necessidade de um outro deslocamento, essa regra \u00e9 considerada incompat\u00edvel com a primeira e gravada no pr\u00f3ximo slice ACL.<\/p>\n<p>A tabela abaixo apresenta a ordem de compatibilidade das condi\u00e7\u00f5es escritas na ACL. Cada linha cont\u00e9m as compatibilidades entre si e as incompatibilidades com outras linhas que formam a m\u00e1scara de bits.<\/p>\n<p><img decoding=\"async\" alt=\"ACL dos switches em detalhes.\" src=\"\/wp-content\/uploads\/2020\/01\/a8cff880d3f588d17e5f583b638ff03f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCada pacote individual processado pelo ASIC inicia uma pesquisa paralela em cada slice ACL. A verifica\u00e7\u00e3o \u00e9 realizada at\u00e9 a primeira correspond\u00eancia no slice ACL, mas m\u00faltiplas correspond\u00eancias para o mesmo pacote em diferentes slices ACL s\u00e3o permitidas. Cada \"regra\" individual tem uma a\u00e7\u00e3o correspondente que deve ser realizada em caso de correspond\u00eancia da condi\u00e7\u00e3o (m\u00e1scara de bits). Se a correspond\u00eancia ocorrer em v\u00e1rios slices ACL, a resolu\u00e7\u00e3o de conflito de a\u00e7\u00e3o \u00e9 baseada na prioridade do slice ACL, decidindo qual a\u00e7\u00e3o executar. Se a ACL definir tanto a \"a\u00e7\u00e3o\" (permitir\/neg\u00e1-la), quanto o \"modificador de a\u00e7\u00e3o\" (contar\/QoS\/log\/...), em caso de m\u00faltiplas correspond\u00eancias, ser\u00e1 executada apenas a \"a\u00e7\u00e3o\" de maior prioridade, enquanto todos os \"modificadores de a\u00e7\u00e3o\" ser\u00e3o executados.<\/p>\n<p><img decoding=\"async\" alt=\"ACL dos switches em detalhes.\" 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\">\"Guia de Solu\u00e7\u00f5es ACL\"<\/a><\/noindex> com informa\u00e7\u00f5es mais detalhadas sobre o funcionamento da ACL dispon\u00edveis no site <noindex><a rel=\"nofollow\" href=\"http:\/\/extremenetworks.com\">extremenetworks.com<\/a><\/noindex>. Quaisquer d\u00favidas surgidas ou remanescentes podem ser sempre direcionadas aos funcion\u00e1rios do nosso escrit\u00f3rio \u2013 <noindex><a rel=\"nofollow\" href=\"mailto:cis@extremenetworks.com\">cis@extremenetworks.com<\/a><\/noindex>.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47ACL de switches em detalhes | ProHoster","description":"As Listas de Controle de Acesso (ACL) em dispositivos de rede podem ser implementadas tanto em hardware quanto em software, ou como costumamos dizer, ACL baseadas em hardware e software.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/55847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=55847"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/55847\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=55847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=55847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=55847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}