




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华ii:通仁L2TP协议原理丄2TP协议结构图1-1 L2TP协议结构PPP帧L2TP数据消息L2TP控制消息L2TP数据通道(不可靠)L2TP控制通道(可靠)包传输网络(UDP, .)图1-1描述了 PPP帧和控制通道以及数据通道之间的关系:PPP帧在不可靠的L2TP数据通道内传输,控制消息在可靠的L2TP控制通道内传输。L2TP数据报文和控制报文全部以UDP报文形式发送。数据消息不重发,不能保证可靠性;控制消息使用流控和重发机制,能保证可靠传输。L2TP注册了 UDP端口 1701,这个端口号仅用于初始隧道建立过程。L2TP隧道发起方任选一个空闲端口(未必是 1701)向接收方的1701端
2、口发送报文;接收方收到报文后, 也任选一个空闲端口(未必是1701),给发送方的指定端口回送报文。至此,双方的端口选定,并在隧道连通的时间内不再改变。二.L2TP报文头L2TP的控制消息和数据消息使用相同的报文头。图1-2 L2TP报文头格式07121631TLxxSxOPxxxxVerLength (opt)Tunnel IDSession IDNs (opt)Nr (opt)offset size (opt)offset padding (opt)L2TP报文头中标记为可选(opt)的字段,是指在数据消息中可选,在控制消息中则是必选的。表1-1 L2TP报文头字段描述字段名含义取值要求T类
3、型(Type),取值为“ 0”时表示数据消息, 取值为 1时表示控制消息一L长度在位标志,取值为1时表示报文头中存在长度字段Len gth控制消息中必须为“ 1 ”x保留位一字段名含义取值要求S顺序字段在位标志,取值为“1”时表示报文头中存在Ns和Nr字段控制消息中必须为“ 1 ”O取值为 1时表示报文头中存在offset size字段控制消息中必须为“ 0 ”P优先级(Priority ),只用于数据消息控制消息中必须为“ 0 ”Ver版本号对于L2TPv2协议取值为“ 2”Len gth消息的总长度,单位为字节一Tunnel ID隧道标识符,只具有本地意义Hello控制消息具有全 局性,其
4、Tunnel ID必 须为0。Sessi on ID会话标识符,只具有本地意义一Ns当前消息的顺序号一Nr希望接收的下一条控制消息的顺序号数据消息中是保留字 段offset size偏移值,指示载荷数据开始的位置一offset paddi ng填充位一L2TP报文头中包含隧道标识符(Tunnel ID )和会话标识符(Session ID)信息,隧道标识符与会话标识符 由对端分配,用来标识不同的隧道和会话。隧道标识相同、会话标识不同的报文将被复用在一条隧道上。三丄2TP数据报文结构用户ppp报文(已携带源ip报文头及ppp报文头)在公共网络上以 ip报文形式传输时携带以下协议头:1个L2TP报
5、文头(16字节)1个UDP报文头(8字节)1个新IP报文头(20字节),指示L2TP隧道的源地址和目的地址L2TP数据报文的格式如图 1-3。图1-3 L2TP数据报文的格式20字节8字节16字节一亠2字节 20字节.: 61 !新IP头UDP头L2TP 头PPP头原IP头Data3华匸通伫LAC收到PPP报文后,进行如下封装:首先为其封装L2TP报文头;接着封装UDP报文头然后封装新的IP头,并从连接公共网络的接口发送出去。L2TP协议本身没有数据分片功能,但是在进行IP封装时,可以在需要时进行分片。为保证报文不分片,封装后的报文大小不能超过实际接口的MTU。LN
6、S从连接公共网络的接口收到该报文后,进行如下处理:去掉IP头和UDP头,将报文送往 L2TP协议模块;L2TP协议剥离L2TP协议头和PPP头,将该报文还原为用户IP报文,并发送到私网内部服务器。四. 控制连接和会话连接的建立过程消息报文在VRP的实现中,控制连接和会话连接的建立过程中涉及的消息包括:1.SCCRQ ( Start-Control-Connection-Request):用来向对端请求建立控制连接。2.SCCRP( Start-Control-Connection-Reply):用来告诉对端,本端收到了对端的ACCRQ消息,允许建立控制连接。3.SCCCN (Start-Con
7、trol-Connection-Connected):用来告诉对端,本端收到了对端的SCCRP消息,本端已完成隧道的建立。4.StopCCN ( Stop-Control-Connection-Notification ):用来通知对端拆除控制连接,本端已清除所有会话连接,将关闭隧道接口。StopCCN中携带了发送端控制连接拆除原因。5.ICRQ (Incoming-Call-Request):只有LAC才会发送;每当检测到用户的呼叫请求,LAC就发送ICRQ消息给LNS,请求建立会话连接。ICRQ中携带会话参数。6.ICRP (Incoming-Call-Reply):只有LNS才会发送;收
8、到 LAC的ICRQ,LNS就使用ICRP回复,表示 允许建立会话连接。7.ICCN ( Incoming-Call-Connected):只有 LAC 才会发送;LAC 收到 LNS 的 ICRP,就使用 ICCN 回复, 表示LAC已回复用户的呼叫,通知LNS建立会话连接。8. CDN (Call-Disconnect-Notify):用来通知对端拆除会话连接,并告知对端拆除的原因。9. Hello :用来检测隧道的连通性。10. ZLB ( Zero-Length Body):如果本端的队列没有要发送的消息时,发送ZLB给对端。在会话连接和控制连接的拆除过程中,发送 ZLB还表示收到St
9、opCCN或CDN。ZLB只有L2TP头,没有负载部分,因此 而得名。控制连接的建立和拆除期间包含以下过程:1控制连接的建立2会话连接的建立3控制连接的维持4. 会话连接的拆除5控制连接的拆除华正迪佶控制连接的建立控制连接的建立先于会话连接。只有控制连接建立起来了,会话连接才可能建立起来L2TP的控制连接建立过程如图 1-4。图1-4控制连接建立的三次握手1. LAC和LNS之间路由相互可达后,LAC端设置相应 AVP,向LNS端发出SCCRQ 报文,请求建立控制连接。2. LNS收到来自LAC的SCCRQ。根据其中的AVP,如果同意建立隧道,便发送SCCRP 报文给LAC。3. LAC对接收
10、到的SCCRP报文进行检查,从中取出隧道信息,并向LNS发送SCCCN 报文,表示控制连接建立成功。4. 当消息队列中没有消息时,LNS发送ZLB给对端。在VRP中,使用display I2tp tunnel命令可以查看本设备上成功建立了哪些控制连接。会话连接的建立控制连接成功建立之后,一旦检测到用户呼叫,就请求建立会话连接。与控制连接不同的是,会话连接的 建立具有方向性。在 VRP中,会话连接请求是由 LAC发起的。会话连接建立过程如图1-5。图1-5会话连接建立过程Call DetectedNo messages waiting in queueL2TP的会话建立由PPP触发。在VRP中,
11、使用display l2tp session命令可以查看本设备上成功建立了哪些会话连接。控制连接的维持L2TP使用Hello报文检测隧道的连通性。LAC和LNS定时向对端发送 Hello报文,若在一段时间内未收到Hello报文的应答,则重复发送 Hello报文。如果重复发送报文的次数超过3次,则认为L2TP隧道已经断开,该PPP会话将被清除。此时需要重新建立隧道。VRP中Hello报文发送的时间间隔可以手工设置。缺省情况下,Hello报文每隔60秒发送一次。LNS和LAC侧可以设置不同的 Hello报文时间间隔。会话连接的拆除会话连接拆除的发起端可以是LAC或LNS。发起端通过发送 CDN消息
12、报文到对端来通知对端拆除会话连接。对端收到后发送 ZLB ACK消息作为回应。图1-6是LAC侧发起会话连接拆除的过程。图1-6 L2TP会话连接的拆除控制连接的拆除控制连接拆除的发起端可以是LAC或LNS。发起端通过发送 StopCCN消息报文到对端来通知对端拆除控制连接。对端收到后发送ZLB ACK消息作为回应,同时在一定时间内保持控制连接以防止ZLB ACK消息丢失。图1-7是LAC侧发起控制连接拆除的过程。图1-7 L2TP控制连接的拆除五. 隧道验证过程隧道验证是和建立隧道同时进行的,不是单独进行的。隧道验证过程如下:1首先LAC向LNS发SCCRQ请求消
13、息时,产生一个随机的字符串作为本端的CHAP Challenge( SCCRQ携带的字段)发给 LNS。2. LNS收到SCCRQ后,利用SCCRQ携带的CHAP Challenge和本端配置的密码产生一个新的字符串,用MD5算出一个16个字节的 Response;同时也产生一个随机的字符串(LNS Challenge),将 Response和LNS Challenge 放在 SCCRP 中一起发给 LAC。3. LAC端收到SCCRP后,对LNS进行验证:-利用自己的CHAP Challenge、本端配置的密码、SCCRP,产生一个新的字符串;-用MD5算出一个16字节的字符串;-与LNS端
14、发来的SCCRP中带的LNS CHAP Response做比较,如果相同,则隧 道验证通过,否则隧道验证不通过,断掉隧道连接。4. 如果验证通过, LAC将自己的 CHAP Response放在SCCCN消息中发给 LNS。5. LNS收到SCCCN消息后,也进行验证:-利用本端的 CHAP Challenge、本端配置的密码、 SCCCN,得到一个字符串;-然后用MD5算出一个16字节的字符串;-与SCCCN消息中得到的LAC CHAP Response做比较。如果相同,则验证通过, 否则拆除隧道。六. L2TP隧道会话的建立过程L2TP的典型组网如图1-8所示:RADIUS ServerP
15、STN/ISDNWANPCRouterALACPNetworkRADIUS ServerPCPCRouterB LNSPNetwork进行隧道验证的L2TP隧道呼叫建立流程如图1-9。图1-9 L2TP隧道的呼叫建立流程LACRouterALACRADIUS ServerLNSRouterBLNSRADIUS ServerPC(3) PAP or CHAPauthentication(1) call setup(2) PPP LCP setup-(4) access request(5) access accept(6) tunnel establish(7) PAP or CHAP auth
16、entication(challenge/response)(8) authentication passes(9) user CHAP response, PPPnegotiation parameter4 (10) access request(12) CHAP authentication twice(challenge/response)(11) access accept(13) access 图1-8 L2TP隧道的典型组网示意图(14) access accept(15) authentication passes1. 用户端PC机发起呼
17、叫连接请求;2. PC 机和 LAC 端(RouterA)进行 PPP LCP 协商;3. LAC对PC机提供的用户信息进行 PAP或CHAP认证;3华匸通伫4. LAC将认证信息(用户名、密码)发送给 RADIUS服务器进行认证;5. RADIUS服务器认证该用户,如果认证通过则返回该用户对应的LNS地址等相关信息,并且LAC准备发起Tunnel连接请求;6. LAC端向指定LNS发起Tunnel连接请求;7. LAC端向指定LNS发送CHAP challenge信息,LNS回送该challenge响应消息 CHAP response,并发送 LNS 侧的 CHAP challenge ,
18、LAC 返回该 challenge 的响应消息 CHAP resp on se;8. 隧道验证通过;9. LAC 端将用户 CHAP response、response identifier 和 PPP 协商参数传送给 LNS ;10. LNS将接入请求信息发送给 RADIUS服务器进行认证;11. RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;12. 若用户在LNS侧配置强制本端 CHAP认证,则LNS对用户进行认证,发送 CHAP challenge,用户侧回应 CHAP response;13. LNS再次将接入请求信息发送给RADIUS服务器进行认证;14. RADIU
19、S服务器认证该请求信息,如果认证通过则返回响应信息;15. 验证通过,用户访问企业内部资源。七丄NS对用户的认证方式LNS可对用户进行两次验证:第一次发生在LAC侧,第二次发生在 LNS侧。只有一种情况 LNS侧不对接入用户进行二次验证:启用LCP重协商后,不在相应的虚拟接口模板上配置验证。这时,用户只在LAC侧接受一次验证。其他情况都进行二次验证,验证模式(Authentication-mode )为none”也算一种验证。LNS侧对用户的验证方式有三种:代理验证、强制CHAP验证和LCP重协商。其中,LCP重协商的优先级最高,LCP重协商优先级最低。LCP重协商如果需要在LNS侧进行比LA
20、C侧更严格的认证,或者 LNS侧需要直接从用户获取某些信息( 当LNS与 LAC是不同厂商的设备时可能发生这种情况) ,则可以配置 LNS与用户间进行LCP重协商。LCP重协商 使用相应虚拟接口模板 VT上配置的验证方式。此时将忽略 NAS侧的代理验证信息强制CHAP验证如果只配置强制 CHAP验证,则LNS对用户进行CHAP验证,如果验证不过的话, 会话就不能建立成功。 代理验证如果既不配置 LCP重协商,也不配置强制 CHAP验证,则LNS对用户进行的是代理验证。代理验证就是LAC将它从用户得到的所有验证信息及LAC端配置的验证方式传给LNS , LNS会利用这些信息和LAC端传来的验证方
21、式对用户进行验证。对由NAS发起的VPN服务请求(NAS-Initialized VPN ),在PPP会话开始时,用户先和NAS进行PPP协商。若协商通过,则由 NAS初始化L2TP通道连接,并将用户信息传递给LNS,由LNS根据收到的代理验证信息,判断用户是否合法。当LNS使用代理验证时,如果虚拟接口模板VT配置的验证方式为 CHAP,而LAC端配置的验证方式为PAP,则由于LNS要求的CHAP验证级别高于 LAC能够提供的PAP验证,验证将无法通过,会话也就不 能正确建立。如果在LAC端使用AAA NONE的认证方式,那么无论LAC侧采用PAP验证还是CHAP验证,AAA都Local、Radius 或者 NONE )进不会认证。但送到 LNS端以后,LNS端就采用AAA配置的认证方式(如行认证。代理验证与 VT上的验证方式也有关系:VT上的验证方式不能比 LAC侧复杂。如果LAC侧的验证方式为 PAP,但LNS的VT上的验证方式为CHAP,则验证不通过。其他情况下,采用 LAC传来的验证方式,不管 VT上配的是什么验证方式。八.L2TP隧道交换应用环境随着组网方式的多样化,VPDN的使用也越来越灵活。在某些组网环境中,一个会话可能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人力资源管理师中级考试模拟题解析
- 2025年家庭财务规划师职业能力评估试题及答案解析
- 2025年安全管理能力测试题集及答案
- 2025年大唐应急安全演练测试题及答案
- 2025年互联网金融交易员专业能力认证考试试题及答案解析
- 2025年射线检测初级无损面试题库
- 2025年本科院校生物实验员面试题库
- 2025年动画设计师职业技能考试试题及答案解析
- 2025年安全生产安全审计操作考试题
- 2025年本科生物实验员面试模拟题集
- (完整版)万科物业服务合同2024
- 孩子抵抗力提升的方法与技巧
- 教学副校长给教师培训课件
- 一级建造师之一建矿业工程实务高分复习资料
- 交通信号设施施工技术交底
- 关于股权性质与货币市场的思考
- 市场监管个人纪律作风整顿心得体会
- 育婴员理论模拟考试试题及答案
- 小学数学教师业务水平考试试题
- 安全文明施工措施费支付申请表实用文档
- 杨式85式太极拳现用图解
评论
0/150
提交评论