pppoe报文深入了解.docx

上传人:小飞机 文档编号:4888035 上传时间:2023-05-21 格式:DOCX 页数:23 大小:360.45KB
返回 下载 相关 举报
pppoe报文深入了解.docx_第1页
第1页 / 共23页
pppoe报文深入了解.docx_第2页
第2页 / 共23页
pppoe报文深入了解.docx_第3页
第3页 / 共23页
pppoe报文深入了解.docx_第4页
第4页 / 共23页
pppoe报文深入了解.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《pppoe报文深入了解.docx》由会员分享,可在线阅读,更多相关《pppoe报文深入了解.docx(23页珍藏版)》请在三一办公上搜索。

1、第一天:pppoe的数据包深入了解,点对点协议(ppp)Pppoe分为发现阶段和会话阶段,发现阶段分为PADI,PADO,PADR,PADS.pppoe的数据报文依次为目的MAC(6字节=48bit),源MAC(6字节),协议类型(2 字节 为 ox8863),版本(VER 4bit 为 0001),字段和类型(TYPE 4bit 0001),代码(CODE 8bit), 版本标识号码(SESSION-ID 16bit为ox0000),长度(LENGTH 16bit),静载荷(数据域)。发现报文的数据域格式为TAG (类型-长度),主机名称(15个字节),TAG (类型-长度), 主机标识符(

2、4个字节),TAG (类型-长度),AC-Cookie(18个字节)。采用的是TLV (类型- 长度-值)阶段源MAC目的MACCODE48bit48bit8bitPADI主机A广播(FF:FF:FF:FF:FF:FF)Ox09PADO服务器B主机AOx07PADR主机A服务器BOx19PADS服务器B主机AOx65PPPOE数据报文中Tag (标记)的格式对于发现阶段的PPPOE数据报文而言,它的净载荷可能包含零个或多个Tag(标记),实际上这些标记的 意义非常类似于PPP配置参数选项,它同样也是要经过协商的。对于PPPOE协议而言,没有像PPP的配置 参数选项那样定义了很多细节,而只是一个

3、初略的定义,因此在实际当中实现这个过程会依据不同厂商的 设备有不同。首先还是让我们看一下承载在PPPOE报文数据域中的标记封装格式,如图2。类型长度(图2标记的封装格式)从图2中可以看出,标记的封装格式采用的是大家所熟知的TLV结构,也即是(类型+长度+数据)。标记 的类型域为2个字节,下表列出了各种标记类型的含义:标记类型标记说明0x0000表示PPPOE报文数据域中一串标记的结束,为了保证版本的兼容性而保留, 在有些报文中有应用。0x0101服务名,主要用来表明网络侧所能提供给用户的一些服务。0x0102访问集中器名,当用户侧接收到了 AC的回应的PAD。报文时,就可获从所携 带的标记中获

4、知访问集中器的名子,而且还可以据此来选择相应的访问集中 器。0x0103主机唯一标识,类似于PPP数据报文中的标识域,主要是用来匹配发送和接 收端的,因为对于广播式的网络中会同时存在很多个PPPOE的数据报文。0x0104AC-Cookies,主要被用来防止恶意性DOS功击。0x0105销售商的标识符。0x0110中继会话ID,对于PPPOE的数据报文也同样可以像DHCP报文一样被中断到 另外的AC上终结,这个字段则是用来维护另一个连接的。0x0201服务名错误,当请求的服务名不被对端所接受时,会在响应的报文中携带这 个标记。0x0202访问集中器名出错。0x0203一般性错误。ITP淀现标记

5、-120/4声行记笙塑;Tig Type;:axoiai(理点宅:20/2承拧,记长民:Tig L incth:案现标记-224V;22/2了1 标记1: Tag Type:0x0102(援上.服募懿宅)24/2承标记F度:T=ig T.Tirrh:526/2创标记值:Taa Value:-叩P专观标记-3HiPEP.33/102B/5承林,记禅型:Tw T邛E:l:0x0104转A,损落隆览口盘E)33C: I l itr Ltncta: 1:t二 1通标记值:Tag Yaiue: |: ffp我班标id - q6字节 43/1Z顷,上手标记炎型:Tag Type:0X0103主机唯一折,R

