2 qq 20922985 qq_20922985 于 2016.01.28 00:07 提问

ppp帧wiresahrk抓包问题

请问,我用wireshark抓包分析用户上网拨号全过程,
1.发现阶段(PPPoED:PPPoE Discovery)
1.1 PADI(PPPoE Active Discovery Initiation)
主机广播发起分组,分组的目的地址为以太网的广播地址 0xffffffffffff,CODE(代码)字段值为0×09(PADI Code),SESSION-ID(会话ID)字段值为0x0000。PADI分组必须至少包含一个服务名称类型的标签(Service Name Tag,字段值为0x0101),向接入集中器提出所要求提供的服务。
1.2 PADO(PPPoE Active Discovery Offer)
接入集中器收到在服务范围内的PADI分组,发送PPPoE有效发现提供包分组,以响应请求。其中CODE字段值为0×07(PADO Code),SESSION-ID字段值仍为0x0000。PADO分组必须包含一个接入集中器名称类型的标签(Access Concentrator Name Tag,字段值为0x0102),以及一个或多个服务名称类型标签,表明可向主机提供的服务种类。PADO和PADI的Host-Uniq Tag值相同。
1.3 PADR(PPPoE Active Discovery Request)
主机在可能收到的多个PADO分组中选择一个合适的PADO分组,然后向所选择的接入集中器发送PPPoE有效发现请求分组。其中CODE字段为0x19(PADR Code),SESSION_ID字段值仍为0x0000。PADR分组必须包含一个服务名称类型标签,确定向接入集线器(或交换机)请求的服务种类。当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。
1.4 PADS(PPPoE Active Discovery Session-confirmation)
接入集中器收到PADR分组后准备开始PPP会话,它发送一个PPPoE有效发现会话确认PADS分组。其中CODE字段值为0×65(PADS Code),SESSION-ID字段值为接入集中器所产生的一个惟一的PPPoE会话标识号码。PADS分组也必须包含一个接入集中器名称类型的标签以确认向主机提供的服务。当主机收到PADS 分组确认后,双方就进入PPP会话阶段。PADS和PADR的Host-Uniq Tag值相同。
2.会话阶段(PPPoES:PPPoE Session)
PPP会话的建立,需要两端的设备都发送LCP数据包来配置和测试数据通信链路。
用户主机与接入集中器根据在发现阶段所协商的PPP会话连接参数进行PPP会话。一旦PPPoE会话开始,PPP数据就可以以任何其他的PPP封装形式发送。所有的以太网帧都是单播的。PPPoE会话的SESSION-ID一定不能改变,并且必须是发现阶段分配的值。
2.1 LCP协商阶段(LCP:Link Control Protocol)
LCP的Request主机和AC都要给对方发送,LCP协商阶段完成最大传输单元(MTU),是否进行认证和采用何种认证方式(Authentication Type)的协商。
(1)LCP协议数据报文分类
链路配置报文:用来建立和配置一条链路,主要包括Configure-Request、Configure-Ack、Configure-Nak和Configure-Reject报文
链路维护报文:用来管理和调试链路,主要包括Code-Reject、Protocol-Reject、Echo-Request、Echo-Reply和Discard-Request报文
链路终止报文:用来终止一条链路,主要包括Terminate-Request和Terminate-Reply报文
(2)LCP协商过程
LCP协商的过程如下:协商双方互相发送一个LCP Config-Request报文,确认收到的Config-Request报文中的协商选项,根据这些选项的支持与接受情况,做出适当的回应。若两端都回应了Config-ACK,则标志LCP链路建立成功,否则会继续发送Request报文,直到对端回应了ACK报文为止。
发先阶段是用的pppoe协议,这个我可以理解,然后会话阶段,这里我没有全部复制过来,就复制了前面一点,我用wireshark抓包时发现会话阶段protocol里协议是ppp lcp,但是为什么如图所示,还是有源mac地址和目的mac地址,ppp协议不是不包括这些吗?请知道的告诉下,谢谢了图片说明

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.28 07:10
codewayabc
codewayabc   2016.01.31 11:27

