จะเข้าใจ“ การระเบิดปกติ” และ“ การระเบิดสูงสุด” ใน Cisco CAR ได้อย่างไร


11

ตามที่ฉันเข้าใจ Cisco IOS CAR (อัตราการเข้าถึงที่กำหนด) ขึ้นอยู่กับอัลกอริธึมที่ฝากข้อมูลรั่วไหล (ความคิดนั้นเหมือนกับอัลกอริธึมถังโทเค็น ) และจำนวนบิตที่ฉันกำหนดค่าเป็นอัตราเฉลี่ยคือจำนวน " ตัวอย่างเช่นที่นี่อัตรา จำกัด อัตราป้อนข้อมูลเฉลี่ยคือ 5Mbps:

interface FastEthernet0/0
 ip address 10.10.10.2 255.255.255.0
 rate-limit input 5000000 937500 1875000 conform-action transmit exceed-action drop

ตอนนี้หากอัตราการเข้าชมต่ำกว่าอัตราเฉลี่ยก็จะสอดคล้องกันเสมอ ฉันถูกต้องหรือไม่ที่ "การระเบิดตามปกติ" จะกำหนดว่าปริมาณการส่งข้อมูลปริมาณการจราจรจะมากก่อนที่จะมีการใช้งานเกินจริงได้หรือไม่ ดังนั้นในกรณีของตัวอย่างด้านบนหากมีอัตราการรับส่งข้อมูลคงที่ 5Mbps (625000 ไบต์ในที่ฝากข้อมูล) ดังนั้นฉันสามารถส่ง 7.5Mbps หนึ่งวินาที (เพิ่มเพิ่มอีก 312500 ไบต์ลงในที่เก็บข้อมูล) และลดลงเล็กน้อย ? และถ้าไบต์ในที่ฝากข้อมูลอยู่ระหว่างการระเบิดปกติและการระเบิดสูงสุดไบต์นั้นจะลดลงตามอัลกอริทึมที่คล้ายกับ RED จนกว่าแพ็กเก็ตใหม่ทั้งหมดจะถูกดร็อปถ้าการระเบิดสูงสุดเต็ม


ข้อมูลหรือคำอธิบายอื่นใดที่คุณกำลังมองหาในคำตอบของฉันเพื่อรับเงินรางวัลที่คุณตั้งไว้?
Keller G

โปรดอย่าลืมว่าคุณจะต้องได้รับรางวัลเงินรางวัลด้วยตนเอง ; หากคุณได้รับคำตอบที่ไม่ถูกใจคุณอย่างน้อยโปรดอธิบายสิ่งที่หายไปจากคำตอบนั้น
Mike Pennington

คำตอบ:


12

ลองคำนวณสิ่งที่เรากำลังทำกับที่นี่ CAR นั้นเป็นรุ่นเก่าของการตรวจสอบ IOS ดังนั้นแนวคิดเหล่านี้จึงมีผลกับทั้งคู่

Committed Information Rate (CIR) = 5,000,000 (5Mbps)
Burst Commit Bucket (Bc) = 937,500
Burst Excess Bucket (Be) = 1,875,000
Time Interval (Tc) = Bc / CIR = 0.1875 s = 187.5 ms

อัตราที่เราต้องการ จำกัด การไหลคือ 5Mbps Commit Bucket คือ 937,500 ไบต์ ถังระเบิดขนาด 1,875,000 ไบต์ และถังจะถูกเติมทุก ๆ 187.5 มิลลิวินาที

ดังที่คุณกล่าวไว้ IOS ใช้กลไกการฝากข้อมูลเพื่อ จำกัด ปริมาณการรับส่งข้อมูลที่สามารถผ่านได้ มันไม่ทราฟฟิกทราฟฟิกไปที่ X% ของแบนด์วิดธ์อินเตอร์เฟสในช่วงเวลาที่กำหนดเอง! แต่จะอนุญาตให้เข้าถึงแบนด์วิดท์ของอินเทอร์เฟซได้อย่างเต็มที่ตราบใดที่คุณมีโทเค็นที่ต้องจ่ายแทน

นอกจากนี้เนื่องจากการรักษานี้ RED / WRED ไม่ได้อยู่ในการเล่น RED จะเกิดขึ้นเมื่อมีคิวที่จะจัดการ ไม่มีการบัฟเฟอร์ / การรอคิวในการรักษาเฉพาะในการสร้าง

