链路层协议ppt课件.ppt
《链路层协议ppt课件.ppt》由会员分享,可在线阅读,更多相关《链路层协议ppt课件.ppt(71页珍藏版)》请在三一办公上搜索。
1、链路层协议,(DATA LINK),简介以下链路层协议:,PPPMPHDLCPPPoEVLANX.25/FR/ATM,PPP协议概述,PPP协议即点对点协议,在 TCP/IP 协议族中PPP 协议属于链路层的协议。PPP是为在同等单元之间传输数据包这样的简单的链路而设计的。这种链路提供全双工操作,并按照顺序传递数据包。它提供的服务远远超过早期的SLIP(串行线路因特网协议)。PPP有能力为现有的任何网络协议提供传输功能,包括当前最常用的TCP/IP。这些协议能同时在同一个链路上运行,而彼此互不干扰。PPP服务器能够在单个连接上同时传送TCP/IP和其他协议,而且所有流行的PPP客户软件几乎都支
2、持TCP/IP协议。,另外,PPP的配置也设计得相当容易。PPP主要由三类协议组成:链路控制协议(LCP),网络层控制协议(NCP)和PPP扩展协议。其中,链路控制协议主要用于建立,拆除和监控PPP数据链路;网络层控制协议主要用于协商在链路上所传输数据包的网络层协议参数;PPP扩展协议主要用于提供对PPP功能的进一步支持。同时,PPP还提供了用于网络安全方面的验证协议(PAP和CHAP)。PPP由于能够提供验证协议扩充,支持同异步而获得较广泛的应用。,Con,PPP运行过程,总的说来,PPP运行过程可以分成以下几个阶段,如下图所示:,下面分别说明各个阶段的详细过程:,链路死亡阶段(物理层还没有
3、被使用时)。链路必须 从这个阶段开始和结束。当载波检测或链路管理的配置信息,会指示物理层可用,PPP 链路就会进入到链路建立阶段。 链路建立阶段。该阶段使用链路控制协议LCP(Link Control Protocol)来建立一个连接。建立连接时需要进行协商,协商内容包括工作方式、验证方式和最大传输单元等。两端相互发送配置信息包(Configure-Req、Configure-Ack)被发送且被接收,就完成了交换,进入了LCP开启状态,底层链路已经建立。,Con,若配置了验证,则进入Authenticate阶段,开始CHAP 或PAP 验证,进入认证流程;若未配置验证,则进入网络控制协商阶段(
4、NCP),此时LCP状态仍为开启状态,而NCP状态从Initial转到Request-sent,进入网络的协商流程. 链路认证阶段。认证并不是强制性的,必须的,它不过是LCP 的一个选项。如果你的实现需要有某一认证协议进行对等的认证,那末必须在前一阶段(链路建立阶段)通过协商请求使用该协议。如果验证由于某种原因而失败进入终止阶段,拆除链路;如果验证成功就进入网络协商阶段(NCP),此时LCP状态仍为开启状态,而NCP状态从Initial转到Request-sent。,Con,网络层协商阶段。在这阶段,将进行特定的网络控制协议(Network Control Protocol,即NCP)配置,部
5、分NCP将会进行协商(如IPCP),协商主要包括双方的IP地址。通过NCP协商来选择和配置网络层协议。只有选中的网络层协议配置成功后,这就意味着链路已经建立起来,并且点到点的通信现在可以进行了。 链路终止阶段。能引起链路终止的原因包括:载波丢失,认证失败,链路质量太差以及空闲时钟超时。就像LCP被用于建立链路一样,它同样被用于终止链路,它通过终止报文的交换进行该过程。当终止进程发生时,PPP将通知网络层协议,使得它们可以做适当的工作。接下来物理层将被告知断开连接并终止链路,PPP过程将返回到链路死亡阶段。,Con,PPP的帧格式,PPP的帧格式如下图所示:,在 PPP 帧格式中,Flag 域标
6、识了一物理帧的起始及结束,FCS(CRC)域为帧校验域。而真正属于PPP报文内容的为Address,Control,Protocol,Information域所包含的内容。Address 域表示此为 PPP 广播地址,Address 和Control 域一起表示了此报文为PPP报文,即PPP报文头为FF03。Protocol为协议域。紧接着的Code域表明了此报文为哪种 PPP 协商报文,如为 IP报文,则不存在此域,而取而代之的直接为IP报文数据内容。Identifier域用于进行协商报文的匹配。Length域为此协商报文长度(包含Code和Identifier域)。Data域所包含的为协商
7、报文的内容。Type域为协商选项类型,其后的Length为协商选项长度(包含Type域),紧接着的Data域为协商选项的具体内容。,Con,Con,常用Protocol代码:0021 Internet Protocol(IP)8021 Internet Protocol Control Protocol(IPCP)c021 Link Control Protocol(LCP)c023 Password Authentication Protocol(PAP)c223 Challenge Handshake Authentication Protocol(CHAP)常用Code值:0 x01 C
8、onfigure-Request(配置请求)0 x02 Configure-Ack(配置应答)0 x03 Configure-Nak(配置无应答)0 x04 Configure-Reject(配置拒绝)0 x05 Terminate-Request(终止请求)0 x06 Terminate-Ack(终止应答)0 x07 Code-Reject(代码拒绝)0 x08 Protocol-Reject(协议拒绝)0 x09 Echo-Request(回应请求)0 x010 Echo-Reply(回应答复)0 x011 Discard-Request(丢弃请求),Con,常用协商Type值0 x01
9、Maximum-Receive-Unit(最大接收单元)0 x03 Authentication-Protocol(鉴定协议)0 x04 Quality-Protocol(质量协议)0 x05 Magic-Number(魔术字)0 x07 Protocol-Field-Compression(协议域压缩)0 x08 Address-and-Control-Field-Compression(地址和控制域压缩),Con,LCP的协商过程:PPP在建立链路之前要进行一系列的协商过程。过程如下:PPP首先进行LCP协商,协商内容包括:最大接收单元( Maximum Receive-Unit,MRU
10、),魔术字 ( Magic-number),验证方式( Authentication-Protocol )等选项。LCP 协商成功后,进入链路建立阶段。如配置了 PAP 或CHAP验证,便进入了PAP或CHAP验证阶段,验证通过后才会进入网络控制协议(NCP)阶段协商,如TCP/IP所对应的IPCP。任何阶段的协商失败都将导致链路的拆除。最大接收单元用以说通知对等体设备可以接收更大的包,或请求对等体发送小一些的包。如果请求的包较小,设备必须在丢失链路同步的情况下仍然能够接收完整的1500个字节的信息字段,默认值是1500个字节。,LCP协商的过程及数据包的格式,魔术字主要用于检测链路自环,PP
11、P靠发送Echo -Request,Echo Reply报文来检测自环和维护链路状态。如连续发现有超过最大自环允许数目,Echo Request 报文中魔术字与上次发送的魔术字相同,则判定网络发生自环现象。如链路发生自环,则就需采取相应措施对链路复位。验证方式用于设置本链路是否需要验证,如果需要验证,采用PAP验证还是CHAP验证进行选择。,Con,LCP数据包可分为三类:1)链路配置包:用于建立和配置一条链路(Configure-Request,Configure-ACK,Configure-Nak和Configure-Reject)。2)链路终止包:用于终止一条链路(Terminate-R
12、equest和Terminate-Ack)。3)链路维护包:用于对一条链路的管理和故障排除(Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply和Discard-Request)。,LCP数据包的格式如下,字段自左往右传输:,Con,Code: Code字段占一个八位字节,用于识别LCP包的类型,当收到包的代码不可识别时,发送一个 Code-Reject包。所涉及的值如下:0 x01 Configure-Request 0 x07 Code-Reject0 x02 Configure-Ack 0 x08 Protocol-Reject0
13、x03 Configure-Nak 0 x09 Echo-Request0 x04 Configure-Reject 0 x010 Echo-Reply0 x05 Terminate-Request 0 x011 Discard-Request0 x06 Terminate-Ack,Con,Identifier: Identifier字段占一个八位字节,用于帮助请求和应答的匹配。当接 收到包的标识符为无效值时,此包会被默默丢弃。Length: Length字段占两个八位字节,用于指示LCP包的长度(包括四个字 段)。此长度不能超过MRU所规定的值。超越字段长度的字节被当作填充符,并在接收时被忽
14、略。当接收到包的长度无效时,此包也会被默默丢弃。Data: Data字段可以包含0个或0个以上的八位字节,其长度由长度字段决定。数据字段的格式由代码字段确定。,Con,Configure-Request 执行想要打开一个连接就必须传送一个Configure-Request。 Configure-Ack 在Configure-Request中收到的每一个配置选项和全部的值都是能接受的,那 么该执行必须传送一个Configure-Ack。 Configure-Nak 如果每一个收到的配置选项要求是可认知的,但是一些值不能被接受,那么该 执行必须传送一个Configure-Nak。 Configur
15、e-Reject 如果Configure-Request中收到的一些配置选项是不可辨认的或者不被商议所 接受,则该执行必须传送一个Configure-Reject。,描述 LCP 代码域中各个值的用途:,Con,Terminate-Request & Terminate-Ack 一个执行想要关闭一个连接应该传送一个Terminate-Request。Terminate- Request包应该继续发送,直到收到Terminate-Ack。 Code-Reject 接收到一个带有未知代码的LCP包显示对端由一个不同的版本操作。这必须传 送一个Code-Reject报告回给未知代码的发送方。 Pro
16、tocol-Reject 接收一个带有未知协议域的LCP包显示对端试图使用一个不支持的协议。这 通常发生在对端试图配置一个新的协议时。如果LCP自动处理处于Opened (打开)状态,那么必须通过传送一个Protocol-Reject报告回该对端。 Echo-Request & Echo-reply LCP包含Echo-Request 和 Echo-Reply代码来供给一个数据链路层回送机制 来演习链路双方的使用。这对调试、链路质量检测、执行测试等其他功能有帮 助。一个在LCP的Opened(打开)状态接收Echo-Request时,必须传送一个 Echo-Reply。,Con,Discard
17、-Request LCP包含一个Discard-Request代码为了供给一个用于演习本地到遥远的链路 方向的数据链路层接收器机制。有助于调试、执行测试、和众多的其他功能。 Discard-Request包必须仅在LCP的Opened(打开)状态被发送。接收中, 接收器必须静静的丢弃任何收到的Discard-Request。,LCP的配置选项:LCP配置选项允许对一条点对点链路对默认的特性进行修改协商。如果Configure-Request包中有一个配置项未包括,则假定使用配置选项的默认值。配置选项表示请求的附加功能或需求,一个不能理解任何选项的设备应该与实现了每一个选项的设备交互操作。每个选
18、项都指定了默认值,使链路不经选项的协商便可正确的运行,尽管性能可能不是最优。对于选项的默认值,没有必要在Configure-Request包中指定。所有配置选项应用于半双工方式,一般来说,从Configure-Request发送者的角度看是指链路的接收方向。,配置选项格式如下图所示:,Type:Type字段占一个八位字节,其值指示配置选项的类型。所涉及的值如下: 1 Maximum-Receive-Unit(MRU) 3 Authentication-Protocol 4 Quality-Protocol 5 Magic-Number 7 Protocol-Field-Compression
19、8 Address-and-Control-Field-Compression,Con,Length:Length字段长一个八位字节,表示配置选项的长度。如果收到的Configure-Request中含有一个可协商的配置选项,其长度无效或不可识别,应发送一个Configure-Nak,其中包括带有合适的长度和数据的配置选项。Data:Data字段占0个或0个以上八位字节,包含配置选项的特定信息。数据字段的长度和格式由Type 和 Length字段确定。如果Length字段指定的Data字段超过了信息字段的长度,整个包将被默默丢弃。,Con,在某些链路上,有可能要求peer(对等体)在交换网络层
20、协议包之前能先验证自己。此选项提供一种方法能通过协商使一个特殊的协议用于验证。如果在LCP配置选项中配置了验证协议,则必须在进入网络层协议阶段之前进行验证。发送Configure-Request的设备表示,它期望它的peer(对等体)验证自己。如果设备发送了Configure-Ack则它同意用此指定的协议进行验证。收到Configure-Ack的设备应该期望peer用认可的协议进行验证。,LCP配置选项中的“验证”,PAP协商过程及帧格式,如果在LCP配置选项中配置了Authentication-Protocol选项,同时在其对应的选项格式中的Authentication-Protocol字段
21、值为 c023 ,则在链路建立阶段完成,准备进入网络层控制协议(NCP)阶段之前需要进行Password Authentication Protocol(即PAP)验证。 PAP为两次握手协议,它通过用户名及口令来对用户进行验证。PAP验证过程如下:当两端链路可以相互传输数据时,被验证方法送本端的用户名及口令到验证方,验证方根据本端的用户数据库察看是否有此用户,口令是否正确。如正确则会给对端发送ACK报文,通告对端已被允许进入下一阶段协商;,PAP协商过程,否则发送NAK报文,通告对端验证失败。此时,并不直接将链路关闭。只有当验证失败次数达到一定值时,才会关闭链路,来防止因误传,网络干扰等造成
22、不必要的LCP重新协商过程。PAP的特点是在网络上以明文的方式传递用户名及口令,如在传输过程中被截获,便有可能对网络安全造成极大的威胁。因此,它适用于对网络安全要求相对较低的环境。 确切的说,一个PAP数据包是封装在一个其protocol域字段值为c023(Password Authentication Protocol)的PPP数据链路层帧的Information域字段中的(请参考本文中讲述PPP帧格式的部分) 。,Con,Code: Code字段长度为一个八位组。 一般存放下列3种字段值: 0 x01 Authenticate-Request(请求验证) 0 x02 Authenticat
23、e-Ack(同意验证) 0 x03 Authenticate-Nak(不同意验证),PAP数据包的格式如下:,Identifier: Identifier字段长度为一个八位组,放置的是PAP封包的识别码。同一对PAP要求请求封包与响应封包的识别码必须相同。Length: Length字段长度为两个八位组,存放的值为整个PAP封包的长度,即包括Code, Identifier, Length和Data四个字段值的长度,超过此长度值的八位组都被认为是数据链路层的填充值,在接收时应该被忽略。Data:Data字段长度为0个或多个八位组,它包含了PAP验证所需要的数据,例如:User name(用户名
24、),Password(密码),Message(信息)等。Data字段格式由Code字段决定。,Con,关于三类PAP数据包(Authenticate-Request,Authenticate-Ack,Authenticate-Nak)的具体格式如下。Code值为Authenticate-Request的PAP数据包格式如下:,Con,Code值为Authenticate-Ack和Authenticate-Nak的PAP数据包格式如下:,Con,CHAP协商过程及帧格式,如果在LCP配置选项中配置了Authentication-Protocol选项,同时在其对应的选项格式中的Authentica
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 链路层 协议 ppt 课件
链接地址:https://www.31ppt.com/p-1460212.html