ppp协议支持动态协商ip地址.docx
《ppp协议支持动态协商ip地址.docx》由会员分享,可在线阅读,更多相关《ppp协议支持动态协商ip地址.docx(8页珍藏版)》请在冰豆网上搜索。
ppp协议支持动态协商ip地址
竭诚为您提供优质文档/双击可除
ppp协议支持动态协商ip地址
篇一:
ppp协议
ppp(point-to-pointprotocol)
ppp(point-to-pointprotocol)协议是一个点到点的数据链路层协议,目前是tcp/ip网络中最重要的点到点数据链路层协议。
ppp协议由ietF(internetengineeringtaskForce)开发,目前已被广泛使用并成为国际标准。
ppp协议作为一种提供在点到点链路上传输、封装网络层数据包的数据链路层协议,处在tcp/ip协议栈的第二层,主要被设计用来在支持全双工的同异步链路上进行点到点之间的数据传输。
ppp是一个适用于通过调制解调器、点到点专线、hdlc比特串行线路和其它物理层的多协议帧机制。
它支持错误检测、选项商定、头部压缩等机制,在当今的网络中得到普遍的应用。
例如同学们所熟悉的利用modem进行拨号上网(163、169、165等)就是使用ppp实现主机到网络连接的典型例子。
如图4.8所示。
4.4.1ppp的特性
ppp协议是目前使用得最广泛的广域网协议,这是因为它具有以下特性:
能够控制数据链路的建立;
能够对ip地址进行分配和使用;
允许同时采用多种网络层协议;
能够配置和测试数据链路;
能够进行错误检测。
有协商选项,能够对网络层的地址和数据压缩等进行协商。
ppp是现在主流的一种国际标准wan封装协议,可支持如下连接类型:
同步串行连接;
异步串行连接;
isdn连接;
hssi连接。
4.4.2ppp的组成
ppp作为数据链路层的协议,在物理上可使用各种不同的传输介质,包括双绞线、光纤及无线传输介质,在数据链路层提供了一套解决链路建立、维护、拆除和上层协议协商、认证等问题的方案;在帧的封装格式上,ppp采用的是一种hdlc的变化形式;其对网络层协议的支持则包括了多种不同的主流协议,如ip和ipx等。
图4.9给出了ppp的体系结构,从图4.9中可以看出,ppp协议主要由两类协议组成:
1.链路控制协议族(lcp)
链路控制协议(linkcontrolprotocol,lcp)主要用于数据链路连接的建立、拆除和监控;lcp主要完成mtu(最大传输单元)、质量协议、验证协议、魔术字、协议域压缩、地址和控制域压缩协商等参数的协商。
2.网络层控制协议族(ncp)
网络层控制协议族(networkcontrolprotocol,ncp)主要用于协商在该链路上所传输的数据包的格式与类型,建立和配置不同网络层协议;
目前,ncp有ipcp和ipxcp两种。
ipcp用于在lcp上运行ip协议;ipxcp用于在lcp上运行ipx协议。
在这里只介绍ipcp。
ipcp主要有两个功能:
其一是协商ip地址(用于ppp通信的双方中一侧给另一侧分配ip地址),其二是协商ip压缩协议(即是否采用Vanjacobson压缩协议)。
同时,ppp还提供了用于安全方面的验证协议族(pap和chap)。
4.4.3ppp的帧格式
ppp的帧格式如图4.10所示。
所有的ppp帧是以标准的hdlc标志字节(01111110)开始的,如果是用在信息字段上,就是所填充的字符。
地址字段(a):
总是设成二进制值11111111,表明主从端的状态都为接收状态。
控制字段(c):
其缺省值为00000011,此值表明是一个无序号帧。
换言之,缺省情况下,ppp没有采用序列号和确认来进行可靠传输。
在有噪声的环境中,如无线网络,则使用编号方式进行可靠的传输,
协议字段(p):
是告知在信息字段中使用的是哪类分组,针对lcp、ncp、ip、ipx、appletalk及其它协议,定义了相应的代码。
信息字段(i):
是变长的,最多可达到所商定的最大值。
缺省长度1500字节。
如果需要的话,在有效内容后面增加填充字段。
4.4.4ppp的协商过程
ppp链路的建立是通过一些列的协商完成的。
其中,链路控制协议除了用于建立、拆除和监控ppp数据链路,还主要进行数据链路层特性的协商,如mtu、验证方式等;网络层控制协议族主要用于协商在该数据链路上所传输的数据的格式和类型,如ip地址。
ppp在建立链路之前要进行一些列的协商过程。
ppp协议大致可以分为如下几个阶段:
dead(链路不可行)阶段、establish(链路建立)阶段、authenticate(验证)阶段、network(网络层协议)阶段、terminate(链路终止)阶段。
如图4.11所示。
(1)链路不可用阶段(dead):
链路必须从这个阶段开始和结束。
当一个外部事件(比如一个载波信号或网络管理员配置)检测到物理层可用,ppp就会进入到establish阶段。
在dead阶段,lcp状态机有两个状态:
initial和starting。
从这个状态迁移到establish状态会给lcp状态机送一个up
事件。
当断开连接
后,链路会自动的回到这个状态。
在一般情况下这个阶段是很短的,仅仅只是检测到设备在位。
(2)链路建立阶段(establish):
lcp协议用来建立一个传输配置数据包的连接,一旦发送一个configure-ack数据包并被对端正确的接收,lcp进入opened状态,就停止配置数据包的发送了。
lcp只配置与网络层协议无关的配置,各个网络层协议的配置通过各自的网络控制协议(ncp)在网络层协议(network-layerprotocol)阶段配置。
在链路建立阶段接收到的非lcp数据包会直接丢弃。
在网络层协议阶段或验证阶段一旦收到一个configure-Request就会回到链路建立阶段。
(3)验证阶段(authenticate):
某些链路可能要求对端验证自己之后才允许网络层协议数据包在链路上传输,在缺省值中验证是不要求的。
如果某个应用要求对端采用特定的验证协议进行验证,则必须在链路建立阶段发出使用这种协议的请求。
只有当验证通过时才可以进入网络层协议阶段,如果验证不通过,则应继续验证而不是转到链路终止阶段。
在这个阶段只允许链路控制协议、验证协议和链路质量检测的数据包进行传输,其他的数据报都应丢弃。
(4)网络层协议阶段(network-layerprotocol):
当ppp结束前面的几个阶段,每个网络层协议(如ip、ipx)就要通过适当的网络控制协议独立的进行配置。
每个ncp随时都可能是打开或关闭状态。
当某个网络控制协议达到opened状态,ppp将运送相应的网络层协议的数据包。
在某个网络控制协议到达opened状态之前,收到的与之对应的网络层协议数据包将被丢弃。
在这个阶段,链路上传输的有任何可能的lcp、ncp和网络层协议的数据包组合。
(5)链路终止阶段(linkterminate):
ppp可以在任何时候终止链路,这可能是由于载波信号的丢失、验证不通过、链路质量不好、定时器超时或管理员关闭链路。
ppp通过交换终止链路的数据包来关闭链路,当交换结束时,应用就告诉物理层拆除连接从而强行终止链路。
但验证失败时,发出终止请求的一方必须等到收到终止应答或者重起计数器超过最大终止计数次数才断开连接。
收到终止请求的一方必须等对方先断开连接,而且在发送终止应答之后必须等至少一次重起计数器超时之后才能断开连接,之后ppp回到链路不可用状态。
篇二:
tcp&ip-ppp
1:
ppp协议的前身是:
______(slip)
2:
slip的简单介绍
slip曾经有过非常辉煌的日子,它曾经主宰了internet半边江山,那个时候,人们可以通过在计算机中安装该协议实现浏览internet的梦想,还可以通过这种方式来连接各种网络设备(例如:
路由器和路由器之间,路由器和主机之间,主机和主机之间)
3:
slip协议的封装格式
4:
ppp协议简介
ppp提供了一种在点对点的链路上封装多协议数据报(ip,ipx和appletalk)的标准方法。
5:
ppp协议的三部分
1>lcp(linkcontrolprotocol)(链路层控制协议)
2>ncp(networkcontrolprotocol)(网络层控制协议)
3>ppp的扩展协议
6:
注意
slip仅能封装ip协议,但是ppp协议却能封装多个协议
7:
ppp协议的格式
详细说明:
1>每一个ppp数据帧都是以一个标志字节起始和结束的,该字节为0x7e
2>由于ppp协议是被运用在点对点的链路上,而点对点的链路又可以唯一的标识对方
所以,使用ppp协议互联的通信设备的两端不必要知道对方的链路层地址,所以
addR字段是没有意义的,按照协议的规定:
该字节填充为全1的广播地址
3>控制域:
同地址域一样,ppp的控制域也没有实际意义,按照协议的规定,通信
双方把该字节的内容填充为:
0x03
4>协议域:
用来区分ppp数据帧中信息域所承载的数据报文的内容,协议规定:
协议
域的内容必须为奇数
--------------------
注意:
如果数据帧不符合上述规定,则接收端会认为此数据帧是不是识别的,接收
端会向发送端发送一个protocol-Reject报文,在该报文尾部将完整地填充被拒绝的报文。
5>信息域:
里面含有真正的信息
8:
ppp协议里面常常运送的报文
1>lcp:
链路层控制报文
2>pap:
pap协议的认证报文
3>chap:
chap协议的认证报文
4>ncp:
网络控制报文
5>ip:
ip数据报文
9:
mRu
1>mRu:
maximumReceiveunit
2>mRu指的是数据域的最大长度,默认值是1500字节
3>在使用ppp协议通信前,两端可以协议mRu的值
10:
cRc
引入cRc,主要是为了校验传输的正确性
11:
引入lpc协议的原因
为了能适应复杂多变的网络环境,ppp协议提供了lpc协议来测试和配置数据通信链路
12:
lpc协议的主要作用
1>测试通信链路
2>协议ppp通信的一些参数
3>终止链路
13:
ncp协议的作用
1>ncp协议是一族网络控制协议,对于不同的网络协议有不同的解决方法
2>tcp/ip->ipcp网络控制协议
spx/ipxipxcp网络控制协议
14:
lcp协议的应用方法
当应用ppp协议进行通信的两端通信设备建立点对点的通信时,无论哪一端都需要发送lcp协议进行测试和配置链路
15:
认证的方式
1>是在lcp协议中协商的
2>ppp协议默认情况下是不进行任何认证的
16:
链路的关闭
当通信的任何一端收到lcp或ncp的链路关闭报文时,就会将该条链路断开
17:
注意
一般而言,协议不要求ncp协议具有断开链路的功能
18:
ppp协议通信的几个阶段
1>链路不可用阶段
2>链路建立阶段(链路配置阶段)
3>认证阶段
4>网络层协议阶段
5>------传输数据----------
6>终止链路
19:
链路不可用阶段
又称为物理不可用阶段,当链路上没有载波信号时,处于这个阶段
20:
链路建立阶段
当检测到链路上有载波信号时,便会从“链路不可用阶段”“链路建立阶段“
21:
ppp协议最关键,最复杂的阶段是:
_________(链路建立阶段)
22:
注意
链路建立(配置)阶段,配置的是链路层的一些东西,还作一些链路层检测工作,配置的东西不包括网络层的东西。
23:
注意
在链路建立(配