关于北京联通光纤 EPON 接入技术,到底是获取哪个设备上的 MTU 和 MRU 数值?

2016-07-11 17:26:56 +08:00
 bclerdx
关于北京联通光纤 EPON 接入技术,到底是获取哪个设备上的 MTU 和 MRU 数值?

根据架构,电脑-家用无线路由器-光猫 HGU-OLT-BRAS-城域网

那么问题来着,如果光猫 HGU 选择桥接方式,家用无线路由器的 WAN 口进行 PPPoE 拨号,那么 WAN 口的 MTU 和 MRU 参数应该获取的是上联 OLT 还是上上联 BRAS 的 MTU 和 MRU 数值参数呢?
7828 次点击
所在节点    宽带症候群
29 条回复
ShunYea
2016-07-11 17:33:57 +08:00
OLT 应该只是透传,我觉得应该在 BRAS 上。
bclerdx
2016-07-11 19:42:31 +08:00
@ShunYea 听说家庭路由器 PPPoE 拨号的 WAN 口 MTU 和 MRU 要取 OLT 和 BRAS 之间的最小值,然后减去 8 。

而且, OLT 和 BRAS 上配置的 MTU 和 MRU 数值是一个固定的 4 位数字,而不是动态数值范围,对么?
ShunYea
2016-07-11 22:37:58 +08:00
@bclerdx 我明天帮你问问 OLT 上有没有 MTU 值
redsonic
2016-07-12 13:57:47 +08:00
MTU 是以太网帧的概念只有 BRAS 上配置的才对用户端可见。 pon 模块里的 pppoe 和一般 lan 的 pppoe 一样,所以应该没有什么大小 mtu 比较,我编译过一个 pppoe 客户端放到烽火的盒子里一样能用应该没什么特殊之处。

@ShunYea OLT 板卡接口上也有配置不然 lan 怎么接入 ,但它对 ONU 侧无影响,最小也不可能小于 1500 ,否则对用户设备和协议影响太大。
bclerdx
2016-07-12 23:55:28 +08:00
@redsonic 我的是北京联通 FTTH 哦,光猫是 IMS 平台上的 HGU ,不是 ONU 。所以, MTU 和 MRU 对数据的传输还是非常大的。否则遇到大包后,被传输到了某层的网关 VLAN 口,会被严重拆分数据包的,会造成数据包重新打包。然后再次传输,进而增加网络开销和传输损耗!
redsonic
2016-07-13 07:47:23 +08:00
@bclerdx 不会, OLT 上的接口 MTU 和 MRU 绝对不会小于 BRAS 的,回复给 ShunYea 的你不用管,我只是回答他的问题。另外转发过程中除了 ppp 协议关心 MRU 其他都不管,只要不超过最大接口帧长都可以,一般也不会 ip 分片重组, ipv6 明确禁止中间路由器重组。
bclerdx
2016-07-13 14:00:45 +08:00
@redsonic 只要不超过最大接口帧长都可以,这个是指 BRAS 设备上配置页面写入的 MTU 和 MRU 接口帧长度?而不用再考虑 BRAS 下联的 OLT 设备配置的 MTU 和 MRU 接口帧长度,对吧?

