第七章 广域网接入技术
7.1 广域网接入技术概述
7.1.1 广域网的概念
局域网只能在一个相对比较短的距离内实现,当主机之间的距离较远时,例如,相隔几十或几百公里,甚至几千公里,局域网显然就无法完成主机之间的通信任务。这时就需要另一种结构的网络,即广域网。广域网(Wide Area Networks,W AN) 的地理覆盖范围可以从数公里到数千公里,可以连接若干个城市、地区甚至跨越国界,遍及全球的一种计算机网络。它将地理上相隔很远的局域网互连起来。
由于广域网的造价较高,一般都是由国家或较大的电信公司出资建造。广域网是互联网的核心部分,其任务是通过长距离运送主机所发送的数据。连接广域网各结点交换机的链路都是高速链路,其距离可以是几千公里的光缆线路,也可以是几万公里的点对点卫星链路。需要澄清的一个概念是广域网不等于互联网。在互联网中,为不同类型、协议的网络“互联”才是它的主要特征。
广域网由一些结点交换机以及连接这些交换机的链路组成。结点交换机的任务是将分组存储转发,结点之间都是点到点连接,但为了提高网络的可靠性,通常一个结点交换机往往与多个结点交换机相连。受经济条件的限制,广域网都不使用局域网普遍采用的多点接入技术。从层次上考虑,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层,而广域网使用的协议在网络层。
7.1.2 广域网接入技术分类
点对点链路
点对点链路提供的是一条预先建立的从客户端经过运营商网络到达远端目标网络的广域网通信路径。一条点对点链路就是一条租用的专线,可以在数据收发双方之间建立起永久性的固定连接。
网络运营商负责点对点链路的维护和管理。点对点链路可以提供两种数据传送方式。一种是数据报传送方式,该方式主要是将数据分割成一个个小的数据帧进行传送,其中每一个数据帧都带有自己的地址信息,都需要进行地址校验。另外一种是数据流传送方式,该方式与数据报传送方式不同,用数据流取代一个个的数据帧作为数据发送单位,整个流数据具有一个地址信息,只需要进行一次
地址验证即可。下图所显示的就是一个典型的跨越广域网的点对点链路。
● 电路交换
电路交换是广域网所使用的一种交换方式。可以通过运行商网络为每一次会话过程建立,维持和终止一条专用的物理电路。电路交换也可以提供数据报和数据流两种传送方式。电路交换在电信运营商的网络中被广泛使用,其操作过程与普通的电话拨叫过程非常相似。综合业务数字网(ISDN )就是一种采用电路交换技术的广域网技术。
● 包交换
包交换也是一种广域网上经常使用的交换技术,通过包交换,网络设备可以共享一条点对点链路通过运营商网络在设备之间进行数据包的传递。包交换主要采用统计复用技术在多台设备之间实现电路共享。ATM ,帧中继,SMDS 以及X.25等都是采用包交换技术的广域网技术。
虚拟电路
虚拟电路是一种逻辑电路,可以在两台网络设备之间实现可靠通信。虚拟电路有两种不同形式, 分别是交换虚拟电路(SVC )和永久性虚拟电路(PVC )。
SVC 是一种按照需求动态建立的虚拟电路,当数据传送结束时,电路将会被自动终止。SVC 上的通信过程包括3个的阶段,即电路创建,数据传输,和电路终止。电路创建阶段主要是在通信双方设备之间建立起虚拟电路;数据传输阶段通过虚拟电路在设备之间传送数据;电路终止阶段则是撤消在通讯设备之间已经建立起来的虚拟电路。SVC 主要适用于非经常性的数据传送网络, 这是因为在电路创建和终止阶段SVC 需要占用更多的网络带宽。不过相对于永久性虚拟电路来说,SVC 的成本较低。
PVC 是一种永久性建立的虚拟电路,只具有数据传输一种模式。PVC 可以应用于数据传送频繁的网络环境,这是因为PVC 不需要为创建或终止电路而使用额外的带宽,所以对带宽的利用率更高。不过永久性虚拟电路的成本较高。
7.1.3 广域网设备
在广域网环境中可以使用多种不同的网络设备,下面,我们就着重介绍一些比较常用的广域网设备。
● 广域网交换机
广域网交换机是在运营商网络中使用的多端口网络互
联设备。广域网交换机工作在OSI 参考模型的数据链路层,
可以对帧中继,X.25以及SMDS 等数据流量进行操作。右
图是位于广域网两端的两台路由器通过广域网交换机进行
连接的示意图。
● 接入服务器
接入服务器是广域网中拨入和拨出连接的会聚点。左图说明了接入服务器如何将多条拨出连接
集合在一起接入广域网。
● 调制解调器
调制解调器主要用于数字和模拟信号之间的转换,从而能够通过话音线路传送数据信息。在数据发送方,计算机数字信号被转换成适合通过模拟通信设备传送的形式;而在目标接收方,模式信号被还原为数字形式。
● CSU/DSU
信道服务单元(CSU )/数据服务单元(DSU )类似数据终端设备到数据通信设备的复用器,可以提供以下几方面的功能:信号再生,线路调节,误码纠正,信号管理,同步和电路测试等。
● ISDN 终端适配器
ISDN 终端适配器是用来连接ISDN 基本速率接口(BRI )到其它接口,如EIA/TIA-232的设备。从本质上说,ISDN 终端适配器就相当于一台ISDN 调制解调器。
● 路由器(Router)
提供诸如局域网互连、广域网接口等多种服务。
7.1.4 广域网中的数据链路层协议
广域网数据链路层是将数据传输到远程站点,定义了数据是如何进行封装的。广域网数据链路层协议描述了帧如何在系统之间单一数据路径上进行传输,数据帧是如何传送的,包括点对点,多点和多路访问交换服务所设计的协议。
1.点到点协议(PPP)
PPP 是一个面向连接但不可靠的面向字节的连接,使用无编号帧。PPP 也可以工作在可靠的面向比特的模式。PPP 包含用于标志网络层协议的字段。PPP 是目前较为流行的数据链路层协议(请参看7.2节)。
2.高级数据链路控制(HDLC)协议
IEEE 的标准,既支持点对点配置又支持多点配置,它实现起来非常简洁,但安全、灵活性不如PPP 协议。HDLC 可能因不同厂商提供的产品而不兼容,因为它们实现的方法不同。
3.帧中继(Frame Relay)
帧中继是一种面向连接的、没有内在的纠错机制的协议,使用高质量的数字设备,采用简化的成帧技术。仅当帧中继网络本身的误码率非常低时,帧中继技术才是可行的
7.1.5 点对点协议PPP
PPP(Point-to-Point Protocol)是SLIP(Serial Line IP protocol)的继承者,它提供了跨过同步和异步电路实现路由器到路由器(router-to-router)和主机到网络(host-to-network)的连接。
7.1.5.1 PPP 协议的特点
1992年Internet IETF成立了一个小组来制定点到点的数据链路协议——Intemet 标准。该标准命名为PPP (Point-to-Point Protocol ),即点到点协议,经过1993年和1994年的修订,现在已成为因特网的正式标准。PPP 能支持差错检测,支持各种协议,在连接时IP 地址可复制,具有身份验证功
能,可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP 的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。PPP 不仅适用于拨号用户,而且适用于租用的路由器对路由器线路。PPP 协议是目前使用最广泛的广域网协议,这是因为它具有以下特性:
(1)能够控制数据链路的建立;
(2)能够对IP 地址进行分配和使用;
(3)允许同时采用多种网络层协议;
(4)能够配置和测试数据链路;
(5)能够进行错误检测;
(6)有协商选项,能够对网络层的地址和数据压缩等进行协商。
7.1.5.2 PPP 的功能和层次结构
1.PPP 的功能
PPP 主要实现以下3部分功能:
(1)在串行链路上封装数据报的方法:PPP 采用高级数据链路控制(HDLC)作为在点对点的链路上封装数据报的基本方法。
(2)链路控制协议LCP(Link Control Protocol)用于启动线路、测试、任选功能的协商及关闭连接。
(3)网络控制协议NCP(Network Control Protocol)用来建立和配置不同的网络层协议。PPP 协议允许同时采用多种网络层协议,如IP 协议、IPX 协议和DECnet 协议。PPP 协议使用NCP 对多种协议进行封装。
2.PPP 中各层的功能
PPP 协议由层次结构组成如下(见表7-1-5-2-1) 。
表7-1-5-2-1 PPP 的层次结构表
PPP 协议使用物理层的功能,PPP 协议能够使用:
(1)同步物理介质:如综合业务数字网(ISDN)的介质。
(2)异步物理介质:如用来建立拨号连接的电话网络。
PPP 协议的高层功能利用NCP 在多个网络层协议之间传递数据报。PPP 的高层协议包括:
(1)BCP(Bridge Control Protocol)网桥控制协议;
(2)IPCP(Internet Protocol Control Protocol)IP控制协议;
(3)IPXCP(InternetWork Packet Exchange Control Protocol)IPX控制协议。
7.1.5.3 PPP 会话建立的过程
PPP 提供了建立、配置、维护和终止点到点连接的方法。从开始发起呼叫到最终通信完成后释放链路,PPP 经过以下4个阶段在一个点到点的链路上建立通信连接。
1.链路的建立和配置协调:通信的发起方发送LCP 帧来配置和检测数据链路,主要用于协商选择将要采用的PPP 参数,包括身份验证、压缩、回叫、多链路等。
2.链路质量检测:在链路建立、协调之后,这一阶段是可选的。
3.网络层协议配置协调:通信的发起方发送NCP 帧以选择并配置网络层协议。配置完成后,
通信双方可以发送各自的网络层协议数据报。
4.关闭链路:通信链路将一直保持到LCP 或NCP 帧关闭链路,或者是发生一些外部事件(如空闲时间超长或用户干预) 。
PPP 的工作经历了一系列的过程,下面用一个实例来描述这一过程。
PC 终端首先通过调制解调器呼叫远程访问服务器,如ISP 的路由器。当路由器上的远程访问模块应答了这个呼叫后,就建立起一个初始的物理连接。接下来,PC 终端和远程访问服务器之间开始传送一系列经过PPP 封装的LCP 分组。如果有一方要求认证,接下来就开始认证过程。如果认证失败,如错误的用户名、密码,则链路被终止,双方负责通信的设备或模块(如用户端的调制解调器或服务器端的远程访问模块) 将关闭物理链路回到空闲状态。如果认证成功,通信双方开始交换一系列的NCP 分组来配置网络层。如果网络层使用的是IP 协议,此过程是由IPCP 完成的。当NCP 配置完成后,双方的逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据。当数据传送完成后,一方会发起断开连接的请求。这时,首先使用NCP 来释放网络层的连接,归还IP 地址,然后利用LCP 来关闭数据链路层连接,最后,双方的通信设备或模块关闭物理链路回到空闲状态。
7.1.5.4 PAP 和CHAP 原理
PPP 提供了两种可选的身份认证方法:口令验证协议(Password Authentication Protocol,PAP) 和质询握手协议(Challenge Handshake Authentication Protocol,CHAP) 。
1.PAP
PAP 是一个简单的、实用的身份验证协议,PAP 认证进程只在双方的通信链路建立初期进行。如果认证成功,在通信过程中不再进行认证。如果认证失败,则直接释放链路。
PAP 的弱点是用户的用户名和密码是明文发送的,有可能被协议分析软件捕获而导致安全问题。但恰恰是这样,认证只在链路建立初期进行,因此节省了宝贵的链路带宽。
PAP 认证可以在一方进行,即由一方认证另一方的身份,也可以进行双向身份认证。这时,要求被认证的双方都要通过对方的认证程序,否则,无法建立二者之间的链路。下面以单方认证为例分析PAP 配置过程。
当双方都封装了PPP 协议且要求进行PAP 身份认证,同时它们之间的链路在物理层己激活后,认证服务器会不停地发送身份认证要求,直到身份认证成功。当认证客户端(被认证一端) 路由器Router2发送了用户名或口令后,认证服务器会将收到的用户名和口令与本地数据库中的口令信息比对,如果正确则身份认证成功。
2.CHAP
CHAP 认证比PAP 认证更安全,因为CHAP 不在线路上发送明文密码,而是发送经过摘要算法加工过的随机序列,也被称为“挑战字符串”。同时,身份认证可以随时进行,包括在双方正常通信过程中。因此,非法用户就算截获并成功破解了一次密码,此密码也将在一段时间内失效。
CHAP 对系统要求很高,因为需要多次进行身份质询、响应。这需要耗费较多的CPU 资源,因此只用在对安全要求很高的场合。
因为CHAP 不在线路上发送明文密码,因此CHAP 认证比PAP 认证更安全。同PAP 一样,CHAP 认证可以在一方进行,即由一方认证另一方的身份,也可以进行双向身份认证。这时,要求被认证的双方都要通过对方的认证程序,否则,无法建立二者之间的链路。与PAP 不同的是,这时认证服务器发送的是“挑战”字符串。下面以一个实例来分析CHAP 认证配置过程。
7.1.5.5 PPP 认证配置
CHAP 和PAP 通常被用于在PPP 封装的串行线路上提供安全性认证。使用CHAP 和PAP 认证,每个路由器通过名字来识别,可以防止未经授权的访问。要使用CHAP/PAP必须使用PPP 封装。
如果双方协商达成一致,也可以不使用任何身份认证方法。
PAP 一方认证的配置共分为三个步骤:建立本地口令数据库,要求进行PAP 认证,PAP 认证客户端配置。
1.建立本地口令数据库
通过全局模式下的命令usename username password password 来为本地口令数据库添加记录,如下所示。
Router1(config)#username Router2 password pass2
2.要求进行PAP 认证
这需要在相应接口配置模式下使用命令PPP authentication pap来完成,如下所示。
Router1(config)#interface serial 0
Router1(config—if)#PPP authentication pap
3.PAP 认证客户端的配置只需要一条命令,即将用户名和口令发送到对端,如下所示。
Router2(config—if)#PPP pap sent-username Router1 password pass1
CHAP 一方认证的配置共分为二个步骤:建立本地口令数据库,要求进行CHAP 认证。
1.建立本地口令数据库
通过全局模式下的命令usename username password password 来为本地口令数据库添加记录,如下所示。
Router1(config)#username Router2 password pass2
2.要求进行CHAP 认证
这需要在相应接口配置模式下使用命令PPP authentication chap 来完成,如下所示。
Router1(config)#interface serial 0
Router1(config—if)#PPP authentication chap
7.1.5.5.1 PPP 的封装
对于同步串行接口,可以使用命令Encapsulation PPP将封装格式设为PPP ,如图7-3-1所示。
Router2 Router1
图7-1-5-5-1-1 PPP 串行封装
当通信双方的某一方封装格式为非PPP(如HDLC) 时,而另一方为PPP 时,双方关于封装协议的协商将失败。此时,链路处于协议性关闭(Protocol down) 状态,通信无法进行。这时,在路由器Router1与路由器Router2的链路没有成功建立之前,路由器Router1及Router2的路由表将为空。
当路由器Router1的串行接口Serial 0又改为封装成PPP 协议时,双方的通信将恢正常。在路由器Router1上输出的Debug ppp events命令将从新建立连接。可以发现,成功地安装了此链路的路由条目,同时,系统提示该链路协议被激活,链路可用。
7.1.5.5.2 CHAP 认证
如图7-3-2
所示。
Router1 DCE DTE Router2
图7-1-5-5-2 CHAP 认证
路由器Router1和Router2的S0口均封装PPP 协议,采用CHAP 做认证,在Router1中应建立一个用户,以对端路由器主机名作为用户名,即用户名应为router2。同时在Router2中应建立一个用户,以对端路由器主机名作为用户名,即用户名应为router1。所建的这两用户的password 必须相同。设置如下:
Router1:
#hostname router1
Router1(config)#username router2 password samesecret
Router1(config)#interface Serial0
Router1(config)#ip address 192.200.10.1 255.255.255.0
Router1(config)#clockrate 1000000
Router1(config-if)#ppp authentication chap
Router2:
#hostname router2
Router1(config)#username router1 password samesecret
Router1(config)#interface Serial0
Router1(config)#ip address 192.200.10.2 255.255.255.0
Router1(config-if)#ppp authentication chap
通过以上配置,路由器Router1 、Router2将建立起CHAP 认证。但是认证双方选择的认证方法可能不一样,例如一方选择PAP ,另一方选择CHAP ,这时双方的认证协商将失败。为了避免身份认证协议过程中出现这样的失败,可以配置路由器使用两种认证方法。当第一种认证协商失败后,可以选择尝试用另一种身份认证方法。如下的命令配置路由器首先采用PAP 身份认证方法。如果失败,再采用CHAP 身份认证方法。
Router1(config—if)#PPP authentication pap chap
相反,如果首先使用CHAP 认证,协商失败后再采用PAP 认证,命令如下所示。
Router1(config—if)#PPP authentication chap pap
7.2 思考和练习
1. 广域网和局域网本质的区别是什么?
2. PPP 的主要特征是什么?
3. 简述PPP 认证的过程?
4. 比较PAP 、CHAP 的优缺点?
第七章 广域网接入技术
7.1 广域网接入技术概述
7.1.1 广域网的概念
局域网只能在一个相对比较短的距离内实现,当主机之间的距离较远时,例如,相隔几十或几百公里,甚至几千公里,局域网显然就无法完成主机之间的通信任务。这时就需要另一种结构的网络,即广域网。广域网(Wide Area Networks,W AN) 的地理覆盖范围可以从数公里到数千公里,可以连接若干个城市、地区甚至跨越国界,遍及全球的一种计算机网络。它将地理上相隔很远的局域网互连起来。
由于广域网的造价较高,一般都是由国家或较大的电信公司出资建造。广域网是互联网的核心部分,其任务是通过长距离运送主机所发送的数据。连接广域网各结点交换机的链路都是高速链路,其距离可以是几千公里的光缆线路,也可以是几万公里的点对点卫星链路。需要澄清的一个概念是广域网不等于互联网。在互联网中,为不同类型、协议的网络“互联”才是它的主要特征。
广域网由一些结点交换机以及连接这些交换机的链路组成。结点交换机的任务是将分组存储转发,结点之间都是点到点连接,但为了提高网络的可靠性,通常一个结点交换机往往与多个结点交换机相连。受经济条件的限制,广域网都不使用局域网普遍采用的多点接入技术。从层次上考虑,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层,而广域网使用的协议在网络层。
7.1.2 广域网接入技术分类
点对点链路
点对点链路提供的是一条预先建立的从客户端经过运营商网络到达远端目标网络的广域网通信路径。一条点对点链路就是一条租用的专线,可以在数据收发双方之间建立起永久性的固定连接。
网络运营商负责点对点链路的维护和管理。点对点链路可以提供两种数据传送方式。一种是数据报传送方式,该方式主要是将数据分割成一个个小的数据帧进行传送,其中每一个数据帧都带有自己的地址信息,都需要进行地址校验。另外一种是数据流传送方式,该方式与数据报传送方式不同,用数据流取代一个个的数据帧作为数据发送单位,整个流数据具有一个地址信息,只需要进行一次
地址验证即可。下图所显示的就是一个典型的跨越广域网的点对点链路。
● 电路交换
电路交换是广域网所使用的一种交换方式。可以通过运行商网络为每一次会话过程建立,维持和终止一条专用的物理电路。电路交换也可以提供数据报和数据流两种传送方式。电路交换在电信运营商的网络中被广泛使用,其操作过程与普通的电话拨叫过程非常相似。综合业务数字网(ISDN )就是一种采用电路交换技术的广域网技术。
● 包交换
包交换也是一种广域网上经常使用的交换技术,通过包交换,网络设备可以共享一条点对点链路通过运营商网络在设备之间进行数据包的传递。包交换主要采用统计复用技术在多台设备之间实现电路共享。ATM ,帧中继,SMDS 以及X.25等都是采用包交换技术的广域网技术。
虚拟电路
虚拟电路是一种逻辑电路,可以在两台网络设备之间实现可靠通信。虚拟电路有两种不同形式, 分别是交换虚拟电路(SVC )和永久性虚拟电路(PVC )。
SVC 是一种按照需求动态建立的虚拟电路,当数据传送结束时,电路将会被自动终止。SVC 上的通信过程包括3个的阶段,即电路创建,数据传输,和电路终止。电路创建阶段主要是在通信双方设备之间建立起虚拟电路;数据传输阶段通过虚拟电路在设备之间传送数据;电路终止阶段则是撤消在通讯设备之间已经建立起来的虚拟电路。SVC 主要适用于非经常性的数据传送网络, 这是因为在电路创建和终止阶段SVC 需要占用更多的网络带宽。不过相对于永久性虚拟电路来说,SVC 的成本较低。
PVC 是一种永久性建立的虚拟电路,只具有数据传输一种模式。PVC 可以应用于数据传送频繁的网络环境,这是因为PVC 不需要为创建或终止电路而使用额外的带宽,所以对带宽的利用率更高。不过永久性虚拟电路的成本较高。
7.1.3 广域网设备
在广域网环境中可以使用多种不同的网络设备,下面,我们就着重介绍一些比较常用的广域网设备。
● 广域网交换机
广域网交换机是在运营商网络中使用的多端口网络互
联设备。广域网交换机工作在OSI 参考模型的数据链路层,
可以对帧中继,X.25以及SMDS 等数据流量进行操作。右
图是位于广域网两端的两台路由器通过广域网交换机进行
连接的示意图。
● 接入服务器
接入服务器是广域网中拨入和拨出连接的会聚点。左图说明了接入服务器如何将多条拨出连接
集合在一起接入广域网。
● 调制解调器
调制解调器主要用于数字和模拟信号之间的转换,从而能够通过话音线路传送数据信息。在数据发送方,计算机数字信号被转换成适合通过模拟通信设备传送的形式;而在目标接收方,模式信号被还原为数字形式。
● CSU/DSU
信道服务单元(CSU )/数据服务单元(DSU )类似数据终端设备到数据通信设备的复用器,可以提供以下几方面的功能:信号再生,线路调节,误码纠正,信号管理,同步和电路测试等。
● ISDN 终端适配器
ISDN 终端适配器是用来连接ISDN 基本速率接口(BRI )到其它接口,如EIA/TIA-232的设备。从本质上说,ISDN 终端适配器就相当于一台ISDN 调制解调器。
● 路由器(Router)
提供诸如局域网互连、广域网接口等多种服务。
7.1.4 广域网中的数据链路层协议
广域网数据链路层是将数据传输到远程站点,定义了数据是如何进行封装的。广域网数据链路层协议描述了帧如何在系统之间单一数据路径上进行传输,数据帧是如何传送的,包括点对点,多点和多路访问交换服务所设计的协议。
1.点到点协议(PPP)
PPP 是一个面向连接但不可靠的面向字节的连接,使用无编号帧。PPP 也可以工作在可靠的面向比特的模式。PPP 包含用于标志网络层协议的字段。PPP 是目前较为流行的数据链路层协议(请参看7.2节)。
2.高级数据链路控制(HDLC)协议
IEEE 的标准,既支持点对点配置又支持多点配置,它实现起来非常简洁,但安全、灵活性不如PPP 协议。HDLC 可能因不同厂商提供的产品而不兼容,因为它们实现的方法不同。
3.帧中继(Frame Relay)
帧中继是一种面向连接的、没有内在的纠错机制的协议,使用高质量的数字设备,采用简化的成帧技术。仅当帧中继网络本身的误码率非常低时,帧中继技术才是可行的
7.1.5 点对点协议PPP
PPP(Point-to-Point Protocol)是SLIP(Serial Line IP protocol)的继承者,它提供了跨过同步和异步电路实现路由器到路由器(router-to-router)和主机到网络(host-to-network)的连接。
7.1.5.1 PPP 协议的特点
1992年Internet IETF成立了一个小组来制定点到点的数据链路协议——Intemet 标准。该标准命名为PPP (Point-to-Point Protocol ),即点到点协议,经过1993年和1994年的修订,现在已成为因特网的正式标准。PPP 能支持差错检测,支持各种协议,在连接时IP 地址可复制,具有身份验证功
能,可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。这些丰富的选项增强了PPP 的功能。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。PPP 不仅适用于拨号用户,而且适用于租用的路由器对路由器线路。PPP 协议是目前使用最广泛的广域网协议,这是因为它具有以下特性:
(1)能够控制数据链路的建立;
(2)能够对IP 地址进行分配和使用;
(3)允许同时采用多种网络层协议;
(4)能够配置和测试数据链路;
(5)能够进行错误检测;
(6)有协商选项,能够对网络层的地址和数据压缩等进行协商。
7.1.5.2 PPP 的功能和层次结构
1.PPP 的功能
PPP 主要实现以下3部分功能:
(1)在串行链路上封装数据报的方法:PPP 采用高级数据链路控制(HDLC)作为在点对点的链路上封装数据报的基本方法。
(2)链路控制协议LCP(Link Control Protocol)用于启动线路、测试、任选功能的协商及关闭连接。
(3)网络控制协议NCP(Network Control Protocol)用来建立和配置不同的网络层协议。PPP 协议允许同时采用多种网络层协议,如IP 协议、IPX 协议和DECnet 协议。PPP 协议使用NCP 对多种协议进行封装。
2.PPP 中各层的功能
PPP 协议由层次结构组成如下(见表7-1-5-2-1) 。
表7-1-5-2-1 PPP 的层次结构表
PPP 协议使用物理层的功能,PPP 协议能够使用:
(1)同步物理介质:如综合业务数字网(ISDN)的介质。
(2)异步物理介质:如用来建立拨号连接的电话网络。
PPP 协议的高层功能利用NCP 在多个网络层协议之间传递数据报。PPP 的高层协议包括:
(1)BCP(Bridge Control Protocol)网桥控制协议;
(2)IPCP(Internet Protocol Control Protocol)IP控制协议;
(3)IPXCP(InternetWork Packet Exchange Control Protocol)IPX控制协议。
7.1.5.3 PPP 会话建立的过程
PPP 提供了建立、配置、维护和终止点到点连接的方法。从开始发起呼叫到最终通信完成后释放链路,PPP 经过以下4个阶段在一个点到点的链路上建立通信连接。
1.链路的建立和配置协调:通信的发起方发送LCP 帧来配置和检测数据链路,主要用于协商选择将要采用的PPP 参数,包括身份验证、压缩、回叫、多链路等。
2.链路质量检测:在链路建立、协调之后,这一阶段是可选的。
3.网络层协议配置协调:通信的发起方发送NCP 帧以选择并配置网络层协议。配置完成后,
通信双方可以发送各自的网络层协议数据报。
4.关闭链路:通信链路将一直保持到LCP 或NCP 帧关闭链路,或者是发生一些外部事件(如空闲时间超长或用户干预) 。
PPP 的工作经历了一系列的过程,下面用一个实例来描述这一过程。
PC 终端首先通过调制解调器呼叫远程访问服务器,如ISP 的路由器。当路由器上的远程访问模块应答了这个呼叫后,就建立起一个初始的物理连接。接下来,PC 终端和远程访问服务器之间开始传送一系列经过PPP 封装的LCP 分组。如果有一方要求认证,接下来就开始认证过程。如果认证失败,如错误的用户名、密码,则链路被终止,双方负责通信的设备或模块(如用户端的调制解调器或服务器端的远程访问模块) 将关闭物理链路回到空闲状态。如果认证成功,通信双方开始交换一系列的NCP 分组来配置网络层。如果网络层使用的是IP 协议,此过程是由IPCP 完成的。当NCP 配置完成后,双方的逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据。当数据传送完成后,一方会发起断开连接的请求。这时,首先使用NCP 来释放网络层的连接,归还IP 地址,然后利用LCP 来关闭数据链路层连接,最后,双方的通信设备或模块关闭物理链路回到空闲状态。
7.1.5.4 PAP 和CHAP 原理
PPP 提供了两种可选的身份认证方法:口令验证协议(Password Authentication Protocol,PAP) 和质询握手协议(Challenge Handshake Authentication Protocol,CHAP) 。
1.PAP
PAP 是一个简单的、实用的身份验证协议,PAP 认证进程只在双方的通信链路建立初期进行。如果认证成功,在通信过程中不再进行认证。如果认证失败,则直接释放链路。
PAP 的弱点是用户的用户名和密码是明文发送的,有可能被协议分析软件捕获而导致安全问题。但恰恰是这样,认证只在链路建立初期进行,因此节省了宝贵的链路带宽。
PAP 认证可以在一方进行,即由一方认证另一方的身份,也可以进行双向身份认证。这时,要求被认证的双方都要通过对方的认证程序,否则,无法建立二者之间的链路。下面以单方认证为例分析PAP 配置过程。
当双方都封装了PPP 协议且要求进行PAP 身份认证,同时它们之间的链路在物理层己激活后,认证服务器会不停地发送身份认证要求,直到身份认证成功。当认证客户端(被认证一端) 路由器Router2发送了用户名或口令后,认证服务器会将收到的用户名和口令与本地数据库中的口令信息比对,如果正确则身份认证成功。
2.CHAP
CHAP 认证比PAP 认证更安全,因为CHAP 不在线路上发送明文密码,而是发送经过摘要算法加工过的随机序列,也被称为“挑战字符串”。同时,身份认证可以随时进行,包括在双方正常通信过程中。因此,非法用户就算截获并成功破解了一次密码,此密码也将在一段时间内失效。
CHAP 对系统要求很高,因为需要多次进行身份质询、响应。这需要耗费较多的CPU 资源,因此只用在对安全要求很高的场合。
因为CHAP 不在线路上发送明文密码,因此CHAP 认证比PAP 认证更安全。同PAP 一样,CHAP 认证可以在一方进行,即由一方认证另一方的身份,也可以进行双向身份认证。这时,要求被认证的双方都要通过对方的认证程序,否则,无法建立二者之间的链路。与PAP 不同的是,这时认证服务器发送的是“挑战”字符串。下面以一个实例来分析CHAP 认证配置过程。
7.1.5.5 PPP 认证配置
CHAP 和PAP 通常被用于在PPP 封装的串行线路上提供安全性认证。使用CHAP 和PAP 认证,每个路由器通过名字来识别,可以防止未经授权的访问。要使用CHAP/PAP必须使用PPP 封装。
如果双方协商达成一致,也可以不使用任何身份认证方法。
PAP 一方认证的配置共分为三个步骤:建立本地口令数据库,要求进行PAP 认证,PAP 认证客户端配置。
1.建立本地口令数据库
通过全局模式下的命令usename username password password 来为本地口令数据库添加记录,如下所示。
Router1(config)#username Router2 password pass2
2.要求进行PAP 认证
这需要在相应接口配置模式下使用命令PPP authentication pap来完成,如下所示。
Router1(config)#interface serial 0
Router1(config—if)#PPP authentication pap
3.PAP 认证客户端的配置只需要一条命令,即将用户名和口令发送到对端,如下所示。
Router2(config—if)#PPP pap sent-username Router1 password pass1
CHAP 一方认证的配置共分为二个步骤:建立本地口令数据库,要求进行CHAP 认证。
1.建立本地口令数据库
通过全局模式下的命令usename username password password 来为本地口令数据库添加记录,如下所示。
Router1(config)#username Router2 password pass2
2.要求进行CHAP 认证
这需要在相应接口配置模式下使用命令PPP authentication chap 来完成,如下所示。
Router1(config)#interface serial 0
Router1(config—if)#PPP authentication chap
7.1.5.5.1 PPP 的封装
对于同步串行接口,可以使用命令Encapsulation PPP将封装格式设为PPP ,如图7-3-1所示。
Router2 Router1
图7-1-5-5-1-1 PPP 串行封装
当通信双方的某一方封装格式为非PPP(如HDLC) 时,而另一方为PPP 时,双方关于封装协议的协商将失败。此时,链路处于协议性关闭(Protocol down) 状态,通信无法进行。这时,在路由器Router1与路由器Router2的链路没有成功建立之前,路由器Router1及Router2的路由表将为空。
当路由器Router1的串行接口Serial 0又改为封装成PPP 协议时,双方的通信将恢正常。在路由器Router1上输出的Debug ppp events命令将从新建立连接。可以发现,成功地安装了此链路的路由条目,同时,系统提示该链路协议被激活,链路可用。
7.1.5.5.2 CHAP 认证
如图7-3-2
所示。
Router1 DCE DTE Router2
图7-1-5-5-2 CHAP 认证
路由器Router1和Router2的S0口均封装PPP 协议,采用CHAP 做认证,在Router1中应建立一个用户,以对端路由器主机名作为用户名,即用户名应为router2。同时在Router2中应建立一个用户,以对端路由器主机名作为用户名,即用户名应为router1。所建的这两用户的password 必须相同。设置如下:
Router1:
#hostname router1
Router1(config)#username router2 password samesecret
Router1(config)#interface Serial0
Router1(config)#ip address 192.200.10.1 255.255.255.0
Router1(config)#clockrate 1000000
Router1(config-if)#ppp authentication chap
Router2:
#hostname router2
Router1(config)#username router1 password samesecret
Router1(config)#interface Serial0
Router1(config)#ip address 192.200.10.2 255.255.255.0
Router1(config-if)#ppp authentication chap
通过以上配置,路由器Router1 、Router2将建立起CHAP 认证。但是认证双方选择的认证方法可能不一样,例如一方选择PAP ,另一方选择CHAP ,这时双方的认证协商将失败。为了避免身份认证协议过程中出现这样的失败,可以配置路由器使用两种认证方法。当第一种认证协商失败后,可以选择尝试用另一种身份认证方法。如下的命令配置路由器首先采用PAP 身份认证方法。如果失败,再采用CHAP 身份认证方法。
Router1(config—if)#PPP authentication pap chap
相反,如果首先使用CHAP 认证,协商失败后再采用PAP 认证,命令如下所示。
Router1(config—if)#PPP authentication chap pap
7.2 思考和练习
1. 广域网和局域网本质的区别是什么?
2. PPP 的主要特征是什么?
3. 简述PPP 认证的过程?
4. 比较PAP 、CHAP 的优缺点?