Openwrt 中的Qos方式及原理概述
来源:互联网 发布:linux终端连接redis 编辑:程序博客网 时间:2024/05/23 20:07
____User1==============\ ___( )__ Line_A \ _( )_User2===============[ROUTER]·············[ISP]≡≡≡≡≡≡≡≡≡≡(_ Internet __) Line_B / Line_X Line_Z (_ __)User3==============/ (______) Line_CLine_A, Line_B and Line_C are Gigabit EthernetLine_X phone line using ADSL2+ protocolLine_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 congestion2. No reordering
http://wiki.openwrt.org/doc/howto/packet.scheduler/packet.scheduler.theory
一、我们都知道,网络传输是以包为单位的,发送方在包里添加传输,属性,路由等信息,接收方从包里分理处这些信息,但是对于一个只有一个wan口但是有很多Lan口的路由器来说,相当于多个车道汇聚成一条车道,可能会造成拥挤,我们把这个路口(路由设备wan口称作是瓶颈)。
二、Openwrt中维护者两条队列,一个是出队列,缓冲着上行流量的数据包;另一个是入队列,缓冲着下行流量的数据包。对于每一条队列,Linux内核可以实现管理调度,对于它的配置可以通过tc程序指令实现。
三、为了控制带宽,对于不同的流量,我们有不同的方式。在网络接口中,可以对包实现丢弃,转发, 排队, 延时和重新排序的操作。
1、对于上行流量,一来我们可以通过丢包来控制发送的速度,或者解决网络阻塞问题。二来我们可以通过重新排序缓冲中的包,这样可以决定下一个发送的是什么包,以实现给不同的包赋予不同的优先级,使得紧急的事情不会因为带宽拥挤而被低优先级的数据影响。
2、对于下行流量,我们没有那么多的办法控制带宽,唯一可以做得就是丢包,对于TCP包,由于是面向连接的协议包,丢弃ACK包可以使得发送方明白发生了网络拥堵从而降低发送速度,但是对于UDP包,什么都不会发生。
0 0
- Openwrt 中的Qos方式及原理概述
- Openwrt QOS
- QEMU QoS特性及原理分析和Librbd QoS定义
- QOS原理
- C++协程(1):协程原理及实现方式概述
- NSRunLoop概述及原理
- linux下tc、htb、iptables基础知识及openwrt 下qos使用介绍
- linux下tc、htb、iptables基础知识及openwrt 下qos使用介绍
- QoS基础及技术原理——1
- QoS基础及技术原理——2
- QoS基础及技术原理——3
- QoS控制原理
- QOS相关原理介绍
- QOS原理介绍
- 对openwrt系统中QoS基本概念
- Openwrt配置QOS流量带宽限制
- QoS队列调度算法概述
- QoS队列调度算法概述
- 【Unity技巧】开发技巧(技巧篇)-----妈妈说女孩子要自立自强
- 【蓝桥杯训练】--- 算法训练 关联矩阵
- Visual C++ Tips: Resolve the project always 'out of date' issue
- [Leetcode 19, Easy] Remove Nth Node From End of List
- HDU 1702----ACboy needs your help again!(栈和队列)
- Openwrt 中的Qos方式及原理概述
- 康夫子:医疗人工智能、大数据信息技术提供商
- HOJ 2275 Number sequence(树状数组)
- python的print
- LeetCode Minimum Path Sum
- UIKit基础:15-与电脑玩剪刀石头布
- Memcached源码分析 - Memcached源码分析之基于Libevent的网络模型(1)
- POJ 2945 Find the Clones (Trie树 两种姿势)
- 【Linux是什么】Torvalds的Linux开发