ppp数据包格式分析

合集下载

ppp协议练习题

ppp协议练习题

ppp协议练习题PPP(Point-to-Point Protocol)是一种用于在计算机网络中建立并管理数据链路连接的协议。

它被广泛应用于各种类型的网络,如广域网(WAN)和虚拟私有网(VPN)。

本文将通过一些练习题来帮助读者深入理解PPP协议的原理和应用。

1. PPP协议通常用于哪些网络连接方式?PPP协议通常被用于点对点网络连接方式,如拨号连接和专线连接。

在这些连接方式中,PPP协议负责在两个节点之间建立可靠的数据链路,并提供数据包的封装、认证和加密功能。

2. PPP协议的主要特点有哪些?PPP协议具有以下主要特点:- 简单灵活:PPP协议简单易懂,易于配置和扩展,可以适应不同的网络环境和需求。

- 可靠性高:PPP协议通过CRC校验和数据重传等机制来保证数据的可靠传输。

- 认证和加密:PPP协议支持多种认证方法,如PAP(密码认证协议)和CHAP(挑战握手认证协议),以及数据加密功能。

- 多协议支持:PPP协议可以传输多种网络协议,如IP、IPX和AppleTalk等。

- 网络控制:PPP协议支持网络层和链路层的各种控制报文,如LCP(链路控制协议)和NCP(网络控制协议)。

3. PPP协议的数据封装格式是怎样的?PPP协议将数据封装为帧(frame),主要包括以下几个字段:- 帧起始标记(Flag):一个字节的特殊字符,用于标识帧的开始和结束。

- 地址(Address):一个字节的字段,通常设置为固定值0xFF。

- 控制(Control):一个字节的字段,通常设置为固定值0x03。

- 协议(Protocol):两个字节的字段,表示封装在PPP帧中的上层协议类型,如0x0021表示IP协议。

- 数据(Data):封装了上层协议的数据部分。

- 帧校验序列(FCS):四个字节的CRC校验和,用于检测数据传输过程中的错误。

4. PPP协议如何进行链路建立和维护?PPP协议使用链路控制协议(LCP)来进行链路的建立和维护。

网络设备安装与调试chp18PPP实验指导

网络设备安装与调试chp18PPP实验指导

PPP配置1.实验目的通过本实验可以掌握:(1)数据封装的概念(2)PPP特征(3)PPP数据包格式(4)PPP组成(5)PPP会话建立(6)PPP认证(7)PAP和CHAP区别(8)CHAP三次握手过程(9)PPP配置和验证(10)PAP配置和调试(11)CHAP配置和调试2.实验拓扑实验拓扑如图所示。

