详细解读ppp协议

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 点对点形式,大家应该都知道。那么支持这个形式的协议就是PPP协议。那么这个协议的一些作用和功能大家是否清楚呢?这里我们就针对PPP协议来进行一下详述。想必大家在阅读之后,对这个协议能够有一个新的认识。

点对点形式,大家应该都知道。那么支持这个形式的协议就是PPP协议。那么这个协议的一些作用和功能大家是否清楚呢?这里我们就针对PPP协议来进行一下详述。想必大家在阅读之后,对这个协议能够有一个新的认识。

PPP协议

一、介绍

PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

二、 PPP链路建立过程

PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。

LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。

下面介绍PPP链路建立的过程:

一个典型的链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。

阶段1:创建PPP链路

LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。

应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。

阶段2:用户验证

在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。

在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。

最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。 认证方式介绍在第三部分中介绍。

阶段3:调用网络层协议

认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。

这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。

三、 认证方式

1)口令验证协议(PAP)

PAP是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。

2)挑战-握手验证协议(CHAP)

CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。

CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。

四、PPP协议的应用

PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

家庭拨号上网就是通过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协议的简单完整使它得到了广泛的应用,相信在未来的网络技术发展中,它还可以发挥更大的作用。

http://network.51cto.com/art/201009/223784.htm

相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
目录
相关文章
|
缓存 算法 网络协议
面向5G的阿里自研标准化协议库XQUIC
XQUIC是阿里巴巴淘系架构团队自研的IETF QUIC标准化协议库实现,在手机淘宝上进行了广泛的应用,并在多个不同类型的业务场景下取得明显的效果提升,为手机淘宝APP的用户带来丝般顺滑的网络体验: 在RPC请求场景,网络耗时降低15% 在直播高峰期场景,卡顿率降低30%、秒开率提升2% 在短视频场景,卡顿率降低20%
4606 1
面向5G的阿里自研标准化协议库XQUIC
|
4月前
|
搜索推荐 Java 定位技术
Java实现利用GeoLite2-City.mmdb根据IP定位城市的方法
在城市,国家,地区等地理位置数据获取之后,你可以依指定的业务需求,来进行进一步的数据处理。例如,你可以设计一个应用,根据用户的 IP 地址来个性化地展示内容,或者用于分析网络请求的来源等。
756 20
|
11月前
|
开发框架 监控 搜索推荐
GoFly快速开发框架集成ZincSearch全文搜索引擎 - Elasticsearch轻量级替代为ZincSearch全文搜索引擎
本文介绍了在项目开发中使用ZincSearch作为全文搜索引擎的优势,包括其轻量级、易于安装和使用、资源占用低等特点,以及如何在GoFly快速开发框架中集成和使用ZincSearch,提供了详细的开发文档和实例代码,帮助开发者高效地实现搜索功能。
572 0
|
人工智能 自然语言处理 计算机视觉
推荐收藏!2024年新版GPT详细论文润色指南【更新至2024年4月30日】
推荐收藏!2024年新版GPT详细论文润色指南【更新至2024年4月30日】
1051 0
|
存储 Kubernetes 算法框架/工具
Kubevirt
Kubevirt
500 12
|
监控 安全 Unix
探索Linux操作系统的多用户管理特性
【6月更文挑战第3天】本文深入探讨了Linux操作系统中的一项核心功能——多用户管理。我们将从系统管理员的视角出发,分析如何高效地创建、维护和监控多个用户账户,以及这一机制对于确保系统安全性和资源合理分配的重要性。文章将通过实际案例,展示多用户环境下权限设置的最佳实践,旨在帮助读者更好地理解和应用这些关键概念。
|
人工智能 小程序 安全
Kimi 高效使用技巧,80%的人都不知道(上)
Kimi 高效使用技巧,80%的人都不知道
|
数据采集 数据可视化 小程序
Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具)
Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具),可通过拖拽实现GUI代码的开发,适用对象 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其他工具和框架 比如wxPython,PyQt4的同学。 适用于界面不太复杂的小程序开发,界面复杂的还是适用wxPython等框架吧。 因为TKinter为Python标准库,使用TKinter完成的Python程序可以称为 “绿色软件”,不需要目标机器上安装wxPython,PyQt4等框架,只要有Python 的机器就能运行
6073 2
Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具)
|
存储 缓存 安全
Java用户登录验证系统流程
JAVA项目中用户登录验证功能详解
816 0
Java用户登录验证系统流程
|
缓存 算法 安全
2333:NHRP 协议适用性声明
根据路由协议标准 [RFC 1264] 的要求,本备忘录讨论了下一跳解析协议 (Next Hop Resolution Protocol,NHRP) 在非广播多路访问 (Non-Broadcast Multiple Access,NBMA) 网络(例如 ATM、SMDS 和 X.25)上路由 IP 数据报的适用性。
319 0
2333:NHRP 协议适用性声明