هدف لب
پیکربندی WRED روی یک اینترفیس خروجی با آستانههای حداقل و حداکثر متفاوت برای دو مقدار DSCP، تولید ترافیک نزدیکشونده به ظرفیت صف، و تأیید اینکه ترافیک با اولویت-پایینتر dropها را زودتر و تدریجیتر از ترافیک با اولویت-بالاتر همانطور که صف پر میشود تجربه میکند.
هدف لب (چرا مهم است)
بدون WRED، یک صف پر منجر به tail drop میشود — صف صرفاً هر بسته جدید را وقتی کاملاً پر شود رد میکند، صرفنظر از اولویت، و چند جریان TCP میتوانند زمانبندی retransmission خودشان را در پاسخ همگام کنند، و ترافیک را به نوسان موجی وادار کنند. WRED این را با دورریختن بستهها بهطور احتمالاتی پیش از پرشدن کامل صف رفع میکند، و این کار را بهطور ترجیحی بر اساس علامتگذاری انجام میدهد، و از هم مسئله همگامسازی و هم رفتار یکسان با همه ترافیک صرفنظر از اهمیت جلوگیری میکند.
توپولوژی لب
R1 ---- Gi0/1 (روبهسمت-WAN، نقطه ازدحام)
ترافیک علامتگذاریشده با دو مقدار DSCP:
AF11 (اولویت-پایینتر، باید زودتر drop شود)
AF31 (اولویت-بالاتر، باید دیرتر drop شود)وظیفه ۱: پیکربندی یک Policy-Map که WRED را اعمال میکند
WRED مبتنیبر-کلاس با آستانههای متمایز برای ترافیک AF11 و AF31 پیکربندی کن.
وظیفه ۲: اعمال سیاست خروجی
سیاست WRED را روی Gi0/1، نقطه ازدحام، اعمال کن.
وظیفه ۳: تولید ترافیک نزدیکشونده به ظرفیت صف
یک ترکیب از ترافیک AF11 و AF31 کافی برای نزدیکشدن به ظرفیت صف اینترفیس تولید کن.
وظیفه ۴: تأیید تجربه Drop زودتر توسط AF11
تأیید کن ترافیک AF11 فعالیت drop را در حالی که عمق صف همچنان متوسط است نشان میدهد.
وظیفه ۵: تأیید حفظشدن طولانیتر AF31
تأیید کن ترافیک AF31 با drop حداقل یا بدون drop عبور میکند تا عمق صف به آستانه بالاتر پیکربندیشده برایش نزدیک شود.
راهحل و تأیید
R1(config)# policy-map WRED-POLICY
R1(config-pmap)# class class-default
R1(config-pmap-c)# random-detect dscp-based
R1(config-pmap-c)# random-detect dscp 10 20 40 10
R1(config-pmap-c)# random-detect dscp 26 35 40 10
-- AF11 (dscp 10): آستانه min 20 بسته، آستانه
-- max 40، مخرج احتمال drop 10 -- زودتر و
-- تهاجمیتر شروع به دورریختن میکند
-- AF31 (dscp 26): آستانه min 35، آستانه max 40
-- -- یک پنجره بسیار باریکتر پیش از رسیدن به
-- max، به این معنا که بسیار نزدیکتر به عمق
-- صف کامل زنده میماند پیش از اینکه هر dropای
-- اصلاً شروع شودR1(config)# interface gigabitethernet0/1
R1(config-if)# service-policy output WRED-POLICYTrafficGen> [یک ترکیب از ترافیک AF11 و AF31
کافی برای فشاردادن عمق صف بهسمت
ظرفیت تولید میکند]R1# show policy-map interface gigabitethernet0/1
Service-policy output: WRED-POLICY
Class-map: class-default
Exp-weight-constant: 9 (1/512)
Mean queue depth: 28
dscp Transmitted Random drop Tail drop Minimum Maximum
af11 842 packets 47 packets 0 packets 20 40
af31 1204 packets 0 packets 0 packets 35 40
-- در یک عمق صف میانگین 28 (بین min AF11 یعنی
-- 20 و min AF31 یعنی 35)، AF11 ازقبل drop
-- های تصادفی را تجربه کرده در حالی که AF31
-- اصلاً هیچکدام را تجربه نکرده -- دقیقاً همان
-- رفتار متمایزشدهای که آستانههای متمایز برای
-- تولیدش پیکربندی شدند-- با حجم ترافیک فشاردادهشده حتی بالاتر،
-- نزدیک به عمق صف 35+:
R1# show policy-map interface gigabitethernet0/1
dscp Transmitted Random drop Tail drop Minimum Maximum
af11 1580 packets 312 packets 8 packets 20 40
af31 2100 packets 41 packets 0 packets 35 40
-- AF31 نهایتاً برخی drop ها را فقط یکبار که
-- عمق از آستانه حداقل 35-بستهای خودش عبور
-- کند تجربه میکند -- اما حتی آنزمان، شمارش
-- drop آن بسیار پایینتر از AF11 باقی میماندنکته کلیدی
آستانههای حداقل و حداکثر بهازای-هر-کلاس WRED مستقیماً تعیین میکنند در چه عمق صفی دورریختن شروع میشود و چقدر تهاجمی برای هر علامتگذاری ترافیک تشدید مییابد — پیکربندی یک آستانه حداقل پایینتر برای ترافیک کماهمیتتر (AF11 اینجا) باعث میشود آن اول و سنگینتر ازدحام را جذب کند، و از ترافیک مهمتر (AF31) در برابر drop تا زمانی که ازدحام بهقدر کافی شدید شود تا از آستانه دیرتر خودش عبور کند محافظت میکند، و پاسخ ازدحام متمایزشده را بدون نیاز به صفهای فیزیکی جداگانه برای هر کلاس ترافیک به دست میآورد.