详解PPP及PPPoE协议,文章写得通俗易懂

合集下载

PPPPPOE详解

PPPPPOE详解

PPPPPOE详解PPP协议是在串⾏线IP协议SLIP(Serial Line Internet Protocol)的基础上发展起来的。

由于SLIP协议具有只⽀持异步传输⽅式、⽆协商过程(尤其不能协商如双⽅IP地址等⽹络层属性)、只能承载IP⼀种⽹络层报⽂等缺陷,在发展过程中,逐步被PPP协议所替代。

PPP协议有如下优点:对物理层⽽⾔,PPP既⽀持同步链路⼜⽀持异步链路,⽽X.25、FR(Frame Relay)等数据链路层协议仅⽀持同步链路,SLIP仅⽀持异步链路。

PPP协议具有良好的扩展性,例如,当需要在以太⽹链路上承载PPP协议时,PPP可以扩展为PPPoE。

提供LCP(Link Control Protocol)协议,⽤于各种链路层参数的协商。

提供各种NCP(Network Control Protocol)协议(如IPCP、IPXCP),⽤于各⽹络层参数的协商,更好地⽀持了⽹络层协议。

提供认证协议CHAP(Challenge-Handshake Authentication Protocol)、PAP(Password Authentication Protocol),更好的保证了⽹络的安全性。

⽆重传机制,⽹络开销⼩,速度快。

Flag域Flag域标识⼀个物理帧的起始和结束,该字节为0x7E。

Address域Address域可以唯⼀标识对端。

PPP协议是被运⽤在点对点的链路上,因此,使⽤PPP协议互连的两个通信设备⽆须知道对⽅的数据链路层地址。

按照协议的规定将该字节填充为全1的⼴播地址,对于PPP协议来说,该字段⽆实际意义。

Control域该字段默认值为0x03,表明为⽆序号帧,PPP默认没有采⽤序列号和确认应答来实现可靠传输。

Address和Control域⼀起标识此报⽂为PPP报⽂,即PPP报⽂头为FF03。

Protocol域Protocol域可⽤来区分PPP数据帧中信息域所承载的数据包类型。

网络连接协议差异分析:PPOE与PPP

网络连接协议差异分析:PPOE与PPP

网络连接协议差异分析:PPOE与PPPPPOE(点对点协议over 以太网)和PPP(点对点协议)是两种常用的网络连接协议,它们在连接速度方面有一些差异。

以下从几个方面分析它们的区别:1.协议适应标准PPOE协议是为了适应以太网标准而产生的,因此它可以在标准的以太网网络上运行。

而PPP协议则是为了适应ATM(异步传输模式)标准而设计的,因此它通常在ATM网络上运行。

2.连接速度由于PPOE和PPP协议分别适应以太网和ATM标准,因此它们的连接速度也略有不同。

一般来说,以太网网络的连接速度要比ATM网络快,因此PPOE协议的连接速度也比PPP协议快。

3.协议目标PPOE协议的目标是解决广域网的modem接入技术面临的一些相互矛盾的目标。

它可以通过同一个用户前置接入设备连接远程的多个用户主机,同时提供类似拨号一样的接入控制、计费等功能。

而PPP协议的目标则是实现点对点的连接,没有类似的功能。

4.身份验证访问当PPOE和宽带调制解调器一起使用时,LAN用户可以获得高速数据网络的个人身份验证访问。

这是通过在PPOE协议中引入身份验证机制实现的。

而PPP协议也支持身份验证,但并不是在以太网上进行,而是在ATM网络上进行。

5.其他方面除了以上几个方面,PPOE和PPP协议在其他方面也存在一些差异。

例如,PPOE协议支持动态IP地址分配,而PPP协议则不支持。

此外,PPOE协议还具有更好的兼容性和扩展性,可以在更广泛的网络环境中应用。

总结综上所述,PPOE和PPP协议在连接速度方面存在差异,主要是因为它们适应的网络标准不同。

此外,它们在其他方面也存在一些差异,例如协议目标、身份验证访问等方面。

选择使用哪种协议取决于具体的应用场景和需求。

详解PPP及PPPoE协议,文章写得通俗易懂

详解PPP及PPPoE协议,文章写得通俗易懂

PPP(Point-to-Point Protocol点到点协议),一种二层协议,通常部署在专线网和按需电路网上面,PPP 有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。

这些丰富的选项增强了PPP的功能。

同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。

因此,应用十分广泛当然,在专线网上我们也可以使用HDLC二层协议,但用的并不多,原因有三:1.不支持验证,一层通二层就通2.不支持多种上层协议(ip/ipx/appletalk等),而PPP帧中专门有一个字段用来标示上层协议类型3.HDLC协议为厂商私有协议,各个厂商互不兼容,但HDLC是cisco产品的默认广域网封装方式,要使用PPP协议需要encapsulation ppp 命令改变接口封装协议我们家庭拨号上网就是通过PPP协议在用户端和运营商的接入服务器之间建立通信链路。

目前,宽带接入已基本取代拔号接入,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。

典型的应用是在ADSL(非对称数据用户环线,Asymmetrical Digital Subscriber Loop)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。

利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。

PPPoE 即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。

同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。

