在宽带上打 DSCP 标记

2022-05-18 00:01:00 +08:00
 tutugreen

今儿看到 RouterOS 里 PPPoE 接口入站流量有七七八八的 DSCP 标记,更听闻新出的宽带提速包有“QoS 保障”,就突然想了解一下是怎么整的。

这个是爱某艺流量入站的 DSCP ,目前看电信入站是 8 ,移动入站是 1 。

突发奇想,如果我反手给他标记个 63 ,能不能有什么 Buff 。

于是简单,及不严谨的测试了一下(质量没想到怎么测比较讲究,目前只测了打上标,对端能收到啥,欢迎 dalao 补充)。

环境简单凑的,有电信家宽(含精品网)、电信商宽(含精品网)、GWBN (真 GWBN ,非电信合作版) 、移动家宽、都是 PPPoE 。

测试方法,在 RouterOS 中,给 POSTROUTING 、OUTPUT ,打 DSCP 标签,然后在目标 ROS 里 Torch 抓包看。

测试结果(比较懒,还是手动的,就直接 TXT 记录了):

ICMP 测试:

电信家宽 1(实发 DSCP) -> 电信家宽 2(实收 DSCP):

1-1

2-2

3-3

4-4

5-5

6-6

7-7

8-空

9-1

10-2

11-3

12-4

13-5

14-6

15-7

16-空

17-1

18-2

19-3

20-4

21-5

22-6

23-7

24-空

25-1

26-2

27-3

28-4

29-5

....(懒)

39-7

40-空

41-1

....(懒)

47-7

....(懒)

57-1

63-7

ICMP:移动家宽-1 63 出,电信家宽-2 收 1

ICMP:移动家宽-1 不带标出,电信家宽-2 收 1

ICMP:GWBN 63 出,电信家宽-2 收 7

=========

DNS UDP53, nslookup 解析 baidu.com

电信家宽-1 47 出,电信家宽-2 收 7

电信家宽-1 63 出,电信家宽-2 收 7

电信商宽-1 47 出,电信家宽-2 收 7

电信商宽-1 63 出,电信家宽-2 收 7

电信商宽-1 不带 DSCP 出,电信家宽-2 收空

移动家宽-1 不带标出,电信家宽-2 收 1

移动家宽-1 63 出,电信家宽-2 收 1

SSH TCP:22(tcping):

电信 DSCP 46 出,电信家宽-2 收 6

电信 DSCP 47 出,电信家宽-2 收 7

移动家宽-1 不带标出,电信家宽-2 收 1

移动家宽-1 63 出,电信家宽-2 收 1

////

判断下来就是运营商会改 DSCP 标头。

然后自己打的表头,没准有可能在一定情况下会被 Honered ?(毕竟他改写了,还是说做了位数转换)

具体有没有用,路由有没有变化,还不太清楚。

另外就是,长城宽带到电信,打 63 都能收 7 。

移动到电信不管怎么打,目前测试下来收到都是 1 ,估计是给最拉寄的。

各位 dalao 有没有研究过这个?

4756 次点击
所在节点    宽带症候群
11 条回复
scarh
2022-05-18 00:34:52 +08:00
猜测对于运营商来说对用户的出向流量打标记用于业务保障,毕竟语音或视讯对延时和抖动敏感。不过就算用户接入侧流量上来带了 QoS 标记,运营商设备也大概率会不信任或直接覆盖吧。

就算报文带了标记,运营商的转发设备不做对应的 QoS 策略,等于没用。
datocp
2022-05-18 08:43:21 +08:00
多年前倒是讨论起这个 DSCP 标记对本地 WMM QOS 有影响,讨论的结果就是重置标记。从基于访问目的端口的 QOS 来说,在 openwrt 使用 CONNMARK ,是可以只标记在上行的标记带到下行方向,只是没有找到应用的地方。

# iptables -t mangle -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N QOSO
-A PREROUTING -i eth0.2 -j DSCP --set-dscp 0x00
-A PREROUTING -i eth0.2 -j CONNMARK --restore-mark --nfmask 0xff --ctmask 0xff
makusuofute
2022-05-18 11:01:35 +08:00
换个简单明了的说法就是
在网关上费尽心思打的标记到 ISP 这里全部换成 IPS 自己的了。
viberconnection
2022-05-18 20:21:12 +08:00
感謝您的發現。
經得當設定後,目前我搭建在臺灣家中的 wireguard 伺服器速率已起飛。
nbsn
2022-05-18 23:23:34 +08:00
DSCP 跟 TTL 一样,是一跳一跳的行为。如果网络设备在入口,不信任你的 DSCP 标记,就会被重写,因此基本无效。
i3x
2022-05-18 23:51:14 +08:00
@scarh 电信的光猫哪怕桥接都有这个设置。在 vlan qos 下面就是这个。
vlan 实际填写。
qos 本身 0 ,tr069 是 7 ,我改了这个没发现什么区别。
dscp 感觉更没有什么意义了?
tutugreen
2022-05-19 01:15:48 +08:00
@i3x VLAN 那个好像就同二层下有效,看猫上是说 802.1p ,可能就你到 OLT 这一段,和你的邻居相比优先(?)

但上海这边网络业务是不打 VLAN 的,untag ,好像这层没得操作。



@nbsn @makusuofute 好像是哦,查了一下 DSCP 头,有原先 IP 优先级 3 位( 0-7 ),和 DSCP (使用之前多的预留位,达成 0-63 ),向下兼容,也就是可能 DSCP 实际上去之后,原本 IP 优先级的标志一直在( 0-7 ),后面预留位可能不兼容或者其他原因,就抹掉了(?)

看之前的结果,可能是他按照规则把我发过去的( 0-63 )改写成兼容的( 0-7 )了?

但如果这么说的话,爱某艺流量被标为 8 ,实属拉寄中的拉寄了(毕竟如果客户端自己标,出去会被改写 0-7 ,它现在是 8 的话那这个流量很大可能是上面某层识别并标记的。)
i3x
2022-05-19 23:11:02 +08:00
@tutugreen 没有 vlan 就是 untag 。还有改写透传可选。透传类似 trunk ,改写和 untag 都可以设置吧。

至少我在本地交换机里设置也没感觉到 qos 的影响。
反倒是比如 hw 的所谓安全网关,指定了优先特征之后,非优先的通信莫名其妙的卡。以运行 minecraft 服务器为例。。。优先服和普通服都有人在玩,但是普通服就很卡了以至于甚至符合非优先规则的 ssh ,空闲情况会断开。。不开的话两个都不卡。开了的话优先也没有变得更加流畅。
liuxyon
2022-06-05 08:06:38 +08:00
@viberconnection 求经验分享一下.
root9000
2022-06-23 13:55:46 +08:00
我这联通可以收到,10 和 48 的,10 是一些电视直播的,48 是路由跟踪骨干网返回的,不管没有用我给打上 48 出了
liuxyon
2022-07-06 21:45:06 +08:00
@root9000 用什么工具查看是否有效果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/853583

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX