PPP & PPPoE & L2TP & PPTP 一文全介绍

本文全面介绍了PPP协议及其衍生协议PPPoE、PPTP和L2TP的相关概念、工作原理和技术细节,对比了这些协议的特点和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. PPP

1.1 PPP 介绍

1.2 PPP 帧格式

1.3 LCP

1.4 认证

1.5 NCP

2. PPPoE

2.1 介绍

2.2 拓扑

2.3 报文格式

2.4 报文流程

2.5 PPP会话阶段

2.6 BCP

3. PPTP

3.1 工作原理

3.2 报文格式

3.2.1 控制报文

3.2.2 数据报文

3.3 报文流程

3.4 实现

4. L2TP

4.1 介绍

4.2 典型组网

4.3 配置界面

4.4 数据格式

4.5 控制通道和数据通道

4.6 PPTP 和 L2TP 比较


1. PPP

1.1 PPP 介绍

PPP协议:

        点到点链路数据链路层协议,在SLIP(Serial Line Internet Protocol)基础上发展起来。可提供用户验证,易扩充,支持全双工同步异步通信。

SLIP:

        只支持异步传输、不支持协商(不能协商双方IP地址等网络层属性)、只能承载IP报文等缺陷。SLIP逐步被PPP替代。

PPP可在串行通信线路上传输多种网络层协议,如IP、IPX、AppleTalk。

PPP既支持同步又支持异步,而X.25、FR(Frame Relay)等链路层仅支持同步,SLIP仅支持异步。

点到点直接连接是简单的广域网连接形式,如PPP。

PPP有良好扩展性,如需在以太网上承载PPP协议时,可扩展为PPPoE。

PPP包含:

        1. LCP(Link Control Protocol)协议:

                建立、拆除和监控PPP数据链路。

        2. NCP(Network Control Protocol)协议:

                协商网络层格式与类型。

       3. CHAP 和 PAP:

               CHAP:(Challenge-Handshake Authentication Protocol)。

                PAP:(Password Authentication Protocol)。

1.2 PPP 帧格式

Flag域:

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

Address域:

        唯一标识对端,点对点链路无须对方链路层地址,0xFF即可。

Control域:

        默认为0x03,表明为无序号帧,PPP默认不采用Seq和ACK来实现可靠传输。

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

Protocol域:标识信息域中数据包类型:

        0x0021         IP

        0xC021         LCP

        0x8021         NCP

        0xC023         PAP

        0xC025         LQR

        0xC223         CHAP

Information域:

        最大长度MRU默认1500字节,可实际协商。长度不够可填充。

FCS域:

        校验。

链路建立过程:

PPP链路建立过程:

        1. Establish阶段:LCP协商

                协商内容:SP(Single-link PPP)还是MP(Multilink PPP)、MRU、认证方式、魔术字等选项。

                LCP协商成功后进入Opened状态,表示底层链路建立。

        2. Authenticate阶段:CHAP或PAP验证,成功后为SUCCESS状态。

        3. Network阶段:NCP协商

                IPCP(IP Control Protocol)、MPLSCP(MPLS Control Protocol)

                IPCP会协商双方IP

NCP协商后,链路建立成功。运行过程中,可能随时中断连接,物理链路断开、认证失败、超时等都可能导致链路进入Terminate阶段。

Terminate阶段,所有资源被释放,通信双方回到Dead。

1.3 LCP

LCP报文:

Code域:即编码,标识LCP报文类型

        0x01         Configure-Request

        0x02         Configure-Ack

        0x03         Configure-Nak

        0x04         Configure-Reject

        0x05         Terminate-Request

        0x06         Terminate-Ack

        0x07         Code-Reject

        0x08         Protocol-Reject

        0x09         Echo-Request

        0x0A         Echo-Reply

        0x0B         Discard-Request

Identifier:即ID,

        用来匹配请求和响应。

        请求报文的ID从0x01递增。

Length:

        即长度,Data域总长度,即Type、Length和Data总长度。

Data字段:

        即LCP数据段。

type:报文类型

        0x01         MRU 最主要

        0x02         Async-Control-Character-Map

        0x03         Authentication-Protocol (身份验证PAP or CHAP,若无认证则不包含该type)

        0x04         Quality-Protocol(协商使用链路检测的方法ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山下小童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值