3.实验步骤和调试(1)配置PPP封装R1(config)#int s0/0R1(config-if)#encapsulation pppR2(config)#int s0/0R2(config-if)#encapsulation pppR1(config-if)#do sh int s0/0Serial0/0 is up, line protocol is upHardware is M4TInternet address is 172.16.12.1/24MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, LCP OpenOpen: IPCP, CDPCP, crc 16, loopback not setKeepalive set (10 sec)Last input 00:00:22, output 00:00:01, output hang neverLast clearing of "show interface" counters 00:00:43(2)配置PPP PAP验证R1(config)#int s0/0R1(config-if)#ppp pap sent-username R1 pass ciscoR2(config)#username R1 pass ciscoR2#debug ppp authenticationR2(config)#int s0/0R2(config-if)#ppp authentication papR2(config-if)#*Mar 1 00:38:11.195: Se0/0 PPP: Authorization required*Mar 1 00:38:11.463: Se0/0 PAP: I AUTH-REQ id 1 len 13 from "R1"*Mar 1 00:38:11.467: Se0/0 PAP: Authenticating peer R1*Mar 1 00:38:11.475: Se0/0 PPP: Sent PAP LOGIN Request*Mar 1 00:38:11.475: Se0/0 PPP: Received LOGIN Response PASS*Mar 1 00:38:11.475: Se0/0 PPP: Sent LCP AUTHOR Request*Mar 1 00:38:11.475: Se0/0 PPP: Sent IPCP AUTHOR Request*Mar 1 00:38:11.475: Se0/0 LCP: Received AAA AUTHOR Response PASS *Mar 1 00:38:11.475: Se0/0 IPCP: Received AAA AUTHOR Response PASS *Mar 1 00:38:11.475: Se0/0 PAP: O AUTH-ACK id 1 len 5*Mar 1 00:38:11.475: Se0/0 PPP: Sent CDPCP AUTHOR Request(3)配置PPP CHAP验证R1#debug ppp authenticationR1(config)#username R1 pass ciscoR1(config)#int s0/0R1(config-if)#encapsulation pppR1(config-if)# ppp authentication chap*Mar 1 00:45:46.359: Se0/0 CHAP: O CHALLENGE id 1 len 23 from "R1" *Mar 1 00:45:46.403: Se0/0 CHAP: I CHALLENGE id 1 len 23 from "R2" *Mar 1 00:45:46.411: Se0/0 CHAP: I RESPONSE id 1 len 23 from "R2" *Mar 1 00:45:46.423: Se0/0 PPP: Sent CHAP LOGIN Request*Mar 1 00:45:46.435: Se0/0 CHAP: Using hostname from unknown source *Mar 1 00:45:46.439: Se0/0 CHAP: Using password from AAA*Mar 1 00:45:46.439: Se0/0 CHAP: O RESPONSE id 1 len 23 from "R1" *Mar 1 00:45:46.443: Se0/0 PPP: Received LOGIN Response PASS*Mar 1 00:45:46.443: Se0/0 PPP: Sent LCP AUTHOR Request*Mar 1 00:45:46.443: Se0/0 PPP: Sent IPCP AUTHOR RequestR1(config-if)#*Mar 1 00:45:46.455: Se0/0 LCP: Received AAA AUTHOR Response PASS *Mar 1 00:45:46.459: Se0/0 IPCP: Received AAA AUTHOR Response PASS *Mar 1 00:45:46.463: Se0/0 CHAP: O SUCCESS id 1 len 4*Mar 1 00:45:46.463: Se0/0 CHAP: I SUCCESS id 1 len 4*Mar 1 00:45:46.475: Se0/0 PPP: Sent CDPCP AUTHOR Request*Mar 1 00:45:46.483: Se0/0 PPP: Sent IPCP AUTHOR Request*Mar 1 00:45:46.499: Se0/0 CDPCP: Received AAA AUTHOR Response PASSR1#show ip routeCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static routeGateway of last resort is not set172.16.0.0/16 is variably subnetted, 2 subnets, 2 masksC 172.16.12.0/24 is directly connected, Serial0/0C 172.16.12.2/32 is directly connected, Serial0/0R2#debug ppp authenticationR2(config)#username R1 pass ciscoR2(config)#int s0/0R2(config-if)#encapsulation pppR2(config-if)# ppp authentication chap*Mar 1 00:45:45.855: Se0/0 PPP: Authorization required*Mar 1 00:45:45.935: Se0/0 CHAP: O CHALLENGE id 1 len 23 from "R2"*Mar 1 00:45:45.939: Se0/0 CHAP: I CHALLENGE id 1 len 23 from "R1"*Mar 1 00:45:45.955: Se0/0 CHAP: Using hostname from unknown source*Mar 1 00:45:45.955: Se0/0 CHAP: Using password from AAA*Mar 1 00:45:45.955: Se0/0 CHAP: O RESPONSE id 1 len 23 from "R2"*Mar 1 00:45:45.975: Se0/0 CHAP: I RESPONSE id 1 len 23 from "R1"*Mar 1 00:45:45.983: Se0/0 PPP: Sent CHAP LOGIN Request*Mar 1 00:45:45.987: Se0/0 PPP: Received LOGIN Response PASS*Mar 1 00:45:45.991: Se0/0 PPP: Sent LCP AUTHOR RequestR2(config-if)#*Mar 1 00:45:45.991: Se0/0 PPP: Sent IPCP AUTHOR Request*Mar 1 00:45:46.003: Se0/0 LCP: Received AAA AUTHOR Response PASS*Mar 1 00:45:46.007: Se0/0 IPCP: Received AAA AUTHOR Response PASS*Mar 1 00:45:46.007: Se0/0 CHAP: O SUCCESS id 1 len 4*Mar 1 00:45:46.063: Se0/0 CHAP: I SUCCESS id 1 len 4*Mar 1 00:45:46.071: Se0/0 PPP: Sent CDPCP AUTHOR Request*Mar 1 00:45:46.071: Se0/0 CDPCP: Received AAA AUTHOR Response PASS*Mar 1 00:45:46.095: Se0/0 PPP: Sent IPCP AUTHOR RequestR2(config-if)#R2#show ip routeCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static routeGateway of last resort is not set172.16.0.0/16 is variably subnetted, 2 subnets, 2 masksC 172.16.12.0/24 is directly connected, Serial0/0C 172.16.12.1/32 is directly connected, Serial0/0。

抓PPP(PAPCHAP)包及协议分析基础

抓PPP(PAPCHAP)包及协议分析基础

福建工程学院国脉信息学院实验指导书实验一抓PPP(PAP/CHAP)包及协议分析基础一、实验目的1、掌握抓包软件Wireshark的应用2、掌握交换机路由器仿真环境中抓包工具的应用3、掌握抓PPP包并能进行分析4、理解PAP、CHAP协议原理二、实验环境Internet协议分析仿真实验平台(Dynamips、SecureCRT等)三、实验任务1、Wireshark在Windows中的安装与应用2、Dynamips的安装与应用2、路由器串口间的PPP包并进行分析3、通过抓获的数据包分析PAP、CHAP协议的原理四、实验步骤1、W ireshark在Windows中的安装与应用打开wireshark-win32-1..4.9中文版,进行安装。

点击“next”,进行下一步。

点击“I Agree”,进行下一步。

点击“next”,进行下一步。

点击“Install”,进行安装。

点击“next”,进行下一步。

完成安装,运行程序。

3、Dynamips的安装与应用点击dynamic安装包,进入安装界面。

点击next,进入下一步。

同意安装协议,点击I Agree 进入下一步。

使用默认安装名Dynagen,点击instal选项进行安装。

安装已完成,点击Finish完成安装。

安装完成后可以在桌面上看到以下程序。

4.添加硬件1)打开“控制面板”,双击:添加硬件点击next,进入下一步。

点击next,进入下一步。

选择“添加新的硬件设备”,点击“下一步”。

选择手动安装,点击“下一步”。

选择“网络适配器”进行安装,点击“下一步”点击“完成”,添加硬件成功。

打开本地连接2,先“停用”,再“启用”以记事本方式打开1).将路由器的运行目录定位:按上图的标记1,2在D:\创建文件夹sikeVlab;在文件夹sikeVlab中创建两个文件夹temp,IOS;在文件夹temp中创建文件夹PPP;2).把放进文件夹PPP中。

打开Network device list,将“3”部分替代为下面内容。

PPP协议详解及举例

PPP协议详解及举例

