สลับ ACL โดยละเอียด

ACL (รายการควบคุมการเข้าถึง) บนอุปกรณ์เครือข่ายสามารถใช้งานได้ทั้งในฮาร์ดแวร์และซอฟต์แวร์ หรือที่เรียกกันทั่วไปว่า ACL ที่ใช้ฮาร์ดแวร์และซอฟต์แวร์ และหากทุกอย่างชัดเจนด้วย ACL ที่ใช้ซอฟต์แวร์ กฎเหล่านี้จะถูกจัดเก็บและประมวลผลใน RAM (เช่น บน Control Plane) โดยมีข้อจำกัดที่ตามมาทั้งหมด เราจะเข้าใจว่า ACL ที่ใช้ฮาร์ดแวร์ถูกนำไปใช้และทำงานอย่างไร บทความ. ตามตัวอย่าง เราจะใช้สวิตช์จากซีรีส์ ExtremeSwitching จาก Extreme Networks

สลับ ACL โดยละเอียด

เนื่องจากเราสนใจ ACL ที่ใช้ฮาร์ดแวร์ การใช้งานภายในของ Data Plane หรือชิปเซ็ตจริง (ASIC) ที่ใช้จึงมีความสำคัญยิ่งสำหรับเรา กลุ่มผลิตภัณฑ์สวิตช์ Extreme Networks ทั้งหมดสร้างขึ้นบน Broadcom ASIC ดังนั้นข้อมูลส่วนใหญ่ด้านล่างนี้จะเป็นจริงสำหรับสวิตช์อื่นๆ ในตลาดที่ใช้งานบน ASIC เดียวกันด้วย

ดังที่เห็นได้จากภาพด้านบน “ContentAware Engine” มีหน้าที่โดยตรงต่อการทำงานของ ACL ในชิปเซ็ต โดยแยกจากกันสำหรับ “ทางเข้า” และ “ทางออก” ในทางสถาปัตยกรรมจะเหมือนกัน มีเพียง “ทางออก” เท่านั้นที่สามารถปรับขนาดได้น้อยกว่าและใช้งานได้น้อยกว่า ตามทางกายภาพแล้ว “ContentAware Engine” ทั้งสองเป็นหน่วยความจำ TCAM พร้อมด้วยตรรกะที่มาคู่กัน และกฎ ACL ของผู้ใช้หรือระบบแต่ละรายการเป็นบิตมาสก์แบบง่ายที่เขียนลงในหน่วยความจำนี้ นั่นคือเหตุผลที่ชิปเซ็ตประมวลผลแพ็กเก็ตการรับส่งข้อมูลทีละแพ็กเก็ต โดยไม่ทำให้ประสิทธิภาพลดลง

ในเชิงกายภาพแล้ว Ingress/Egress TCAM เดียวกันนั้นจะถูกแบ่งตามตรรกะออกเป็นหลายส่วน (ขึ้นอยู่กับจำนวนหน่วยความจำและแพลตฟอร์ม) ที่เรียกว่า "ส่วน ACL" ตัวอย่างเช่นสิ่งเดียวกันนี้เกิดขึ้นกับ HDD ตัวเดียวกันบนแล็ปท็อปของคุณเมื่อคุณสร้างไดรฟ์แบบลอจิคัลหลายตัวขึ้นมา - C:>, D:> ACL-slice แต่ละชิ้นจะประกอบด้วยเซลล์หน่วยความจำในรูปแบบของ "สตริง" ซึ่งมีการเขียน "กฎ" (กฎ/มาสก์บิต)

สลับ ACL โดยละเอียด
การแบ่ง TCAM ออกเป็น ACL-slice มีตรรกะบางอย่างอยู่เบื้องหลัง ในแต่ละ ACL-slice จะสามารถเขียนได้เฉพาะ "กฎ" ที่เข้ากันได้เท่านั้น หาก “กฎ” ใดๆ เข้ากันไม่ได้กับกฎก่อนหน้า ก็จะถูกเขียนไปยัง ACL-slice ถัดไป โดยไม่คำนึงว่าจะมีบรรทัดว่างสำหรับ “กฎ” เหลืออยู่ในส่วนก่อนหน้ากี่บรรทัด

