坐标 029 ,陕西广电附赠了条 300M 宽带,已经拿了超密改了桥接做了单线复用,详见 https://www.v2ex.com/t/1038573 但是自从桥接之后就发现 PPPoE 频繁重连,抓包看了发现保活的 PPP LCP echo request 没有 reply ,然后 ROS 会自动断掉连接重拨。 下图是一次正常的 pppoe 认证过程 但是会发现持续若干时长正常的 LCP echo/reply 之后,bras 就不再回应 reply 了,所以 PPPOE 就会被 ROS 触发重连
尝试在 pppoe-client 接口中关闭 keep alive ,倒是不会重连了,但是依然会断流。
尝试更改过 pppoe 关联接口 mac ,一旦改为光猫 pon 口 mac ,光猫就会报 mac 地址冲突;改成光猫 LAN 口 mac 会导致与光猫失去连接。
但是这个现象在用光猫拨号的时候并没有出现,甚至几天都不会断连。 有精通 bras 的大手子吗? bras 上会有类似限制吗? 该怎么解决?各位大佬有什么好的思路?
破案了,PPPoE接口MTU的锅。
忘记ROS里PPPoE绑定的interface带dot1q标签,多了4个字节。。。
感谢1楼兄弟提供的思路,直连光猫抓包对比之后就发现问题了。
改了PPPoE接口MTU后就恢复正常了。
1
yyzh 208 天前 1
电脑直连光猫拨号看看?
另外你们广电居然有 ipv6? |
3
bclerdx 208 天前 via Android
Mtu 设置的是多少?
|
4
zhengrt 205 天前
現在的 mtu 是多少? pppoe 一般最大是可以設置 1492 的吧
|
5
supppig 204 天前
请问 MTU 应该改为多少?我也做了 pppoe 和 iptv 的单线复用。不过好像没有断流问题。保守起见还是改一下好~~
|
6
3dxfood OP @bclerdx
@zhengrt @supppig 最近又出现频繁重连的问题了,貌似跟 MTU 关系不大。 仔细查阅了相关资料,标准以太网除去二层帧头及帧尾校验后,数据部分长度最大为 1500 字节,也就是标准以太网数据帧最大长度为 1518 字节,封装 dot1q 后为 1522 ,qinq 的话是 1526 。通常二层交换机如果不开巨帧的话一定是支持 1500 数据帧长的,这也就是以太网链路 1500 MTU 的由来。 在标准以太网数据部分 MTU1500 字节的情况下,pppoe 要占去 8 个字节,所以这就是通常情况下 PPPOE 接口 MTU 最大值为 1492 的原因;在 PPPOE 会话起始阶段会有 lcp 通过双方 MRU 来协商一个 MTU 出来,这个值在 windows 上通常是 1480 以适应不同的网络环境,在 RouterOS 里默认就是 1492 。 按理说 MTU 配置不合适并不会影响链路稳定性,只是会在特定的数据包长度下频繁分片,进而影响 pppoe 链路传输效率。 现在来看应该是陕西广电那边的限制,只要 pppoe 线路没有流量在跑,bras 在响应一段时间 lcp request 后就不会再回应了,这个时间间隔抓包看了下是大约 90 秒,且与 pppoe client 端设置的 lcp time interval 不相关,应该就是 bras 上的一个计时器;但是只要线路不空闲,ppp lcp echo request/reply 就都表现正常。 我这个问题再现起来很容易,只要 pppoe 线路没有任何流量,1 分 30 秒-2 分钟必会断流重拨。 前一段时间看起来正常是因为我把这条线路开了个 freewifi ,一直有终端在用;至于为什么光猫和 windows 拨号之后没有问题,我只能解释为光猫和 windows 一直都会有互联网流量跑在 pppoe 上;而我用 RouterOS 拨号的时候正常情况下互联网流量全部是走联通接口出去的,广电线路没有任何流量,所以才会出现这个问题。 |