它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准好的,下面我们就以点到点专线上的PPP协议和以太网上的PPPoE协议为例,详细介绍它们的工作原理、验证过程及其配置方法一、点到点专线上的PPP协议PPP特性有很多,但主要的特性是具备验证技术,所以在此我们主要是讨论PPP的验证。

PPP与PPPoE协议的认证与拨号过程详解

PPP与PPPoE协议的认证与拨号过程详解

PPP与PPPoE协议的认证与拨号过程详解PPP协议(Point-to-Point Protocol)和PPPoE协议(Point-to-Point Protocol over Ethernet)是在计算机网络中常用的两个协议,它们在进行认证与拨号过程中扮演着重要的角色。

本文将详细介绍PPP与PPPoE协议的认证与拨号过程。

一、PPP协议的认证与拨号过程1. PPP认证过程在PPP协议中,认证过程被用于验证用户的身份信息,以确保连接的安全性。

认证过程一般包括以下几个步骤:(1)LCP配置阶段:建立连接前,对LCP(Link Control Protocol)进行配置,双方协商认证方式。

(2)身份验证阶段:发送端向接收端发送认证请求,并携带认证方式和认证信息。

接收端根据认证方式进行验证,如果通过则发送认证成功的消息,否则发送认证失败的消息。

(3)连接建立阶段:如果认证成功,双方继续进行连接建立的过程,启动NCP(Network Control Protocol)协商网络层协议参数。

2. PPP拨号过程PPP拨号过程用于建立网络连接。

具体步骤如下:(1)发起拨号:客户端向服务端发送拨号请求。

(2)应答拨号:服务端接收到拨号请求后,返回应答消息,表示可以建立连接。

(3)链路建立:双方进行链路的建立,包括配置参数、交换链路相关信息等。

(4)数据传输:链路建立完成后,进行数据的传输。

二、PPPoE协议的认证与拨号过程1. PPPoE认证过程PPPoE协议是在以太网上运行的一种PPP协议。

其认证过程也是通过PPP进行的,主要包括以下步骤:(1)PADI(PPPoE Active Discovery Initiation):客户端在以太网上广播PADI包,该包包含客户端的MAC地址等信息。

(2)PADO(PPPoE Active Discovery Offer):服务端收到PADI 包后,返回PADO包,该包中包含了服务端的MAC地址、会话ID等信息。

09[1].PPP协议和PPP0E协议

09[1].PPP协议和PPP0E协议

PPP协议和PPP0E协议目录第1章概述 (2)第2章 PPP协议 (5)第3章 PPPOE协议 (44)附录缩略词表 (76)第1章 概述SLIP 的全称是Serial Line IP ,出现在80年代中期,并被使用在BSD UNIX 主机和SUN 的工作站上。

因为SLIP 简单好用,所以后来被大量使用在线路速率从1200bps 到19.2Kbps 的专用线路和拨号线路上互连主机和路由器,到目前为止仍有大部分UNIX 主机保留对该协议的支持。

在80年代末90年代初期,被广泛用于家庭中每台有RS232串口的计算机和调制解调器连接到Internet 。

w w w .i t p a n p a n.c o mSLIP 的帧格式由IP 包加上END 字符组成。

通过在被发送IP 数据报的尾部增加特殊的END 字符(0xC0 )从而形成一个简单的SLIP 的数据帧,而后该帧会被传送到物理层进行发送。

为了防止线路噪声被当成数据报的内容在线路上传输,通常发送端在被传送数据报的开始处也传一个END 字符。

如果线路上的确存在噪声,则该数据报起始位置的END 字符将结束这份错误的报文,这样当前正确的数据报文就能正确的传送了,而前一个含有无意义报文的数据帧会在对端的高层被丢弃。

END 是判断一个SLIP 帧是否结束的标志。

如果要传送的IP 包中正好有一个字符0xc0要传送,为了避免它被当作END 字符,要用连续的两个字节0xdb 和0xdc 来代替它。

如果要传送的是0xdb ,那么就用连续传输两个字节0xdb 和0xdd 来代替它。

SLIP 只支持IP 协议,对IPX 等缺乏支持。

并且,由于帧格式中没有类型字段,致使如果一条串行线路如果用于SLIP ,就不能同时使用其它协议。

w w w .i t p a n p a n .c o mSLIP 不提供纠错机制,错误只能依靠上层协议实现。

SLIP 帧的封装格式非常简单,通信双方无需在数据报发送前协商任何配置参数选项(在PPP 协议中需协商配置参数选项),所以双方IP 层通信前必需先获知对方的IP 地址,才能进行网络层的通信,否则链路层发送的数据帧在被送到对方网络层时将无法进行转发。

PPPOE协议详解-对报文进行了详细分析解释通俗易懂

PPPOE协议详解-对报文进行了详细分析解释通俗易懂

