《二层隧道协议研究及L2TPv3数据层的实现.doc》由会员分享,可在线阅读,更多相关《二层隧道协议研究及L2TPv3数据层的实现.doc(68页珍藏版)》请在金锄头文库上搜索。
1、 西 南 交 通 大 学研 究 生 学 位 论 文二层隧道协议研究及L2TPv3数据层的实现年 级 研 2000 姓 名 刘 晓 斌 申请学位级别 硕 士 专业 计算机网络 指 导 教 师 曾 华 燊 二零零三年六月 西南交通大学硕士研究生学位论文 第V页Classified Index: TP393.09U.D.C: 618.14Southwest Jiaotong UniversityMaster Degree ThesisResearch on Layer 2 Tunneling Protocols and Implementation of L2TPv3 Data LayerGrade
2、: Candidate:Academic Degree Applied for:Speciality:Supervisor:2000 Liu XiaoBinMasterComputer ApplicationsZeng Huashen.June 8, 2003 摘 要虚拟专用网(VPN)技术是建设地理位置分散的行业或企业网的重要手段。采用VPN技术,网络建设者可以利用公用数据网提供的服务,在敷设或租用用户(长途)专线的条件下组建安全专用网络。二层隧道技术则是一种利用公用数据网建立通信隧道实现对公用数据网两端的第2层协议(特别是PPP)进行中继的组建第2层VPN的方法。本论文以第2层VPN技术为
3、背景,研究隧道传输技术。本论文所反映的工作,是四川省网络通信技术重点实验室“二层隧道协议课题组”的共同成果,该项目起因是试图对早期版本的隧道传输技术(L2F、PPTP和L2TP)的非对称应用模式推广到对称应用模式,以及将该思想应用于其他层协议的隧道传输。该思路比2003年IETF的建议草案,即L2TPv3覆盖的范围更广。论文作者的工作包括: 对3个版本的隧道传输协议的产生背景、各版本的异同进行了较为详细的分析。在此基础上, 作者与课题组其他两位成员一道提出了将隧道传输思想推广到对称应用模式和其他协议层。 以项目组提出的扩展思路,结合L2TPv3提供了一个功能相对较为完整的协议实现,并对该实现进
4、行了部分测试,初步验证了课题组提出的扩展思路的可行性。其中,在协议实现方面,作者的工作重点是数据的封装与中继传输的设计与实现,这部分功能主要体现在系统的内核数据层模块中。最后作者对所作的工作做了简短的总结,并对该技术提出了展望。该协议有一定的应用前景,通过对它的扩展,应用面将更加广泛。关键词:二层隧道协议,L2TP访问集中器,L2TP网络服务器,数据层模块AbstractVirtual Private Network (VPN) techniques are becoming more and more important in organization of Intranets for ge
5、ographically dispersed enterprises or communities. The layer 2 tunneling technique is one of the VPN techniques, which is dedicated to ferry the layer 2 protocols through public data networks.The background of this dissertation is Virtual Private Networks (VPN), with an emphasis on Level 2 tunneling
6、 techniques. This dissertation presented a theoretical work as well as an experimental implementation of the L2TP carried out at the Sichuan Network Communication Key Laboratory. This project was spurred by idea of extending the application of the tunneling technique to a broad area as a result of a
7、 preliminary study on tunneling techniques, especially on L2F, PPTP and L2TP (commonly referred to as L2TPv2). Such idea is intended to apply tunneling techniques to protocols not only to level 2 protocols as defined in newest version in IETF draft standard (L2TPv3) but also to protocols in other la
8、yers. The work presented in this dissertation covers:1. A comprehensive study of layer 2 tunneling techniques: the incentive behind and the essence of tunneling techniques, and changes in different versions and a forward view in future application. 2. A comparatively complete implementation of L2TPv
9、3 base on the idea of the extension to tunneling techniques, which the author has chiefly contributed to the design and realization of the data layer module in the kernal and relevant test.Keywords:L2TP,LAC,LNS,Data Layer Module目 录第一章 绪论11.1二层隧道协议11.1.1研究背景11.1.2 L2TPv231.1.3 L2TPv3的主要扩展41.2 作者的工作及论
10、文结构61.2.1 作者的工作61.2.2 论文结构7第二章 L2TPv3协议基本概念及实现的思路82.1 L2TPv3协议基本概念82.1.1部分术语定义82.1.2隧道结构92.2 L2TPv3 over UDP/IP102.2.1 L2TP over UDP112.2.2 L2TP over IP112.3 L2TP协议帧的封装112.4协议实现思路112.4.1 TCP/IP协议栈内部的数据流向分析122.4.2 加入L2TP协议后内部数据流向分析132.4.3 实现思路13第三章 L2TPv3协议分析与设计153.1 L2TPv3隧道报文153.1.1 控制和数据报文153.1.2
11、L2TP over UDP会话报文格式173.1.3 L2TP over IP会话报文格式173.1.4 AVP定义183.1.5 强制AVP193.1.6 AVP的隐藏193.1.7 控制报文类型213.2 控制连接223.2.1 控制连接管理223.2.2 控制信道的动态233.2.3 控制连接状态机253.3 会话连接283.3.1 会话管理283.3.2 呼入呼叫状态机303.3.3 呼出呼叫状态机323.4 L2TP系统总体框架及各功能模块的划分353.4.1 L2TP系统总体框架353.4.2 L2TP内核信令层353.4.3 L2TP内核数据层353.4.4 L2TP守护进程(L
12、2TPD)35第四章 L2TPv3协议系统实现374.1 概述374.1.1 系统开发意义374.1.2 系统实现的支撑环境374.1.3 统一建模语言(UML)384.2 信令层的设计394.2.1 信令层模块对象394.2.2 信令层模块接口414.3 数据层的设计424.3.1 数据层模块对象424.3.2 数据层模块外部接口454.4 L2TPD的设计48第五章 协议软件测试495.1 单元测试495.1.1 单元测试的任务495.1.2 单元测试过程505.1.3 测试实例515.2 集成测试525.2.1 L2TP软件系统测试集525.2.2 测试实例53第六章 总结与展望556.
13、1 简短的总结556.2 展望56致 谢57参考文献58攻读硕士学位期间发表的论文及科研成果61 第一章 绪论1.1二层隧道协议1.1.1研究背景机构众多而在地域上分散的行业或企业为了组织安全的企业内部网(Private Network),传统上采用敷设自己的专用线路网或租用专用线路/信道来实现。但是,这种组网方式的成本往往太高,于是虚拟专用网络(VPN Virtual Private Network)技术应运而生。所谓VPN是一种物理资源为多个网络或单机系统共用,但可以根据需要限定用户/网络间相互访问能力,对非受限网络或用户之间,其效果就像在使用自己的专用网络。由于在物理上并非专用,因而称之
14、为“虚拟专用网”。最早的VPN技术出现在X.25技术之中,它是X.25网络的一种特殊服务(Facility)叫做“内部小组”(Closed Group)服务1。利用这一服务可以将联入以X.25为基础的公用网中的用户网或网络中的部分成员根据地址组成内部小组进行信息交换,而非该内部小组的成员不得与该组内成员交换信息。Internet环境提供了两种典型的VPN技术:安全IP协议(IPSec)2和二层隧道协议79。本文的讨论主题是后者,相关的协议已经发展到第三版。二层隧道协议是一种利用公用数据网(网络层的IP服务或数据链路层的ATM信元(Cell)传输服务、帧中继服务或以太网传输服务)在公用网接近通信用户的远程节点之间建立“隧道”(Tunnel)对相同或不同用户对的多条第2层的连接进行安全地中继。第一版的二层隧道协议以L2F和PPTP为代表。PPTP9是由多家公司(其中包括Microsoft,3Com,ECI Telematics以及U.S.Robotics等各大公司)专门为支持VPN而开发的一种技术。尽管PPTP的隧道是利用网络层协议GRE(Generic Routing Encapsulation)RFC 1701和17023、4来建立隧道的,但由于隧道传送的对象是数据链路层的PPP(点对点)协议,因此仍把它视为第二层隧道协议。PPTP保持了传统的