6、j编七_匚标记 E度;T:ig LzIlcLIi;:a45/2屑标记值;Tag Value;1. PADIc字节47/6PPPOE发现阶段的第一步,也即是由用户首先发送这样一个报文。用户主机是以广播的方式发送这个 报文,所以该报文所对应的以太网帧的目的地址域应填充为全1,而源地址域填充用户主机的MAC地址。 广播包可能会被多个访问集中器接收到。L I_! I _ I I I I I -L 11 I I I p L1 Jc d1 li ring Rul s N arne : Bro adc a st coloring Pul e siring:但匚h口 & 1 Ethernet II, 5匚:E

7、pigram_Db;4D;15 (0D;90;4c;Ob OLS?!. Dst: Broadcast Cff ;ff ;ff ;ff ;ff?)Destinatiun: Broadcast (ff:ft:ff:ff:ff:ffj source: Eplgram_ob:4O:i5 C00-g0ac:ob:4D:i5 Type: PPPoE Discoo/ery (0k8863i, PPP-over-Ethernet Discovery aooi a.u = versl on: 1 0001 = Type; 1 code: Active Di5covery irntiation (PADl) (0

8、x09) Session id: okoood Payload Length; 12 PPPoE T-agsarv12o-Nims :Host-Umq; E6080DOOo Qo 1 -J.- 3D D Do o o o_t G G Gf o o of o o of G G Gf 10。f u o .0f _L D Df o o of o o oF o o offucoco00 30 4c Db 40 15 38 636 o eG-it: 5ir2i:q.mcob也m二:icet2Qzeol0010002000300。时tint! ! n n F 5 B 6SPE.bLb2. PADOPPPO

9、E发现阶段的第二步,也即是由访问集中器回应各用户主机发送的PADI报文,此时该报文所对 应的以太网帧的源地址填充访问集中器的MAC地址,而目的地址则填充从PADI中所获取的用户主机的MAC 地址。L i II III II R-llll I- I I Ethernet nP src: A5U5tekc_cT:a&:i7 c;DD:lb!:fc:cT:.id:i7;i;. Dst: Epigr.im_ob:40:i5 Coo:9QMc:ob:40:L5Desrinatlon: Epigram_ob:4O:15 (oo:9D:4c!:ob:4Q:i53Source: AsustakC_-?zaE:

10、17 fOO:1b:fc:c?:aG:17JType: PPPqE Discavery 0展8由j PPP-over-Et her net Discovery0001 .二 Version; 1,cool = Type: 1code: Aciie Discovery offer pad口) DkD75SGEsion ID: QXOOQOPayload Length: 53pppoe TagsServi ce-hJame:AC- NJaitie: F 5B62 C7E7E444 ?3Host-Uni q; E60S00003. PADRPPPOE发现阶段的第三步,也即是由用户主机向访问服务器发送

11、单播的请求报文。当用户主机收到 PADO报文后,会从这些报文中挑选一个访问集中器作为后续会话的对象。由于用户主机在收到PADO报文 后,就获知了访问集中器的MAC地址,因此PADR报文所以应的以太网帧的源地址填充用户主机的MAC 地址,而以太网的目的地址填充为访问集中器的 MAC 地址。Li i UH 11 II IR-LI 11 Ub I U I - JproTocolg in frame: 2Th:pppoedETharnei u1 src: EpqrattL-ObUDiis (00i9Di4c:abi40:i5)5 dsti asustekc_c?:as: 17 (aDiibifLicT

12、ideiiT)Dest inat i 口n;心ust ekC_c7 :a6 ;17 (QOzlb c7; a6 ; 172)Source: Epigram_Cib:4 0:15 (00: 90:4c: 0b:4O:15)Type: PPPde Diecovery 0真日日63)PPP-aver-Ethernet Discovery0001-version: 1code: Active Discovery Requesi CpadrLisession ic OxflDOOpayload Length: 34PPPoE TagsService-Name:Host-Uniq: E60BD000A.r

13、-corikie: 52 5 35C4 5O09(XCOB4O153CE58BlCE?29rEOlODDO001000200030_u fl D DQ -a 5 -oLT0153CCL5 1 7- ea .0 5 c了?.9c 2 1- _Jc fl D 7f o o sb o 4 clol-u -u 1 b0 0 0 8904COb4015B863M19Lg 0乱00CfL03DOOd08DO0045DO904cOb40153ce5PSPEL. 土 AC-Ndnit- F5E&2C7C7W-1-47SWL 过中-rmSEWQJuf:日白二IT C:pigidni_jJlji4Q:J.:i口口

14、口口:!jitcizlua 口,w匚口u口y EQsslcjn-iZDnfiEmt;:ljri (口贞L52-g. rgFDWF E|grmn_Dlj:de:L5i QSiUST-kc_:F:aB;LF ppE口 4仁1:1巴 口十虻iCFADF.)Frame Is marked: FalseProtixals Tn franes EthspppaedETharner LI, arc ASUSrekrc7:a6!:17 (00:llb:fcsc7336:17), PSI: EpigrL!|i_Cih -4D:15 (Kl :90:A :0b: Ai!:15;iDfiSClrkiLlDri: E

15、p1gr-3fl_Ub:4U:15 ruD:9uc:CibD:15:iSaurs: ASLKitakC_c7:ae-:17 CM:Lb:fc:c7: 1:17)B PFF-Ouer-EThEr iieT plsCDVBPPPdE Di senary g 明电)ddal m Version: 1DOOL - rypc-: Lcode-: azt Ivi! Dlscayery ses s 1 an-eonf 1 i-fnaT-l an Oads) (0:-:65)sesslcn id: 0x0002F-aylcad Length: 12PFaE Tagsservl ce-Naifte:Hasc-u