华为技术有限公司版权所有侵权必究目录(TOC Heading)第1章概述 (1)1.1 PPPOE协议的基本概念 (1)1.1.1 PPPOE协议出现的背景 (1)1.1.2 PPPOE协议简介 (1)1.2总结 (2)1.3思考 (2)第2章 PPPOE的发现阶段 (1)2.1 PPPOE的初始化过程 (1)2.1.1以太网的帧格式 (1)2.1.2 PPPOE的数据报文格式 (2)2.1.3 PPPOE发现阶段的数据报文 (3)2.1.3.1 PPPOE数据报文中Tag(标记)的格式 (3)2.1.3.2 PADI(PPPOE Active Discovery Initiation)报文 (4)2.1.3.3 PADO(PPPOE Active Discovery Offer)报文 (5)2.1.3.4 PADR(PPPOE Active Discovery Request)报文 (6)2.1.3.5 PADS(PPPOE Active Discovery Session-confirmation)报文 (7)2.1.3.6 PADT(PPPOE Active Discovery Terminate)报文 (7)2.2总结 (7)2.3思考 (8)第3章 PPPOE的会话阶段 (9)3.1 PPPOE的会话过程 (9)3.2总结 (9)3.3思考 (9)第1章概述1.1 PPPOE协议的基本概念1.1.1 PPPOE协议出现的背景随着宽带网络技术的不断发展,以xDSL、CableModem和以太网为主的几种主流宽带接入技术的应用已开展的如火如荼。

同时又给各大网络运营商们带来了种种困惑,无论使用哪种接入技术,对于他们而言可盼和可求的是如何有效的管理用户,如何从网络的投资中收取回报,因此对于各种宽带接入技术的收费的问题就变得更加敏感。

在传统的以太网模型中,我们是不存在所谓的用户计费的概念,要么用户能设置/获取IP地址上网,要么用户就无法上网。

PPPOE协议简介

PPPOE协议简介

PPPOE协议简介一、简介:点对点(PPP)协议是一种数据链路层协议,定义了将IP数据报封装到串行链路帧的格式,使用一个用来建立、配置和测试数据链路的链路控制协议LCP(link control protocol)和一套支持不同网络类型(如IP、DECnet、Appletalk等)的网络控制协议NCP(network control protocol)。

PPPOE协议是PPP协议在以太网上的应用,通过PPPOE,在一个共享的Ethernet 上的多个主机,可通过一个或多个桥接设备,与远程的接入集中器(access concentrator)进行多个PPPOE会话。

接入控制、计费及服务类型能基于每个用户,每个主机有其自己的PPPOE协议栈,并提供给用户一个熟悉的用户接口。

PPPOE分为发现和会话两个阶段,发现阶段是为了获得PPPOE终结端的MAC地址及建立起唯一的PPPOE session_id,为无状态的client/server模式。

完成了发现阶段,PPPOE就进入会话阶段。

二、PPPOE协议栈:PPPOE协议参照RFC2516,实现了PPP帧在Ethernet上的适配,并提供Ethernet上的PPP连接,其在以太网上的协议栈如下图示:三、PPPOE典型连接方式:如图示:ATM/EthernetBridgeHost典型的PPPOE的连接示意图四、PPPOE通讯流程:1、发现阶段:在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器AC,此阶段允许主机选择其中的一个。

发现阶段一直保持无状态的client/server模式,一旦PPPOE会话建立,主机和AC都必须为PPP虚接口分配资源。

PPPOE通讯流程如下图示:发现阶段包括四个步骤:主机广播发起一个分组(PADI)一个或多个AC发送给予分组(PADO)主机发送单播会话请求分组(PADR)被选择的AC发送一个确认分组(PADS)当AC发出PADS,主机接收到PADS,它们可以开始进行PPP会话阶段。

PPP与PPPOE原理

PPP与PPPOE原理

PPP协议作为在点对点链路上承载网络层数据报文的一种链路协议,由于它能提供用户验证以及可扩展性强的特点,得到了广泛的应用。

PPPOE作为PPP协议的扩展,很好的实现了在广播型的网络上实现点对点业务。

PPP协议是在点到点链路上承载网络层数据报文的一种链路层协议,由于它能够提供用户验证,易于扩充,支持同步/异步,因而获得广泛应用。

PPP定义了一整套的协议,包括LCP NCP PAP CHAPLCP 主要用于建立,拆除和监控PPP数据链路NCP 主要用于协商在该数据链路上所传输的数据包的格式与类型PPP协议要求进行通信的双方之间是点到点的关系,不适合于广播型的以太网和另外一些多点访问型的网络,于是就产生了PPPOE协议,它不仅为使用桥接以太网介入的用户提供了一种宽带接入手段,同时还能提供方便的接入控制和计费PPPOE协议共包括两个阶段,即PPPOE的发现阶段和PPPOE的会话阶段。

这里我们更注重PPPOE发现阶段的介绍,因为PPPOE的会话阶段和PPP的会话过程基本上是一样的,两者的主要区别在于知识PPP的数据报文前封装了PPPOE的报文头。

无论是哪一个阶段的数据报文最终会被封装成以太网的帧进行传送。

PPPOE发现阶段可分为四步,对应的四种发现报文分别是PADI,PADO,PADR,PADS.当一个主机希望能够开始一个PPPOE会话时,它首先使用PADI广播报文在网络上寻找一个访问集中器,该报文的目的MAC地址是一个广播MAC地址,源地址为主机的MAC地址。

第二步。