pppoe是承载在eth上的,而ppp承载在pppoe上,一层嵌套一层。你看到的mac是属于eth层的。所以PPP协议里面没有mac,但你抓的包却包含mac。
很好理解的一个例子就是IP协议里面没有规定MAC地址,但是你抓的IP包里面却包含MAC。每一层协议都有每一层协议的作用,eth用于以太网的通信,pppoe用于将PPP协议复用到eth网络中。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PPP总结
PPP总结          PPP(Point to PointProtocol)是工作在数据链路层的简单的点对点的协议。而PPP协议是用户计算机和ISP之间进行通信的一种协议。广域网的数据链路层协议。          PPP特点:简单,封装成帧,透明性,多种网络层协议,多种类型链路,差错检验,检测连接状态,最大传输单元,网络层地址协商,数据压缩协商。          分别介绍不同的特
PPP和HDLC链路的帧格式区别
PPP(Point-to-Point Protocol)帧格式和HDLC(High-LevelData Link Control)帧格式非常相似,两者的主要区别在于:PPP帧是面向字节(字符)的,而HDLC是面向比特(位)的。 PPP帧格式(类HDLC帧),如下: Value 7E EF 03 2 Byte ……
PPP_HDLC实验以及相关问题总结
R1相关配置: R2相关配置: R3相关配置: R4相关配置: R4上路由表: 关于HDLC与PPP的相关问题总结: 1.通常情况下推荐使用PPP,因为HDLC没有认证功能 2.在HDLC中可以使用借口借用这一功能,串行接口可以借用loopback接口的IP地址和对端建立连接,在配置了接口借用之后,为什么两个
MAC帧与PPP帧的区别
IP地址是TCP/IP网络层的寻址机制,MAC是802.3/Ethernet链路层的寻址机制,他们是不同层次的东西,不是并排关系,想一想数据发出去走到网线上最终还是变成了电脉冲,TCP/IP是没有物理层定义的,IP包最终变成电信号之前需要以太网来处理,当IP的数据给予了以太网之后,以太网就用属于它自己的寻址机制来处理以太帧,也就是用MAC地址。 ppp属于广域网范畴,MAC是局域网范畴,按实
PPP帧和MAC帧格式
-
抓包最好的工具Wiresahrk 中文用户手册
抓包最好的工具Wiresahrk 中文用户手册
PPP和mac的区别
IP地址是TCP/IP网络层的寻址机制,MAC是802.3/Ethernet链路层的寻址机制,当IP的数据给予了以太网之后,以太网就用属于它自己的寻址机制来处理以太帧,也就是用MAC地址。 ppp属于广域网范畴,MAC是局域网范畴,按实际情况和环境就选用不同的协议,ppp支持的网络结构只能是点对点,mac支持多点对多点。以太网中用mac,远程的话就用ppp(如ADSL拨号,就是基于ppp的)
PPP协议的帧格式
PPP协议的帧格式 1. PPP帧各字段的意义 PPP帧的首部和尾部分别为四个字段和两个字段。 1.1 PPP帧的首部 首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始。 首部中的地址字段A规定为0xFF(即11111111)。 首部中的控制字段C规定为0x03(即00000011)。 首部
PPP数据帧的格式
http://blog.chinaunix.net/uid-11639156-id-2379044.html
PPP数据帧的编码与解码
一、摘要 PPP协议是在ATM网络里常用的链路协议,基于PPP协议的PPPoA,PPPoE在xDSL调制解调器中不可或缺。本文简单描述PPP协议的帧封装格式,并给出了一个简单的PPP编码与解码算法,以期望能对需要者有所帮助。 二、PPP协议简介PPP数据帧的格式看上去很像ISO的HDLC(高层数据链路控制)标准。如图是PPP数据帧的格式。每一帧都以标志字符0x7e开始和结束。紧接着