一个 LCP 包被封装在 PPP 数据域中,该 PPP 协议域表示为 0xC021(链路控制协议)。 LCP 包的格式如下:
代码 1Byte
标识符 1 Byte
长度 2 Byte
数据
(1)代码
代码域确定 LCP 包的种类,不同的包有不同的格式。 (2)标识符 标识符域在匹配请求和回复中有用。当带有无效标识符域的包被接收时候,该包将不影 响 LCP 自动机制,将被静静的丢弃。 (3)长度 长度域指出 LCP 包的长度,包括代码,标识符,长度和数据域。该长度必须不超过链 路的 MRU。长度域以外的字节被当作填料而忽略处理。 (4)数据 数据域是零或多个八位字节,由长度域声明。数据域的格式由代码域决定。
未使用
0x80CF
未使用
0x80FF
未使用
(6) FCS 字段为整个帧的循环冗余校验码,用来检测传输中可能出现的数据错误。(计算
范围为 PPP 帧扣去帧头尾标志-7E 两个字节的范围)
(7) 数据字段是零或更多的字节。数据字段的最大长度,包含填料但不包含协议字段,
术语叫做最大接收单元(MRU),默认值是 1500 字节。若经过协商同意,也可以使用其它
第一章:PPP 协议简介
PPP 协议是数据链路层协议,因此我们应该对数据链路层有简单的了解。数据链路层在 OSI 七层模型中位于最底层物理层之上,网络层之下(如图 1.1)。它一方面从物理层的 SAP (服务访问点)得到物理层的服务,主要是信号的编码和译码、为进行同步用的前同步码的 产生和去除、比特的传输和接收等;另一方面也通过本层的 SAP 向网络层提供服务,主要 是数据链路的建立和释放帧的封装与拆卸、差错控制等。
加入一个 0x7D 字节,并且要将该字符转为与 0x20 进行与操作后的结果。这样做的目的是

pppoe协议抓包分析

pppoe协议抓包分析

课程设计成绩评价表成都信息工程学院课程设计课程名称:网络协议实践设计题目:PPPoE协议数据包分析班级:网络工程网络083班学号:2008121093*名:***指导老师:刘云本提交日期:2011-12-17摘要网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。

为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。

当然,对于不相容终端,除了需变换字符集字符外。

其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。

网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。

大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。

一台设备上的第n层与另一台设备上的第n层进行通信的规则就是第n层协议。

在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。

网络协议使网络上各种设备能够相互交换信息。

常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。

物理层:以太网·调制解调器·电力线通信(PLC)·SONET/SDH·G.709·光导纤维·同轴电缆·双绞线等数据链路层:Wi-Fi(IEEE802.11)·WiMAX(IEEE802.16)·ARP·RARP·ATM·DTM·令牌环·以太网·FDDI·帧中继·GPRS·EVDO·HSPA·HDLC·PPP·L2TP·PPTP·ISDN·STP等网络层协议:IP(IPv4·IPv6)·ICMP·ICMPv6·IGMP·IS-IS·IPsec等传输层协议:TCP·UDP·TLS·DCCP·SCTP·RSVP·OSPF等关键词:协议TCP目录摘要 (2)一、课题背景 (4)1.1、任务介绍 (4)1.2、达到目标 (4)二、协议介绍 (4)2.1、PPPoE协议简介 (4)2.2、PPPoE协议详解 (5)2.2.1、发现阶段 (6)2.2.2、会话阶段 (7)三、数据包分析 (10)3.1、发现阶段数据包 (10)3.2、会话阶段数据包 (15)3.2.1、LCP协商阶段 (15)3.2.2、认证阶段 (17)3.2.3、IPPC协商阶段 (18)四、结论 (21)一、课题背景1.1、任务介绍老师给出PPPoE相关的数据包,学生对其进行详细分析,对整个过程进行解析,描述所用协议以及包的作用。

PPPoE协议工作原理

PPPoE协议工作原理

PPPoE协议工作原理PPPoE(Point-to-Point Protocol over Ethernet)是一种在以太网上运行的协议,它允许用户通过以太网接入互联网。

本文将详细介绍PPPoE协议的工作原理。

1. 概述PPPoE协议是在以太网上模拟点对点连接的一种协议。

它通过在以太网帧的数据部分封装PPP(Point-to-Point Protocol)数据包,实现了在以太网上建立虚拟的点对点连接。

2. PPPoE会话的建立PPPoE会话的建立包括以下步骤:a. 客户端发起PPPoE发现请求:客户端向网络中的所有设备发送PPPoE发现请求报文,以寻找支持PPPoE的服务器。

b. 服务器回应PPPoE发现请求:服务器收到客户端的发现请求后,向客户端发送PPPoE发现应答报文,告知客户端服务器的存在。

c. 客户端发起PPPoE会话请求:客户端收到服务器的应答后,向服务器发送PPPoE会话请求报文,请求建立PPPoE会话。

d. 服务器回应PPPoE会话请求:服务器收到客户端的会话请求后,向客户端发送PPPoE会话应答报文,确认建立PPPoE会话。

3. PPPoE会话的维护一旦PPPoE会话建立成功,客户端和服务器之间就可以进行数据传输。

在数据传输过程中,PPPoE协议还负责以下功能:a. 链路控制协议(LCP):用于在客户端和服务器之间进行链路的建立、维护和关闭。

b. 身份验证协议(PAP/CHAP):用于客户端和服务器之间的身份验证,确保只有经过授权的用户可以访问互联网。

c. 网络控制协议(NCP):用于在PPPoE会话中建立和维护网络层协议(如IP、IPv6等)。