访问集中器(AC)用PADO报文来响应主机发出的PADI报文,目的MAC地址为主机的MAC地址,源地址为AC的MAC地址。

当然可能网络上会存咋多个访问集中器时,对于主机而言则会根据各访问集中器所能提供的服务或用户的预先的一些配置来进行相应的选择,选择其中的一台AC来作为后续的对话对象。

第三步,由主机向访问集中器发单播的请求报文PADR。

第四步,AC接受到主机发来的PADR报文,准备开始进入PPP会话阶段,而此时AC会为这个会话分配一个唯一的会话进程ID,并以PADS报文响应主机。

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(类型-长度-值)阶段源MAC 目的MAC CODE 48bit 48bit 8bitPADI 主机A 广播(FF:FF:FF:FF:FF:FF) Ox09PADO 服务器B 主机A Ox07PADR 主机A 服务器B Ox19PADS 服务器B 主机A Ox65PPPOE数据报文中Tag(标记)的格式对于发现阶段的PPPOE数据报文而言,它的净载荷可能包含零个或多个Tag(标记),实际上这些标记的意义非常类似于PPP配置参数选项,它同样也是要经过协商的。

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

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

标记标记类型标记说明0x0000 表示PPPOE报文数据域中一串标记的结束,为了保证版本的兼容性而保留,在有些报文中有应用。

0x0101 服务名,主要用来表明网络侧所能提供给用户的一些服务。

0x0102 访问集中器名,当用户侧接收到了AC的回应的PADO报文时,就可获从所携带的标记中获知访问集中器的名子,而且还可以据此来选择相应的访问集中器。

最新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地址。

以太网协议PPOE与PPP协议的比较分析

以太网协议PPOE与PPP协议的比较分析

以太网协议PPOE与PPP协议的比较分析
PPOE协议与PPP协议的不同
PPOE(Point-to-Point over Ethernet)协议和PPP(Point-to-Point Protocol)协议都是用于在两点之间建立点对点连接的协议,但它们在应用场景和操作步骤上存在一些不同。

1.应用场景不同
PPOE协议是一种以太网协议,主要用于在以太网上建立点对点连接,它的应用范围比较广,例如在接入网络、VPN连接等方面都有应用。

而PPP协议是一种更早的点对点协议,它主要用于在串行接口(如RS-232)上建立点对点连接,因此在一些传统的通信设备和系统中得到广泛应用。

2.操作步骤不同
PPOE协议的操作步骤比较简单,当用户需要连接时,只需要将终端设备连接到以太网,然后通过PPOE协议进行连接即可。

而PPP协议的操作步骤则比较复杂,需要进行一系列的配置,例如IP地址、DNS服务器、网关等。

另外,PPP协议需要进行拨号连接,用户需要输入账号和密码等认证信息才能进行连接。

总体来说,PPOE协议和PPP协议都有自己的应用场景和优缺点,在选择使用时需要根据实际情况进行选择。

PPPoE与PPP协议分析

PPPoE与PPP协议分析

PPPoE与PPP协议分析PPP的连接控制协议(LCP)、认证协议(CHAP、PAP)、IP控制协议I(PCP)1.IP接⼊的功能包括动态IP地址分配、AAA和ISP动态选择2.主要分为两个阶段即Discovery(地址发现)阶段和PPP会话阶段,当某个主机希望发起⼀个PPPoE会话时,它必须⾸先执⾏Discovery来确定对⽅的以太⽹MAC地址并建⽴起⼀个PP-PoE会话标识符SSION_ID,虽然PPP定义的是端到端的对等关系,Discovery却是天⽣的⼀种客户端-服务器关系,在Discovery的过程中,主机(作为客户端)发现某个访问集中器(Access Concentrator,作为服务器),根据⽹络的拓扑结构,主机能够与不只⼀个的访问集中器通信.Discovery阶段允许主机发现所有的访问集中器并从中选择⼀个。

当Discovery阶段成功完成后,主机和访问集中器⼆者都具备了⽤于在以太⽹上建⽴点到点连接所需的所有信息。

3.PPPoE的帧格式和种类Discovery阶段:以太⽹帧的ETHER_TYPE域都设置为0x8863。

PPPoE Active Discovery Initiation (PADI)PPPoE Active Discovery Offer(PADO)PPPoE Active Discovery Request (PADR)PPPoE Active Discovery Sessionconfirmation (PADS)PPPoE Active Discovery Terminate(PADT)。

PPP会话阶段:以太⽹帧的ETHER_TYPE域都设置为0x8864。

PPPoE的payload部分包含O个或多个TAG。

⼀个TAG是⼀个TLV(type-length-value)结构,TAG_TYPE域为16位值(⽹络字节序),4. PPPoE的⼯作流程Discovery搜索阶段●主机发送PADl分组,其⽬的地址为⼴播地址,会话IAD为0(未分配);●任⼀接⼊服务器收到PADI并任提供所需的服务时,就回送PADO分组,会话IAD为O;●主机可能收到多个PADO,根据服务及其提供的服务选定⼀个服务器,然后向该服务器发送PADR分组,其⽬的地址为该服务器的单播地址。

PPP&PPPoE协议

PPP&PPPoE协议

