PPP协议
PPP协议
PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址。PPP支持在各种物理类型的点对点串行线路上传输上层协议报文。它具有很多特性,比如支持多协议、提供可选的身份认证服务、以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。
PPP协议帧格式
PPP数据帧格式如下所示:
| 7E | FF | 03 | 7E | |||
|---|---|---|---|---|---|---|
| 标志 | 地址 | 控制 | 协议域 | 信息域 | 校验 | 标志 |
| 1B | 1B | 1B | 2B | 缺省1500B | 2B | 1B |
每个PPP数据帧都是以一个标志字节开始和结束的,该字节为0x7E.
接下来分别为地址域,值固定位0xFF(因为点对点协议,对方的地址固定);控制域(固定位0x3); 协议域,用来区分PPP数据帧中信息域所承载的数据报文的内容,几种常见的协议如下所示:
| 0xC021 | LCP协议报文 |
|---|---|
| 0xC023 | PAP协议的认证报文 |
| 0xC223 | CHAP协议的认证报文 |
| 0x8021 | NCP 协议报文 |
| 0x0021 | IP数据报文 |
PPP协议栈
PPP更像是一种应用,类似一个拨号上网的应用软件,拨号成功后,本地主机就可以正常上网,可以使用TCP/IP协议,而完全感觉不到PPP的存在。PPP协议包含三组件:
- 链路控制协议LCP
- 网络控制协议NCP
- PPP扩展协议(如Multilink Protocol)
其中,LCP协议完成数据链路的配置和测试;NCP协议完成点对点通信设备之间网络层通信所需要的参数的配置;
工作流程
(1)当用户拨号接入ISP后,就建立了一条用户PC机到ISP的物理连接
(2)用户PC机向ISP发送一系列的LCP分组(封装成多个PPP帧),以便建立LCP连接
(3)这些分组及其响应选择了将要使用的一些PPP参数
(4)NCP协议给新接入的用户PC机分配了一个临时的IP地址,这样用户PC机就成了因特网上一个有IP地址的主机了
(5)用户通信完毕后,NCP释放网络层连接,收回原来释放出去的IP地址
(6)LCP释放数据链路层连接
(7)释放物理连接
其图示如下所示。
LCP连接
当用户PC机通过调制解调器呼叫ISP服务器,服务器能够检测到载波信号,双方建立了物理连接,之后PPP进入“链路建立”状态,其目的是建立链路层的LCP连接。
通信双方通过请求-响应帧来进行通信,主要是协商一些配置参数。包括链路上的最大帧长,所使用的鉴别协议的规约(如果有的话),以及不使用PPP帧中的地址和控制字段。协商完成后,LCP连接就建立完成,接着进入鉴别阶段。
鉴别状态(身份认证)
用户在拨号上网的时候需要输入用户名和密码来向服务器确定自己的身份,这个认证过程是在LCP连接建立完成之后进行的。
身份认证主要有两种方法:口令验证协议(PAP, Password Authentication
Protocol)和质询握手协议(Challenge Handshake Authentication Protocol,
CHAP)。如果双方在LCP配置的时候达成一致,也可以不使用任何身份认证的方法。
PAP协议使用两次握手,明文传送用户名和密码的方式进行身份认证;CHAP使用三次握手,MD5加密和随机数的方式进行身份认证。
CHAP比PAP方法更安全,因为不在线路上传送明文密码,而是传送经过摘要算法加工过的随机序列。同时CHAP中,身份认证可以随时进行,包括在双方正常通信过程中,因此,非法用户就算截获并成功破解了一次密码,此密码也将在一段时间内失效。CHAP对端系统要求很高,因为需要多次进行身份质询、响应。这需要耗费较多的CPU资源,因此只用在对安全要求很高的场合。
当身份认证通过之后,会进入NCP连接建立阶段。
NCP连接
NCP根据网络层的不同协议互相交换网络层特定的网络控制分组,PPP协议两端的网络层可以运行不同的网络层协议,但仍然可以使用同一个PPP协议进行通信。NCP会配置客户端的IP地址,之后客户机就可以上网。
注意,在用户上网的时候,仍需要PPP协议对IP包进行封装传输数据。
PPPoE
PPP协议要求进行通信的双方是点到点的关系,不适于广播类型的以太网和另外一些多点访问类型的网络,于是产生了PPPoE协议(Point-to-Point
Protocol over
Ethernet)。它不仅为使用桥接以太网接入的用户提供了一种宽带接入手段,同时还给你提供方便的接入控制和计费。每个接入用户均建立一个独一无二的PPP的会话。
PPP协议的更多相关文章
- 2016.6.17 计算机网络复习要点之PPP协议
点对点协议PPP是目前使用最广泛的数据链路层协议. 1.PPP协议的特点: **我们知道因特网用户通常需要连接到某个ISP才能接入到因特网,PPP协议就是用计算机和ISP进行通信时所使用的数据链路层协 ...
- PPP协议总结
PPP协议总结 PPP协议是一种在点到点链路上传输.封装网络数据包的数据链路层协议,PPP支持同步/异步方式的链路上. 一. PPP支持的链路类型 1. 同步和异步专线 2. 同步拨号链路. 3. 异 ...
- ppp协议介绍(转)
原文:https://www.cnblogs.com/gtarcoder/p/6259105.html PPP协议PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址.PPP ...
- [na]ppp协议链路认证-chap认证流程
Point-to-Point Protocol (PPP)协议是广域网链路的一种协议,不同于局域网的ethernetII协议 PPP协商过程,分三步:LCP.认证.NCP. 一 协议概述 PPP包含以 ...
- 数据链路层--PPP协议
数据链路层使用的信道主要有两种类型:点对点信道和广播信道. 点对点 路由器在转发分组时只使用了下面的三层. 链路是从一个结点到相邻结点的一段物理线路,中间没有其他交换结点. 必须有一些必要的通信协议来 ...
- 路由器配置PPP协议 CHAP验证 PAP验证
路由器配置PPP协议 CHAP验证 PAP验证 来源 https://www.cnblogs.com/tcheng/p/5967485.html PAP是两次握手,明文传输用户密码进行认证:CHAP是 ...
- 路由器配置深入浅出—路由器接口PPP协议封装及PAP和CHAP验证配置
知识域: 是针对点对点专线连接的接口的二层封装协议配置 PPP的PAP和CHAP验证,cpt支持,不一定要在gns3上做实验. 路由器出厂默认是hdlc封装,修改为ppp封装后,可以采用pap验证或者 ...
- ppp协议解析二
转:http://blog.csdn.net/yangzheng_yz/article/details/11526747 PPP(Point to Point Protocol,点对点协议)协议是为在 ...
- PPP协议解析一
转:http://blog.csdn.net/yangzheng_yz/article/details/11526475 在网上搜集了一些有关PPP的资料,整理了一下,不能说是原创,仅供大家学习研究. ...
随机推荐
- rc.local文件
rc.local用于自启动一些服务. 查看有哪些自启动服务: cat /etc/rc.local
- (三)SQL入门 数据库规格化简介
什么是数据库的规格化呢,说白了就是为了去除数据库冗余.为了数据库更加容易管理而将大表按照逻辑划分为小表的过程. 什么是数据库的去规格化呢,就是规格化的反面.那么你可能就会问,既然上面说了数据库的规格化 ...
- WebService "因 URL 意外地以 结束,请求格式无法识别" 的解决方法
最近在做一个图片上传的功能,js调用用webservice进行异步访问服务器,对于不是经常用webservice的菜鸟来说,经常会遇到以下的问题(起码我是遇到了) 在页面上写了js调用代码如下所示: ...
- Windows访问Ubuntu14.04远程桌面全攻略
最近接到一个任务,在Ubuntu系统下开发一个串口读写程序.开发要在台式机上进行,安装UbuntuKylin 14.04,并且在串口连接了设备.个人使用的是笔记本电脑,系统是Windows8.1.自然 ...
- catalina
用catalina启动tomcat容器,将项目放到tomcat中,通过cmd:启动:catalina,相当于本地的测试环境.
- spring " expected single matching bean but found 2" 问题一例。
初入java,使用spring时遇到一个问题,左边是一个接口和实现.右边是service和实现. @Service@Transactional(rollbackFor = Exception.clas ...
- Hello Spring Framework——源(Resources)
本文介绍Spring框架如何解析外部资源文件,仅参考官方文档<第7章 Resources>. ***************************以下是正文的部分************ ...
- RobotFramework中加载自定义python包中的library(一个py文件中有多个类)
结构如下: appsdk\ appsdk.py(这里面有多个类,包括appsdk,appsdksync等类) __init__.py ... ① 有个appsdk的文件夹(符合python包的定义) ...
- HTML5的Video标签的属性,方法和事件汇总
<video>标签的属性 src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览 ...
- 将windows server 2016改造为像windows 10一样适合个人使用的系统
Windows server 2016 RTM已流出,具体可以搜索wzor大神泄露的,英文版本是0911的.现根据我安装后整理的如何配置使个人更适合使用. 20170102更新:wzor泄漏的0911 ...