16、nlqt EaugLixij|M 02 DO 0: DI 01 aa ODQLDSaOWflQ&S OD DQDWQ- 00 9P Pb 0LrMl LtTFw 如甄 El 界幼 1BM=M5. PADTPADT报文可能在会话进行开始之后的任意时间内被发送,主要是用来终止一个PPPOE会话的止。它可 以由主机或访问集中器发送,目的地址填充为对端的以太网的MAC地址。Et her net Hr Src : Fi rstTnt_dc : bl; 02 00 ;40 ; ca ; de ; bl; 02 J P Dst : Ci5co_le;a2 ;e3 COO : 0D; 0c ;le : a2

17、: 3 Dos;i nat i on : C s c:o_la : : aS (Cl二仁二Lu : mi1 二 口司) Eaurcc : F-i r = Tnt _d-z : bl: 02 ppp-aver-EherneT d-! scoeryDOOX B . B - = ve rn s 1 on; 1Q001 = Type: 1Code: Active Discouery Terminaxa CpadtJ CoxaTSessi on ID: oxoooaPay!目U LFngtm 4PPPuE 丁日第00 DO :. | : 0020 003dIU4061&5 cco ofOOQhDardD

18、rI6CODD1D0 0 0 2789 sal 1DD1 r-5 31 E 603 a Id- ao e2 8Bf oarjw WL cbfo do 3S0一 U一40 4 N/pppoE Ea (pqpoedjegs * bytes| Psckete: 46 Displayed: *9 FarPsd: 0会话阶段:(ppp全过程)数据帧在数据域中,不变的有如下信息:ppp-civer-Ethernet session0001 . = Version: 1.0001 = Type: 1cade: session Data (0x003sesslon ID: 0x0002协议的组成:-链路控制协

19、议(LCP):建立、拆除和监控PPP数据链路-网络控制协议(NCP):协商网络层协议-PPP扩展协议:如压缩、链路捆绑-PPP验证协议:如PAP、CHAPPpp帧格式:IF数据报7EEF03; i117EFAc协议信息FCSF字节1112不超过1500字节21标志字段F为0x7E (0x表示7E),但地址字段A和控制字段C都是固定不变的,分别为 0xFF、0x03。PPP协议不是面向比特的,因而所有的PPP帧长度都是整数个字节。与HDLC不同的是多了 2个字节的协议字段。协议字段不同,后面的信息字段类型就不同。如:0x0021信息字段是IP数据报0xC021信息字段是链路控制数据LCP0x80

20、21信息字段是网络控制数据NCP0xC023信息字段是安全性认证PAP0xC025信息字段是LQR0xC223信息字段是安全性认证CHAP当信息字段中出现和标志字段一样的比特0x7E时,就必须采取一些措施。因PPP协议是 面向字符型的,所以它不能采用HDLC所使用的零比特插入法,而是使用一种特殊的字符 填充。具体的做法是将信息字段中出现的每一个0x7E字节转变成2字节序列(0x7D, 0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符,则在该字符前面要加入一个0x7D字节。这样做 的目的是防止这些表面上的ASCI

21、I码控制字符被错误地解释为控制字符。-Flag标志域:每一个PPP数据帧均是以一个标志字节起始和结束的,该字节为0x7E。-Address地址域:该字节为0xFF。由于PPP协议是被运用在点对点的链路上,点对点的链路可以唯一标示对方,因此使用PPP协议互连的通信设备的两端无须知道对 方的数据链路层地址,所以该字节已无任何意义,按照协议的规定将该字节填充为 全1的广播地址。-Control控制域:也没有实际意义,按照协议的规定通信双方将该字节的内容填充 为 0x03。-Protocol协议域:用来区分PPP数据帧中信息域所承载的数据报文的内容。-Information:信息域:缺省时最大长度不能

22、超过1500字节,其中包括填充域的内 容。FCS校验域:主要是对PPP数据帧传输的正确性进行检测的。Code域表明了此报文为哪种PPP协商报文identifier域用于进行协商报文的匹配;Length域为此协商报文长度(包含Code及Identifier域);Data域所包含的为协商报 文内容;Type为协商选项类型;其后的Length为此协商选项长度(包含Type域); 紧接着的Data域为协商选项具体内容。PPP主要由三类协议组成:链路控制协议族(LCP)、网络控制协议族(NCP)和PPP扩展协 议族。其中,链路控制协议主要用于建立、拆除和监控PPP数据链路;网络控制协议族主要 用于协商在

23、该数据链路上所传输的网络层数据包的类型以及网络层协议自身需要的一些内 容(如IPCP要协商IP地址等);PPP扩展协议族主要用于提供对PPP功能的进一步支持,实 际上就是为提供一些特性服务,基于PPP协议框架设计的一些扩展协议。同时,PPP还提供了用于网络安全方面的验证协议族(PAP和CHAP)。发起方通34呼叫建立物瑁缱揍Configure-ReqnestAnthentication-ReqiiestAuthentition-AdLConfigure-RequestIPCPConfigure-AckTerminate-Ack折开物理连接声Trmiiiate-Reqiiest2.2 PPPtM

24、X 流程回应方Configure-Ack1.LCPLCP包有3类:1. 链路配置包,用于建立和配置链路(Configure-Request、Configure-Ack、Configure-Nak 和 Configure-Reject)。2. 链路结束包被用于结束一个链路(Terminate-Request和Terminate-Ack)3. 链路维修包被用于管理和调试一个链路(Code-Reject、Protocol-Reject、Echo-Request、 Echo-Reply 和 Discard-Request)。确切的说一个LCP包被封装在PPP信息域中,该PPP协议域表示类型为十六进制c

25、021 (链路控制协 议)。1632 bitVariableCodeIdentifier (匹配请求和响应报文)LengthData Code 十进制值,表示LCP数据包类型。o1 Configure-Request 配置请求报文o2 Configure-Ack配置确定报文o 3 Configure-Nak支持对端的协商选项 但不认可该项协商的内容,回复自己认可 的配置方式并放入其中o 4 Configure-Reject 配置拒接o 5 Terminate-Request 终止请求o6Terminate-Ack 终止确认o7Code-Reject 代码拒绝o8Protocol-Rejecto

26、9Echo-Requesto 10Echo-Replyo 11Discard-Requesto 12Link-Quality Repor Identifier十进制值,表示匹配Request和Reply。 Length LCP数据包长度,包括 Code、Identifier、Length 和 Data 字段。 Data 可变长字段,可能包括一或多个配置选项。 Address-and-Control-Field-Compress 地址控制字段压缩 Authentication-Protocol 身份验证协议 Protocol-Field-Compress 协议域压缩 Maximum-Reciev

27、e-Unit最大接受单元(4个字节) Multilink-Protocol 多重协议(5 个字节) Magic-Number避免在ppp帧的循环使用(6个字节) Callback回调(3个字节) Multilink MRRU多链路协议(4个字节) Multilink endpoint discriminator:多链路端点鉴别(23 个字节) Link discriminator: l 链路鉴别。(4 个字节)Request:Paint-to-Paint PrDtacalPratdcd! : Link Control Prat匚! (Cl:cc02L) j ppp L1nk control P

28、raiacolCade: Conflguratian Request COxCl)identiFier: OxODLengizh: 53 Options: 49 bytesDMaKnmum Recei ve Unit: 14Q2 AJULhEnticatIon praiocol : 5 byizesAuthe nt 1c at ion pr otoco I: ch al 1 enge H and shake Aut he nt 1 cat 1 on P rot uc ul ( Cxc 223 jAl gori t hm: M5-CHJXP-2 (OkSI)Magic number : Q:-:

29、6Se5 D620callback: 3 bytesMulti! ink MRRU: MM# Multi!Ink endpoint discrlinlnror : 23 bytesClassi Locally assigned address Ll)Address (20 bytes)Link dlscrlmi nator for bap qkqqq5Ack:Poi nt-ta-Point Protoco lPratdcoI: Link Contra! Protocol (0xc021) PPP Link Contra! PrDtocolcode: Configurati on Ack C0x

30、O2) Idenfifier: 0x01 Length : 42 Opfi ons : f38 bytes Ma:-nmum RecEive Urnt: 1492 AutKenti c-ifion protocol 5 bytesAuthentication protoccil : chai 1 enge Handshake Authentication Protocol (Oxc223J a!gor 1 thm: MS-CH.AP-Z C0X81)Magic number : D; Identifier Length 和 Data 字 段 Data Data字段的格式取决于Code字段。Ip

31、cp request 报文:ppp-over-CT her net sessionOOO1 . = ver si on: 1.0001 = Type; 1code: session Data (0x00)5es5lon ID: 0x0002Payload Lengnh: 24Point-To-Poi nt Protocolppp IP contro1 Protocolcode: confi gurati on Request COxOL) identifier: 0x01Length: 22opfions: (18 byres J5*PPP-over-Ethernet Session 0001

32、 . = version: 1 .0001 = Type: 1 code: session Dara (0x003 Session ID: 0x0002 Rayload Length: 12Pol nt-to-Pon nt ProtocolProtocol: IP control Protocol C0xS021) ppp ip 匚nupcH ProtocolCode: ConFiguration Ack (0x02 identify er: 0x05 Length: 10 options: (6 bytesCcp request 报文:PPP-over-Ethernet session 00

33、01 . = version: 1 . 0001 = Type: 1 Code: Session Data (0x003 session id: 0x0002 payload Length: 12Poi nt-to-Poi nt ProtocolProtocol: compression conTrol Protocol COxSOfd) ppp coinpression control ProtocolCode: Configuration Request (0x01) identifier: QxQB Length: 10 options: C6 byv&sjCc pack 报文:ppp-

34、over-EThernet sessi on0001 . = verslon: 1.0001 = Type: 1code: session Data (0x00)session ID: 0x0002Pay load Length: 6PolnT-To-Poi nT ProrocolProtocol : compression control Protocol OxSOfd) ppp compress ion cont r ol ft or ocolcode: conf1gurarlon Ack COxOZ)idenTlf1 er: 0x01Length: 4CHAP: PPP挑战握手认证协议(

35、CHAP: Challenge Handshake Authentication Protocol)挑战握手认证皿(CHAP)通过三次握手周期性的认证对端的身份,在初始链路建立时完成,可以 在链路建立之后的任何时候重复进行。1. 链路建立阶段结束之后,认证者向对端发送“挑战”消息。2. 对端用经过单向哈希函数计算出来的值做应答。3. 认证者根据它自己的预期哈希值的计算来检查应答,如果值匹配,认证得到承认;否则,连接 应该终止。4. 经过一定的随机间隔,认证者发送一个新的挑战给对端,重复1到3。通过递增改变的标识符和可变的挑战值,CHAP防止了重放攻击,重复挑战限制了对单个攻击的暴露 时间,认证

36、者控制挑战的频度。该认证方法依赖于认证者和对端共享的密钥,密钥不是通过该链路发送的。虽然该认证是单向的,但是在两个方向都进行CHAP协商,同一密钥可以很容的实现交互认证。由于CHAP可以用在许多不同的系统认证中,因此可以用NAME字段作为索引,以便在一张大型密 钥表中查找正确的密钥,这样也可以在一个系统中支持多个NAME密钥对,在会话中随时改变密钥。CHAP要求密钥以明文形式存在,无法使用通常的不可回复加密口令数据库。在大型设备中不适用,因为每个可能的密钥由链路的两端共同维护。8163240 bitTypeLengthAuthentication-ProtocolAlgorithm Type 3 Length 5 Authentication-Protocol 对于 CHAP,为 C223 (Hex)。 Algorithm Algorithm字段为八位字节,表示使用的认证方法。CHAP数据包结构如下所示:81632 bitVaria

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号