Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: nikomsj в Jun 30, 2006, 13:36



Титла: Traffic shaper
Публикувано от: nikomsj в Jun 30, 2006, 13:36
Здравейте !!! Нуждая се от помощ ...
Имам малка мрежа на село и разпределям трафика с tc, т.е. задал съм на всеки долна и горна граница на трафика, който да получават. Всичко е добре докато не се пусне сваляне чрез торенти. Макар че този който тегли с торенти не надвишава зададеният му трафик, мрежата се натоварва страшно много ... дори ми изчезва пинга от вън. Странното е че се отразява на всички и това забавя много отварянето на страници ... може би проблемът идва от многото конекции които прави БитКомета и яавно се получава шретоварване на трафика ... не съм сигурен какво точно се получава ... моля помогнете ... дайте ми някаква идея ....


Титла: Traffic shaper
Публикувано от: в Jun 30, 2006, 19:23
С ADSL ли си?


Титла: Traffic shaper
Публикувано от: Dean79 в Jul 01, 2006, 08:22
TCP connection limit.


Титла: Traffic shaper
Публикувано от: в Jul 01, 2006, 21:33
ingress shaping


Титла: Traffic shaper
Публикувано от: в Jul 02, 2006, 14:39
защо ingress shaping?
защо все пак се получава проблема при човека - моля да обясните по подробно!


Титла: Traffic shaper
Публикувано от: neptun в Jul 02, 2006, 17:58
Не разбирам особено от рутери , но ми се струва , че пролема идва от доставчика ти или по-точно ако той е наложил ограничение на едновременните активни сесии когато някой пусне да тегли от торенти на практика той използва сесиите на всички и затова те не могат да теглят.Ако е така може да им се каже на хората да си настроят торент клиентите да ползват определен брой сесии.


Титла: Traffic shaper
Публикувано от: в Jul 02, 2006, 21:26
Защото заявките са много малки, отговорите за сметка на което са доста по-големи. Ограничаваш скоростта на вътрешния интерфейс, добре. Обаче нямаш никаква гаранция какво количество трафик ще ти генерират отговорите от пиърите. Веорятно вследствие на рязането, потвържденията на tcp пакетите от страна на клиентите ще минават по-бавно, но това надали е достатъчно ефективно, а  и негативния ефект се натрупва със всяка нова връзка към даден пиър. Отделно караш ядрото да буферира прекалено много пакети, за да компенсира разликата в скоростта с които получава пакети отвън и орязаната скорост към клиентите.

На какво се дължи крайния резултат - или на задръстена  външна линия или препълнени буфери в ядрото на рутера, не знам. Може и на двете.

Може да се увеличи големината на това:

/proc/sys/net/core/netdev_max_backlog - броят на буферираните "необработени" (в случая непрепратени) пакети, който когато се достигне, ядрото започва да издропва всички нови, които получи. Дефолтната стойност (1000) в някои случаи се оказва пречка.


Титла: Traffic shaper
Публикувано от: в Jul 02, 2006, 21:29
В случай че това не се окаже достатъчно, egress shaping на външния интерфейс би трябвало да елиминира тази ситуация..


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 10, 2006, 09:08
Благодаря ви много за отговорите ... бях в провинцията до сега и чак днес успях да влеза да прочета вашите отговори. Ще обмисля съветите ви и ще ги пробвам. Аз пробвах да настроя БитКомета и за сега има добър ефект поне не изчерпва трафика на компютъра на който се пусне. Понеже не всички от мрежата са го настроили все още не мога да преценя дали има ефект и кога какво се получава. Посъветваха ме да ползвам и ipp2p  за разпределяне на трафика по протоколи и по точно за pp трафика. Ще пробвам съветите ви днес ... Много благодаря ...


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 10, 2006, 09:14
defaul na netdev_max_backlog mi e 300 как се променя стойността
za router ползвам ipcop - просто за информация


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 10, 2006, 09:26
променя се като в /etc/sysctl.conf се зададе

net.core.netdev_max_backlog = 30000
ще видя дали има ефект


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 10, 2006, 09:30
и след това за да се променят стойностите се стартира
sysctl -p


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 13, 2006, 10:37
tozi sait e za optimizirane mrejata
Wse pak edin ot nachinite za sprawianeto s probleme se okaza:
1. Nastroiwane na Bit cometa - mahat se awtomatichnite nastroiki i se slagat nekoi po normalnim kato naprimer zadaden broi TCP conekcii i wsicko koeto precenite.
2 W traffic shapera se izpolzwa SFQ

