关于ppp中LCP的Echo-Request/Echo-Reply,连接成功后,过一段时间,自动断开
在Android平台上移植了ppp/rp-pppoe开源程序用于拨号,发现了如下问题:
拨号成功,一段时间后(大约1分钟),又自动断开。
这段时间正好和ppp等待Echo-Reply的时间相吻合,日志:I/pppd ( 2180): No response to 3 echo-requests。
看了下ppp代码,ppp在连接建立后会向服务器发送Echo-Request,等待服务器的Echo-Reply,以验证链路是否畅通。
上面的问题是由于在指定时间内未收到Echo-Reply,导致连接断开。后将时间放大到10倍,结果仍是如此,所不同的是,这次是大约3-4分钟后收到服务器发送的Terminate-Request,连接断开。
相同的网络环境,使用Win7进行拨号,抓取的日志发现,win7上是服务器发送Echo-Request,由客户端进行Echo-Reply响应。
看协议也没规定是服务器还是客户端来发送Echo-Request,像这样的话,
是否服务器和客户端都要支持Echo-Request和Echo-Reply?即双方均要处理发送Echo-Request的情况 和 处理接收到的Echo-Request的情况?
请大侠们赐教!