ความเข้ากันได้หรือความไม่ลงรอยกันของกฎ ACL นี้มาจากไหน ความจริงก็คือ "บรรทัด" ของ TCAM หนึ่งบรรทัดที่เขียน "กฎ" มีความยาว 232 บิตและแบ่งออกเป็นหลายฟิลด์ - คงที่, ฟิลด์1, ฟิลด์2, ฟิลด์3 หน่วยความจำ TCAM 232 บิตหรือ 29 ไบต์เพียงพอที่จะบันทึกบิตมาสก์ของที่อยู่ MAC หรือ IP เฉพาะ แต่น้อยกว่าส่วนหัวของแพ็กเก็ตอีเทอร์เน็ตแบบเต็มมาก ในแต่ละ ACL-slice ASIC จะทำการค้นหาแบบอิสระตาม bit-mask ที่ตั้งค่าไว้ใน F1-F3 โดยทั่วไป การค้นหานี้สามารถทำได้โดยใช้ 128 ไบต์แรกของส่วนหัวของอีเทอร์เน็ต ที่จริงแล้ว เนื่องจากการค้นหาสามารถทำได้มากกว่า 128 ไบต์ แต่สามารถเขียนได้เพียง 29 ไบต์เท่านั้น เพื่อให้การค้นหาถูกต้อง จะต้องตั้งค่าออฟเซ็ตโดยสัมพันธ์กับจุดเริ่มต้นของแพ็กเก็ต อ็อฟเซ็ตสำหรับแต่ละ ACL-slice จะถูกตั้งค่าเมื่อมีการเขียนกฎข้อแรก และหากเมื่อเขียนกฎที่ตามมา มีการค้นพบความจำเป็นในการออฟเซ็ตอื่น กฎดังกล่าวจะถือว่าเข้ากันไม่ได้กับกฎแรกและถูกเขียนลงใน ACL-ชิ้นถัดไป

ตารางด้านล่างแสดงลำดับความเข้ากันได้ของเงื่อนไขที่ระบุใน ACL แต่ละบรรทัดประกอบด้วยบิตมาสก์ที่สร้างขึ้นซึ่งเข้ากันได้และไม่เข้ากันกับบรรทัดอื่น

สลับ ACL โดยละเอียด
แต่ละแพ็กเก็ตที่ประมวลผลโดย ASIC จะทำการค้นหาแบบขนานในแต่ละ ACL-slice การตรวจสอบจะดำเนินการจนถึงการจับคู่แรกใน ACL-slice แต่อนุญาตให้มีการจับคู่หลายรายการสำหรับแพ็กเก็ตเดียวกันใน ACL-slice ที่ต่างกัน “กฎ” แต่ละรายการมีการดำเนินการที่สอดคล้องกันซึ่งจะต้องดำเนินการหากเงื่อนไข (บิตมาสก์) ตรงกัน หากการจับคู่เกิดขึ้นใน ACL-slice หลายชิ้นพร้อมกัน ในบล็อก "Action Conflict Resolution" ซึ่งขึ้นอยู่กับลำดับความสำคัญของ ACL-slice จะมีการตัดสินใจว่าจะดำเนินการใด หาก ACL มีทั้ง “การกระทำ” (อนุญาต/ปฏิเสธ) และ “การกระทำ-ตัวแก้ไข” (จำนวน/QoS/บันทึก/…) ดังนั้น ในกรณีที่มีการจับคู่หลายรายการ เฉพาะ “การกระทำ” ที่มีลำดับความสำคัญสูงกว่าเท่านั้นที่จะถูกดำเนินการ ในขณะที่ “การกระทำ” -modifier” จะเสร็จสมบูรณ์ทั้งหมด ตัวอย่างด้านล่างแสดงให้เห็นว่าตัวนับทั้งสองจะเพิ่มขึ้นและการดำเนินการ "ปฏิเสธ" ที่มีลำดับความสำคัญสูงกว่า

สลับ ACL โดยละเอียด
“คู่มือโซลูชัน ACL” พร้อมข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับการดำเนินงานของ ACL ในสาธารณสมบัติบนเว็บไซต์ Extremenetworks.คอม. หากมีคำถามใดๆ ที่เกิดขึ้นหรือยังคงมีอยู่ สามารถสอบถามกับเจ้าหน้าที่สำนักงานของเราได้เสมอ - [ป้องกันอีเมล].

ที่มา: will.com

เพิ่มความคิดเห็น