[LARTC] T1 (hardware pre-shaped) shaping question
Hello list. I have been trying to figure this out on my own, but I guess I somewhat failed :) A linux router with external eth0 and internal eth1 acts as a gateway for a number of machines utilizing a partial T1 line (512kbps). Since the T1 is limited by hardware and by its nature to 64kbps per channel the most I can pump out of it is up+down < 512kbps. If a number of workstations amount to more than this limit the connection starts to choke e.g. delivers very low performance even on simple http requests. Right now I have HTBs installed on both eth0 and eth1. The HTB with subclasses on eth0 governs outgoing traffic (smtp and http). The HTB on eth1 on the other hand covers all request from the internal clients (http, streaming audio etc). Everything works well except the fact that both shaping trees have no idea about each other. Do I have the ability to tie them together so COMBINED they do not exceed 512k? For example somebody from the internet is pulling a file by http on eth0 and I am pumping out smtp, totalling 56k/s. The workstation of my webmaster tries to download a file through eth1 , and since it has priority the outgoing traffic on eth0 is cut down to 30k/s and the webmaster gets an incomming channel through eth0 --> eth1 --> workstation of 32k/s with some leftovers for TCP checksums. Is this feasible? Or is there another traffic shaping model different from tc that would treat eth0 as a two way pipe? Thank you for your replies. Peter ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] Port forwarding/translation control
My Linux system is acting as a NAT'ing firewall, and I have some rules for doing port forwarding/translation. I was thinking about this the other day and I realized that there are other parts of the system that consume ports. Specifically, NAT and ephemeral port allocation. It occurs to me that I could potentially have a conflict. If I set up a rule to forward/translate a port, and the NAT'ing code picks the same port for what it's doing, then there would be a big problem. Eventually, I'll need to dynamically allocate ports of my own for transitory port forwarding/translation. I need a way to set aside some ports that I can use sure the NAT'ing code and the ephemeral port allocation code won't try to use. If anyone has anything illuminating to say on this point, I'd be very grateful. ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] Are multiple output queues in qdisc possible?
Our system sets up multiple connections. At times, packets can be transmitted for some connections but not others. With that in mind: 1. Is it possible to have multiple output queues in a qdisc, rather than one? 2. Can a packet that leaves qdisc be returned to qdisc if it cannot be transmitted? If so, how? Thank you. ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] htb bandwith
Hi,tc qdisc add dev eth0 root handle 1: htb tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2000Kbit ceil 2000kbittc class add dev eth0 parent 1:1 classid 1:2 htb rate 1200Kbit ceil 2000kbittc class add dev eth0parent 1:1 classid 1:3 htb rate 800Kbit ceil 2000kbit tc class add dev eth0 parent 1:2 classid 1:21 htb rate 600Kbit ceil 2000kbittc class add dev eth0 parent 1:2 classid 1:22 htb rate 300Kbit ceil 2000kbittc class add dev eth0 parent 1:2 classid 1:23 htb rate 200Kbit ceil 2000kbittc class add dev eth0 parent 1:2 classid 1:24 htb rate 100Kbit ceil 2000kbit tc class add dev eth0 parent 1:3 classid 1:31 htb rate 400Kbit ceil 2000kbittc class add dev eth0 parent 1:3 classid 1:32 htb rate 300Kbit ceil 2000kbittc class add dev eth0 parent 1:3 classid 1:33 htb rate 100Kbit ceil 2000kbitBy using this script, the class 1: 2 can it borrow of the bandwidth not used by the class 1: 3 (the classes 1:2 and 1:3 can she borrow of the busy band among them). I want to control the used and free busy band during time. For it there, I used the command: tc s class ls dev eth0. Which are the information supplied by this command, which I should control to draft my interpretations on the use of the bandwidth. tkanks in advance Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout ! Créez votre Yahoo! Mail Dialoguez en direct avec vos amis grâce à Yahoo! Messenger !
[LARTC] unsubscribe
thanks
Re: [LARTC] QoS in wireless networks
Hi. Francisco Javier Simo Reigadas wrote: IEEE 802.11 provides a fair channel access for all the nodes including APs and clients. (I do not know about PCF mode implemented) It seems that it was abandoned because it didn't work as expected, It's not abandoned, but it's an optional feature that mostly none AP has implemented. And it's not a complete protocol afair, but only a framework that leaves much room for the actual implementation. only private extensions like Karlnet's Turbocell can do that (polling > from a central point) While Karlnet's Turbocell implements central polling, it does not make use of PCF. Instead, the stations work in DCF, and all traffic is transmitted as broadcasts (thus getting rid of 802.11 ACKs which gives some additional bandwidth). Downside: they loose the ability to have automatic rate selection. and I am not interested in private extensions. Maybe you'll also consider this as private extension, but you might be interested in some "DCF-based polling protocol" implementations running under Linux: frottle: http://frottle.sourceforge.net/ WiCCP: http://patraswireless.net/software.html pewit: http://savannah.nongnu.org/projects/pewit While they all perform a similar goal (implementation of a polling protocol on top of a normal ethernet link) they use different techniques to achieve their goal. But they all are not depending on a special device driver, so you can still choose your hardware freely. And maybe also this link is of interest: http://wsched.sourceforge.net/ "While the H-FSC qdisc can be used in a usual wireline environment (e.g. replacing the standard CBQ scheduler), the purpose of the port to Linux was to use it as a basis for the prototype implementation of a new form of wireless link-sharing. The basic problem is that in a wireless environment the amount of resources consumed in order to transmit X bytes to a mobile destination depends on the quality of the link to this station. The link-sharing model developed during the project allows the integration of goodput and resource-consumption oriented criteria in hierarchies for wireless link-sharing. Furthermore, the model can be used with currently available hardware because it can be implemented above the link layer. For detailed information take a look at the documents listed in the Documentation section." They have two interesting papers about their work online: "Packet scheduling for bandwidth sharing and quality of service support in wireless local area networks" and "A resource-based approach to MAC layer independent hierarchical link-sharing in wireless local area networks", explaining the ideas behind their scheduler. Bye, Mike ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] htb bandwith
Hi,tc qdisc add dev eth0 root handle 1: htb tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2000Kbit ceil 2000kbittc class add dev eth0 parent 1:1 classid 1:2 htb rate 1200Kbit ceil 2000kbittc class add dev eth0parent 1:1 classid 1:3 htb rate 800Kbit ceil 2000kbit tc class add dev eth0 parent 1:2 classid 1:21 htb rate 600Kbit ceil 2000kbittc class add dev eth0 parent 1:2 classid 1:22 htb rate 300Kbit ceil 2000kbittc class add dev eth0 parent 1:2 classid 1:23 htb rate 200Kbit ceil 2000kbittc class add dev eth0 parent 1:2 classid 1:24 htb rate 100Kbit ceil 2000kbit tc class add dev eth0 parent 1:3 classid 1:31 htb rate 400Kbit ceil 2000kbittc class add dev eth0 parent 1:3 classid 1:32 htb rate 300Kbit ceil 2000kbittc class add dev eth0 parent 1:3 classid 1:33 htb rate 100Kbit ceil 2000kbitBy using this script, the class 1: 2 can it borrow of the bandwidth not use d by the class 1: 3 (the classes 1:2 and 1:3 can she borrow of the busy band among them). I want to control the used and free busy band during time. For it there, I used the command: tc s class ls dev eth0. Which are the information supplied by this command, which I should control to draft my interpretations on the use of the busy band.tkanks in advance Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout ! Créez votre Yahoo! Mail Dialoguez en direct avec vos amis grâce à Yahoo! Messenger !
Re: [LARTC] QoS in wireless networks
There are many problems with QoS on a wireless (802.11) networks. QoS mechanisms impelented by HTB, CBQ etc. are designed for a dedicated point-to-point link with full controll all the queues at the sender side. Today IEEE 802.11 does not support QoS at the link layer... I know, I have written myself that sencence several times in other documents :-) In my previous message I should have written "partial QoS support". It is impossible to provide hard QoS, only some statistical QoS. I aggree. IEEE 802.11 provides a fair channel access for all the nodes including APs and clients. (I do not know about PCF mode implemented) It seems that it was abandoned because it didn't work as expected, only private extensions like Karlnet's Turbocell can do that (polling from a central point) and I am not interested in private extensions. After that you must keep best effort traffic below the maximal capacity. It is not so easy, because uplink and downlink shares the same medium, so the must be summed. Like this: BE_BW = BE_BW_DL+BE_BW_UL <= WLAN_BW - RT_BW_UL - RT_BW_DL - GUARD_BW where I have implemented something already and it works in the laboratory, the problem is that we cannot know how much is WLAN_BW. At the lab we can have 6Mbps and then doing a good outdoor installation with long links, the same configuration drops to 1Mbps or less, and that can still change as the weather evolves. That is why I made the question in the list: I can say that I have 6Mbps in the laboratory and then I create a HTB with subclasses, I reserve 1Mbps for VoIP and 5Mbps for BE; fine, it works. But what is going to happen when the real troughput drops? That doesn't happen in wired LANs (it happened in old phone connections though) but is very common in wireless longhaul installations. Let's put those well configured routers in their outdoor possitions, separated 15miles one from the other. The same configuration will then give a throughput of 1Mbps or less. How HTB is going to do? I VoIP going to get the whole link? is BE going to collapse the link? are they going to get proportional shares (170kbps/830kbps) ? And, as opposed to HTB, what would be the behaviour of CBQ in the same situation? That is my doubt. You mentioned there are streaming and real time video traffic in your network. Are there any uplink UDP video? There should not be any, or you have to build a complex bandwidth controller in each nodes. Yes, we will do videoconference, there will be UDP audio and video in both uplink and downlink. Thanks Ferenc for your message Javier ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Re: [LARTC] QoS in wireless networks
Hello, On Mon, 3 May 2004, Francisco Javier Simo Reigadas wrote: > > I'm trying to configure several wireless routers with QoS support. The > idea is to implement differentiated services so that VoIP traffic gets > the maximal priority, then video, control traffic, interactive data > traffic and best-effort traffic. Good luck ;} > > I have seen that CBQ used to be chosen as qdisc for implementing > bandwith share in DiffServ but now HTB is preferred because it is > simpler and more understandable. However, I see a problem with HTB in > wireless networks: sometimes the available bandwith fluctuates due to > interferences, retransmissions, etc, and then I don't know if HTB fits > well for that. żWhat is the real effect of sharing 5Mbps among traffic > classes with HTB if the real bandwith dropped to 1Mbps? żIs CBQ better > for these cases where the bandwith to share is not stable? But seriously... There are many problems with QoS on a wireless (802.11) networks. QoS mechanisms impelented by HTB, CBQ etc. are designed for a dedicated point-to-point link with full controll all the queues at the sender side. Today IEEE 802.11 does not support QoS at the link layer. All packets are equal in the air. Moreover access points have exactly the same chance to access the channel as clients have. It provides a half-duplex link, so packets for uplink and downlink direction have to contend. Just like a HUB... A HUB where packets can be transmitted at lower speed, packets may collide, a destination station may disappear. It is impossible to provide hard QoS, only some statistical QoS. First forget the "bad channel" (packet loss, lower rate trasmit etc) a bit. IEEE 802.11 provides a fair channel access for all the nodes including APs and clients. (I do not know about PCF mode implemented) It means if the channel is full (nodes have some backlogged packets) a node has to wait N-1 packets before access the channel where N is the number of backlogged nodes. Note it is true statistically and we do not care the bad channel. So it the best that can happen ;} Not so good, but there is still some chances... If you do not overload the channel nodes will not have backlog. (in long term, in short term there might some) First you must be sure that VoIP traffic will use only a fraction of the capacity. Usually it is true. After that you must keep best effort traffic below the maximal capacity. It is not so easy, because uplink and downlink shares the same medium, so the must be summed. Like this: BE_BW = BE_BW_DL+BE_BW_UL <= WLAN_BW - RT_BW_UL - RT_BW_DL - GUARD_BW where BE_BW_DL: downlink best effort rate. You can control it easily at the AP (or the router before the AP) BE_BW_UL: uplink direction. You can control it in the clients, but who tell them how much bandwidth can the use? With TCP you can use ingress filter in the AP, it will work fine. You have no chance against UDP :( WLAN_BW: How much is it really? Max 6Mbit/s for a "11mbps" wlan, but there are still some "bad channel" effect. RT_BW_UL, RT_BW_UL: It has to be measured. Or neglected if you can. GUARD_BW: The channel must not be overloaded. And we neglected the real time traffic. It is not so difficult to build as it looks like ;} If it is possible to separate bandwidth for uplink and downlink direction (eg. no web/ftp server in the clinets), you can alocate X mbit/s for downlink and Y mbit/s for uplink and control the two direction. Note that uplink trafic should be TCP to be able to control it through ingress filters and rate policers. If you want to build a more flexible network you may use IMQ device. I haven't used it because the required kernel and TC patches. But if you manage it you can sum uplink and downlink traffic. Somehow... You mentioned there are streaming and real time video traffic in your network. Are there any uplink UDP video? There should not be any, or you have to build a complex bandwidth controller in each nodes. Best regards, Ferenc ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
[LARTC] QoS in wireless networks
Hello, I'm trying to configure several wireless routers with QoS support. The idea is to implement differentiated services so that VoIP traffic gets the maximal priority, then video, control traffic, interactive data traffic and best-effort traffic. I have seen that CBQ used to be chosen as qdisc for implementing bandwith share in DiffServ but now HTB is preferred because it is simpler and more understandable. However, I see a problem with HTB in wireless networks: sometimes the available bandwith fluctuates due to interferences, retransmissions, etc, and then I don't know if HTB fits well for that. ¿What is the real effect of sharing 5Mbps among traffic classes with HTB if the real bandwith dropped to 1Mbps? ¿Is CBQ better for these cases where the bandwith to share is not stable? Thanks in advance Javier ___ LARTC mailing list / [EMAIL PROTECTED] http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/