接收方
Terminate-Ack
• 利用Terminate报文来断开ppp链路
Copyright © 2004, 港湾网络培训中心 BHBIN 2-10
PPP运行过程- LCP链路维护报文
Protocol 0xC021 Information
Code
IP DSLAM ADSL/VDSL 控制流/业务流
BAS
DSLAM
ADSL LAN LAN
ADSL
• 宽带网络的迅猛发展 • 运营商对于宽带接入的管理和收费需求
Copyright © 2004, 港湾网络培训中心 BHBIN 2-19
PPPoE协议概述
PPP协议概述-分层结构
3
网络层
(例如 IP, IPX, AppleTalk)
网络控制层
2
Network Control Protocol (NCP)
链路控制层
Link Control Protocol (LCP)
PPP
物理层
1 (例如EIA/TIA-232, V.24, V.35, ISDN)
• PPP的协议组成
PPPoE发现阶段
PPPoE会话阶段
• PPPOE协议提供了在广播式的网络(如以太网)中 多台主机连接到远端的宽带接入服务器的一种标准 • 所有用户的主机都与接入服务器之间建立唯一的点 到点的会话 • PPPOE协议共包括两个阶段
– PPPOE发现阶段(PPPOE Discovery Stage) – PPPOE会话阶段(PPPOE Session Stage)
• PPP协议提供了对网络层报文的承载 • 支持各种链路参数的协商 • 具有报文的多样性
Copyright © 2004, 港湾网络培训中心 BHBIN 2-4

PPP协议和PPPoE协议

PPP协议和PPPoE协议

HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
Page 2
学习完此课程,您将会: 掌握PPP协议的基本原理 掌握LCP协议和NCP协议数据 报文的交换过程 掌握PPPoE协议的基本原理
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
Page 27
会话阶段
PPPoE的会话阶段开始后,主机和访问集中 器之间就依据PPP协议传送PPP数据,进行 PPP的各项协商和数据传输。在这一阶段传 输的数据包中必须包含在发现阶段确定的会 话标识并保持不变。
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
Page 15
链路配置报文举例
两次交互,Nak情况
1 Config-Request 2 Config-Nak 3 Config-Request 4 Config-Ack 路由器A 路由器B
HUAWEI TECHNOLOGIES CO., LTD.
PPP状态转移图
链路不可用阶段
LCP报文
链路建立阶段
LCP报文
失败
链路终止阶段 网络层协议阶段
关闭
验证阶段
可选,由配置决定
通过
HUAWEI TECHNOLOGIES Cved
Page 10
LCP协议数据报文的格式
PPP封装格式
协议域
0xC021
信息域
HUAWEI TECHNOLOGIES CO., LTD.

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发现阶段的第三步,也即是由用户主机向访问服务器发送单播的请求报文。

华为路由器ppp认证和pppoe

华为路由器ppp认证和pppoe

PAP认证:只支持明文,并且通告密码CHAP认证:支持密文,不通告密码而是通告HASH值。

PAP认证报文类型:Authenticate-Request:用于被验证方发送用户名和密码,Data字段包含明文用户名和密码信息Authenticate-Ack:用于验证方发送验证成功信息,Data字段可以包含文本提示信息Authenticate-Nak:用于验证方发送验证失败信息,Data字段可以包含文本提示信息PPPoE报文是使用Ethernet格式进行封装的,Ethernet中各字段解释如下:DMAC:表示目的设备的MAC地址,通常为以太网单播目的地址或者以太网广播地址(0xFFFFFFFF)。

SMAC:表示源设备的以太网MAC地址。

Type:表示协议类型字段,当值为0x8863时表示承载的是PPPoE发现阶段的报文。

当值为0x8864时表示承载的是PPPoE会话阶段的报文。

PPPoE字段中的各个字段解释如下:VER:表示PPPoE版本号,值为0x01。

Type:表示类型,值为0x01。

Code:表示PPPoE报文类型,不同取值标识不同的PPPoE报文类型。

PPPoE会话ID,与以太网SMAC和DMAC一起定义了一个PPPoE会话。

Length:表示PPPoE报文的Payload长度,不包括以太网头部和PPPoE头部的长度。

PADI(PPPoE Active Discovery Initiation)报文:用户主机发起的PPPoE服务器探测报文,目的MAC地址为广播地址。

PADO(PPPoE Active Discovery Offer)报文:PPPoE服务器收到PADI报文之后的回应报文,目的MAC地址为客户端主机的MAC地址。

PADR(PPPoE Active Discovery Request)报文:用户主机收到PPPoE服务器回应的PADO报文后,单播发起的请求报文,目的地址为此用户选定的那个PPPoE服务器的MAC地址。

整理:关于PPP、PPOE、PPTP、L2TP、隧道技术的整理

整理:关于PPP、PPOE、PPTP、L2TP、隧道技术的整理

整理:关于PPP、PPOE、PPTP、L2TP、隧道技术的整理1、PPP:(PPP:Point to Point Protocol)点对点协议(PPP)为基于点对点连接的多协议⾃寻址数据包的传输提供了⼀个标准⽅法。

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

在 TCP-IP 协议集中它是⼀种关于同步调制连接的数据链路层协议(OSI 模式中的第⼆层),替代了原⾮标准第⼆层协议,即 SLIP。

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

