The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Policing and Token Bucket Mechanism. Cant understand."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Маршрутизаторы CISCO и др. оборудование. (Public)
Изначальное сообщение [Проследить за развитием треда]

"Policing and Token Bucket Mechanism. Cant understand."  
Сообщение от kan5300 email(ok) on 14-Ноя-07, 14:38 
Всем привет. Юзаю Cat3560 12.2(35)SE.

Настроил полисинг на физическом гигабитном интерфейсе g0/1 т.о.:

!
class-map match-any direct-connect
  match access-group 101
!
policy-map direct-connect
  class direct-connect
    police 100000000 1000000 exceed-action drop
!
interface GigabitEthernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
service-policy input direct-connect
!
access-list 101 permit tcp any eq www any
access-list 101 permit tcp any eq ftp any
access-list 101 permit tcp any eq ftp-data any
access-list 101 permit tcp any eq 6667 any
access-list 101 permit tcp host 192.168.254.241 any
!

На аргументы директивы police не обращайте внимания, по ним и вопрос. Известно, что и полисинг и шейпинг используют механизм токен-бакет для вырезания или помещения в буфер пакетов, которые не уместились в карзину.

Моё понимание механизма token-bucket:

n - длина пакета
b - ёмкость ведра в токенах
r - rate. Он же CIR

- Каждый установленный интервал токены "кладутся" в ведро.
- У ведра есть определенная ёмкость. Токен прилетевший в полное ведро будет отвергнут.
- В момент попадения пакета на интерфейс из ведра извлекается количество токенов равное количеству байт в самом пакете и пакет отправляется далее.
- Если в ведре осталось настолько мало токенов, что n>b, соответствия не наступает (non-conformant).

Ёмкость ведра можно регулировать (burst size). Также пакеты, n которых совпала с токенами могут быть лимитированы r. Т.е. в любом случае на выходе мы не сможем получить скорость, большую чем CIR.

Рекомендованная формула для рассчета burst size: <Burst> = 2 * <RTT> * <Rate> (Cisco Press). Причем, RRT (round-trip time for a TCP session) может колебаться от 1 мс до 100сек. Как выявить реальное значение я не знаю. Пусть оно будет 10мс.

<Burst> = 2 * <.100 sec> * <64000 bits/sec>

В контексте policy есть только два инструмента управления пропускной способностью. Это:

<8000-10000000000>  Bits per second
<8000-1000000>  Normal burst bytes

Ну и exceed-action

Допустим я хочу сделать ограничение в 50 мегабит. Естественно, CIR (первый аргумент директивы Policy) я установлю в 50000000.

Приводим всё в биты и в секунды:

<Burst> = 2 * 0.01 * 50000000 = 1 000 000 bps = 125 000 bytes per second.

И остановиться на таких параметрах:

police 50000000 125000 exceed-action drop

Правильно ли я всё понял? И как всё-таки подобрать RRT?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Policing and Token Bucket Mechanism. Cant understand."  
Сообщение от sh_ email(??) on 15-Ноя-07, 13:12 
burst size = 1.5*CIR/8
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Policing and Token Bucket Mechanism. Cant understand."  
Сообщение от kan5300 email(ok) on 15-Ноя-07, 13:23 
>burst size = 1.5*CIR/8

Для CIR в 50 мегабит по вашей ф-ле получается 9375000 байт. Максимальное значение, которое можно ввести 1000000 байт. Опятьже, исходя из чего вы взяли коэфф. 1.5?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру