____
User1==============\ ___( )__
Line_A \ _( )_
User2===============[ROUTER]·············[ISP]≡≡≡≡≡≡≡≡≡≡(_ Internet __)
Line_B / Line_X Line_Z (_ __)
User3==============/ (______)
Line_C
Line_A, Line_B and Line_C are Gigabit Ethernet
Line_X phone line using ADSL2+ protocol
Line_Z 10 Gigabit fiber
We implement QoS at the [ROUTER] WAN interface.
-->-->--[egress queue]-->-->--[interface output]-->-->--Internet
\ /
\ /
QDisc
1. Drop packets exceeding available bandwidth.
2. Reorder packets currently in the buffer.
-->-->--[ingress queue]-->--[bridge check]-->-->--intranet
\ /
\ /
QDisc
1. Drop packets that exceed configured bandwidth ("policing")
With TCP => no line congestion
2. No reordering
http://wiki.openwrt.org/doc/howto/packet.scheduler/packet.scheduler.theory
一、我们都知道,网络传输是以包为单位的,发送方在包里添加传输,属性,路由等信息,接收方从包里分理处这些信息,但是对于
一个只有一个wan口但是有很多Lan口的路由器来说,相当于多个车道汇聚成一条车道,可能会造成拥挤,我们把这个路口(路由
设备wan口称作是瓶颈)。
二、Openwrt中维护者两条队列,一个是出队列,缓冲着上行流量的数据包;另一个是入队列,缓冲着下行流量的数据包。对于每一条
队列,Linux内核可以实现管理调度,对于它的配置可以通过tc程序指令实现。
三、为了控制带宽,对于不同的流量,我们有不同的方式。在网络接口中,可以对包实现丢弃,
转发, 排队, 延时和重新排序的操作。
1、对于上行流量,一来我们可以通过丢包来控制发送的速度,或者解决网络阻塞问题。二来我们可以通过重新排序缓冲中的包,
这样可以决定下一个发送的是什么包,以实现给不同的包赋予不同的优先级,使得紧急的事情不会因为带宽拥挤而被低优先
级的数据影响。
2、对于下行流量,我们没有那么多的办法控制带宽,唯一可以做得就是丢包,对于TCP包,由于是面向连接的协议包,丢弃ACK
包可以使得发送方明白发生了网络拥堵从而降低发送速度,但是对于UDP包,什么都不会发生。
本文深入探讨了OpenWrt操作系统中的服务质量(QoS)设置,旨在优化家庭或小型办公室的网络流量。内容包括QoS的基本原理、在OpenWrt中配置QoS的步骤以及不同QoS策略如何影响网络性能。通过实施QoS,读者可以更好地管理带宽,确保关键应用如在线会议和游戏的流畅体验。
3820

被折叠的 条评论
为什么被折叠?