PPP 主要由以下⼏部分组成:封装:⼀种封装多协议数据报的⽅法。

PPP 封装提供了不同⽹络层协议同时通过统⼀链路的多路技术。

(⼈们)精⼼的设计 PPP 封装,使其保有对常⽤⽀持硬件的兼容性。

链路控制协议:为了在⼀个很宽⼴的环境内能⾜够⽅便的使⽤,PPP 提供了 LCP。

LCP ⽤于就封装格式选项⾃动的达成⼀致,处理数据包⼤⼩的变化,探测 looped-back 链路和其他普通的配置错误,以及终⽌链路。

提供的其他可选设备有:对链路中对等单元标识的认证,和链路功能正常或链路失败情况下的决定。

⽹络控制协议:⼀种扩展链路控制协议,⽤于建⽴、配置、测试和管理数据链路连接。

配置:通过链路控制协议使 PPP 链路很容易配置。

该机制也应⽤于其它控制协议如⽹络控制协议(NCPs)为了建⽴点对点链路通信,PPP 链路的每⼀端,必须⾸先发送 LCP 包以便设定和测试数据链路。

在链路建⽴之后,LCP 可选设备才可以被认证。

然后,PPP 必须发送 NCP 包以便选择和设定⼀个或更多的⽹络层协议。

⼀旦每个被选择的⽹络层协议都被设定好了,来⾃每个⽹络层协议的数据报就能在连路上发送了。

链路将保持通信设定不变,直到外在的 LCP 和 NCP 关闭链路,或者是发⽣⼀些外部事件的时候(如,休⽌状态的定时器期满或者⽹络管理员⼲涉)。

ppp协议详解

ppp协议详解

ppp协议详解PPP协议详解。

PPP(Point-to-Point Protocol)是一种数据链路层协议,用于在两个节点之间进行数据传输。

它通常用于连接个人计算机和互联网服务提供商之间的拨号连接,也可以用于在路由器之间建立连接。

PPP协议提供了一种可靠的、可复用的数据传输方式,它具有许多优点,比如支持多种网络层协议、提供认证和加密机制等。

首先,PPP协议的工作原理是什么?在建立PPP连接时,两个节点之间会先进行链路协商,确定通信参数,比如传输速率、协议类型等。

然后进行身份认证,确认对方的身份,防止非法接入。

接下来,双方会协商IP地址分配和网络层协议的配置,最后建立数据传输通道,进行数据的传输和接收。

在数据传输过程中,PPP 协议还提供了数据校验和错误检测机制,确保数据的完整性和可靠性。

其次,PPP协议的组成部分有哪些?PPP协议由三个主要组成部分构成,链路控制协议(LCP)、身份验证协议(PAP/CHAP)和网络控制协议(NCP)。

链路控制协议用于建立、配置和测试数据链路连接,它负责链路的建立和维护。

身份验证协议用于在两个节点之间进行身份认证,PAP(密码认证协议)和CHAP(挑战握手认证协议)是两种常用的身份认证协议。

网络控制协议用于协商网络层协议的配置,比如IP地址分配、IP压缩和其他网络参数的协商。

此外,PPP协议的应用场景有哪些?PPP协议广泛应用于拨号上网、远程访问和路由器之间的连接。

在拨号上网场景中,用户通过调制解调器拨号连接到互联网服务提供商的接入服务器,建立PPP连接进行数据传输。

在远程访问场景中,用户可以通过PPP连接远程访问公司内部网络,进行文件共享、打印等操作。

在路由器之间的连接中,PPP协议可以用于建立点对点的连接,进行路由信息的交换和路由器之间的通信。

最后,PPP协议的发展趋势是什么?随着互联网的发展,PPP协议逐渐被更先进的协议所取代,比如PPPoE(PPP over Ethernet)和L2TP(Layer 2 Tunneling Protocol)。

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

PPP(Point-to-Point Protocol点到点协议),一种二层协议,通常部署在专线网和按需电路网上面,PPP 有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。

这些丰富的选项增强了PPP的功能。

同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。

因此,应用十分广泛当然,在专线网上我们也可以使用HDLC二层协议,但用的并不多,原因有三:1.不支持验证,一层通二层就通2.不支持多种上层协议(ip/ipx/appletalk等),而PPP帧中专门有一个字段用来标示上层协议类型3.HDLC协议为厂商私有协议,各个厂商互不兼容,但HDLC是cisco产品的默认广域网封装方式,要使用PPP协议需要encapsulation ppp 命令改变接口封装协议我们家庭拨号上网就是通过PPP协议在用户端和运营商的接入服务器之间建立通信链路。

目前,宽带接入已基本取代拔号接入,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。

典型的应用是在ADSL(非对称数据用户环线,Asymmetrical Digital Subscriber Loop)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。

利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。

PPPoE 即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。

同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。

它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准好的,下面我们就以点到点专线上的PPP协议和以太网上的PPPoE协议为例,详细介绍它们的工作原理、验证过程及其配置方法一、点到点专线上的PPP协议PPP特性有很多,但主要的特性是具备验证技术,所以在此我们主要是讨论PPP的验证。