za pomost
http://gentoo-wiki.com/HOWTO_Packet_Shaping
3. Izpolzwam layer7 za kasificirane na paketite

a towa sa mi scriptowete koito mogat da sa ot pomost na koito se sblaska sas satia problem:

#!/bin/sh

IP1="10.0.54.70"
IP2="10.0.54.32"

IPTABLES="/sbin/iptables"

$IPTABLES -t mangle -F
$IPTABLES -t mangle -A INPUT -j TTL --ttl-set 128
$IPTABLES -t mangle -A OUTPUT -j TTL --ttl-set 128
$IPTABLES -t mangle -A PREROUTING -j TTL --ttl-set 128

$IPTABLES -A PREROUTING -t mangle -s $IP1 -j MARK --set-mark 10
$IPTABLES -A POSTROUTING -t mangle -d $IP1 -j MARK --set-mark 10
$IPTABLES -A PREROUTING -t mangle -s $IP2 -j MARK --set-mark 20
$IPTABLES -A POSTROUTING -t mangle -d $IP2 -j MARK --set-mark 20

$IPTABLES -A FORWARD -t mangle -p icmp -j MARK --set-mark 40
$IPTABLES -A OUTPUT -t mangle -p icmp -j MARK --set-mark 40
$IPTABLES -A INPUT -t mangle -p icmp -j MARK --set-mark 40

$IPTABLES -A FORWARD -t mangle -p tcp --dport 222 -j MARK --set-mark 30
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 222 -j MARK --set-mark 30
$IPTABLES -A INPUT -t mangle -p tcp --dport 222 -j MARK --set-mark 30


$IPTABLES -A POSTROUTING -t mangle -m layer7 --l7proto bittorrent -j MARK --set-mark 100
$IPTABLES -A PREROUTING -t mangle -m layer7 --l7proto bittorrent -j MARK --set-mark 100


UCEIL=2000kbit
USPEED1=128kbit
USPEED2=128kbit
USPEED3=128kbit
USPEED4=128kbit

UMAX1=256kbit
UMAX2=256kbit
UMAX3=256kbit
UMAX4=256kbit

DCEIL=2022kbit
DSPEED1=1000kbit
DSPEED2=256kbit
DSPEED3=256kbit
DSPEED4=64kbit

DMAX1=2000kbit
DMAX2=512kbit
DMAX3=512kbit
DMAX4=1500kbit

#CLEAR

INTERNAL="eth0"
EXTERNAL="eth1"

tc qdisc del dev $INTERNAL root
tc qdisc del dev $EXTERNAL root

#UP
tc qdisc add dev $EXTERNAL root handle 10: htb default 100
tc class add dev $EXTERNAL parent 10: classid 10:99 htb rate $UCEIL ceil $UCEIL
      
    tc class add dev $EXTERNAL parent 10:99 classid 10:1 htb rate $USPEED1 ceil $UMAX1 burst 2kbit prio 1
    tc class add dev $EXTERNAL parent 10:99 classid 10:2 htb rate $USPEED2 ceil $UMAX2 burst 2kbit prio 2
    tc class add dev $EXTERNAL parent 10:99 classid 10:3 htb rate $USPEED2 ceil $UMAX2 burst 2kbit prio 2    
    tc class add dev $EXTERNAL parent 10:99 classid 10:4 htb rate $USPEED2 ceil $UMAX2 burst 2kbit prio 2    
    
    tc class add dev $EXTERNAL parent 10:99 classid 10:100 htb rate $USPEED4 ceil $UMAX4 burst 2kbit prio 4
      
tc filter add dev $EXTERNAL protocol ip parent 10: prio 3 handle 10 fw flowid 10:1      
tc filter add dev $EXTERNAL protocol ip parent 10: prio 3 handle 20 fw flowid 10:2
tc filter add dev $EXTERNAL protocol ip parent 10: prio 3 handle 30 fw flowid 10:3
tc filter add dev $EXTERNAL protocol ip parent 10: prio 3 handle 40 fw flowid 10:4
tc filter add dev $EXTERNAL protocol ip parent 10: prio 4 handle 100 fw flowid 10:100

tc qdisc add dev $EXTERNAL parent 10:1 sfq perturb 10 quantum 12187
tc qdisc add dev $EXTERNAL parent 10:2 sfq perturb 10 quantum 12187
tc qdisc add dev $EXTERNAL parent 10:3 sfq perturb 10 quantum 12187
tc qdisc add dev $EXTERNAL parent 10:4 sfq perturb 10 quantum 12187
tc qdisc add dev $EXTERNAL parent 10:100 sfq perturb 10 quantum 1500
      