4. PPPoE报文格式PPPoE报文由以太网帧和PPP数据包组成。

以太网帧的数据部分即为PPP数据包,其格式如下:a. PPPoE头部:包含版本、类型、代码、会话ID等字段,用于标识和管理PPPoE会话。

b. PPP头部:包含协议字段,用于标识PPP数据包所使用的上层协议。

SLIP协议与PPP协议

SLIP协议与PPP协议

SLIP协议与PPP协议协议名称:一、引言本协议旨在详细描述SLIP协议(Serial Line Internet Protocol)和PPP协议(Point-to-Point Protocol)的标准格式和功能。

二、SLIP协议1. 定义SLIP协议是一种简单的数据链路层协议,用于在串行路线上传输IP数据包。

它将数据包封装为字节流进行传输。

2. 格式SLIP协议的数据包格式如下:- SLIP_FLAG:一个字节的特殊字符,用于标识数据包的开始和结束。

- 数据包:IP数据包的字节流。

- SLIP_FLAG:一个字节的特殊字符,用于标识数据包的结束。

3. 功能SLIP协议的主要功能包括:- 封装:将IP数据包封装为字节流。

- 解封装:从字节流中提取IP数据包。

- 传输:通过串行路线传输封装后的数据包。

- 错误检测:通过简单的校验和机制检测数据传输中的错误。

三、PPP协议1. 定义PPP协议是一种点对点的数据链路层协议,用于在串行路线上进行可靠的数据传输。

它支持多种网络层协议,如IP、IPX和AppleTalk等。

2. 格式PPP协议的数据包格式如下:- PPP_FLAG:一个字节的特殊字符,用于标识数据包的开始和结束。

- 地址:一个字节,用于标识网络层地址。

- 控制:一个字节,用于控制数据链路层的操作。

- 协议:一个或者两个字节,用于标识网络层协议类型。

- 数据包:网络层数据包的字节流。

- 校验和:一个或者两个字节,用于检测数据传输中的错误。

- PPP_FLAG:一个字节的特殊字符,用于标识数据包的结束。

3. 功能PPP协议的主要功能包括:- 封装:将网络层数据包封装为PPP数据包。

- 解封装:从PPP数据包中提取网络层数据包。

- 链路控制:通过控制字段实现链路的建立、维护和释放。

- 错误检测:通过校验和机制检测数据传输中的错误。

- 多协议支持:支持多种网络层协议的传输。

四、SLIP协议与PPP协议的比较1. 优点SLIP协议的优点包括:- 简单:SLIP协议的实现相对较简单,适合于资源有限的系统。

抓PPP(PAPCHAP)包及协议分析基础

抓PPP(PAPCHAP)包及协议分析基础

福建工程学院国脉信息学院实验指导书实验一抓PPP(PAP/CHAP)包及协议分析基础一、实验目的1、掌握抓包软件Wireshark的应用2、掌握交换机路由器仿真环境中抓包工具的应用3、掌握抓PPP包并能进行分析4、理解PAP、CHAP协议原理二、实验环境Internet协议分析仿真实验平台(Dynamips、SecureCRT等)三、实验任务1、Wireshark在Windows中的安装与应用2、Dynamips的安装与应用2、路由器串口间的PPP包并进行分析3、通过抓获的数据包分析PAP、CHAP协议的原理四、实验步骤1、Wireshark在Windows中的安装与应用打开wireshark-win32-1..4.9中文版,进行安装。

点击“next”,进行下一步。

点击“I Agree”,进行下一步。

点击“next”,进行下一步。

点击“Install”,进行安装。

点击“next”,进行下一步。

完成安装,运行程序。

3、Dynamips的安装与应用点击dynamic安装包,进入安装界面。

点击next,进入下一步。

同意安装协议,点击I Agree 进入下一步。

使用默认安装名Dynagen,点击instal选项进行安装。

安装已完成,点击Finish完成安装。

安装完成后可以在桌面上看到以下程序。

4.添加硬件1)打开“控制面板”,双击:添加硬件点击next,进入下一步。

点击next,进入下一步。

选择“添加新的硬件设备”,点击“下一步”。

选择手动安装,点击“下一步”。

选择“网络适配器”进行安装,点击“下一步”点击“完成”,添加硬件成功。

打开本地连接2,先“停用”,再“启用”以记事本方式打开1).将路由器的运行目录定位:按上图的标记1,2在D:\创建文件夹sikeVlab;在文件夹sikeVlab中创建两个文件夹temp,IOS;在文件夹temp中创建文件夹PPP;2).把放进文件夹PPP中。

打开Network device list,将“3”部分替代为下面内容。

最新pppoe报文深入了解

最新pppoe报文深入了解

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

8发现报文的数据域格式为TAG(类型-长度),主机名称(15个字节),TAG(类9型-长度),主机标识符(4个字节),TAG(类型-长度),AC-Cookie(18个字节)。

10采用的是TLV(类型-长度-值)11PPPOE数据报文中Tag(标记)的格式12对于发现阶段的PPPOE数据报文而言,它的净载荷可能包含零个或多个Tag 13(标记),实际上这些标记的意义非常类似于PPP配置参数选项,它同样也是14要经过协商的。

对于PPPOE协议而言,没有像PPP的配置参数选项那样定义了15很多细节,而只是一个初略的定义,因此在实际当中实现这个过程会依据不同16厂商的设备有不同。

首先还是让我们看一下承载在PPPOE报文数据域中的标记17封装格式,如图2。

18(图2 标记的封装格式)19从图2中可以看出,标记的封装格式采用的是大家所熟知的TLV结构,也即20是(类型+长度+数据)。

