??xml version="1.0" encoding="utf-8" standalone="yes"?>
?
在有很多q接都被UCVPNQ用L常分不清楚,那么一般所说的VPN到底是什么呢Q顾名思义Q虚拟专用网不是真的专用|络Q但却能够实C用网l的?
能。虚拟专用网指的是依靠ISPQInternet服务提供商)和其它NSPQ网l服务提供商Q,在公用网l中建立专用的数据通信|络的技术。在虚拟专用
|中QQ意两个节点之间的q接q没有传l专|所需的端到端的物理链路,而是利用某种公众|的资源动态组成的。IETF草案理解ZIP的VPN为:"使用
IP机制仿真Z个私有的q域|?是通过U有的隧道技术在公共数据|络上仿真一条点到点的专U技术。所谓虚拟,是指用户不再需要拥有实际的镉K数据线路,
而是使用Internet公众数据|络的长途数据线路。所谓专用网l,是指用户可以己制定一个最W合自己需求的|络?/span>
用户现在在电信部门租用的帧中l(Frame RelayQ与ATM{数据网l提供固定虚拟线路(PVC-Permanent Virtual CircuitQ来q接需要通讯的单位,所有的权限掌握在别人的手中。如果用户需要一些别的服务,需要填写许多的单据Q再{上相当一D|_才能享受到新 的服务。更为重要的是两端的l端讑֤不但h昂贵Q而且理也需要一定的专业技术h员,无疑增加了成本,而且帧中l、ATM数据|络也不会像 Internet那样Q可立即与世界上M一个用Internet|络的单位连接。而在Internet上,VPN使用者可以控制自׃其他使用者的? p,同时支持拨号的用戗?
所以我们说?b>虚拟专用|一般指的是建筑在Internet上能够自我管理的专用|络Q而不是Frame Relay或ATM{提供虚拟固定线路(PVCQ服务的|络。以IPZ要通讯协议的VPNQ也可称之ؓIP-VPN?/b>
׃VPN是在Internet上时徏立的安全专用虚拟|络Q用户就节省了租用专U的费用Q在q行的资金支ZQ除了购买VPN讑֤Q企业所付出的仅仅是向企业所在地的ISP支付一定的上网费用Q也节省了长途电话费。这是VPNh低廉的原因?/b>
来多的用戯识到Q随着Internet和电子商务的蓬勃发展Q经全球化的最佳途径是发展基于Internet的商务应用。随着商务zd的日益频 J,各企业开始允许其生意伙伴、供应商也能够访问本企业的局域网Q从而大大简化信息交的途径Q增加信息交换速度。这些合作和联系是动态的Qƈ依靠|络? l持和加强,于是各企业发玎ͼq样的信息交不但带来了|络的复杂性,q带来了理和安全性的问题Q因为Internet是一个全球性和开放性的、基? TCP/IP 技术的、不可管理的国际互联|络Q因此,ZInternet的商务活动就面非善意的信息威胁和安全隐患?
q有一cȝP随着自n的的发展壮大与跨国化Q企业的分支机构不仅来多Q而且怺间的|络基础设施互不兼容也更为普遍。因此,用户的信息技术部门在q接分支机构斚w也感到日益棘手?
用户的需求正是虚拟专用网技术诞生的直接原因?/p>
1Q安全保?
? 然实现VPN的技术和方式很多Q但所有的VPN均应保证通过公用|络q_传输数据的专用性和安全性?b>在非面向q接的公用IP|络上徏立一个逻辑的、点对点 的连接,UC为徏立一个隧道,可以利用加密技术对l过隧道传输的数据进行加密,以保证数据仅被指定的发送者和接收者了解,从而保证了数据的私有性和安全 性?/b>在安全性方面,׃VPN直接构徏在公用网上,实现单、方ѝ灵z,但同时其安全问题也更为突出。企业必ȝ保其VPN上传送的数据不被d者窥? 和篡改,q且要防止非法用户对|络资源或私有信息的讉K。ExtranetVPN企业网扩展到合作伙伴和客户Q对安全性提Z更高的要求?
2Q服务质量保证(QoSQ?
VPN|应当ؓ企业数据提供不同{的服务质量保证。不同的用户和业务对服务质量保证的要求差别较大。如Ud办公用户Q提供广泛的q接和覆盖性是保证 VPN服务的一个主要因素;而对于拥有众多分支机构的专线VPN|络Q交互式的内部企业网应用则要求网l能提供良好的稳定性;对于其它应用Q如视频{)? 对网l提Z更明的要求Q如|络时g及误码率{。所有以上网l应用均要求|络Ҏ需要提供不同等U的服务质量。在|络优化斚wQ构建VPN的另一重要需 求是充分有效地利用有限的q域|资源,为重要数据提供可靠的带宽。广域网量的不定性其带宽的利用率很低,在流量高峰时引v|络dQ生网l瓶颈, 使实时性要求高的数据得不到及时发送;而在量低谷时又造成大量的网l带宽空闌Ӏ?b>QoS通过量预测与流量控制策略,可以按照优先U分配带宽资源,实现? 宽管理,使得各类数据能够被合理地先后发送,q防阻塞的发生?/b>
3Q可扩充性和灉|?
VPN必须能够支持通过Intranet和Extranet的Q何类型的数据,方便增加新的节点Q支持多U类型的传输媒介Q可以满_时传输语韟뀁图像和数据{新应用寚w质量传输以及带宽增加的需求?
4Q可理?
从用戯度和q营商角度应可方便地q行理、维护。在VPN理斚wQVPN要求企业其|络理功能从局域网无缝地g伸到公用|,甚至是客户和合作?
伴。虽然可以将一些次要的|络理d交给服务提供商去完成Q企业自׃需要完成许多网l管理Q务。所以,一个完善的VPN理pȝ是必不可的。VPN
理的目标ؓQ减网l风险、具有高扩展性、经性、高可靠性等优点。事实上QVPN理主要包括安全理、设备管理、配|管理、访问控制列表管理?
QoS理{内宏V?/p>
W三?VPN安全技?/p>
׃传输的是U有信息QVPN用户Ҏ据的安全性都比较兛_?
目前VPN主要采用四项技术来保证安全Q这四项技术分别是隧道技术(TunnelingQ、加解密技术(Encryption & DecryptionQ、密钥管理技术(Key ManagementQ、用者与讑֤w䆾认证技术(AuthenticationQ?
1.隧道技术:
隧道技术是VPN的基本技术类g点对点连接技术,它在公用|徏立一条数据通道Q隧道)Q让数据包通过q条隧道传输。隧道是由隧道协议Ş成的Q分为第
二、三层隧道协议。第二层隧道协议是先把各U网l协议封装到PPP中,再把整个数据包装入隧道协议中。这U双层封装方法Ş成的数据包靠W二层协议进行传
输。第二层隧道协议有L2F、PPTP、L2TP{。L2TP协议是目前IETF的标准,由IETF融合PPTP与L2F而Ş成?
W三层隧道协议是把各U网l协议直接装入隧道协议中QŞ成的数据包依靠第三层协议q行传输。第三层隧道协议有VTP、IPSec{。IPSecQIP SecurityQ是׃lRFC文档l成Q定义了一个系l来提供安全协议选择、安全算法,定服务所使用密钥{服务,从而在IP层提供安全保障?
2.加解密技术:
加解密技术是数据通信中一较成熟的技术,VPN可直接利用现有技术?
3.密钥理技术:
密钥理技术的主要d是如何在公用数据|上安全C递密钥而不被窃取。现行密钥管理技术又分ؓSKIP与ISAKMP/OAKLEY两种。SKIP
主要是利用Diffie-Hellman的演法则,在网l上传输密钥Q在ISAKMP中,双方都有两把密钥Q分别用于公用、私用?
4.使用者与讑֤w䆾认证技术:
使用者与讑֤w䆾认证技术最常用的是使用者名UC密码或卡片式认证{方式?/p>
W四?堵住安全漏洞
安全问题是VPN的核心问题。目前,VPN的安全保证主要是通过防火墙技术、\由器配以隧道技术、加密协议和安全密钥来实现的Q可以保证企业员工安全地讉K公司|络?
但是Q如果一个企业的VPN需要扩展到q程讉KӞp注意Q这些对公司|直接或始终在线的连接将会是黑客d的主要目标。因为,q程工作员工通过防火 墙之外的个h计算机可以接触到公司预算、战略计划以及工E项目等核心内容Q这构成了公司安全防Mpȝ中的q。虽Ӟ员工可以双倍地提高工作效率Qƈ? 在交通上所p的时_但同时也为黑客、竞争对手以及商业间谍提供了无数q入公司|络核心的机会?
但是Q企? q没有对q距d作的安全性予以够的重视。大多数公司认ؓQ公司网l处于一道网l防火墙之后是安全的Q员工可以拨可入系l,而防火墙会将一切非法请? 拒之其外Q还有一些网l管理员认ؓQؓ|络建立防火墙ƈ为员工提供VPNQ他们可以通过一个加密的隧道拨号q入公司|络是安全的。这些看法都是不? 的?
在家办公? 不错Q但从安全的观点来看Q它是一U极大的威胁Q因为,公司使用的大多数安全软gq没有ؓ家用计算机提供保护。一些员工所做的仅仅是进入一台家用计机Q? 跟随它通过一条授权的q接q入公司|络pȝ。虽Ӟ公司的防火墙可以R入者隔d外,q保证主要办公室和家庭办公室之间VPN的信息安全。但问题在于Q? 侵入者可以通过一个被信Q的用戯入网l。因此,加密的隧道是安全的,q接也是正确的,但这q不意味着家庭计算机是安全的?
黑客Z? 入员工的家用计算机,需要探IP地址。有l计表明Q用拨可接的IP地址几乎每天都受到黑客的扫描。因此,如果在家办公人员h一条诸如DSL的不? 断连接链路(通常q种q接h一个固定的IP地址Q,会黑客的入侉|为容易。因为,拨号q接在每ơ接入时都被分配不同的IP地址Q虽然它也能被R入,? 相对要困难一些。一旦黑客R入了家庭计算机,他便能够q程q行员工的VPN客户端Y件。因此,必须有相应的解决Ҏ堵住q程讉KVPN的安全漏z,使员? 与网l的q接既能充分体现VPN的优点,又不会成为安全的威胁。在个h计算Z安装个h防火墙是极ؓ有效的解x法,它可以非法侵入者不能进入公司网 l。当Ӟq有一些提供给q程工作人员的实际解x法:
* 所有远E工作h员必被批准使用VPNQ?
* 所有远E工作h员需要有个h防火墙,它不仅防止计机被R入,q能记录q接被扫描了多少ơ;
* 所有的q程工作人员应具有入侉|系l,提供寚w客攻M息的记录Q?
* 监控安装在远端系l中的YӞq将光制只能在工作中用;
* IT人员需要对q些pȝq行与办公室pȝ同样的定期性预定检查;
* 外出工作人员应对敏感文gq行加密Q?
* 安装要求输入密码的访问控制程序,如果输入密码错误Q则通过Modem向系l管理员发出警报Q?
* 当选择DSL供应商时Q应选择能够提供安全防护功能的供应商?/span>
W五?VPN解决Ҏ
VPN有三U解x案,用户可以Ҏ自己的情况进行选择。这三种解决Ҏ分别是:q程讉K虚拟|(AccessVPNQ、企业内部虚拟网
QIntranetVPNQ和企业扩展虚拟|(ExtranetVPNQ,q三U类型的VPN分别与传l的q程讉K|络、企业内部的Intranet以及
企业|和相关合作伙伴的企业网所构成的Extranet相对应?br />
Q?QAccessVPN
如果企业的内部h员移动或有远E办公需要,或者商家要提供B2C的安全访问服务,可以考虑使用AccessVPN?
AccessVPN通过一个拥有与专用|络相同{略的共享基设施Q提供对企业内部|或外部|的q程讉K。AccessVPN能用户随时、随C其所 需的方式访问企业资源。AccessVPN包括模拟、拨受ISDN、数字用L?xDSL)、移动IP和电~技术,能够安全地连接移动用戗远E工? 者或分支机构。如?所C?/p>
![]() |
? AceessVPNl构?/p>
AccessVPN最适用于公司内部经常有动人员q程办公的情c出差员工利用当地ISP提供的VPN服务Q就可以和公司的VPN|关建立U有的隧道连接。RADIUS服务器可对员工进行验证和授权Q保证连接的安全Q同时负担的电话费用大大降低?
AccessVPN对用L吸引力在于:
* 减少用于相关的调制解调器和终端服务设备的资金及费用,化网l;
* 实现本地拨号接入的功能来取代q距L入或800电话接入Q这栯显著降低q距通信的费用;
* 极大的可扩展性,便地对加入网l的新用戯行调度;
* q端验证拨入用户服务QRADIUSQ基于标准,Z{略功能的安全服务;
* 工作重心从理和保留运作拨Ll的工作人员转到公司的核心业务上来?
(2)IntranetVPN
如果要进行企业内部各分支机构的互联,使用IntranetVPN是很好的方式?/p>
来多的企业需要在全国乃至世界范围内徏立各U办事机构、分公司、研I所{,各个分公怹间传l的|络q接方式一般是U用专线。显Ӟ在分公司增多?
业务开展越来越q泛Ӟ|络l构于复杂Q费用昂c利用VPNҎ可以在Internet上组Z界范围内的IntranetVPN。利?
Internet的线路保证网l的互联性,而利用隧道、加密等VPNҎ可以保证信息在整个IntranetVPN上安全传输。IntranetVPN?
q一个用专用连接的׃n基础设施Q连接企业总部、远E办事处和分支机构。企业拥有与专用|络的相同政{,包括安全、服务质?QoS)、可理性和可靠
性。如?所C?
![]() |
IntranetVPN对用L吸引力在于:
* 减少WAN带宽的费用;
* 能用灵zȝ拓扑l构Q包括全|络q接Q?
* 新的站点能更快、更Ҏ地被q接Q?
* 通过讑֤供应商WAN的连接冗余,可以廉|络的可用时间?
(3)ExtranetVPN
如果是提供B2B之间的安全访问服务,则可以考虑ExtranetVPN?
随着信息时代的到来,各个企业来重视各U信息的处理。希望可以提供给客户最快捷方便的信息服务,通过各种方式了解客户的需要,同时各个企业之间的合 作关pM来多Q信息交换日益频J。InternetL一U发展趋势提供了良好的基Q而如何利用Internetq行有效的信息管理,是企业发 展中不可避免的一个关键问题。利用VPN技术可以组建安全的ExtranetQ既可以向客戗合作伙伴提供有效的信息服务Q又可以保证自n的内部网l的? 全?
ExtranetVPN通过一个用专用连接的׃n基础设施Q将客户、供应商、合作伙伴或兴趣体q接C业内部网。企业拥有与专用|络的相同政{,包括安全、服务质?QoS)、可理性和可靠性。如?所C?
![]() |
? ExtranetVPNl构?/p>
ExtranetVPN对用L吸引力在于:能容易地对外部网q行部v和管理,外部|的q接可以使用与部|内部网和远端访问VPN相同的架构和协议q行部v。主要的不同是接入许可,外部|的用户被许可只有一ơ机会连接到其合作h的网l?
W六?VPN益处
Internet服务提供商(ISPQ和企业是VPN的直接受益者。ISPVPN作ؓ一增g务推向企业,q从企业得到回报。因此,VPN的最l目的是服务于企业,Z业带来可观的l济效益QؓC化企业的信息׃n提供安全可靠的途径?br />
1QISP受益
对于ISP来说QVPN提供了巨大商机。世U互联的薛滔先生介绍_世纪互联使用的是Z|通的全国|络Q有很好的硬件条件。面对IDC?001q更 加激烈的竞争状况Q世U互联希望在IDC基础之上扑ֈ新的增长炏V因为网站羃_所以世U互联将目光转向大中型传l企业,分析他们对电信资源有哪些需求, l果觉得VPN是一个机会。世U互联现在正在探索,VPN的方案和技术已l准备就l。世U互联的目标用户是全国有分支机构Q信息化已经辑ֈ一定水q的 单位Q世U互联将整合现有资源Q包括网l、托和技术力量来为用h供服务。通过向企业提供VPN增值服务,ISP可以与企业徏立更加紧密的长期合作? p,同时充分利用现有|络资源Q提高业务量。事实上QVPN用户的数据流量较普通用戯大得多,而且旉上也是相互错开的。VPN用户通常是上班时间Ş? 量的高峎ͼ而普通用L量高峰期则在工作时间之外。ISP对外提供两种服务Q资源利用率和业务量都会大大增加。同ӞVPN使ISP能够l济地维持开 发客L、增加利润、提供增强服务,如视频会议、电子商务、IP电话、远E教学、多媒体商务应用{等?
2Q用户受?
哪些用户适于使用VPN呢?在满_本应用要求后Q有三类用户比较适合采用VPNQ?
1)位置众多Q特别是单个用户和远E办公室站点多,例如企业用户、远E教育用P
2)用户/站点分布范围q,彼此之间的距远Q遍布全球各圎ͼ需通过镉K电信,甚至国际镉K手D联pȝ用户Q?
3)带宽和时延要求相寚w中Q?
4)对线路保密性和可用性有一定要求的用户?
相对而言Q有四种情况可能q不适于采用VPNQ?
1)非常重视传输数据的安全性;
2)不管h多少Q性能都被攑֜W一位的情况Q?
3)采用不常见的协议Q不能在IP隧道中传送应用的情况Q?
4)大多数通信是实旉信的应用,如语韛_视频。但q种情况可以使用公共交换电话|(PSTNQ解x案与VPN配合使用?
对于企业来说QVPN提供了安全、可靠的 Internet讉K通道Qؓ企业q一步发展提供了可靠的技术保障。而且VPN能提供专用线路类型服务,是方便快L企业U有|络。企业甚臛_以不必徏? 自己的广域网l护pȝQ而将q一J重的Q务交׃业的ISP来完成。由于VPN的出玎ͼ用户可以从以下几斚wLQ?
1)实现|络? ? h高度的安全性,对于现在的网l是极其重要的。新的服务如在线银行、在U交易都需要绝对的安全Q而VPN以多U方式增Z|络的智能和安全性。首先,? 在隧道的LQ在现有的企业认证服务器上,提供对分布用L认证。另外,VPN支持安全和加密协议,如SecureIPQIPsecQ和 Microsoft点对点加密(MPPEQ?
2)化网l设 ? |络理者可以用VPN替代U用U\来实现分支机构的q接。这样就可以对q程链\q行安装、配|和理的Q务减到最,仅此一点就可以极大地简化企 业广域网的设计。另外,VPN通过拨号讉K来自于ISP或NSP的外部服务,减少了调制解调器池,化了所需的接口,同时化了与远E用戯证、授权和? 账相关的讑֤和处理?
3)降低成本 VPN可以立即且显著地降低成本。当使用InternetӞ实际上只需付短途电话费Q却收到了长途通信的效果。因此,借助ISP来徏立VPNQ就可以? 省大量的通信费用。此外,VPNq企业不必投入大量的h力和物力d装和l护WAN讑֤和远E访问设备,q些工作都可以交lISP。VPN使用户可以降 低如下的成本Q?
◆移动用户通信成本。VPN可以通过减少镉K费?00费用来节省移动用Lp?
◆租用线路成本。VPN可以以每条连接的40%?0%的成本对U用U\q行控制和管理。对于国际用h_q种节约是极为显著的。对于话x据,节约金额会进一步增加?
? 主要讑֤成本。VPN通过支持拨号讉K外部资源,使企业可以减不断增长的调制解调器费用。另外,它还允许一个单一的WAN接口服务多种目的Q从分支|络 互连、商业伙伴的外连|终端、本地提供高带宽的线路连接到拨号讉K服务提供者,因此Q只需要极的WAN接口和设备。由于VPN可以完全理Qƈ且能够从 中央|站q行Z{略的控Ӟ因此可以大幅度地减少在安装配|远端网l接口所需讑֤上的开销。另外,׃VPN独立于初始协议,q就使得q端的接入用户可 以l用传l设备,保护了用户在现有g和Y件系l上的投资?
4)Ҏ扩展 如果企业x大VPN的容量和覆盖范围。企业需做的事情很少Q而且能及时实玎ͼ企业只需与新的IPS{Q徏立̎P或者与原有的ISP重签合约Q扩大服 务范围。在q程办公室增加VPN能力也很单:几条命o可以Extranet路由器拥有Internet和VPN能力Q\由器q能对工作站自动q行? |?
5)可随意与合作伙伴联网 在过去,企业如果想与合作伙伴q网Q双方的信息技术部门就必须协商如何在双方之间徏立租用线路或帧中l线路。有了VPN之后Q这U协商也毫无必要Q真正达C要连pQ要断就断?
6)完全控制d?借助VPNQ企业可以利用ISP的设施和服务Q同时又完全掌握着自己|络的控制权。比方说Q企业可以把拨号讉K交给ISPdQ由自己负责用户的查验、访问权、网l地址、安全性和|络变化理{重要工作?
7)支持新兴应用 许多专用|对许多新兴应用准备不Q如那些要求高带宽的多媒体和协作交互式应用。VPN则可以支持各U高U的应用Q如IP语音QIP传真Q还有各U协议,如RSIP、IPv6、MPLS、SNMPv3{?
正由于VPN能给用户带来诸多的好处,VPN在全球发展得异常U火Q在北美和欧zԌVPN已经是一相当普遍的业务Q在亚太地区Q该Ҏ务也q速开展v来?
W七?VPN发展势
在国外,Internet已成为全C会的信息基设施Q企业端应用也大都基于IPQ在Internet上构{应用系l已成ؓ必然势Q因此基于IP的VPN业务获得了极大的增长I间。Infornetics Research公司预言Q在2001q_全球VPN市场达?20亿美元。据预测Q到2004q_北美的VPN业务收入增?8亿美元?
在中国,制约VPN的发展、普及的因素大致可分为客观因素和主观因素两方面?
1.客观因素包括因特|带宽和服务质量QoS问题?
在过L论因特网的远E接入还是专U接入,以及骨干传输的带宽都很小QQoS更是无法保障Q造成企业用户宁愿p大量的金钱去投资自己的专U网l或是宁 愿花费巨额的镉K话Ҏ提供q程接入。现在随着ADSL、DWDM、MPLS{新技术的大规模应用和推广Q上q问题将得到Ҏ改善和解冟뀂譬如,q去专线 接入速率最高才2MbpsQ而从今年开始,中国的企业用户可以n受到10MbpsQ乃?00Mbps的Internet专线接入Q而骨q网现在最高已? ?0GbpsQƈ且今后几q内发展到上百乃至上千个GbpsQ这已不是技术问题而是旉问题。随着互联|技术的发展Q可以说VPN在未来几q内会? 到迅猛发展?
2.主观因素之一是用hd怕自己内部的数据在Internet上传输不安全?
其实前面介绍的VPN技术已l能够提供够安全的保障Q可以用户数据不被查看、修攏V主观因素之二,也是VPN应用最大的障碍Q是客户自n的应用跟不上Q只有企业将自己的业务完全和|络联系上,VPN才会有了真正的用武之地?
可以惌Q当我们消除了所有这些障因素后QVPN会成ؓ我们|络生活的主要组成部分。在不远的将来,VPN技术将成ؓq域|徏讄最佌x案,? 不仅会大大节省广域网的徏讑֒q行l护费用Q而且增强了网l的可靠性和安全性。同ӞVPN会加快企业网的徏设步伐,使得集团公司不仅仅只是徏讑ֆ部局? |,而且能够很快地把全国各地分公司的局域网qv来,从而真正发挥整个网l的作用。VPNҎ动整个电子商务、电子N易将起到不可低估的作用?/span>
|
|
三层隧道协议
用于传输三层|络协议的隧道协议叫三层隧道协议。三层隧道协议ƈ非是一U很新的技术,早已出现?RFC
1701 Generic Routing EncapsulationQGREQ协议就是个三层隧道协议。新出来?IETF ?IP
层加密标准协?IPSec 协议也是个三层隧道协议?
IPSec
协议不是一个单独的协议Q它l出了应用于IP层上|络数据安全的一整套体系l构Q它包括|络安全协议 Authentication
HeaderQAHQ协议和 Encapsulating Security PayloadQESPQ协议、密钥管理协议Internet Key
Exchange QIKEQ协议和用于|络验证及加密的一些算法等。IPSec
规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换Q向上提供了讉K控制、数据源验证、数据加密等|络安全服务?
GRE
GRE ?IP in IP、IPX over IP {封装Ş式很怼Q但比他们更通用。很多协议的l微差异都被忽略Q这导致了它不是徏议用在某个特定的“X over Y”进行封装,所以是一U最基本的封装Ş式?
在最单的情况下,pȝ接受C个需要封装和路由的数据报Q我们称之ؓ有效报文QPayloadQ。这个有效报文首先被 GRE 装然后被称之ؓ
GRE 报文Q这个报文接着被封装在 IP 协议中,然后完全?IP
层负责此报文的向前传输(ForwardedQ。我们也U这个负责向前传输的IP
协议Z递(DeliveryQ协议或传输QTransportQ协议。整个被装的报文具有图2 所CŞ式: Delivery
Header(transpor Protocol) GRE Header(Encapsulation Protocol) Payload
Packet(Passenger Protocol) ? 通过 GRE 传输报文形式 GRE 的作用如下:
多协议的本地|通过单一协议的骨q网传输的服?一些不能连l的子网q接hQ这一点用于组?VPN
扩大了网l的工作范围,包括那些路由|关有限的协议;?IPX 包最多可以{?6ơ(既经q?6个\由器Q,而在一?Tunnel
q接中看上去只经q一个\由器 IPSec IPSecQIP
安全协议Q是一l开攑֍议的ȝQ在特定的通信方之间提供数据的U有性、完整性保护,q能Ҏ据源q行验证。IPSec 使用 IKE
q行协议及算法的协商Qƈ采用?IKE 生成的密码来加密和验证。IPSec 用来保证数据包在 Internet
|上传输时的U有性、完整性和真实性。IPSec ?IP 层提供这些安全服务,?IP 及所承蝲的数据提供保护。这些服务是通过两个安全协议
AH ?ESPQ通过加密{过E实现的。这些机制的实现不会对用戗主机或其它 Internet
lg造成影响Q用户可以选择不同的加密算法,而不会对实现的其它部分造成影响?
IPSec 提供以下几种|络安全服务Q?
U有?Q?IPsec 在传输数据包之前其加密Q以保证数据的私有?
完整?Q?IPsec 在目的地要验证数据包Q以保证该数据包在传输过E中没有被替?
真实?Q?IPsec 端要验证所有受 IPsec 保护的数据包
反重?Q?IPsec 防止了数据包被扑捉ƈ重新投放到网上,即目的地会拒l老的或重复的数据包;它通过?AH ?ESP
一起工作的序列号实?IPSec 协议本n定义了如何在 IP 数据包中增加字段来保?IP
包的完整性、私有性和真实性,q些协议q规定了如何加密数据包。?
IPsecQ数据就可以在公|上传输Q而不必担心数据被监视、修Ҏ伪造了。IPsec
提供了两个主Z间、两个安全网关之间或L和安全网关主机的保护?
IPSec 定义了两个新的数据包头增加到 IP
包,q些数据包头用于保证 IP 数据包的安全性。这两个数据包头由AHQAuthentication HeaderQ和
ESPQEncapsulating Security PayloadQ规定。在|关上实?IPSecQAH
插到标准IP包头后面Q它保证数据包的完整性和真实性,防止黑客截断数据包或向网l中插入伪造的数据包。AH
采用了安全哈希算法来Ҏ据包q行保护。AH 没有对用h据进行加密。ESP 需要保护的用户数据q行加密后再装到IP包中QESP
可以保证数据的完整性、真实性和U有性?
IPSec 有隧道和传送两U工作方式。在隧道方式中,用户的整?
IP数据包被用来计算 ESP _且被加密QESP 头和加密用户数据被封装在一个新?IP
数据包中Q在传送方式中Q只是传输层Q如TCP、UDP、ICMPQ数据被用来计算 ESP _ESP
头和被加密的传输层数据被攄在原IP包头后面。当 IPSec 通信的一端ؓ安全|关Ӟ必须采用隧道方式?
Internet 密钥交换协议QIKEQ用于在两个通信实体协商和徏立安全相养I交换密钥。安全相养ISecurity AssociationQ是
IPSec
中的一个重要概c一个安全相兌CZ个或多个通信实体之间l过了n份认证,且这些通信实体都能支持相同的加密算法,成功C换了会话密钥Q可以开始利?
IPSec q行安全通信。IPSec 协议本n没有提供在通信实体间徏立安全相关的ҎQ利?IKE 建立安全相关。IKE
定义了通信实体间进行n份认证、协商加密算法以及生成共享的会话密钥的方?/p>
VPN隧道技术允许远E客户通过隧道q入我们的网l,q一点证明了早前关于隧道被用于那些“不受支持协议”的观点Q尽该作用q不显而易见。如 果我们要通过VPN才能实现打印机和文g׃nQ那可能是因为端?39?45(Windows的配对端?已被关闭Q实际上对于我们的边界\由器来说Q? q两个端口是不受支持的TCP端口。然而,如果在已知的VPN服务器上采用IPSec或PPTP(点对炚w道协?Q那么一切就“都没问题”了?/p>
被发往zd目录(Active Directory)服务器端?45的数据包被隐藏为VPN数据包。当q些数据包到达VPN服务器时Q服务器会对数据包进行解?demuxQ即de -multiplexQ也被称为disassemble)Q然后将其发送到内部|络上。当数据包到辑ֆ部网l时Q其源地址现在是VPN服务器的内部 IPQ这样内部网l做出的响应pq回VPN服务器。除了这一点,数据包都会完全按照你的意图行事。VPN服务器一收到响应Q就会给该数据包dVPN? q封装v来,然后通过其外部接口把它发回给你?/p>
关于VPN隧道要注意几个有意思的地方:一旦你的数据到辑ֆ部网l,它就已经被解?而当q些数据通过InternetӞ会有一些特别的“东襎쀝被加入到数据包中?/p>
有一Ҏ们没有提及,但是也许很明显,那就是VPN协议在传送你的数据包之前会ؓ其加密。对于理解隧道概念这无关紧要Q不q却值得一提。注意这 U加密ƈ不是端对端,也就是说你和服务器之间的通信不是真正安全的。当然你自己和你的网l之间很安全Q别人无法窥探,然而一旦数据包从VPN服务器出来, ׃再一ơ被解密?/p>
说到W二个有意思的地方Q我们先来了解一下最基本的IP装原理。从概念上来_我们是把数据包嵌套,更确切地_ 外部的IP数据包的数据部分要包含一个完整的IP数据包。很妙,是不?q样我们p释了IPIP隧道的概?IP被包含在IP数据包中?/p>
?
如图1所C,IP数据包的数据部分包含了一个崭新的IP数据包。除了加密,它与VPN隧道技术的作用是一L。当你的数据包顶端带了个“附加的 包头”时Q你无法发送大量的数据Q因为第一个IP头就占用?0个节字。认识这一炚w帔R要,因ؓ在采用隧道技术时会突然出现Path MTU(最大传输单?问题?/p>
"建立SSH隧道"是一件很奇妙也很让h费解的事Q也是采用SSH协议通过隧道传送数据。X11E序(例如一个图形用L面程?如果需要连 接一个显C终端。它可以非常L地通过SSH隧道传送数据。X的客?例如弹出H口E序)会试图连接显C器所在的工作站上的X服务器,如果你与一台服务器 之间采用了SSHQƈ且各选项讄无误Q那么程序试图连接X的信息将被通过隧道q回l你本地的计机Q解密后再传送给你本机机上的X服务器。现在来试着? 立SSH隧道?执行“ssh-Y user@hostname.com”命令,然后一旦进入就q行firefoxQ它应该昄在你的本地计机上,而且是通过加密SSH隧道实现的?/p>
因ؓOpenSSH的能力很有趣Qƈ且有助于我们理解隧道概念Q所以我们来看看SSH另外两个技巧?/p>
你可以把到自p机上的一个端口的q接转发l一台远E计机Q它你的数据通过SSH隧道传送,使之安全可靠。这看v来似乎没什么用处,? 竟,Z么我要把自己计算Z的端口发l另一台计机?要回{这个问题我们先要澄清一些概cSSH转发端口之前首先要侦听本地端口是否有q接Q当建立 q接后,SSH把整个q接发送给q程L和端口,q是一个单端口VPN!
例如:ssh -L80:workserver.com:80 user@workdesktop.com
q条命o在本Zworkdesktop.com计算Z间徏立一个SSHq接Q而与此同时也打开了你本地计算Z的端?0。如果你让web 览器指向http://localhostQ此q接׃通过SSHq接被发送至workdesktop.comQ进而又发送至 workserver.com服务器的端口80上。这非常有益于从安讉K那些仅存在于Intranet上的站点Q而无需先连接至VPN服务器?/p>
最新的OpenSSH版本同样支持SSH上的IP隧道技术。实际上Q它也支持以太网(Ethernet)Q目的是两个以太网q播域桥接在一 ?也就是通过SSH加密!在OpenSSH的隧道选项中,Z可以讄全功能的SSH-VPN隧道Q之在MSSH|络上都能实现。它在两端都创徏? 道接口,而唯一需要手动配|的只是路由表。如果你惌所有发往目的|络的数据都通过加密隧道来发送,那么你只需为目的网l增加一条\由,q把它指向SSH 自动创徏的隧道接口。这实是目前最无可争议的VPN讄了?/p>
隧道也传送其它协议。希望上q内容能够让你深入了解隧道技术,Ȁ发一点兴,或者至让某些Z再觉得这U技术多么神U?/p>
结
隧道技术用于在各种不同的网l中发送不受支持的协议?/p>
通过隧道的数据、VPN或其它内容数据包增大,所以每个数据包所发送的数据量减?/p>
一般来_通过SSH隧道发送数据是一U根据具体应用徏立的VPNQ然而最新版本的OpenSSH可实C个完全成熟、无可争议的VPN?/p>
防火墙可以实施和执行|络讉K{略Q但是,传统的防火墙技术集中于如何防范外部|络对内部网l的入R和攻MQ而对于如何控制内部用户对外部|络的访?
问题研究不够深入Q相关的控制技术也不多。据权威资料昄Q全球现有大U?5万色情网站,单纯依靠传统的包qo{防火墙技术,势必会严重媄响网l性能。针
对这一问题Q我们从应用层网x术入手,利用WinSock2 SPI技术,q行了研I和探讨?
Winsock2 SPI原理?/p>
Winsock2 SPIQService Provider InterfaceQ服务提供者接口徏立在Windows开攄l架构WOSAQWindows Open System ArchitectureQ之上,是Winsockpȝlg提供的面向系l底层的~程接口。Winsockpȝlg向上面向用户应用E序提供一个标准的 API接口Q向下在Winsocklg和Winsock服务提供者(比如TCP/IP协议栈)之间提供一个标准的SPI接口。各U服务提供者是 Windows支持的DLLQ挂靠在Winsock2 的Ws2_32.dll模块下?/p>
对用户应用程序用的Winsock2
API中定义的许多内部函数来说Q这些服务提供者都提供了它们的对应的运作方?例如API函数WSAConnect有相应的SPI函数
WSPConnect)。多数情况下Q一个应用程序在调用Winsock2 API函数ӞWs2_32.dll会调用相应的Winsock2
SPI函数Q利用特定的服务提供者执行所h的服务?
Winsock2
SPI允许开发两cL务提供者——传输服务提供者和名字I间服务提供者?#8220;传输提供?#8221;QTransport Providers,
一般称作协议堆栈,例如TCP/IPQ能够提供徏立通信、传输数据、日常数据流控制和错误控制等传输功能斚w的服务?#8220;名字I间提供?#8221;QName
Space
ProvidersQ例如DNS名字解析服务Q则把一个网l协议的地址属性和一个或多个用户友好名称兌CP以便启用与应用无关的名字解析Ҏ?
Winsock2
中用的传输服务提供者有两类Q基服务提供者和分层服务提供者。基服务提供者执行网l传输协议(比如TCP/IPQ的具体l节Q其中包括在|络上收?
数据之类的核心网l协议功能?#8220;分层?#8221;QLayeredQ服务提供者只负责执行高的自定义通信功能Qƈ依靠下面的基服务提供者,在网l上q行真正?
数据交换?
Zq行内部用户对外讉K控制Q我们需要在现有的基提供者TCP/IP提供者上讄一个分层式的URLqo理者。通过
URLqo理者我们可以截L戯求的HTTP数据包中的URL地址Q而可以通过高效的数据检索算法(如利用Fibonacci散列函数的哈希表Q,
在访问规则库Q被止讉K的IP集合Q中查找指定的IPQ根据结果拒l或提供讉K服务?
传输服务提供者的安装方式军_了它不仅?
一个分层提供者,q是一个基服务提供者。Winsock
2使用pȝ配置数据库配|传输服务提供者。配|数据库让Winsock2得知服务提供者的存在Qƈ定义了提供的服务cd。要在Winsock2服务提供?
数据库内成功安装和管理服务提供者,需要四个函敎ͼWSCEnumProtocols、WSCInstallProvider?
WSCWriteProvider Order、WSCDeInstallProvider?/p>
q些函数利用WSAPROTOCOL_INFOWl构Q对服务提供者数据库q行查询和操作。要安装分层式服务提供者,需要徏立两? WSPPROTOCOL_INFOW目录条目l构。一个代表分层提供者(协议N度等?Q,另一个将代表一个协议链Q协议长度大?Q,该协议链把分? 提供者与一个基服务提供者链接v来。应该用现有服务提供者的WSAPROTOCOL_INFOW目录条目l构的属性来初始化这两个l构?/p>
调用WSCEnumProtocols可以获得已有的服务提供者的WSAPROTOCOL_INFOW目录条目l构。初始化之后Q首先需要?
WSCInstallProvider来安装我们的讉K控制分层服务提供者目录条目,然后Q利用WSCEnumProtocols列D出所有的目录条目Q?
获得安装之后个结构分配的目录ID。然后,用这个目录条目来讄一个协议链目录条目Q通过它,我们的讉K控制服务提供者和另一个提供者(TCP基础
提供者)链接h。然后再ơ调用WSCInstallProvider来安装我们的分层铑ּ服务提供者?
在用
WSCInstallProvider安装一个服务提供者时Q目录条目自动成为配|数据库中的最后一个条目。要实现讉K控制必M我们的URLqo服务
提供者成为默认的TCP/IP提供者,必须通过调用WSCWriteProviderOrder函数来完成此工作,Ҏ据库中提供者目录条目进行重新排
序,q把协议铄录条目放在TCP/IP基础提供者之前?
Winsock2传输服务提供者随标准的Windows动态链接库模块
一h行。我们必d我们的服务提供者动态链接库模块中导入DLLMain函数Q同时还必须导入一个名为WSPStartup的单一函数条目。我们的
URLqo服务提供者必L供对WSPStartup函数和其?0个SPI函数的支持。调用WSAStartup期间QWinsockҎ
WSASocket调用的地址家族、套接字cd和协议参敎ͼ来决定需要加载哪个服务提供者。只有在一个应用程序通过socket或WSASocket
API调用建立一个采用地址家族AF_INET、套接字cd为SOCK_STREAM的套接字ӞWinsock才会搜烦q加载与之相应的、能够提?
TCP/IP能力的传输服务提供者。WSPStartup的参数UpcallTable取得Ws2_32.dll的SPI函数zN表,我们的访问控制分?
服务提供者利用这些函数来理自n和Winsock2之间的I/O操作?
我们利用WSPConnect函数来实现访问控制功能?
在用戯求HTTP服务Ӟ需要首先徏立与目标站点的连接,q接成功后,在此q接基础上发送HTTPh数据包。用户应用程序调用connect?
WSAConnect函数建立q接ӞSPI会调用对应的WSPConnect函数QINT WSPAPI WSPConnect(...,const
struct sockaddr FAR *name,...,INT FAR
*lpErrno)。在sockaddrcd的参数name中包含了用户要讉K的目标站点的IP地址信息。我们将name参数传递到IP可访问性判定例
EIPFilter。如果IPFilter函数q回代表授权讉K的结果,我们采用协议铑֑令\由,调用下一层的基础服务提供?TCP/IP)来完成连?
h。如果IPFilter函数q回代表拒绝服务的结果,我们讄lpErrno参数为相应的错误码,然后q回Q不q行协议链下一层服务提供者的调用Q从
而实现访问控制?
分层式服务提供者大大发挥了联网服务的潜能,增强了Winsock的应用,在我们的URLqo服务中发挥了巨大的作用,基本实现了对内部用户讉K外部|络的访问控Ӟ为用h供了对互联网的健h的讉K服务?br>(e129)