您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第二章基于隧道的VPN技术
第2章基于隧道的VPN技术2.1VPN概述2.2L2TP体系2.3IPSec体系学习重点:1.加密技术、身份认证技术、隧道技术的理解2.第二层隧道协议、第三层隧道协议的理解和使用学习难点:IPSec协议体系与应用2.1概述₪VPN可以方便且低成本地将企业的内部私有网络通过共有网络资源实现互连,一般采用以下三种技术或综合使用。₪加密技术:VPN是利用Internet公共网络传输企业私有的信息,因此,传递的数据必须经过加密,才能确保网络上未授权的用户无法读取该信息。密码技术分为两种:对称密钥和非对称密钥。2.1概述₪身份认证技术:VPN需要解决的首要问题就是网络上用户与设备的身份认证。身份认证分为PKI体系和非PKI体系。非PKI身份认证主要采用UID+PASASWORD,PKI体系的身份认证有电子商务用到的基于SSL安全通信协议的身份认证、Kerberos等。2.1概述₪隧道技术:隧道技术通过对数据进行封装,在公共网络上建立一条数据通道,让数据包传输。VPN的具体实现是采用隧道技术,将企业网的数据封装在隧道中进行传输。隧道的功能就是在两个网络节点之间提供一条通路,使数据包能能够在这个通路上透明的传输。2.1.1第二层隧道协议₪隧道协议的数据包格式都是由传输协议、封装协议和乘客协议三部分组成。IPUDPL2TPPPP(数据)第二层隧道协议用于传输第二层网络协议,它主要用于构建AccessVPN。第二层隧道协议主要由三种:L2F、PPTP、L2TP。2.1.2第三层隧道协议₪第三层隧道一些出现的比较早,于1994年提出的GRE协议就是一个第3层隧道协议。GRE即通用路由封装协议,支持全部的路由协议。₪由IETF制定的新一代Internet安全标准IPSec协议也是第三层隧道协议。₪第三层隧道与第二层隧道相比,优势在于它的安全性、可扩展性和可靠性。2.1.3隧道管理₪隧道策略是指由于根据目的IP地址选择隧道。隧道策略有两种:顺序选择方式和VPN隧道绑定方式。₪顺序选择方式:顺序选择的隧道策略可以配置选择通道的顺序及负载分担的条数。₪VPN隧道绑定方式:是指在VPN骨干网的PE设备将VPN的对端与某条MPLSTE隧道相关联。2.2L2IP体系₪L2TP属于VPDN隧道协议的一种。为了更好的理解L2TP,先简单介绍VPDN。₪VPDN是指利用公共网络的拨号功能及接入网来实现虚拟专用网,为企业、小型ISP、移动办公人员提供接入服务。VPDN采用专门的网络加密通信协议,在公共网络上为企业建立安全的虚拟专用。₪VPDN隧道协议有多种:目前使用最广泛的L2TP。₪VPDN有以下两种实现方式:2.2.1L2TP协议概述₪VPDN有以下两种实现方式:₪1.NAS通过隧道协议与VPDN网关建立隧道₪2.客户机与VPDN网关建立隧道2.2.2L2TP协议背景₪PPP协议定义了一种封装技术,可以在二层点到点链路上传输多种协议数据包,这是,用户与NAS之间运行PPP,二层链路端点与PPP会话点在相同的硬件设备上。L2TP协议提供了对PPP链路层数据包的隧道传输支持,允许二层链路端点和PPP会话点驻留在不同设备上,并采用包交换技术进行信息交互,从而扩展了PPP模型。L2TP功能可以简单描述为在非点到点的网络上建立点到点的PPP会话连接。2.2.3L2TP的基本概念₪L2TP协议简介Layer2TunnelingProtocol(第二层隧道协议)₪该协议是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。L2TP协议是由IETF起草,微软、Ascend、Cisco、3COM等公司参予制定的二层隧道协议,它结合了PPTP和L2F两种二层隧道协议的优点,为众多公司所接受,已经成为IETF有关2层通道协议的工业标准,基于微软的点对点隧道协议(PPTP)和思科2层转发协议(L2F)之上的,被一个因特网服务提供商和公司使用使这个虚拟私有网络的操作能够通过因特网。2.2.3L2TP的基本概念₪、L2TP实现的两种方式₪名词解释:₪LAC(L2TPAccessConcentratorL2TP访问集中器)₪是附属在交换网络上的具有PPP端系统和L2TP协议处理能力的设备。LAC一般是一个网络接入服务器NAS,主要用于通过PSTN/ISDN网络为用户提供接入服务。₪LNS(L2TPNetworkServerL2TP网络服务器)₪是PPP端系统上用于处理L2TP协议服务器端部分的设备。₪VPDN(VirtualPrivateDialNetwork,虚拟私有拨号网)₪指利用公共网络(如ISDN和PSTN)的拨号功能及接入网来实现虚拟专用网。₪注:如下示例中使用的防火墙(Firewall,FW)既可以当做LAC也可以作为LNS使用。₪1、PC直接拨号到LNS,组网如图1所示₪2、PC通过LAC拨号连接到LNS,组网如图2所示₪因为一般都使用用PC---LAC---LNS组网,且此种组网包含了PC---LNS的组网形态,故后续描述均已PC---LAC---LNS为例。LAC位于LNS和主机之间,用于在LNS和主机之间传递信息包,把从主机收到的信息包按照L2TP协议进行封装并送往LNS,将从LNS收到的信息包进行解封装并送往远端系统。LAC与主机之间可以采用本地连接或PPP链路,VPDN应用中通常为PPP链路。LNS作为L2TP隧道的另一侧端点,是LAC的对端设备,是被LAC进行隧道传输的PPP会话的逻辑终止端点。₪、L2TP封装位置分析₪如下图3所示,从图中至上而下的分析,为PC的报文在PPP内网环境中发送到LAC,由LAC封装L2TP,再通过外网的报文正常转发给LNS的报文封装过程。₪注:设计的网络环境为PC---LAC为内网使用PPP协议,LAC---LNS为外网使用协议由服务供应商自定。₪三、理解L2TP几个重要的概念₪1、隧道和会话的概念₪在一个LNS和LAC对之间存在着两种类型的连接,一种是隧道(Tunnel)连接,一对LAC和LNS中可以有多个L2TP隧道;另一种是会话(Session)连接,它复用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话过程。₪隧道由一个控制连接和一个或多个会话(Session)组成。会话连接必须在隧道建立(包括身份保护、L2TP版本、帧类型、硬件传输类型等信息的交换)成功之后进行,每个会话连接对应于LAC和LNS之间的一个PPP数据流。控制消息和PPP数据报文都在隧道上传输。₪L2TP使用Hello报文来检测隧道的连通性。LAC和LNS定时向对端发送Hello报文,若在一段时间内未收到Hello报文的应答,该隧道连接将被断开。₪L2TP报文头中包含隧道标识符(TunnelID)和会话标识符(SessionID)信息,用来标识不同的隧道和会话。隧道标识相同、会话标识不同的报文将被复用在一个隧道上,报文头中的隧道标识符与会话标识符由对端分配。₪隧道(tunnel)和会话(session)的关系,如图4所示;可以形象的理解为会话是建立在隧道之中的,隧道想成一个有10个车道的高速公路,一台拨号PC的数据流为一个会话,相当于占用了一个车道(告诉公路有多少车道是设备规定好的),这个车道只能跑这个运载这个PC的报文的卡车。(比如某型号设备每条隧道最多支持1000个会话)。₪2、控制消息和数据消息的概念₪L2TP中存在两种消息:控制消息和数据消息。₪控制消息:用于隧道和会话连接的建立、维护以及传输控制;控制消息的传输是可靠传输,并且支持对控制消息的流量控制和拥塞控制。₪数据消息:用于封装PPP帧并在隧道上传输;数据消息的传输是不可靠传输,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。₪控制消息和数据消息共享相同的报文头。₪四、L2TP隧道的呼叫建立流程₪1、L2TP隧道的呼叫建立流程₪₪图5₪(1)用户端PC机发起呼叫连接请求;₪(2)PC机和LAC端进行PPPLCP协商;₪(3)LAC对PC机提供的用户信息进行PAP或CHAP认证;₪(4)LAC将认证信息(用户名、密码)发送给RADIUS服务器进行认证;₪(5)RADIUS服务器认证该用户,如果认证通过则返回该用户对应的LNS地址等相关信息,并且LAC准备发起Tunnel连接请求;₪(6)LAC端向指定LNS发起Tunnel连接请求;₪(7)LAC端向指定LNS发送CHAPchallenge信息,LNS回送该challenge响应消息CHAPresponse,并发送LNS侧的CHAPchallenge,LAC返回该challenge的响应消息CHAPresponse;₪(8)隧道验证通过;₪(9)LAC端将用户CHAPresponse、responseidentifier和PPP协商参数传送给LNS;₪(10)LNS将接入请求信息发送给RADIUS服务器进行认证;₪(11)RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;₪(12)若用户在LNS侧配置强制本端CHAP认证,则LNS对用户进行认证,发送CHAPchallenge,用户侧回应CHAPresponse;₪(13)LNS再次将接入请求信息发送给RADIUS服务器进行认证;₪(14)RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;₪(15)验证通过,用户访问企业内部资源。₪注:此节如下附加内容涉及到报文协商,前面没有介绍,可以先了解L2TP笔记2中关于报文格式与协商的相关内容,再回头深入分析此节,此节放在这里是为了便于对于整体协商过程进行深入分析。₪附加:2、针对流程中步骤7、步骤12的Challenge验证过程的分析₪(1)LAC向LNS发SCCRQ请求消息时,会产生一个随机的字符串做为本端CHAPChallenge发给LNS。₪(2)LNS收到这个Challenge后,再加上本端配置的密码及SCCRP产生一个新的字符串,用MD5算出一个16个字节的Response,在SCCRP消息中发给LAC。₪同时也产生一个随机的字符串(LNSChallenge)放在SCCRP中一起发给LAC。₪(3)LAC将自己的CHAPChallenge加上本端配置的密码,再加上SCCRP产生一个新字符串,用MD5算出一个16字节的字符串,并与LNS发来的SCCRP中带的LNSCHAPResponse比较,相同通过,不同断掉。₪(4)同理LNS也要验证LAC,LAC用在SCCRP中发现的LNSCHAPChallenge加上本端密码和SCCCN组合,再用MD5算出一个16字节的字符串做为LACCHAPResponse在SCCCN中发给LNS。₪(5)LNS用自己发的Challenge+本端密码+SCCCN用MD5算出一个16字节字符串,与收到的作比较,相同通过,不同断掉。₪附加:3、LAC代LNS与PC协商LCP(即认证代理)和用于认证的AVPS₪正常用户认证方式:₪当LAC检测到有用户拨入电话的时候,向LNS发送ICRQ,请求在已经建立的tunnel中开始session的建立,LAC可以一直等到接收到了LNS回应的ICRP后,表明session可以建立的时候再回答远端(拨号用户)的呼叫,这样LNS可获得足够的信息来决定是否回答这个远端的呼叫。₪LAC代LNS与PC协商LCP(即认证代理):₪LAC在接收到ICRP之前,自行先回答远端(拨号用户)的呼叫,代替LNS与其进行LCP协商和PPP认证,用获得的信息来决定选择哪个LNS(此处对应流程图中步骤5),这种情况下LAC对呼叫的指示和呼叫的回答只是哄骗性质的。在session可以建立时,LAC向LNS发送ICCN时会携带着先前与呼叫用户进行的LCP协商和PPP认证涉及的特性信息(此处对应流程图中步骤9),包含这些信息的AVP如下:₪①
本文标题:第二章基于隧道的VPN技术
链接地址:https://www.777doc.com/doc-2126539 .html