#DOWN
tc qdisc add dev $INTERNAL root  handle 10: htb default 100
tc class add dev $INTERNAL parent 10: classid 10:99 htb rate $DCEIL ceil $DCEIL
      
    tc class add dev $INTERNAL parent 10:99 classid 10:1 htb rate $DSPEED1 ceil $DMAX1 burst 2kbit prio 1
    tc class add dev $INTERNAL parent 10:99 classid 10:2 htb rate $DSPEED2 ceil $DMAX2 burst 2kbit prio 2
    tc class add dev $INTERNAL parent 10:99 classid 10:3 htb rate $DSPEED2 ceil $DMAX2 burst 2kbit prio 2
    tc class add dev $INTERNAL parent 10:99 classid 10:4 htb rate $DSPEED2 ceil $DMAX2 burst 2kbit prio 2
    tc class add dev $INTERNAL parent 10:99 classid 10:100 htb rate $DSPEED4 ceil $DMAX4 burst 2kbit prio 4

tc filter add dev $INTERNAL protocol ip parent 10: prio 3 handle 10 fw flowid 10:1      
tc filter add dev $INTERNAL protocol ip parent 10: prio 3 handle 20 fw flowid 10:2
tc filter add dev $INTERNAL protocol ip parent 10: prio 3 handle 30 fw flowid 10:3
tc filter add dev $INTERNAL protocol ip parent 10: prio 3 handle 40 fw flowid 10:4
tc filter add dev $INTERNAL protocol ip parent 10: prio 4 handle 100 fw flowid 10:100

tc qdisc add dev $INTERNAL parent 10:1 sfq perturb 10 quantum 12187
tc qdisc add dev $INTERNAL parent 10:2 sfq perturb 10 quantum 12187
tc qdisc add dev $INTERNAL parent 10:3 sfq perturb 10 quantum 12187
tc qdisc add dev $INTERNAL parent 10:4 sfq perturb 10 quantum 12187
tc qdisc add dev $INTERNAL parent 10:100 sfq perturb 10 quantum 1500

ako nekoi ima nujda ot pomost: nikomsj@mail.bg


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 13, 2006, 10:38
towa ne se e kopiralo w prednai otgowor:

http://dsd.lbl.gov/TCP-tuning/linux.html


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 14, 2006, 17:34
Nekoi moje li da dade ideia za optimizirane na tozi skriptkoito sam publikuwal


Титла: Traffic shaper
Публикувано от: в Jul 14, 2006, 19:13
Възможно е да се реализира с u32 филтри, а не с MARK правила в iptables, макар че не мога да ти кажа дали това ще доведе до подобрение в производителността

Какво искаш да му оптимизираш? Нямам много идея за твоите нужди, за да мога да измисля подобрения :)

П.П. не мога да разбера няколко неща

- какво е това на 222-рия порт, което шейпваш?
- ТТЛ-а защо 128 твърдо?
- icmp закво ти е да го орязваш?
- тези 2 адреса са ти от вътрешната мрежа? Ако решат да си сменят ип-тата ще избегнат някои ограничения предполагам?


Титла: Traffic shaper
Публикувано от: в Jul 20, 2006, 20:14
imam problem po niakoga w loga s epoluchwawa towa

Jul 20 19:41:07 olanrouter kernel: HTB: quantum of class 100001 is small. Consider r2q change.
Jul 20 19:41:07 olanrouter kernel: HTB: quantum of class 100002 is small. Consider r2q change.
Jul 20 19:41:07 olanrouter kernel: HTB: quantum of class 100003 is small. Consider r2q change.


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 20, 2006, 20:17
setwam ttl na 128 che dostawchika mi go puska s ttl=1 za da ne mogada rutiram .... az go setwam na 128 da imitiram windowska mashina
a ssh mi e na 222 port ne na 22 che e smeneno


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 20, 2006, 20:22
защо да го отрязвам icmp -просто съм го сложил в друг клас за да мога да си следя от далече и да не ми прекъсва пинга че някой път торентите така задръстват трафика че не мога и да пингвм дори

ми тука ip-ta та са такива по принцип в реланата ми мрежа са 192.168.0.*


Титла: Traffic shaper
Публикувано от: nikomsj в Jul 20, 2006, 20:25
нуждите ми са че доствям интернет на 40 човека и важното ми е да си използвам пълноценно трафика

е това ми е последния проблем

Jul 20 19:41:07 olanrouter kernel: HTB: quantum of class 100001 is small. Consider r2q change.


Титла: Traffic shaper
Публикувано от: в Jul 20, 2006, 22:02
kakwo predstawliawat tezi u32 filtri