PPP的验证方式分为两种:PAP和CHAPPAP( 密码验证协议):客户端向服务器端发送验证信息,包含用户名和密码。

如果用户名和密码与服务器里保存的一致,那就通过验证,否则就不能通过(通过两次握手)。

CHAP(挑战握手验证协议):CHAP首先是由服务器发起的,它向客户端发送含有random值(随机生成)、id号、用户名和密码的数据,客户端收到数据后提取random、id和用户所对应的密码使用MD5算法进行哈希(hash)得到hash值。

然后再把自己保存的用户名连同id和刚得到的hash值一起发送给服务器。

服务器再收到数据后也进行以上操作得到hash值,再把算得的hash值与从客户端得到的hash 值进行比较:两值相同服务器就发送一个通过的信息;两值不同服务器就发送一个拒绝的信息。

可以看出,CHAP在整个验证过程中是不发送密码的,所以是一种安全的认证。

好的,下面我们就以实例来演示PAP和CHAP的配置过程1、实验拓朴2、配置步骤首先我们来做个PAP认证1)基本配置:R1#conf tR1(config)#int s0R1(config-if)#ip add 192.168.0.1 255.255.255.252R1(config-if)#no shutdownR2#conf tR2(config)#int s0R2(config-if)#ip add 192.168.0.2 255.255.255.252R2(config-if)#no shutdown配完之后我们发现两边接口一层和二层都up了,因为在cisco串行接口默认封装为HDLCR1#sh ip int briInterface IP-Address OK? Method Status ProtocolFastEthernet0 unassigned YES unset administratively down downSerial0 192.168.0.1 YES manual up upSerial1 unassigned YES unset administratively down downR1#sh int s0Serial0 is up, line protocol is upHardware is PowerQUICC SerialInternet address is 192.168.0.1/30MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,reliability 255/255, txload 1/255, rxload 1/255Encapsulation HDLC, loopback not set2)封装PPP,并将认证方式设为PAPR1(config)#int s0R1(config-if)#encapsulation ppp这时发现链路down了,因为两边封装协议不一样R2(config)#int s0R2(config-if)#encapsulation ppp这时链路又UP了,因为PPP默认是不作认证的R1(config)#username jxxh password 123 ‘建立本地数据库R1(config)#int s0R1(config-if)#ppp authentication pap ‘指定认证方式为PAP此时链路又down了,因为R1要求认证R2(config)#int s0R2(config-if)#ppp pap sent-username jxxh password 123 ‘指定用于PAP认证的用户名和密码这时R2会把用户名jxxh和密码 123发给R1做认证,R1对照数据库,匹配成功,因为链路又UP起来,这种认证我们把它称之为单向认证,R1是认证方,R2为被认证方,单向认证一般用于服务器和客户端的网络环境。

如果两端是平级关系,可以考虑做双向认证,两边都认证通过,链路才能建立起来。

R2(config)#username xhjx password 456 ‘建立本地数据库R2(config)#int s0R2(config-if)#ppp authentication pap ‘指定认证方式为PAPR1(config)#int s0R1(config-if)#ppp pap sent-username xhjx password 456 ‘指定用于PAP认证的用户名和密码在PAP配置过程中,两边的密码可以不同,但本地发送的用户名和密码一定要在对方数据库中能够找到,否则将验证不通过。

另外,在本例中是采用本地数据库做认证,我们也可以采用AAA服务器作认证,方便管理大型数据库,并且提高数据库的安全性,关于AAA服务器认证可参见前期文章《详解cisco ACS AAA 认证》,在此就不赘述。

接下来我们来做个CHAP认证,拓朴图如上,我们先来分析一下它的验证过程1)R1拨入到R2上2)R2对R1发出一个挑战数据包具体内容包括: 01+id+random+R2并且将id和random保存在自己的路由器中,为后面反hash验证做准备此处:01所在字段是类型字段,01表示这是一个挑战.id字段表示这次挑战的序列号random为挑战方随机产生的数字.R2为hostname定义的名称,用于对方根据该名称查找对应的password3)R1收到了R2发给它的挑战信息时首先它会根据对方主机名R2查找数据库(可以是本地的或者TACACS+或RADIUS)来得对应的密码,然后将密码,id,random这3者做MD5得到一个hash值我们暂定为hash14)R1发送挑战回应数据包给R2具体内容包括:02+id+hash1+R1此处:02不用多说了同01为一个类型字段id同R2挑战包里id一样hash1同红色标记部分R1当然为hostname所定义的名字5)R2收到回应挑战包首先它会根据R1这个主机名查找数据库(可以是本地的或者TACACS+或RADIUS)来得对应的密码,然后将这个密码和发出挑战包时候保存的那个id和random值做MD5得到一个hash,我们暂定为hash2,比较hash1和hash2,如果一样则验证通过否则失败。

这是单向认证,如果是双向认证则重复前面的过程6)配置过程R1(config)#username R2 password 123R1(config-if)#encapsulation pppR1(config-if)#ppp authentication chapR2(config)#username R1 password 123R2(config-if)#encapsulation pppR2(config-if)#ppp authentication chap在上面的配置中,双方默认都是用真实用户名去和别人验证,我们也可以通过PPP CHAP hostname命令任意指定用户名,但一定要和对端数据库的用户名相同,另外,两边数据库的密码要相同。

