Achtung! QoS mit DSL (war: UL/DL-Bremse)

2004-09-24 Diskussionsfäden Stefan Gold
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hallo,

> QoS und http://lartc.org/

kleiner Tip an alle die Trafficshaping mit tc aus dem iproute2-packet und an 
einem DSL-Anschluss nutzen wollen:

Da DSL auf ATM-Basis arbeitet, "verrechnet" sich tc bei der Bestimmung der 
aktuell genutzten Bandbreite (ATM benutzt immer 53 byte große Zellen, wenn 
die nicht zu 100% gefüllt sind, geht Bandbreite effektiv verloren). Das hat 
den Effekt, das das Trafficshaping, z.B. mit HTB, zwar korrekt eingerichtet 
ist, man aber kein ordenliches QoS zustande bringt, da sich die Packete 
weiterhin am DSL-Modem stauen.

Nachzulesen ist das ganze in diesem Artikel und dem folgenden Thread:
http://mailman.ds9a.nl/pipermail/lartc/2004q2/012752.html

In diesem Artikel wurde ein Patch für tc veröffentlicht, um das Problem zu 
beheben.

Ich habe mir mal den Patch genommen und ein bißchen herumexperimentiert.
Hiermit habe ich die besten Ergebnisse erzielt (an einem T-DSL Anschluss, 
dürfte aber an jedem beliebigen PPPoE Anschluss gleich sein):


// HACK - UK ATM Params
int encaps_cell_sz = 53;
int encaps_cell_overhead = 5;
int encaps_data_sz = encaps_cell_sz - encaps_cell_overhead;
int proto_overhead = 40; // 10 LLC + 14 ethernet + 8 PPPoE  + 8 AAL5


Ich hänge das komplette Sourcefile nochmal an diese Mail. Die Datei stammt 
ursprünglich aus dem iproute2-2.6.8 Packet von 
http://developer.osdl.org/dev/iproute2.

Mit diesem Patch für tc kann ich 98% meiner Upload-Badbreite nutzen, und habe 
trotzdem gutes QoS. :-)

Bei Bedarf kann ich euch auch meine Binary zukommen lassen, weiß aber nicht ob 
es da Probleme mit verschiedenen Kernel-Versionen gibt.

Viele Grüsse,
Stefan

- -- 
In a free world nobody needs Windows and Gates.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBU/N5Fdd7dooRJzsRAsMTAJ95Iuxx6Q3bglWsdh7YB2R9jaerIwCfd7wG
EG5BQV65eL0DHp1eKY9SRzM=
=LISK
-END PGP SIGNATURE-
/*
 * tc_core.c		TC core library.
 *
 *		This program is free software; you can redistribute it and/or
 *		modify it under the terms of the GNU General Public License
 *		as published by the Free Software Foundation; either version
 *		2 of the License, or (at your option) any later version.
 *
 * Authors:	Alexey Kuznetsov, <[EMAIL PROTECTED]>
 *
 */

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include "tc_core.h"

static __u32 t2us=1;
static __u32 us2t=1;
static double tick_in_usec = 1;

long tc_core_usec2tick(long usec)
{
	return usec*tick_in_usec;
}

long tc_core_tick2usec(long tick)
{
	return tick/tick_in_usec;
}

unsigned tc_calc_xmittime(unsigned rate, unsigned size)
{
	return tc_core_usec2tick(100*((double)size/rate));
}

/*
   rtab[pkt_len>>cell_log] = pkt_xmit_time
 */

