2 qq 20922985 qq_20922985 于 2016.01.27 00:11 提问

ppp协议问题,ppp协议问题

书上说ppp协议不需要两个设备之间的mac地址,为什么我在家里跳过路由器拨号抓包发现还是包含了源mac和目的mac?是因为这里都是pppoe吗?也就是把ppp帧再次封装在以太网帧中?是这样吗?还有个问题,如果只是二层转发的话不会涉及帧的改变,比如我电脑发出来的是ppp帧,那么中间二层转发始终是ppp帧,然后到了路由器,把这个帧剥离开来看IP地址,然后再重新封装,这个时候帧的类型才有可能发生改变是这样吗?请知道的告诉下,谢谢了

4个回答

devmiao
devmiao   Ds   Rxr 2016.01.27 08:14
xyz347
xyz347   2016.01.27 08:25

ppp和以太都是链路层协议,或者说是“平级”的,mac是以太才有的概念。ip是网络层协议,它可以用以太做链路层协议,也可以用ppp做链路层协议。总而言之,你可以认为ppp和以太没有半毛钱关系。pppoe之类的协议出现也是为了让不同协议的报文能在各种网络上传输

codewayabc
codewayabc   2016.01.28 21:27

你抓到的包确实是PPPOE。正如xyz347说的:ppp也是一个链路层协议。为了在eth上使用PPP,所以在eth和ppp中间加了一层PPPOE。

你可以看到你的抓包,完整过程应该包含:PPPOE过程,然后再在pppoe过程上再进行PPP过程。

pppoe过程有两个阶段:发现阶段(PADI,PADO,PADR,PADS几个报文),会话阶段(主要是pppoe承载ppp协议)

ppp协议过程一般有三个阶段(LCP协议阶段,协议链路层信息;CHAP/PAP阶段,认证;NCP阶段,协商IP地址)。

ppp协议可以参考RFC 1661。主要讲解了PPP的三个阶段。

codewayabc
codewayabc 中间进行转发是不会涉及到ppp的解封装的,这个过程全是eth层的MAC转发,只有当这个报文到达能处理pppoe报文的服务器(或主机),才会将PPPoe,PPP这两层给剥去,然后换成其他链路层协议。
接近 2 年之前 回复
codewayabc
codewayabc   2016.01.28 21:35

比如我电脑发出来的是ppp帧,-------这种情况一般是不会发生的,因为一般网卡都是eth的,发出的报文不可能是pppz帧报文,
除非你的网卡是特制的PPP链路。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!