Перейти к содержимому
Калькуляторы

vpdn + Radius + Traffic shape

Условия:

Пользователи получают достут в Интернет через PPTP, в качестве pptp сервера используется cisco 7140, IP адреса пользователям выдаются динамические.

 

IOS ™ EGR Software (C7100-JK9O3S-M), Version 12.3(12e)

cisco 7140-2FE (EGR) processor (revision A) with 229376K/98304K bytes of memory.

Processor board ID 17307136

R7000 CPU at 262MHz, Implementation 39, Rev 2.1, 256KB L2, 2048KB L3 Cache

 

Максимальное количество одновременных сессий - 500

Настроено через vpdn, конфиг vpdn:

 

!

ip cef

ip audit po max-events 100

vpdn enable

vpdn aaa attribute nas-ip-address vpdn-nas

!

vpdn-group 1

! Default L2TP VPDN group

! Default PPTP VPDN group

accept-dialin

protocol any

virtual-template 1

local name pptp_gateway

ip mtu adjust

!

virtual-template 1 pre-clone 500

!

interface Virtual-Template1

ip unnumbered FastEthernet0/0

no ip redirects

no ip proxy-arp

ip route-cache flow

ip tcp adjust-mss 1400

ip mroute-cache

peer default ip address pool user_pool

no keepalive

ppp authentication ms-chap-v2 ms-chap

ppp ipcp dns x.х.х.х x.х.х.х

!

radius-server vsa send accounting

radius-server vsa send authentication

!

 

 

 

Задача:

Ввести анлимитные тарифы с ограничением по скорости, и пускать через эту циску, как анлимитчиков, так и пользователей работающих по трафику. Ограничения по скорости для пользователя должны выдаваться радиус сервером, в зависимоти от тарифного плана пользователя.

 

Варианты решения:

 

1. CAR

Конфиг циски не меняем просто выдаем радиусом для тарифов с ограничение скорости следующие строки:

 

Cisco-AVPair+="lcp:interface-config=rate-limit input 64000 16000 32000 conform-action transmit exceed-action drop"

 

Cisco-AVPair+="lcp:interface-config=rate-limit output 32000 8000 16000 conform-action transmit exceed-action drop"

 

 

2.Policy map (2-a варианта):

 

Радиусом в зависимости от тарифа выдаем:

 

Cisco-AVPair+="ip:sub-policy-Out=client64k_out"

Cisco-AVPair+="ip:sub-policy-In=client32k_in"

 

а) На кошке можно сделать например так

!

policy-map do_priority

class best-effort

bandwidth percent 80

class class-default

policy-map client64k_out

class class-default

shape average 64000

service-policy do_priority

policy-map client32k_in

class class-default

shape average 32000

service-policy do_priority

!

 

b) Или так

 

policy-map client64k_out

class twobucket

police 64000 8000 16000 conform-action transmit exceed-action set-dscp-transmit 4 violate-action drop

 

policy-map client32k_in

class twobucket

police 32000 6000 8000 conform-action transmit exceed-action set-dscp-transmit 4 violate-action drop

 

 

3. Трафик шейп

 

ТОже несколько вариантов, например выдача радиусом для анлимитчика строки:

Cisco-AVPair+="lcp:interface-config=traffic-shape rate 64000 8000 16000"

 

также можно поиграться с traffic-shape adaptive и т.п.

Либо настроить конструций traffic-shape с полиси мэп.

 

 

 

Все приведенные варианты решения проверены на данной циске и реально работают.

 

Всвязи с чем вопрос к уважаемым гуру: "Как сделать правильнее и обеспечить максимальное качество для юзера при данных условиях(500 сессий)? Дабы пользователи потом не вздернули непутевого админа за большое количество дропов, или наоборот кошка не загнулась от большого количства ацл и нагрузки на cpu."

Приветсвуются тыканья носом с приведением своих вариантов решения.

Варианты с установкой отдельного линукс-бокса под шейпер не приемлются.

Изменено пользователем sdw

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sdw, раз уж Вы занялись этой проблемой, можете собрать стенд и померить кол-во трафика до циски и после, чтоб оценить потери от дропов? Наверное стоит ограничиться самыми простыми вариантами с CAR и шейп. Тут пролетало что эти два варианта не равнозначны, хотя по сути работы такое предположить сложно, и там и там при определенных условиях начинается дроп. И если абонент использует телефонию и инет одновременно без приоритезации пакетов, то будет плохо работать.

Остальные варианты наверное стоит тестировать когда станет понятно поведение этих двух.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Лучше всего по отношению drop/cpu себя показала конструкция:

 

policy-map client32k_in                                                         
  class class-default                                                           
   police 32000 6000 8000 conform-action transmit  exceed-action set-dscp-transmit 4 violate-action drop                                                        
policy-map client64k_out                                                        
  class class-default                                                           
   police 64000 8000 16000 conform-action transmit  exceed-action set-dscp-transmit 4 violate-action drop

При CAR потери трафика могут составлять до 30-40%

С шейпом потери само собой минимальные, но cpu жрет как не в себя )

 

TTL от/к пользователю, кто-нибудь фильтрует/правит ?

Изменено пользователем sdw

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Коллеги, подскажите, пост №3 данной темы все-еще актуален?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не более чем анлимные тарифы 32/64к.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.