标记的类型域为2个字节,下表列出了各种标记类型21的含义:22231.PADI24PPPOE发现阶段的第一步,也即是由用户首先发送这样一个报文。

用户主机是25以广播的方式发送这个报文,所以该报文所对应的以太网帧的目的地址域应填26充为全1,而源地址域填充用户主机的MAC地址。

广播包可能会被多个访问集中27器接收到。

28292.PADO30PPPOE发现阶段的第二步,也即是由访问集中器回应各用户主机发送的31PADI报文,此时该报文所对应的以太网帧的源地址填充访问集中器的MAC地址,32而目的地址则填充从PADI中所获取的用户主机的MAC地址。

ppp数据包格式分析

ppp数据包格式分析

PPP数据包格式分析PPP简介点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。

PPP 最初设计是为两个对等节点之间的IP 流量传输提供一种封装协议.在TCP—IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原来非标准的第二层协议,即SLIP。

除了IP 以外PPP 还可以携带其它协议,包括DECnet 和Novell 的Internet 网包交换(IPX)。

PPP是一种数据链路层协议,遵循HDLC(高级数据链路控制协议)族的一般报文格式.PPP 是为了在点对点物理链路(例如RS232串口链路、电话ISDN线路等)上传输OSI模型中的网络层报文而设计的,它改进了之前的一个点对点协议–SLIP协议–只能同时运行一个网络协议、无容错控制、无授权等许多缺陷,PPP是现在最流行的点对点链路控制协议。

PPP的帧格式图1PPP的帧格式解释FCS:帧校验标志flag:字段恒为0×7f地址(adress):字段恒为0xff控制(control)字段恒为0×03协议(protocol):字段表示PPP报文中封装的payload(data字段)的类型,如果为0×0021,则表示PPP封装的IP报文,0×002B表示IPX报文,0×0029表示AppleTalk报文,这几种都属于PPP的数据报文;如果为0×8021则表示PPP的LCP报文(用来协商连接),如果为0xC021则属于PPP的NCP报文(用来协商封装的三层协议),这些属于PPP的控制报文。

LCP链路控制协议(LCP) LCP 建立点对点链路,是PPP 中实际工作的部分。

LCP 位于物理层的上方,负责建立、配置和测试数据链路连接。

LCP 还负责协商和设置WAN 数据链路上的控制选项,这些选项由NCP 处理.NCPPPP允许多个网络协议共用一个链路,网络控制协议(NCP)负责连接PPP(第二层)和网络协议(第三层)。

TCPIP几种协议数据报格式简介

TCPIP几种协议数据报格式简介
z TCP 报文格式如下图:
TCP 是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍。“序号”指数据在发送端数据流中 的位置。“确认号”指出本机希望下一个接收的字节的序号。与 IP 校验不同的是 TCP,UDP 校验采用伪头标加整个 报文一同校验的方法。TCP 协议工作原理另行介绍。
TCP 数据报中依次包括以下信息:
协议采用分层结构,因此,数据报文也采用分层封装的方法。下面以应用最广泛的以太网为例说明其数据报 文分层封装,如下图所示:
任何通讯协议都有独特的报文格式,TCP/IP 协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。 由于 TCP/IP 协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下 TCP/IP 各层报文格式。
1、 16 位源端口 Source Port。该部分占 16 个 BIT。通过此值,可以看出发起连接的计算机源端口号。
2、 16 位目的端口 Destination Port。该部分占 16 个 BIT。通过此值,可以看出要登录的目的端口号。
3、 32 位序列号 Initial Sequence Number。表示初始连接的请求号,即 SEQ 值。该部分占 32 个 BIT。
4、 32 位确认号 Next Expected SEQ Numbe。对方返回的 ACK 值。该部分占 32 个 BIT。
5、 4 位数据偏移 Data Offset。表示数据偏移的大小。该部分占 4 个 BIT。
6、 6 位保留位 Reserved Bites:保留位,此处不用。该部分占 6 个 BIT。
的 16 次方减 1,即:65535 个字节。因此,在以太网中能够传输的最大 IP 数据包为 65535 个字节。
5、 16 位标识号 Identification。该部分占 16 个 BIT,以十进制数表示。

pppoe报文深入了解

pppoe报文深入了解

第一天: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(类型-长度),主机标识符(4个字节),TAG(类型-长度),AC-Cookie(18个字节)。

采用的是TLV(类型-长度-值)PPPOE数据报文中Tag(标记)的格式对于发现阶段的PPPOE数据报文而言,它的净载荷可能包含零个或多个Tag(标记),实际上这些标记的意义非常类似于PPP配置参数选项,它同样也是要经过协商的。

对于PPPOE协议而言,没有像PPP的配置参数选项那样定义了很多细节,而只是一个初略的定义,因此在实际当中实现这个过程会依据不同厂商的2。

(图2 标记的封装格式)从图2中可以看出,标记的封装格式采用的是大家所熟知的TLV结构,也即是(类型+长度+数据)。

标记1.PADIPPPOE发现阶段的第一步,也即是由用户首先发送这样一个报文。

用户主机是以广播的方式发送这个报文,所以该报文所对应的以太网帧的目的地址域应填充为全1,而源地址域填充用户主机的MAC地址。

广播包可能会被多个访问集中器接收到。

2.PADOPPPOE发现阶段的第二步,也即是由访问集中器回应各用户主机发送的PADI报文,此时该报文所对应的以太网帧的源地址填充访问集中器的MAC地址,而目的地址则填充从PADI中所获取的用户主机的MAC 地址。