因此,我只需要从 ISP 处获取到上上联 BRAS 设备配置接口帧的长度( MTU 和 MRU )数值即可?那么问题又来了,假设是的话,那么这个数字数值是一个固定的数字数值,还是一个数字区间范围?
bclerdx
2016-07-13 14:03:48 +08:00
@redsonic : OLT 上的接口 MTU 和 MRU 绝对不会小于 BRAS 的,你确定这是一级或基础三大运营商的集团公司或分公司集采 OLT 或 BRAS 设备,然后所有每一台 OLT 或 BRAS 设备配置的 MTU 和 MRU 是统一的么?我主要就是担心,这个检测标准不是统一强制规定,而是每个地区或每个城市同一种类型的设备 MTU 和 MRU 参数会配置不同。
redsonic
2016-07-13 15:03:42 +08:00
@bclerdx MTU 和 MRU 都是协议或软件上的限制,抛开协议栈,只要到网卡的包不超过硬件的某个限制都可以发送或接收。 MTU 一次配置后是固定的,有光猫后台密码的话登录上去看 pppoe 接口肯定是 1492 ,加上 ppp 头 2 字节和 pppoe 头 6 字节正好 1500 , wan 口就是 1500 ,然后发给 pon 模块。 MTU 可配置最小是 68 字节,最大视硬件情况,支持巨帧的好像可以 16KB 。
不管是不是统一,只要不小于 1500 有什么担心的,既然你 1500 小水管发出的报文没有分片,转发过程中的大水管更不会分片,也几乎不会重组(墙除外)
bclerdx
2016-07-13 15:43:37 +08:00
@redsonic MTU : 1492 是 ADSL 铜线时代的产物吧?现在可是光猫 HGU 光纤时代了啊。毕竟与 ADSL 的 PPPoE 的 MTU 是不同的吧。
redsonic
2016-07-13 15:52:21 +08:00
@bclerdx 光网是小区接入的物理层,其余的都没变, BRAS 还是那个 BRAS , pppoe 还是那个 pppoe ,即使是万兆 lan ,大部分 mtu 还是那个 1500 。
bclerdx
2016-07-13 16:33:48 +08:00
@redsonic 嗯,原来是这样啊。那么支持巨型帧的,就是超过 1500 字节限制的设备都有哪些?
redsonic
2016-07-13 17:12:39 +08:00
一般桌面和服务器的 intel 或 broadcom 的千兆网卡及以上都支持,商业交换机和路由器都支持。有些像 ATM 的设备都是把很多报文封装成一个巨帧发送来提高效率。
bclerdx
2016-07-13 19:33:16 +08:00
@redsonic 目前不知道北京联通的 OLT 、 BRAS 或其相关的设备是否支持巨型帧技术。
bclerdx
2016-07-13 19:39:31 +08:00
@redsonic 我看了下的集成千兆网卡和无线路由器自身系统都是支持 Jumbo Frames 功能的。
ShunYea
2016-07-14 13:00:06 +08:00
@redsonic 你说的对
bclerdx
2016-07-14 13:59:51 +08:00
@redsonic 看来您可能说的是正确的,我在我自己的无线路由器的 WAN 口连接方式选 PPPoE , MTU 处手工输入数字 1500 ,保存配置后,路由器的操作系统依然会强制更改为 1492 了。请问这是为什么呢?
redsonic
2016-07-14 15:21:59 +08:00
@bclerdx 不清楚 WEB UI 上的逻辑,以及是否真的能强制修改,我也没改过。 pppoe 接口会根据绑定的 wan 口的 mtu 来重新计算自己的 mtu :

static int pppoe_connect(struct socket *sock, struct sockaddr *uservaddr,
int sockaddr_len, int flags)
{
..........................
po->chan.mtu = dev->mtu - sizeof(struct pppoe_hdr) - 2; // 1500 (wan)- 6(pppoe 头) - 2(ppp 头) =1492
..........................
}

然后修改 pppoe 口的 handler 是空的,注释上说了这是一个坏注意,需要 ppp 层重新 LCP 协商,因为 ppp 是套在 pppoe 外面的只修改 pppoe 的 mtu 对 ppp 层不可见。

static int pppoe_device_event(struct notifier_block *this,
unsigned long event, void *ptr)
{
struct net_device *dev = netdev_notifier_info_to_dev(ptr);

/* Only look at sockets that are using this specific device. */
switch (event) {
case NETDEV_CHANGEADDR:
case NETDEV_CHANGEMTU:
/* A change in mtu or address is a bad thing, requiring
* LCP re-negotiation.
*/

case NETDEV_GOING_DOWN:
case NETDEV_DOWN:
/* Find every socket on this device and kill it. */
pppoe_flush_dev(dev);
break;

default:
break;
}

return NOTIFY_DONE;
}
redsonic
2016-07-14 15:25:20 +08:00
csvw
2016-07-14 18:50:28 +08:00
@bclerdx pppoe 理论最大值就是 1492 ,网上查查就知道

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

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

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

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

© 2021 V2EX