lcp协议中Echo-Reply格式是什么?我回复了,怎么ISP收不到?

壮哉我大神船 2013-12-03 08:20:46
最近在做一个小玩意,用单片机实现PPPoe拨号。
无系统
LCP建立链路、CHAP鉴权、IPCP配置都完成了。这时候,ISP发送过来一串数据,如下:
8C 89 A5 05 C4 A6 CC CC 81 C2 B2 D0 88 64 11 00 61 B6 00 0A C0 21 09 01 00 08 93 1C 02 0D A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 00 00 00 00 00 00 00 00

做过这方面研究的应该能看懂吧,就是个echo-request。
我回复的echo-reply如下:
CC CC 81 C2 B2 D0 8C 89 A5 05 C4 A6 88 64 11 00 61 B6 00 0A C0 21 0A 01 00 08 4B 28 7C EF A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 00 00 00 00 00 00 00 00

但是,ISP过一会又发送过来一个echo-request,仿佛没有收到我的reply。
如是者三,ISP就主动把链路断开了。


我知道每收到一个request都必须回复一个reply,问题是这三次我都回复了,为什么ISP还是主动断开链路呢?
难道我回复的格式不正确?

望高人解惑,不胜感激!
...全文
467 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
壮哉我大神船 2013-12-10
  • 打赏
  • 举报
回复
没有人回复,我自己来解答这个问题吧。其实是我自己的疏忽。 可以观察到,ISP发过来的数据是60字节,其中前30字节是有效信息,后30字节是填充的,没用。 我们回复的时候,也只能回复30字节有效信息,后面不能填充。 之前一直不正确,就是因为我把后面30字节都填充成0x00了。 具体为什么是这样,我也不清楚,等大神们补充吧。
壮哉我大神船 2013-12-05
  • 打赏
  • 举报
回复
这么多天没人回复,我解释下上面数据的含义。 8C 89 A5 05 C4 A6 CC CC 81 C2 B2 D0 88 64 11 00 61 B6 00 0A C0 21 09 01 00 08 93 1C 02 0D A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 00 00 00 00 00 00 00 00 这个颜色:代表目的MAC地址 这个颜色:代表源MAC地址 这个颜色:是协议字段,0xC021代表LCP协议 这个颜色:是代码字段,0x09代表echo-request,0x0a代表echo-reply 这个颜色:是魔数。

4,384

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