3.PADRPPPOE发现阶段的第三步,也即是由用户主机向访问服务器发送单播的请求报文。

常见网络协议报文格式汇总

常见网络协议报文格式汇总
UDP 8bytes UDP数据
IP首部 20bytes 源端口 16bits UDP长度 16bits
目的端口 16bits UDP检验和 16bits
8.
MPLS报文格式
MPLS标签(可以有多个) IP报文
二层头
Label value 20bits MPLS报文类型: 以太网中 0x8847(单播) PPP类型上 0x8281(MPLSCP) 协议名称 ICMP TCP UDP OSPF 1 数据包格式(RFC894)
源MAC地址 6 bytes 源MAC地址 6 bytes Type/Length 2 bytes Type/Length 2 bytes Payload 46-1500 bytes Payload FCS(CRC) 4 bytes FCS 4 bytes Ethernet Ⅱ 帧格式: 目的MAC地址 6 bytes VLAN帧格式: 目的MAC地址 6 bytes
EXP 3bits 0x8848(组播)
栈底标记 1bit
TTL 8bits
协议号
9.
MTU
网 络 MTU字节 65535 17914 4464 4352 1500 1492 576 296
超通道 16Mb/s令牌环(IBM) 4 Mb/s令牌环(IEEE 802.5) FDDI 以太网 IEEE 802.3/802.2 X.25 点对点(低时延)
10. TCP与UDP应用
UDP RIP 广播、多播 TFTP(S:69) BOOTP(S:67 D:68) SNMP (Admin:162 Proxy:161) TCP FTP(21) TELNET(23) Rlogin SMTP
2. 以太网帧,TCP/IP数据报文详解

ppp协议格式

ppp协议格式

PPP协议格式概述PPP(Point-to-Point Protocol)是一种用于在串行链路上进行点对点数据传输的网络协议。

它提供了一种可靠、高效的方法,用于连接两个计算机或网络设备之间的通信。

PPP协议定义了数据包的格式、传输规则和错误检测机制,是现代计算机网络中广泛使用的协议之一。

PPP数据包格式PPP数据包由报头和数据部分组成,其中报头包含了协议的控制信息,数据部分则是待传输的实际数据。

报头格式PPP报头的格式如下:+------+----+----+----+----+----+----+-------+| Flag | Address | Control | Protocol | Data |+------+----+----+----+----+----+----+-------+•Flag(标志):一个字节的固定值0x7E,用于标记报文的开始和结束。

•Address(地址):一个字节,用于标识报文的目标地址或源地址。

在PPP中,地址字段通常被忽略,取值为0xFF。

•Control(控制):一个字节,用于标识报文的控制信息,通常取值为0x03。

•Protocol(协议):两个字节,用于标识报文中数据的类型。

不同类型的数据使用不同的协议编号,例如0x0021表示IPv4数据包,0x0057表示PPP链路控制协议(LCP)的数据包。

•Data(数据):可变长度的数据部分,包含了实际的传输数据。

数据部分格式PPP协议并未规定数据部分的格式,而是使用其他协议来定义具体的数据格式。

常用的数据格式有以下几种:•IP数据格式(IPv4/IPv6):当协议字段为0x0021时,数据部分是一个IP数据包,遵循IP协议的数据格式规定。

•PPP链路控制协议(LCP)数据格式:当协议字段为0x0057时,数据部分是用于建立和维护PPP链路的控制信息。

•网络控制协议(NCP)数据格式:当协议字段为0x8021或其他值时,数据部分是具体网络层协议的控制信息,例如IPCP(PPP Internet协议控制协议)用于配置IP地址的参数。

SLIP协议与PPP协议

SLIP协议与PPP协议

SLIP协议与PPP协议一、引言本协议旨在详细描述SLIP协议(Serial Line Internet Protocol)与PPP协议(Point-to-Point Protocol)的标准格式和相关内容。

SLIP协议和PPP协议是计算机网络中常用的协议,用于在串行线路上传输数据。

本协议将详细介绍这两种协议的特点、工作原理、数据格式等内容。

二、SLIP协议1. 协议特点SLIP协议是一种简单的协议,用于在串行线路上传输IP数据报。

它没有进行数据压缩、错误检测和纠正等处理,因此传输效率较低。

SLIP协议使用特殊字符作为帧的开始和结束标识,以及转义字符来处理特殊字符的转义。

2. 工作原理SLIP协议的工作原理如下:- 发送端:将IP数据报封装为SLIP帧,添加开始和结束标识,并进行特殊字符的转义处理。

- 接收端:接收SLIP帧,根据开始和结束标识解析帧,并进行特殊字符的转义还原,提取出IP数据报。

3. 数据格式SLIP协议的数据格式如下:- 帧开始标识:0xC0- 帧结束标识:0xC0- 转义字符:0xDB- 转义后的0xC0:0xDB 0xDC- 转义后的0xDB:0xDB 0xDD4. 示例以下是一个使用SLIP协议传输的数据帧示例:0xC0 0x45 0x00 0x00 0x1C 0x7A 0x00 0x00 0x40 0x11 0x7B 0x1C 0xC0三、PPP协议1. 协议特点PPP协议是一种功能强大的协议,用于在串行线路上建立和管理数据链路连接。

它支持多种网络层协议的封装,具有数据压缩、错误检测和纠正等功能,传输效率较高。

2. 工作原理PPP协议的工作原理如下:- 建立连接:使用LCP协议(Link Control Protocol)进行链路的建立和配置。