在此,我们也可以做单向认证:R1(config)#username jxxh password 123R1(config-if)#encapsulation pppR1(config-if)#ppp authentication chapR2(config-if)#encapsulation pppR2(config-if)#ppp chap hostname jxxh ‘指定用于chap验证的用户名R2(config-if)#ppp chap password 123 ‘指定用于chap验证的密码二、以太网上的PPPoE协议1、实验柘朴2、配置步骤PPPoE表示在以太网上架构PPP协议,我们家庭ADSL用户拔号一般采用该种方式,在国内PPP验证方式一般为PAP,在本例中将演示PC机直接拔号和通过路由器拔号两种操作1) server端配置server#conf tEnter configuration commands, one per line. End with CNTL/Z.server(config)#vpdn enable ‘启用VPDNserver(config)#vpdn-group 1 ‘配置VPDN组server(config-vpdn)#accept-dialin ‘设置VPDN为接受拔入server(config-vpdn-acc-in)#protocol pppoe ‘设置VPDN据承载的应用协议server(config-vpdn-acc-in)#virtual-template 1 ‘设置VPDN接受拔入时使用的模板号server(config-vpdn)#pppoe limit per-mac 2 ‘设置PPPoe客户端同一MAC地址的最大连接数server(config-vpdn)#pppoe limit max-sessions 300 ‘设置PPPoe最大的连接数server(config)#user jxxh password 123 ‘建立本地数据库server(config)#int f0server(config-if)#no ip addserver(config-if)#pppoe enable ‘启用PPPoe服务器server(config-if)#no shutdownserver(config)#int virtual-template 1 ‘创建虚模板server(config-if)#ip add 200.200.200.1 255.255.255.0server(config-if)#peer default ip address pool jxxhpool ‘设置客户端默认从地址池获取地址server(config-if)#ppp authentication pap ‘启用PAP认证server(config-if)#exserver(config)#ip local pool jxxhpool 200.200.200.2 200.200.200.254 ‘创建本地地址池server#2) PC端设置创建一个新的连接,根据提示创建一个PPPoE连接◊属性◊右击网络邻居通过上图,我们可以看到该PC已经连接上server,并且获得了IP地址,我们可以测试下一下和服务器是否相通:再测试下能否ping通server后面的网络,我们可以先在server上创建一个回环地址来表示后面的网络,server(config)#int loopback 1server(config-if)#ip add 100.100.100.1 255.255.255.03) Client端配置client#conf tclient(config)#int f0client(config-if)#no ip addclient(config-if)#pppoe enable ‘启用PPPoeclient(config-if)#pppoe-client dial-pool-number 1 ‘配置PPPoe客户端,并将F0接口放入拔号集1中client(config-if)#no shutdownclient(config-if)#exclient(config)#int dialer 0 ‘设置拔号接口client(config-if)#ip add negotiated ‘从服务器协商获得地址client(config-if)#encapsulation ppp ‘封装为PPPclient(config-if)#dialer pool 1 ‘配置拔号池client(config-if)#dialer-group 1 ‘引用触发列表client(config-if)#ppp pap sent-username jxxh password 123 ‘发送PAP认证用户名和密码client(config-if)#exclient(config)#ip route 0.0.0.0 0.0.0.0 dialer 0 ‘设置默认路由client(config)#dialer-list 1 protocol ip permit ‘设置触发拔号的数据类型4) 验证在client查看接口,可以看出dialer0已经UP,并且获得地址:client#sh ip int briInterface IP-Address OK? Method Status Protocol FastEthernet0 unassigned YES manual up upVirtual-Access1 unassigned YES unset up up Dialer0 200.200.200.3 YES IPCP up up测试网络是否相通:client#ping 200.200.200.1 ‘ping服务器Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 200.200.200.1, timeout is 2 seconds: !!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 28/57/132 ms client#ping 200.200.200.2 ‘ping其他客户端Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 200.200.200.2, timeout is 2 seconds: !!!!!client#ping 100.100.100.1 ‘ping服务器后面的网段Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 100.100.100.1, timeout is 2 seconds: !!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 12/39/80 ms 查看pppoe会话:client#sh pppoe session allTotal PPPoE sessions 1PPPoE Session Informationsession id: 2local MAC address: d001.0ccc.0000, remote MAC address: d002.0ccc.0000 virtual access interface: Vi1, outgoing interface: Fa0101 packets sent, 101 received2913 bytes sent, 2921 receivedserver#show pppoe session allTotal PPPoE sessions 2PPPoE Session Informationsession id: 2local MAC address: d002.0ccc.0000, remote MAC address: d001.0ccc.0000 virtual access interface: Vi1.2, outgoing interface: Fa0128 packets sent, 127 received3497 bytes sent, 3469 receivedsession id: 1local MAC address: d002.0ccc.0000, remote MAC address: 0011.0940.7fd7 virtual access interface: Vi1.1, outgoing interface: Fa0115 packets sent, 173 received3228 bytes sent, 7613 received关于PPP和PPPoE相关知识我们就介绍到这。

相关文档
最新文档