มาจัดการกับ Commit Bucket (Bc) ก่อน สมมติว่าไม่มี Bucket มากเกินไป (Be) ในตอนนี้

* ฝากถังเท่านั้น (Policer สองสี) *

นี่เป็น policer ที่เข้มงวดมากที่จะให้คุณส่งภายใน CIR เท่านั้น ไม่มีการระเบิดดังกล่าวข้างต้น มีเพียงถังเดียวเท่านั้น Bc มีสอง "สี" สำหรับการจราจรมีความสอดคล้องและเกิน

เวลา = 0 ms -ที่ฝากข้อมูลเริ่มต้นเต็มโดยมีค่าโทเค็น 937,500 ไบต์ สมมติว่าคุณส่ง 7,500 ไบต์ผ่านส่วนต่อประสาน ตอนนี้ IOS จะลดการฝากข้อมูล 7,500 ไบต์และที่ฝากข้อมูลนั้นมี 930,000 ไบต์ที่มีค่าโทเค็นอยู่ การรับส่งข้อมูลนั้นถูกพิจารณาว่าเป็น "การสอดคล้อง" และมีการใช้ "การกระทำที่สอดคล้องกัน" กับมัน

เวลา = 187.5 ms -เรากด Tc ทันทีและเติมที่เก็บ Bc มีการเพิ่มโทเค็นมูลค่า 937,500 ไบต์ โทเค็นพิเศษใด ๆ ที่รั่วไหลและหายไป

เวลา = 190 ms -ที่ฝากข้อมูลมีโทเค็น 937,500 เราได้รับปริมาณการใช้ 2,000,000 ไบต์ 937,500 ไบต์แรกถูกถ่ายโอนได้ดีเนื่องจากที่ฝากข้อมูลมีโทเค็นอยู่ ปริมาณการใช้งานที่เหลือถือว่าเป็น "เกิน" และได้รับการปฏิบัติตาม "เกินกำลัง" Remeber ไม่มีการกำหนดบัฟเฟอร์ในการรักษา (ที่เรียกว่าการปรับรูปร่าง) - คุณสามารถส่งคำพูดและการส่งผ่านหรือลดลง

เวลา = 375 ms -เรากด Tc อีกครั้งและที่ฝากข้อมูล Bc ถูกเติมด้วยโทเค็น 937,500

* ฝากถังด้วยถังเกิน (Policer สามสี) *

คุณสามารถเลือกเพิ่ม Excess Bucket (Be) ได้ วิธีนี้ทำให้การรับส่งข้อมูลเกิน Bc ที่ฝากข้อมูลชั่วคราว CIR โดยรวมควรอยู่ในสภาพเดียวกัน นี่คือสาม "สี" policer: สอดคล้องเกินและการละเมิด

เวลา = 0 ms -ทั้งสองถัง (Bc และ Be) เริ่มเต็ม Bc มี 937,500 โทเค็น Be มี 1,875,000 โทเค็น

เวลา = 50 ms - มีการรับส่งข้อมูล 2,000,000 ไบต์ เราเตอร์จะลดโทเค็น Bc bucket ก่อน มันลดความจุ Bc เป็นศูนย์ 937,500 ไบต์ของการรับส่งข้อมูลที่ครอบคลุมโดย Bc ถือเป็น "การสอดคล้อง" และมีการใช้ "การกระทำที่สอดคล้องกัน" กับมัน

ที่เหลือ 1,062,500 ไบต์ของการจราจรที่ยังไม่มีโทเค็น ตอนนี้เราเตอร์จะจุ่มลงในถังข้อมูลและลบ 1,062,500 โทเค็นเพื่อครอบคลุมการจราจรที่เหลือ ไบต์เหล่านี้ถูกพิจารณาว่า "เกิน" และจะมีการใช้ "การกระทำเกิน" ในตัวอย่างของคุณการรับส่งข้อมูลจะลดลง แต่คุณสามารถสังเกตหรือส่งได้

หากคุณรักษาคะแนนไว้ที่บ้านตอนนี้ Bc จะมีโทเค็นเป็นศูนย์และมี 812,500 โทเค็น

เวลา = 75 มิลลิวินาที -ตอนนี้เราเตอร์จะได้รับปริมาณการใช้งานอีก 1,200,000 ไบต์ ที่ฝากข้อมูล Bc ว่างเปล่าดังนั้นจึงไม่มีความช่วยเหลือ ที่ฝากข้อมูล Be สามารถช่วยได้ดังนั้นจึงครอบคลุมการจราจร 812,500 ไบต์แรกด้วยโทเค็นและตอนนี้ว่างเปล่า การเข้าชมนี้ถูกพิจารณาว่า "เกิน" และจะมีการใช้ "การกระทำเกิน"