- 认证阶段:使用认证协议对连接进行认证,如PAP(Password Authentication Protocol)或CHAP(Challenge-Handshake Authentication Protocol)。

ppp格式 实例

ppp格式   实例

PPP(Point to Point Protocol,点对点协议)协议是为在两个对等实体间传输数据包,建立简单连接而设计的。

这种连接提供了同时的双向全双工操作,并且假定数据包是按顺序投递的。

PPP协议还满足了动态分配IP地址的需要,并能够对上层的多种协议提供支持。

PPP在TCP/IP协议集中是位于数据链路层的协议,其物理实现方式有两种:一种是通过以太网口(这时称之为PPPoE,即PPP over Ethernet),另一种就是利用普通的串行接口。

本文主要讨论的就是后一种PPP协议的具体实现过程。

PPP协议是目前应用得最广的一种广域网协议,它主要由以下3部分组成:(1)在串行线路中对上层数据包的封装(HDLC);(2)用于建立、配置和检测数据链路连接的链路控制协议(LCP) ;(3)用于建立和配置不同网络层协议的网络控制协议(NCP) 协议簇。

下面从PPP协议的封装结构和PPP链路协商两个部分对PPP协议进行详细剖析。

PPP协议封装PPP 封装用于消除上层多种协议数据包的歧义,加入帧头、帧尾,使之成为互相独立的串行数据帧。

PPP 采用HDLC 的组帧格式,它是面向字符的。

在完整的PPP 帧中,帧头由帧开始标记、地址域、控制域、协议域组成,帧尾由校验域、帧结束标记组成(如表1 所示)。

表3:编码对应含义PPP帧以0x7e作为一帧的开始和结束的标记,占一个字节。

地址域和控制域固定的值,分别为0xff 和0x03,各占一个字节。

协议域为两个字节,在实际应用中因数据包的不同而不同。

PPP 帧具有错误检测机制,校验和中填写的就是发送方对帧数据的检验码,接收方在接收到该帧后对数据做校验,通过校验来判断数据帧在传送过程中是否有误。

其中校验和采用的是CRC算法,校验范围从地址字节到校验和位置之前的最后一个数据载荷。

PPP协议包含丰富的内容,它能实现包括IP协议在内的多种网络协议的封装,那么,如何区分某个PPP包究竟是哪种数据协议包?这就是PPP协议帧第四、五两个字节关心的问题,表2列出常用的协议代码及其对应的协议。

PPP数据帧的格式

PPP数据帧的格式

PPP数据帧的格式[ 2007-5-17 11:43:00 ]PPP协议也许大家都听说过,可以说现在家里的ADSL都是通过PPP协议进行链路的搭建,今天就说说PPP到底是个啥东东。

想要了解PPP,个人认为有3个关键的知识点。

1、PPP数据帧的格式;2、PPP的几种报文;3、PPP的状态转移首先说说的PPP数据帧的格式,因为PPP是链路层协议,所以我们将它的数据单位称为帧,7E FF 03 7E标志地址控制协议域信息域校验标志1B 1B 1B 2B 缺省1500B 2B 1B每一个PPP数据帧均是以一个标志字节起始和结束的,该字节为0x7E(这样很容易区分出每个PPP帧)紧接在起始标志字节后的一个字节是地址域,该字节为0xFF。

我们熟知网络是分层的,且对等层之间进行相互通信,而下层为上层提供服务。

当对等层进行通信时首先需获知对方的地址,而对不同的网络,在数据链路层则表现为需要知道对方的MAC地址、X.121地址、ATM地址等;在网络层则表现为需要知道对方的IP地址、IPX地址等;而在传输层则需要知道对方的协议端口号。

例如如果两个以太网上的主机希望能够通信的话,首先发送端需获知对端的MAC地址。

但由于PPP协议是被运用在点对点的链路上的特殊性,它不像广播或多点访问的网络一样,因为点对点的链路就可以唯一标示对方,因此使用PPP协议互连的通信设备的两端无须知道对方的数据链路层地址,所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。

同地址域一样,PPP数据帧的控制域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。

(既然无意义,就可以随便赋值了吧,呵呵,只要大家都遵守一个标准就行)就PPP协议本身而言,我们最关心的内容应该是它的协议域和信息域。

协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。

协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。

该机制规定协议域所填充的内容必须为奇数,也即是要求低字节的最低位为“1”,高字节的最低位为“0”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PPP数据包格式分析
PPP简介
点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。

PPP 最初设计是为两个对等节点之间的IP 流量传输提供一种封装协议。

在TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原来非标准的第二层协议,即SLIP。

除了IP 以外PPP 还可以携带其它协议,包括DECnet 和Novell 的Internet 网包交换(IPX)。

PPP是一种数据链路层协议,遵循HDLC(高级数据链路控制协议)族的一般报文格式。

PPP是为了在点对点物理链路(例如RS232串口链路、电话ISDN线路等)上传输OSI模型中的网络层报文而设计的,它改进了之前的一个点对点协议–SLIP协议–只能同时运行一个网络协议、无容错控制、无授权等许多缺陷,PPP是现在最流行的点对点链路控制协议。

PPP的帧格式
图1
PPP的帧格式解释
FCS:帧校验
标志flag:字段恒为0×7f
地址(adress):字段恒为0xff
控制(control)字段恒为0×03
协议(protocol):字段表示PPP报文中封装的payload(data字段)的类型,如果为0×0021,则表示PPP封装的IP报文,0×002B表示IPX报文,0×0029表示AppleTalk报文,这几种都属于PPP的数据报文;如果为0×8021则表示PPP的LCP报文(用来协商连接),如果为0xC021则属于PPP的NCP报文(用来协商封装的三层协议),这些属于PPP的控制报文。

