Jump to content

Recommended Posts

Posted (edited)

Условия:

Пользователи получают достут в Интернет через 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."

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

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

Edited by sdw
Posted

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

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

Posted (edited)

Лучше всего по отношению 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 от/к пользователю, кто-нибудь фильтрует/правит ?

Edited by sdw
  • 1 year later...
Posted

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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.