ตอนนี้ที่เก็บถังแห้ง แต่ยังมีเหลืออีก 387,500 ไบต์ที่จะจัดการ การเข้าชมนี้ถูกพิจารณาว่า "ละเมิด" และมักจะถูกทิ้งไว้กับ CAR (คุณสามารถทำสิ่งอื่นด้วยการใช้ MQC และคำสั่งของตำรวจด้วย "การกระทำที่ละเมิด")

เวลา = 187.5 ms -ตอนนี้เรามาถึงช่วงเวลา Tc แรกเวลาที่เติมถังของเรา จุดสำคัญคือมีการเติมโทเค็น Bcมูลค่าเท่านั้น! Bc bucket เต็มไปก่อนถึง 937,500 ถัง Be ยังคงว่างเปล่า

เวลา = 375 มิลลิวินาที -มันเงียบและเราทำให้เป็นช่วง Tc ถัดไป โทเค็นมูลค่า Bc ถูกเพิ่มลงในที่ฝากข้อมูล Bc เนื่องจากที่ฝากข้อมูล Bc เต็มแล้วโทเค็นส่วนเกินจะไม่สูญหาย - จึงถูก "ล้น" ไปยังที่ฝากข้อมูล Be แทน ตอนนี้ที่ฝากข้อมูล Bc นั้นเต็มไปด้วยโทเค็น 937,500 และ Be bucket นั้นเต็มไปด้วยโทเค็น 937,500 บางส่วน

เวลา = 562.5 ms -ยังคงเงียบและเราอยู่ที่ Tc ถัดไป โทเค็นมูลค่า Bc ถูกเพิ่มลงในที่ฝากข้อมูล Bc ซึ่งเต็มแล้ว ทั้งหมดมันกระจายไปในถัง Be (ซึ่งมีโทเค็น 937,500 แล้ว) The Be เติมตลอดทางจนถึงโทเค็นสูงสุด 1,875,000

* หมายเหตุสุดท้าย *

  • การกำหนดค่าของคุณไม่ได้ใช้งาน Be bucket คุณกำลัง จำกัด อัตรา / การรักษาโดยใช้เพียง Bc bucket ซึ่งอาจมีผลข้างเคียงที่ไม่ได้ตั้งใจหากผู้ส่ง / ผู้ส่งข้อมูลไปยังคุณไม่ได้กำหนดค่าเหมือนกันและไม่ได้ซิงค์ Tc-wise

  • CAR / rate-limit เก่ามากและเลิกใช้แล้ว พิจารณาเปลี่ยนเป็น MQC และ QoS ที่ทันสมัยเพื่อใช้สิ่งนี้เนื่องจากจะให้ข้อมูลและตัวเลือกเพิ่มเติมแก่คุณ

  • ฉันเพิกเฉยต่อความล่าช้าในการซีเรียลไลเซชั่นโดยสิ้นเชิง (เวลาที่ใช้ในการส่งข้อมูลบนบรรทัด) ด้านบนและฉันค่อนข้างแน่ใจว่าคณิตศาสตร์ไม่ได้ผลในสถานการณ์จริง แต่แนวคิดมีความมั่นคงโดยไม่คำนึงถึงจำนวนที่แน่นอนใช้

* ตัวอย่าง MQC *

policy-map PM-FA0/0-IN
 class class-default
  police cir 5000000 bc 937500 be 1875000
!
interface Fa0/0
 service-policy input PM-FA0/0-IN
!

* แหล่งที่มา *


คำตอบที่ดีเยี่ยมจริงๆตรงไปตรงมา! แต่ฉันมีคำถามหนึ่งข้อเกี่ยวกับอัตราการรักษาเดียว (สองสี) คุณกล่าวถึงดังต่อไปนี้: มี "สี" สองแบบสำหรับการรับส่งข้อมูลการเข้ากันและการละเมิด สิ่งที่ฉันคิดว่าควรจะสอดคล้องและเกิน (แทนที่จะเป็นการละเมิดซึ่งควรเป็นวิธีการตรวจสีต้นไม้)
Daniel Blazek

คุณพูดถูกต้องอัพเดทตามที่คุณแนะนำ
Keller G
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.