LCP
链路控制协议(LCP) LCP 建立点对点链路,是PPP 中实际工作的部分。

LCP 位于物理层的上方,负责建立、配置和测试数据链路连接。

LCP 还负责协商和设置WAN 数据链路上的控制选项,这些选项由NCP 处理。

NCP
PPP允许多个网络协议共用一个链路,网络控制协议(NCP) 负责连接PPP(第二层)和网络协议(第三层)。

对于所使用的每个网络层协议,PPP 都分别使用独立的NCP来连接。

例如,IP 使用IP 控制协议(IPCP),IPX 使用Novell IPX 控制协议(IPXCP)。

PPP 主要由以下几部分组成
封装:一种封装多协议数据报的方法。

PPP 封装提供了不同网络层协议同时在同一链路传输的多路复用技术。

PPP 封装精心设计,能保持对大多数常用硬件的兼容性,克服了SLIP不足之处的一种多用途、点到点协议,它提供的WAN数据链接封装服务类似于LAN所提供的封闭服务。

所以,PPP不仅仅提供帧定界,而且提供协议标识和位级完整性检查服务。

链路控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。

网络控制协议:协商该链路上所传输的数据包格式与类型,建立、配置不同的网络层协议;
配置:使用链路控制协议的简单和自制机制。

该机制也应用于其它控制协议,例如:网络控制协议(NCP)。

为了建立点对点链路通信,PPP 链路的每一端,必须首先发送LCP 包以便设定和测试数据链路。

在链路建立,LCP 所需的可选功能被选定之后,PPP 必须发送NCP 包以便选择和设定一个或更多的网络层协议。

一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在链路上发送了。

链路将保持通信设定不变,直到有LCP 和NCP 数据包关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络管理员干涉)。

应用:假设同样是在Windows 98,并且已经创建好“拨号连接”。

那么可以通过下面的方法来设置PPP协议:首先,打开“拨号连接”属性,同样选择“服务器类型”选项卡;然后,选择默认的“PPP:Internet,Windows NT Server,Windows 98”,在高级选项中可以设置该协议其它功能选项;最后,单击“确定”按钮即可。

密码认证协议(PAP)
PAP是PPP 协议集中的一种链路控制协议,主要是通过使用2 次握手提供一种对等结点的建立认证的简单方法,这是建立在初始链路确定的基础上的。

完成链路建立阶段之后,对等结点持续重复发送ID/ 密码给验证者,直至认证得到响应或连接终止。

PAP 并不是一种强有效的认证方法,其密码以文本格式在电路上进行发送,对于窃听、重放或重复尝试和错误攻击没有任何保护。

对等结点控制尝试的时间和频度。

所以即使是更高效的认证方法(如CHAP),其实现都必须在PAP 之前提供有效的协商机制。

该认证方法适用于可以使用明文密码模仿登录远程主机的环境。

在这种情况下,该方法提供了与常规用户登录远程主机相似的安全性。

(如图2)
图2
PAP帧格式
密码认证协议的配置选项格式:
8 16 32 bit
Type Length Authentication-Protocol
Type ―3
Length ―4
Authentication-Protocol ―C023(Hex)
PAP 数据包格式
8 16 32 bit variable
Code Identifier Length Data
Code ―Code 字段为8字节,用于识别PAP 数据包类型。

PAP Code 字段分配如下:
1、Authenticate - Request;
2、Authenticate - Ack;
3、Authenticate-Nak 。

Identifier ―Identifier 字段为8字节,用于匹配Request 和Reply。

Length ―Length 字段为16字节,表示PAP 数据包的长,包括Code、Identifier、Length 和Data 字段。

Length 字段外的八位位组用作数据链路层间隙,且在接收方忽略。

Data ―Data 字段为0或更多字节。

Data 字段格式取决于Code 字段。

PPP 挑战握手认证协议(CHAP)
挑战握手认证协议(CHAP)通过三次握手周期性的校验对端的身份,在初始链路建立时完成,可以在链路建立之后的任何时候重复进行。

1. 链路建立阶段结束之后,认证者向对端点发送“challenge”消息。

2. 对端点用经过单向哈希函数计算出来的值做应答。

3. 认证者根据它自己计算的哈希值来检查应答,如果值匹配,认证得到承认;否则,连接应该终止。

4. 经过一定的随机间隔,认证者发送一个新的challenge 给端点,重复步骤 1 到3 。

通过递增改变的标识符和可变的询问值,CHAP 防止了来自端点的重放攻击,使用重复校验可以限制暴露于单个攻击的时间。

认证者控制验证频度和时间。

(如图3)
图3
CHAP 帧格式
CHAP 的配置选项格式如下:
8 16 32 40 bit
Type Length Authentication-Protocol Algorithm
Type ―3
Length ―5
Authentication-Protocol ―对于CHAP,为C223(Hex)。

Algorithm ―Algorithm 字段为八位字节,表示使用的认证方法。

CHAP 数据包结构如下所示:
8 16 32 bit Variable
Code> Identifier Length Data . . .
Code ―识别CHAP 数据包类型。

CHAP 代码具有以下几种:1、Challenge;2、Response;
3、Success;
4、Failure。

Identifier ―用于匹配Challenges、Responses 和Replies 信息。

Length ―CHAP 数据包的长度,包括Code、Identifier、Length 和Data 字段。

Data ―0或更多八位字节。

该字段格式取决于Code 字段。

对于Success 和Failure,Data 字段包括一个独立执行的可变信息字段。

相关文档
最新文档