int tc_calc_rtable(unsigned bps, __u32 *rtab, int cell_log, unsigned mtu,
		   unsigned mpu)
{
	int i;
	unsigned overhead = (mpu >> 8) & 0xFF;
	mpu = mpu & 0xFF;

	if (mtu == 0)
		mtu = 2047;

	if (cell_log < 0) {
		cell_log = 0;
		while ((mtu>>cell_log) > 255)
			cell_log++;
	}
	
	// HACK - UK ATM Params
	int encaps_cell_sz = 53;
	int encaps_cell_overhead = 5;
	int encaps_data_sz = encaps_cell_sz - encaps_cell_overhead;
	int proto_overhead = 40; // 10 LLC + 14 ethernet + 8 PPPoE  + 8 AAL5

	
	for (i=0; i<256; i++) {
		unsigned sz = ((i+1)<

Re: UL/DL-Bremse

2004-09-24 Diskussionsfäden Andreas Schmidt
On 2004.09.24 10:52, preissler thomas wrote:
Am 24.09.2004 schrieb Andreas Schmidt:
> Das ganze sollte an ein Interface gebunden sein. Die  
Beschraenkungen

> sollen also nur fuer Traffic gelten, der das LAN via ppp0  
verlaesst.
>
> Geht so etwas ueberhaupt? Und vor allem: wie?

QoS und http://lartc.org/
Ah, danke! Werde mich dann mal belesen.
Schoenen Gruss,
Andreas
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: UL/DL-Bremse

2004-09-24 Diskussionsfäden Andreas Kretschmer
am  24.09.2004, um 10:35:14 +0200 mailte Andreas Schmidt folgendes:
> Geht so etwas ueberhaupt? Und vor allem: wie?

http://lartc.org


Andreas
-- 
Andreas Kretschmer(Kontakt: siehe Header)
   Tel. NL Heynitz:  035242/47212
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
 ===Schollglas Unternehmensgruppe=== 


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: UL/DL-Bremse

2004-09-24 Diskussionsfäden preissler thomas
Am 24.09.2004 schrieb Andreas Schmidt:
> Hallo,
> 
> gibt es eigentlich eine Moeglichkeit, separat ein- bzw. ausgehenden  
> Traffic zu limitieren? Bei amule ist es zB moeglich, im Programm  
> bandwidth limits fuer ul/dl zu setzen. Etwas aehnliches haette ich  
> gerne direkt am LAN-Routers fuer bestimmte Services.
> 
> Gestern beispielsweise habe ich jemandem ein paar Sachen per FTP (ja,  
> ich weiss, ist suboptimal in punkto Sicherheit :-) bereitgestellt. Der  
> hatte sich dann gleich die ganze Upload-Bandbreite von 16KB/s gekrallt  
> und natuerlich den anderen Traffic blockiert. Ich moechte jetzt  
> zunaechst, dass Uploads via FTP mit max 12kB/s laufen. Ein weiterer  
> Schritt waere, ein Limit fuer eine Gruppe von Services zu setzen, dass  
> zB Uploads von ftp/www zusammengenommen eine gewisse Bandbreite nicht  
> ueberschreiten. (Wie sinnvoll der Betrieb eines Web-Servers per DSL  
> ist, steht dabei erstmal nicht zur Debatte; es geht hier mehr ums  
> Prinzip.)
> Das ganze sollte an ein Interface gebunden sein. Die Beschraenkungen  
> sollen also nur fuer Traffic gelten, der das LAN via ppp0 verlaesst.
> 
> Geht so etwas ueberhaupt? Und vor allem: wie?

QoS und http://lartc.org/


Mit freundlichen Grüßen


i.A. Thomas Preissler
Network Engineering
___
Dallmeier electronic GmbH & Co.KG
Würzburger Straße 5
93059 Regensburg
GERMANY
Phone   +49 (0) 941 8700-551
Fax +49 (0) 941 8700-585
E-Mail  [EMAIL PROTECTED]
Internethttp://www.dallmeier-electronic.com


Disclaimer:
Wir haften nicht für die Unversehrtheit von E-Mails nachdem sie unseren 
Einflussbereich verlassen
haben und können Ihnen hieraus entstehende Schäden nicht ersetzen. Sollte trotz der 
von uns
verwendeten Virus-Schutz-Programmen durch die Zusendung von E-Mails ein Virus in Ihre 
Systeme gelangen,
haften wir nicht für eventuell hieraus entstehende Schäden.

We cannot be sure that this e-mail or its attachments are free from viruses.
In keeping with good computing practice, please ensure that you take adequate steps to 
check for any viruses.
We reserve the right to access and read all e-mails and attachments entering or 
leaving our systems.


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



UL/DL-Bremse

2004-09-24 Diskussionsfäden Andreas Schmidt
Hallo,
gibt es eigentlich eine Moeglichkeit, separat ein- bzw. ausgehenden  
Traffic zu limitieren? Bei amule ist es zB moeglich, im Programm  
bandwidth limits fuer ul/dl zu setzen. Etwas aehnliches haette ich  
gerne direkt am LAN-Routers fuer bestimmte Services.

Gestern beispielsweise habe ich jemandem ein paar Sachen per FTP (ja,  
ich weiss, ist suboptimal in punkto Sicherheit :-) bereitgestellt. Der  
hatte sich dann gleich die ganze Upload-Bandbreite von 16KB/s gekrallt  
und natuerlich den anderen Traffic blockiert. Ich moechte jetzt  
zunaechst, dass Uploads via FTP mit max 12kB/s laufen. Ein weiterer  
Schritt waere, ein Limit fuer eine Gruppe von Services zu setzen, dass  
zB Uploads von ftp/www zusammengenommen eine gewisse Bandbreite nicht  
ueberschreiten. (Wie sinnvoll der Betrieb eines Web-Servers per DSL  
ist, steht dabei erstmal nicht zur Debatte; es geht hier mehr ums  
Prinzip.)
Das ganze sollte an ein Interface gebunden sein. Die Beschraenkungen  
sollen also nur fuer Traffic gelten, der das LAN via ppp0 verlaesst.

Geht so etwas ueberhaupt? Und vor allem: wie?
Schoenen Gruss,
Andreas
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)