คุณถูกต้องทั้งหมดถ้าเราต้องใช้วงจรการเรียนรู้ต่อบิต 10Gbps จะไม่สามารถทำได้ สิ่งแรกที่ควรทราบคือเราจัดการคำต่อ CPU คำสั่ง - 64 บิต
ถึงอย่างนั้นสิ่งที่แย่ที่สุดที่เราสามารถทำได้เพื่อประสิทธิภาพก็คือให้ CPU เข้าถึงคำทั้งหมดของแพ็กเก็ต ดังนั้นการมุ่งเน้นไปที่การจัดการ "ศูนย์สำเนา" ของแพ็คเก็ต กลอุบายบางอย่างนั้นอยู่ในอินเทอร์เฟซของตัวเอง: พวกเขามี DMA ("เข้าถึงหน่วยความจำโดยตรง") เพื่อให้ชิปคอนโทรลเลอร์อีเธอร์เน็ตทำสำเนาข้อมูลลงใน RAM; พวกเขาคำนวณผลรวมตรวจสอบเพื่อให้ CPU ไม่จำเป็นต้องเข้าถึงทุกคำในแพ็คเก็ตให้ทำ บางส่วนอยู่ในการออกแบบโครงสร้างข้อมูล: เราระมัดระวังในการจัดแนวแพ็กเก็ตบัฟเฟอร์เพื่อให้เราสามารถย้ายได้โดยเปลี่ยนความเป็นเจ้าของของรายการตารางหน้า บางส่วนเป็นเพียงการเขียนโปรแกรมอย่างระมัดระวังเพื่อให้แน่ใจว่าข้อมูลแพ็คเก็ตมีการเข้าถึงจำนวนครั้งน้อยที่สุดและไม่สามารถเข้าถึงได้อย่างสมบูรณ์จนกว่าจะได้รับโปรแกรมแอปพลิเคชัน
เมื่อเราทำสิ่งนี้เสร็จแล้วข้อ จำกัด ถัดไปคือค่าใช้จ่ายในการจัดการแพ็คเก็ตทีละครั้ง ดังนั้นจึงมีฟีเจอร์ "การแบ่งส่วนการโหลด" ทั้งในตัวควบคุมอีเธอร์เน็ตและในเคอร์เนลเพื่อให้เราจัดการกลุ่มของแพ็คเก็ต เรายังชะลอการดึงข้อมูลจากคอนโทรลเลอร์อีเธอร์เน็ตเพื่อให้กลุ่มเหล่านี้มีขนาดใหญ่ขึ้น
ในที่สุดเรามีทางลัดกรณีพิเศษเช่นการเรียกใช้ sendfile () ของเคอร์เนลซึ่งเป็นเส้นทางด่วนจากดิสก์ไปยังเครือข่ายโดยใช้ปริมาณงานน้อยที่สุด
เราสามารถกำหนดเส้นทางกรณีพิเศษ (การส่งต่อแพ็กเก็ตจากอินเตอร์เฟสหนึ่งไปยังอีกอินเตอร์เฟสหนึ่ง) โดยใช้คุณสมบัติฮาร์ดแวร์ของการ์ดเชื่อมต่อเครือข่ายและปฏิบัติต่อบัส PCI เป็นบัสระหว่างการ์ดแทนที่จะใช้ CPU ที่เกี่ยวข้อง ไม่สามารถทำได้ในระบบปฏิบัติการที่ใช้งานทั่วไป แต่ผู้ค้าอย่าง Intel มอบห้องสมุดซอฟต์แวร์เพื่อใช้งานคุณสมบัติดังกล่าวบนคอนโทรลเลอร์อีเธอร์เน็ต
ย้ายออกจากซีพียูทั้งหมดเรายังสามารถสร้างเราเตอร์ที่มีวัตถุประสงค์พิเศษซึ่งงานการส่งต่อทั้งหมดเกิดขึ้นในฮาร์ดแวร์ เนื่องจากบัส PCI นั้นจะมีข้อ จำกัด พวกเขาจึงเรียกใช้บัสบัสหลายขนาน หรือแม้แต่บัสขนานหลายขนานกับชุดสวิตช์คานคู่ขนานหลายชุด ที่ปลายด้านหนึ่งของตลาดสวิตช์อีเธอร์เน็ตที่ใช้ TCAM ขนาดเล็กจะเป็นตัวอย่างหนึ่ง ในตอนท้ายของตลาด Juniper M40 จะเป็นแบบบัญญัติ
สวิตช์ทั่วไปจะเริ่มรับแพ็คเก็ตค้นหาที่อยู่ปลายทางใน TCAM แนบแท็กด้วย egress-port เข้ากับแพ็กเก็ตจากนั้น DMA แพ็กเก็ตที่เข้ามายังตัวควบคุมของพอร์ต egress โปรดทราบว่าถ้าพอร์ตเอาท์พุทแออัดทั้งหมดที่สามารถทำได้บนสวิตช์ง่าย ๆ นี้คือการทิ้งแพ็กเก็ตทางเข้า ดังนั้นสวิตช์แบบง่ายจึงไม่เป็นทางเลือกที่ดีเมื่อการเชื่อมโยงเปลี่ยนความเร็วและการเข้าคิวบางครั้งเป็นสิ่งที่ต้องการ แน่นอนว่ามีสวิตช์ที่ซับซ้อนกว่าซึ่งคุณจ่ายได้มากกว่า
เราเตอร์ทั่วไปจะได้รับแพ็คเก็ตและเก็บไว้ในคิวสั้น ๆ ที่อยู่ IP ปลายทางจะถูกค้นหาใน RAM แบบคงที่จากนั้นแพ็คเก็ตจะถูกกระจายเข้าไปในเซลล์เพื่อลดเวลาในการตอบสนองและแต่ละเซลล์จะส่งไปที่สวิตช์บาร์ข้ามไปยังการ์ดอีการ์ด การ์ดนั้นจะรวมเซลล์เข้าไปในแพ็กเก็ตอีกครั้งและจัดเรียงแพ็กเก็ตออกจากส่วนต่อประสาน egress การจัดคิวบนอินเทอร์เฟซภายนอกอาจมีความซับซ้อน
the packet will then be exploded into cells to reduce latency
?