เครื่องมือที่ใช้กันทั่วไปสำหรับการตรวจสอบและแก้ไขปัญหาเครือข่ายในปัจจุบันคือ Switch Port Analyzer (SPAN) หรือที่รู้จักกันในชื่อ Port mirroring เครื่องมือนี้ช่วยให้เราสามารถตรวจสอบปริมาณการรับส่งข้อมูลเครือข่ายในโหมดบายพาสนอกแบนด์โดยไม่รบกวนบริการบนเครือข่ายที่ใช้งานอยู่ และส่งสำเนาของปริมาณการรับส่งข้อมูลที่ตรวจสอบไปยังอุปกรณ์ในเครือข่ายเดียวกันหรือระยะไกล รวมถึง Sniffer, IDS หรือเครื่องมือวิเคราะห์เครือข่ายประเภทอื่นๆ
ตัวอย่างการใช้งานทั่วไป ได้แก่:
• แก้ไขปัญหาเครือข่ายโดยการติดตามเฟรมควบคุม/ข้อมูล
• วิเคราะห์ค่าความหน่วงและค่าความผันผวนของเวลาโดยการตรวจสอบแพ็กเก็ต VoIP;
• วิเคราะห์ค่าความหน่วงโดยการตรวจสอบปฏิสัมพันธ์ของเครือข่าย;
• ตรวจจับความผิดปกติโดยการตรวจสอบปริมาณการรับส่งข้อมูลในเครือข่าย
การรับส่งข้อมูล SPAN สามารถจำลองไปยังพอร์ตอื่นบนอุปกรณ์ต้นทางเดียวกันได้ หรือจำลองไปยังอุปกรณ์เครือข่ายอื่นที่อยู่ติดกับเลเยอร์ 2 ของอุปกรณ์ต้นทาง (RSPAN) ก็ได้
วันนี้เราจะมาพูดถึงเทคโนโลยีการตรวจสอบปริมาณการรับส่งข้อมูลทางอินเทอร์เน็ตจากระยะไกลที่เรียกว่า ERSPAN (Encapsulated Remote Switch Port Analyzer) ซึ่งสามารถส่งข้อมูลผ่านเลเยอร์ IP สามชั้นได้ เทคโนโลยีนี้เป็นการต่อยอดจาก SPAN ไปสู่ Encapsulated Remote
หลักการทำงานพื้นฐานของ ERSPAN
ก่อนอื่น เรามาดูคุณสมบัติของ ERSPAN กันก่อน:
• สำเนาของแพ็กเก็ตจากพอร์ตต้นทางจะถูกส่งไปยังเซิร์ฟเวอร์ปลายทางเพื่อทำการวิเคราะห์ผ่าน Generic Routing Encapsulation (GRE) โดยไม่จำกัดสถานที่ตั้งทางกายภาพของเซิร์ฟเวอร์
• ด้วยความช่วยเหลือของฟีเจอร์ User Defined Field (UDF) ของชิป การกำหนดค่าออฟเซ็ตใดๆ ตั้งแต่ 1 ถึง 126 ไบต์จะดำเนินการโดยอิงจากโดเมนพื้นฐานผ่านรายการขยายระดับผู้เชี่ยวชาญ และคำหลักของเซสชันจะถูกจับคู่เพื่อแสดงภาพของเซสชัน เช่น การจับมือสามขั้นตอนของ TCP และเซสชัน RDMA
• รองรับการตั้งค่าอัตราการสุ่มตัวอย่าง;
• รองรับการกำหนดความยาวของการดักจับแพ็กเก็ต (Packet Slicing) ช่วยลดภาระของเซิร์ฟเวอร์เป้าหมาย
ด้วยคุณสมบัติเหล่านี้ คุณจึงเข้าใจได้ว่าทำไม ERSPAN จึงเป็นเครื่องมือสำคัญสำหรับการตรวจสอบเครือข่ายภายในศูนย์ข้อมูลในปัจจุบัน
หน้าที่หลักของ ERSPAN สามารถสรุปได้เป็นสองด้านดังนี้:
• การมองเห็นเซสชัน: ใช้ ERSPAN เพื่อรวบรวมเซสชัน TCP และ Remote Direct Memory Access (RDMA) ใหม่ทั้งหมดที่สร้างขึ้นไปยังเซิร์ฟเวอร์แบ็กเอนด์เพื่อแสดงผล
• การแก้ไขปัญหาเครือข่าย: บันทึกข้อมูลการรับส่งเครือข่ายเพื่อวิเคราะห์ข้อผิดพลาดเมื่อเกิดปัญหาเครือข่าย
ในการดำเนินการนี้ อุปกรณ์เครือข่ายต้นทางจำเป็นต้องกรองข้อมูลที่ผู้ใช้สนใจออกจากกระแสข้อมูลขนาดใหญ่ สร้างสำเนา และห่อหุ้มเฟรมสำเนาแต่ละเฟรมลงใน "คอนเทนเนอร์ซูเปอร์เฟรม" พิเศษที่บรรจุข้อมูลเพิ่มเติมเพียงพอเพื่อให้สามารถส่งไปยังอุปกรณ์ปลายทางได้อย่างถูกต้อง นอกจากนี้ ยังต้องทำให้อุปกรณ์ปลายทางสามารถดึงและกู้คืนข้อมูลการรับส่งที่ถูกตรวจสอบดั้งเดิมได้อย่างสมบูรณ์
อุปกรณ์รับสัญญาณอาจเป็นเซิร์ฟเวอร์อื่นที่รองรับการถอดรหัสแพ็กเก็ต ERSPAN
การวิเคราะห์ประเภทและรูปแบบบรรจุภัณฑ์ของ ERSPAN
แพ็กเก็ต ERSPAN จะถูกห่อหุ้มด้วย GRE และส่งต่อไปยังปลายทางที่สามารถระบุที่อยู่ IP ได้ผ่านทางอีเธอร์เน็ต ปัจจุบัน ERSPAN ส่วนใหญ่ใช้ในเครือข่าย IPv4 และการรองรับ IPv6 จะเป็นข้อกำหนดในอนาคต
สำหรับโครงสร้างการห่อหุ้มข้อมูลทั่วไปของ ERSAPN ต่อไปนี้คือการจับภาพแพ็กเก็ต ICMP แบบมิเรอร์:
นอกจากนี้ ฟิลด์ Protocol Type ในส่วนหัว GRE ยังระบุประเภท ERSPAN ภายในด้วย โดยฟิลด์ Protocol Type 0x88BE ระบุ ERSPAN ประเภท II และ 0x22EB ระบุ ERSPAN ประเภท III
1. ประเภทที่ 1
เฟรม ERSPAN ประเภท I จะห่อหุ้ม IP และ GRE โดยตรงเหนือส่วนหัวของเฟรมมิเรอร์เดิม การห่อหุ้มนี้จะเพิ่มขนาด 38 ไบต์จากเฟรมเดิม: 14 (MAC) + 20 (IP) + 4 (GRE) ข้อดีของรูปแบบนี้คือมีขนาดส่วนหัวที่กะทัดรัดและลดต้นทุนในการส่งข้อมูล อย่างไรก็ตาม เนื่องจากมีการตั้งค่าฟิลด์ GRE Flag และ Version เป็น 0 จึงไม่มีฟิลด์เพิ่มเติมใดๆ และประเภท I ก็ไม่ได้ใช้งานอย่างแพร่หลาย ดังนั้นจึงไม่จำเป็นต้องขยายเพิ่มเติม
รูปแบบส่วนหัวของข้อสอบ GRE ประเภทที่ 1 มีดังนี้:
2. ประเภทที่ 2
ในรูปแบบ Type II ฟิลด์ C, R, K, S, S, Recur, Flags และ Version ในส่วนหัว GRE จะมีค่าเป็น 0 ทั้งหมด ยกเว้นฟิลด์ S ดังนั้น ฟิลด์หมายเลขลำดับจึงแสดงในส่วนหัว GRE ของ Type II นั่นหมายความว่า Type II สามารถรับประกันลำดับการรับแพ็กเก็ต GRE ได้ เพื่อป้องกันไม่ให้แพ็กเก็ต GRE จำนวนมากที่ส่งมาไม่เรียงลำดับถูกจัดเรียงใหม่เนื่องจากความผิดพลาดของเครือข่าย
รูปแบบส่วนหัวของข้อสอบ GRE ประเภทที่ 2 มีดังนี้:
นอกจากนี้ รูปแบบเฟรม ERSPAN Type II ยังเพิ่มส่วนหัว ERSPAN ขนาด 8 ไบต์ระหว่างส่วนหัว GRE และเฟรมจำลองดั้งเดิมอีกด้วย
รูปแบบส่วนหัวของ ERSPAN สำหรับประเภท II มีดังนี้:
สุดท้าย ถัดจากเฟรมภาพต้นฉบับคือรหัสตรวจสอบความซ้ำซ้อนแบบวนรอบ (CRC) มาตรฐานของอีเธอร์เน็ตขนาด 4 ไบต์
เป็นที่น่าสังเกตว่าในการใช้งานจริง เฟรมที่สะท้อนจะไม่รวมฟิลด์ FCS ของเฟรมต้นฉบับ แต่จะคำนวณค่า CRC ใหม่โดยอิงจาก ERSPAN ทั้งหมด ซึ่งหมายความว่าอุปกรณ์รับสัญญาณไม่สามารถตรวจสอบความถูกต้องของ CRC ของเฟรมต้นฉบับได้ และเราทำได้เพียงสันนิษฐานว่าจะมีเพียงเฟรมที่ไม่เสียหายเท่านั้นที่จะถูกสะท้อน
3. ประเภทที่ 3
Type III นำเสนอส่วนหัวคอมโพสิตที่ใหญ่ขึ้นและยืดหยุ่นกว่าเดิม เพื่อรองรับสถานการณ์การตรวจสอบเครือข่ายที่ซับซ้อนและหลากหลายมากขึ้น ซึ่งรวมถึงแต่ไม่จำกัดเพียงการจัดการเครือข่าย การตรวจจับการบุกรุก การวิเคราะห์ประสิทธิภาพและความล่าช้า และอื่นๆ สถานการณ์เหล่านี้จำเป็นต้องทราบพารามิเตอร์ดั้งเดิมทั้งหมดของเฟรมมิเรอร์ รวมถึงพารามิเตอร์ที่ไม่มีอยู่ในเฟรมดั้งเดิมด้วย
ส่วนหัวแบบผสม ERSPAN ประเภท III ประกอบด้วยส่วนหัวบังคับขนาด 12 ไบต์ และส่วนหัวย่อยเฉพาะแพลตฟอร์มขนาด 8 ไบต์ซึ่งเป็นตัวเลือก
รูปแบบส่วนหัวของ ERSPAN สำหรับประเภท III มีดังนี้:
อีกครั้ง หลังจากเฟรมมิเรอร์ดั้งเดิมจะมีค่า CRC ขนาด 4 ไบต์
ดังที่เห็นได้จากรูปแบบส่วนหัวของประเภท III นอกจากจะคงฟิลด์ Ver, VLAN, COS, T และ Session ID ไว้ตามประเภทของ II แล้ว ยังมีการเพิ่มฟิลด์พิเศษอีกมากมาย เช่น:
• BSO: ใช้เพื่อระบุความสมบูรณ์ของข้อมูลที่ส่งผ่านเฟรมข้อมูล ERSPAN โดย 00 คือเฟรมที่ดี 11 คือเฟรมที่เสียหาย 01 คือเฟรมสั้น และ 11 คือเฟรมขนาดใหญ่
• เวลาประทับ: ส่งออกจากการซิงโครไนซ์นาฬิกาฮาร์ดแวร์กับเวลาของระบบ ฟิลด์ 32 บิตนี้รองรับความละเอียดของเวลาประทับอย่างน้อย 100 ไมโครวินาที
• ประเภทเฟรม (P) และประเภทเฟรม (FT): ประเภทแรกใช้เพื่อระบุว่า ERSPAN รองรับเฟรมโปรโตคอลอีเธอร์เน็ต (เฟรม PDU) หรือไม่ และประเภทหลังใช้เพื่อระบุว่า ERSPAN รองรับเฟรมอีเธอร์เน็ตหรือแพ็กเก็ต IP
• HW ID: รหัสเฉพาะของเอนจิน ERSPAN ภายในระบบ;
• Gra (ความละเอียดของเวลา): ระบุระดับความละเอียดของเวลา ตัวอย่างเช่น 00B หมายถึงความละเอียด 100 ไมโครวินาที, 01B หมายถึงความละเอียด 100 นาโนวินาที, 10B หมายถึงความละเอียดตามมาตรฐาน IEEE 1588 และ 11B ต้องใช้ส่วนหัวย่อยเฉพาะแพลตฟอร์มเพื่อให้ได้ความละเอียดที่สูงขึ้น
• รหัสแพลตฟอร์ม (Platf ID) กับข้อมูลเฉพาะแพลตฟอร์ม (Platf Specific Info): ช่องข้อมูลเฉพาะแพลตฟอร์มจะมีรูปแบบและเนื้อหาแตกต่างกันไป ขึ้นอยู่กับค่ารหัสแพลตฟอร์ม (Platf ID)
ควรทราบว่าฟิลด์ส่วนหัวต่างๆ ที่รองรับข้างต้น สามารถนำไปใช้ในแอปพลิเคชัน ERSPAN ทั่วไปได้ แม้กระทั่งการจำลองเฟรมข้อผิดพลาดหรือเฟรม BPDU โดยยังคงรักษาแพ็กเกจ Trunk และ VLAN ID เดิมไว้ นอกจากนี้ ยังสามารถเพิ่มข้อมูลเวลาประทับที่สำคัญและฟิลด์ข้อมูลอื่นๆ ลงในแต่ละเฟรม ERSPAN ระหว่างการจำลองได้อีกด้วย
ด้วยส่วนหัวคุณลักษณะเฉพาะของ ERSPAN เราสามารถวิเคราะห์ปริมาณการรับส่งข้อมูลเครือข่ายได้อย่างละเอียดมากขึ้น จากนั้นจึงติดตั้ง ACL ที่เกี่ยวข้องในกระบวนการ ERSPAN เพื่อให้ตรงกับปริมาณการรับส่งข้อมูลเครือข่ายที่เราสนใจ
ERSPAN เปิดใช้งานการมองเห็นเซสชัน RDMA
ลองยกตัวอย่างการใช้เทคโนโลยี ERSPAN เพื่อแสดงภาพการทำงานของเซสชัน RDMA ในสถานการณ์ RDMA:
อาร์ดีเอ็มเอเทคโนโลยีการเข้าถึงหน่วยความจำโดยตรงจากระยะไกล (Remote Direct Memory Access หรือ ROM) ช่วยให้การ์ดเครือข่ายของเซิร์ฟเวอร์ A สามารถอ่านและเขียนข้อมูลลงในหน่วยความจำของเซิร์ฟเวอร์ B ได้โดยใช้การ์ดอินเทอร์เฟซเครือข่ายอัจฉริยะ (INC) และสวิตช์ ทำให้ได้แบนด์วิดท์สูง ความหน่วงต่ำ และการใช้ทรัพยากรต่ำ เทคโนโลยีนี้ใช้กันอย่างแพร่หลายในสถานการณ์ข้อมูลขนาดใหญ่และระบบจัดเก็บข้อมูลแบบกระจายประสิทธิภาพสูง
RoCEv2: RDMA ผ่าน Converged Ethernet เวอร์ชัน 2 ข้อมูล RDMA ถูกห่อหุ้มอยู่ในส่วนหัว UDP หมายเลขพอร์ตปลายทางคือ 4791
การใช้งานและการบำรุงรักษา RDMA ในแต่ละวันจำเป็นต้องรวบรวมข้อมูลจำนวนมาก ซึ่งใช้ในการเก็บรวบรวมเส้นอ้างอิงระดับน้ำรายวันและสัญญาณเตือนความผิดปกติ ตลอดจนเป็นพื้นฐานในการระบุตำแหน่งปัญหาที่ผิดปกติ เมื่อรวมกับ ERSPAN แล้ว สามารถรวบรวมข้อมูลจำนวนมหาศาลได้อย่างรวดเร็วเพื่อให้ได้ข้อมูลคุณภาพการส่งต่อระดับไมโครวินาทีและสถานะการทำงานร่วมกันของโปรโตคอลของชิปสวิตช์ ผ่านการวิเคราะห์และเก็บสถิติข้อมูล สามารถประเมินและคาดการณ์คุณภาพการส่งต่อแบบครบวงจรของ RDMA ได้
เพื่อให้สามารถแสดงภาพเซสชัน RDAM ได้ เราจำเป็นต้องใช้ ERSPAN ในการจับคู่คำหลักสำหรับเซสชันการโต้ตอบ RDMA เมื่อทำการจำลองการรับส่งข้อมูล และเราจำเป็นต้องใช้รายการขยายของผู้เชี่ยวชาญ
คำจำกัดความของฟิลด์การจับคู่รายการแบบขยายระดับผู้เชี่ยวชาญ:
ฟังก์ชันที่ผู้ใช้กำหนดเอง (UDF) ประกอบด้วยห้าส่วน ได้แก่ คำหลัก UDF, ฟิลด์ฐาน, ฟิลด์ออฟเซ็ต, ฟิลด์ค่า และฟิลด์มาสก์ เนื่องจากข้อจำกัดด้านความจุของฮาร์ดแวร์ จึงสามารถใช้ UDF ได้ทั้งหมดแปดฟังก์ชัน โดยแต่ละ UDF สามารถจับคู่ได้สูงสุดสองไบต์
• คำหลัก UDF: UDF1... UDF8 ประกอบด้วยคำหลักแปดคำของโดเมนการจับคู่ UDF
• ฟิลด์ฐาน: ระบุตำแหน่งเริ่มต้นของฟิลด์การจับคู่ UDF ดังต่อไปนี้
ส่วนหัว L4 (ใช้ได้กับ RG-S6520-64CQ)
ส่วนหัว L5 (สำหรับ RG-S6510-48VS8Cq)
• ค่าชดเชย (Offset): ระบุค่าชดเชยโดยอ้างอิงจากฟิลด์หลัก ค่าอยู่ในช่วง 0 ถึง 126
• ช่องค่า: ค่าที่ตรงกัน สามารถใช้ร่วมกับช่องมาสก์เพื่อกำหนดค่าเฉพาะที่จะตรงกันได้ บิตที่ถูกต้องมีขนาดสองไบต์
• ฟิลด์มาสก์: มาสก์ บิตที่ถูกต้องคือสองไบต์
(หมายเหตุ: หากมีการใช้ข้อมูลหลายรายการในฟิลด์การจับคู่ UDF เดียวกัน ฟิลด์ฐานและฟิลด์ออฟเซ็ตต้องเหมือนกัน)
แพ็กเก็ตสำคัญสองแพ็กเก็ตที่เกี่ยวข้องกับสถานะเซสชัน RDMA คือ แพ็กเก็ตแจ้งเตือนความแออัด (Congestion Notification Packet หรือ CNP) และแพ็กเก็ตยืนยันการปฏิเสธ (Negative Acknowledgment หรือ NAK):
ข้อความแรกถูกสร้างขึ้นโดยตัวรับ RDMA หลังจากได้รับข้อความ ECN ที่ส่งมาจากสวิตช์ (เมื่อบัฟเฟอร์ eout ถึงเกณฑ์ที่กำหนด) ซึ่งมีข้อมูลเกี่ยวกับโฟลว์หรือ QP ที่ทำให้เกิดความแออัด ส่วนข้อความหลังใช้เพื่อระบุว่าการส่งข้อมูล RDMA มีข้อความตอบกลับการสูญเสียแพ็กเก็ต
มาดูกันว่าเราจะจับคู่ข้อความสองข้อความนี้โดยใช้รายการแบบขยายระดับผู้เชี่ยวชาญได้อย่างไร:
รายชื่อผู้เชี่ยวชาญที่เข้าถึงได้แบบขยาย RDMA
อนุญาต udp ใดๆ ใดๆ ใดๆ ใดๆ eq 4791udf 1 l4_header 8 0x8100 0xFF00(เข้ากันได้กับ RG-S6520-64CQ)
อนุญาต udp ใดๆ ใดๆ ใดๆ ใดๆ eq 4791udf 1 l5_header 0 0x8100 0xFF00(เข้ากันได้กับ RG-S6510-48VS8CQ)
รายชื่อผู้เชี่ยวชาญที่เข้าถึงได้แบบขยาย RDMA
อนุญาต udp ใดๆ ใดๆ ใดๆ ใดๆ eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(เข้ากันได้กับ RG-S6520-64CQ)
อนุญาต udp ใดๆ ใดๆ ใดๆ ใดๆ eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(เข้ากันได้กับ RG-S6510-48VS8CQ)
ขั้นตอนสุดท้าย คุณสามารถแสดงภาพการทำงานของเซสชัน RDMA ได้โดยการเชื่อมต่อรายการส่วนขยายผู้เชี่ยวชาญเข้ากับกระบวนการ ERSPAN ที่เหมาะสม
เขียนลงในช่องสุดท้าย
ERSPAN เป็นหนึ่งในเครื่องมือที่ขาดไม่ได้ในเครือข่ายศูนย์ข้อมูลขนาดใหญ่ขึ้นเรื่อยๆ ปริมาณการรับส่งข้อมูลเครือข่ายที่ซับซ้อนมากขึ้น และความต้องการในการปฏิบัติงานและการบำรุงรักษาเครือข่ายที่ล้ำสมัยยิ่งขึ้นในปัจจุบัน
ด้วยระดับการทำงานอัตโนมัติของ O&M ที่เพิ่มมากขึ้น เทคโนโลยีต่างๆ เช่น Netconf, RESTconf และ gRPC จึงเป็นที่นิยมในหมู่นักศึกษา O&M ในด้านการทำงานอัตโนมัติของเครือข่าย การใช้ gRPC เป็นโปรโตคอลพื้นฐานสำหรับการส่งข้อมูลแบบมิเรอร์ก็มีข้อดีหลายประการ ตัวอย่างเช่น การใช้โปรโตคอล HTTP/2 ทำให้สามารถรองรับกลไกการส่งข้อมูลแบบสตรีมมิ่งภายใต้การเชื่อมต่อเดียวกันได้ การเข้ารหัส ProtoBuf ช่วยลดขนาดของข้อมูลลงครึ่งหนึ่งเมื่อเทียบกับรูปแบบ JSON ทำให้การส่งข้อมูลเร็วขึ้นและมีประสิทธิภาพมากขึ้น ลองนึกภาพดูว่า หากคุณใช้ ERSPAN เพื่อมิเรอร์สตรีมที่สนใจแล้วส่งไปยังเซิร์ฟเวอร์วิเคราะห์บน gRPC จะช่วยเพิ่มความสามารถและประสิทธิภาพของการทำงานและการบำรุงรักษาอัตโนมัติของเครือข่ายได้อย่างมากหรือไม่
วันที่เผยแพร่: 10 พฤษภาคม 2565










