{"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\/de\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","title":{"rendered":"ACL von Switches im Detail","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>ACL (Access Control List) auf Netzwerkger\u00e4ten k\u00f6nnen sowohl hardware- als auch softwarebasiert implementiert werden, oder um es einfacher zu sagen hardware- und softwarebasiert. W\u00e4hrend softwarebasierte ACLs klar sind \u2013 das sind Regeln, die im Arbeitsspeicher (d. h. auf dem Control Plane) gespeichert und verarbeitet werden, mit allen damit verbundenen Einschr\u00e4nkungen \u2013 werden wir in unserem Artikel untersuchen, wie hardwarebasierte ACLs implementiert sind und funktionieren. Als Beispiel verwenden wir die Switches der ExtremeSwitching-Serie von Extreme Networks.<\/p>\n<p><img decoding=\"async\" alt=\"ACL von Switches im Detail\" 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 \/>\nDa uns speziell hardwarebasierte ACLs interessieren, ist die interne Implementierung des Data Plane, also die verwendeten Chipsets (ASICs), von gr\u00f6\u00dfter Bedeutung f\u00fcr uns. Die Switches aller Produktlinien von Extreme Networks basieren auf ASICs von Broadcom, weshalb die meisten der nachfolgenden Informationen auch f\u00fcr andere auf dem Markt befindliche Switches, die auf \u00e4hnlichen ASICs basieren, zutreffen werden.<\/p>\n<p>Wie aus der obigen Abbildung ersichtlich ist, sind die \u201eContent-Aware Engines\u201c direkt f\u00fcr die Arbeit der ACL im Chipset zust\u00e4ndig, sowohl f\u00fcr \u201eingress\u201c als auch f\u00fcr \u201eegress\u201c. Architektonisch sind sie identisch, nur dass \u201eegress\u201c weniger skalierbar und weniger funktional ist. Physisch sind beide \u201eContent-Aware Engines\u201c TCAM-Speicher plus zugeh\u00f6rige Logik, und jede benutzerdefinierte oder systemm\u00e4\u00dfige ACL-Regel ist eine einfache Bitmaske, die in diesem Speicher geschrieben wird. Deshalb wird der Datenverkehr vom Chipset paketweise und ohne Leistungseinbu\u00dfen verarbeitet.<\/p>\n<p>Physisch wird dieselbe Ingress\/Egress TCAM logisch in mehrere Segmente unterteilt (abh\u00e4ngig von der verf\u00fcgbaren Speichermenge und der Plattform), die sogenannten \u201eACL Slices\u201c. Das gleiche geschieht beispielsweise mit einer physisch identischen HDD in Ihrem Laptop, wenn Sie mehrere logische Laufwerke darauf erstellen \u2013 C:&gt;, D:&gt;. Jeder ACL-Slice besteht seinerseits aus Speichereinheiten in Form von \u201eZeilen\u201c, in die die \u201erules\u201c (Regeln\/Bitmasken) geschrieben werden.<\/p>\n<p><img decoding=\"async\" alt=\"ACL von Switches im Detail\" src=\"\/wp-content\/uploads\/2020\/01\/9cb85f7f1ea86fa53142a9665f98651b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDie Aufteilung der TCAM in ACL-Slices basiert auf einer bestimmten Logik. In jedem einzelnen ACL-Slice k\u00f6nnen nur kompatible \u201erules\u201c gespeichert werden. Wenn eine der \u201erules\u201c nicht mit der vorherigen kompatibel ist, wird sie in den n\u00e4chsten ACL-Slice gespeichert, unabh\u00e4ngig davon, wie viele freie Zeilen f\u00fcr \u201erules\u201c im vorherigen Slice noch verf\u00fcgbar sind. <\/p>\n<p>Woher kommt also diese Vertr\u00e4glichkeit oder Unvertr\u00e4glichkeit von ACL-Regeln? Das liegt daran, dass eine \"Zeile\" im TCAM, in der die \"Regeln\" gespeichert werden, eine L\u00e4nge von 232 Bit hat und in mehrere Felder unterteilt ist \u2013 Fixed, Field1, Field2, Field3. 232 Bit oder 29 Byte TCAM-Speicher reichen aus, um eine Bitmaske einer bestimmten MAC- oder IP-Adresse zu speichern, sind aber erheblich kleiner als der komplette Ethernet-Paketkopf. In jedem einzelnen ACL-Slice f\u00fchrt der ASIC eine unabh\u00e4ngige Suche anhand der in F1-F3 gespeicherten Bitmasken durch. Diese Suche kann insgesamt auf den ersten 128 Bytes des Ethernet-Paketheads durchgef\u00fchrt werden. Gerade weil die Suche \u00fcber 128 Bytes erfolgen kann, w\u00e4hrend nur 29 Bytes gespeichert werden k\u00f6nnen, muss f\u00fcr eine korrekte Suche eine Verschiebung (Offset) relativ zum Beginn des Pakets eingestellt werden. Der Offset f\u00fcr jedes ACL-Slice wird w\u00e4hrend der Aufnahme der ersten Regel festgelegt, und wenn beim Hinzuf\u00fcgen der n\u00e4chsten Regel ein anderer Offset ben\u00f6tigt wird, wird diese Regel als inkompatibel zur ersten betrachtet und in das n\u00e4chste ACL-Slice geschrieben.<\/p>\n<p>In der nachstehenden Tabelle wird die Vertr\u00e4glichkeitsordnung der Bedingungen dargestellt, die in ACL geschrieben werden. Jede einzelne Zeile enth\u00e4lt die untereinander vertr\u00e4glichen und nicht vertr\u00e4glichen, gebildeten Bitmasken.<\/p>\n<p><img decoding=\"async\" alt=\"ACL von Switches im Detail\" src=\"\/wp-content\/uploads\/2020\/01\/a8cff880d3f588d17e5f583b638ff03f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJedes einzelne Paket, das vom ASIC verarbeitet wird, startet eine parallele Suche in jedem ACL-Slice. Die \u00dcberpr\u00fcfung erfolgt bis zur ersten \u00dcbereinstimmung im ACL-Slice, wobei jedoch mehrere \u00dcbereinstimmungen f\u00fcr dasselbe Paket in verschiedenen ACL-Slices zul\u00e4ssig sind. Jede einzelne \"Regel\" hat eine entsprechende Aktion, die im Falle einer \u00dcbereinstimmung der Bedingung (Bitmasken) ausgef\u00fchrt werden muss. Wenn eine \u00dcbereinstimmung in mehreren ACL-Slices gleichzeitig auftritt, wird im Block \"Action Conflict Resolution\" basierend auf der Priorit\u00e4t des ACL-Slices entschieden, welche Aktion ausgef\u00fchrt werden soll. Wenn in der ACL sowohl eine \"Aktion\" (zulassen\/ablehnen) als auch ein \"Aktion-Modifikator\" (z\u00e4hlen\/QoS\/protokollieren\/\u2026) festgelegt sind, wird bei mehrfachen \u00dcbereinstimmungen nur die priorisierte \"Aktion\" ausgef\u00fchrt, w\u00e4hrend alle \"Aktion-Modifikatoren\" ausgef\u00fchrt werden. Das folgende Beispiel zeigt, dass beide Z\u00e4hler erh\u00f6ht werden und die priorisierte \"Ablehnen\"-Aktion ausgef\u00fchrt wird.<\/p>\n<p><img decoding=\"async\" alt=\"ACL von Switches im Detail\" 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\">\"ACL Solutions Guide\"<\/a><\/noindex> mit detaillierteren Informationen \u00fcber die Funktionsweise von ACL, \u00f6ffentlich zug\u00e4nglich auf der Website <noindex><a rel=\"nofollow\" href=\"http:\/\/extremenetworks.com\">extremenetworks.com<\/a><\/noindex>. Alle aufgetretenen oder verbleibenden Fragen k\u00f6nnen jederzeit an die Mitarbeiter unseres B\u00fcros gerichtet werden \u2013 <noindex><a rel=\"nofollow\" href=\"mailto:cis@extremenetworks.com\">cis@extremenetworks.com<\/a><\/noindex>.<br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Details zu den Switch-ACLs | ProHoster","description":"ACL (Access Control List) auf Netzwerkger\u00e4ten kann sowohl hardware- als auch softwarebasiert implementiert werden, oder umgangssprachlich gesagt, hardware- und softwarebasierte ACL.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/acl-kommutatorov-v-detalyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/55847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=55847"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/55847\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=55847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=55847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=55847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}