文献综述(或调研报告):
关于本课题的文献调研可以分为两个部分,首先是SDN(软件定义网络)的发展脉络和未来展望,这对于学习和使用P4语言方面,更好的把握P4语言所期望实现的目标和未来网络技术的发展方向是很有必要的;其次就是现有二层VPN技术的学习,针对本课题需要实现的具体目标,学习、参考、借鉴已有的技术模型也是很有必要的一点。同时结合这两部分的学习和实践过程中,也有希望碰撞出新的火花。
提到SDN一定绕不开的就是OpenFlow,它诞生与我们对可编程网络的需求,OpenFlow尝试同时满足了传统方式难以同时满足的四个目标[1],适合高性能和低成本的实现,能支持范围广泛的研究,确信能隔离实验流量和生产流量,与厂商的平台封闭性需要相一致。当然随着网络的不断发展,OpenFlow技术提供的这么一种相对折衷的解决方案也遇到了一些问题。主要体现在扩展性较弱和移植困难上,当然标准不够完善,操作复杂,测试困难也是很重要的不利因素。由此进一步提出的P4语言就在平衡语言表现力和适应多样的硬件设备上有了长足的进步,同时也对扩展性有了更优秀的解决办法。P4语言意在处理下面三个问题[2],可重配性,协议独立性,目标独立性。P4语言使用抽象的转发模型来描述数据处理和抓发的过程,并将底层硬件视为一个状态机[2],一层层处理标头。很多具体的P4语言的标准在[3]中有更加具体的描述,还有P4官网提供的编译器配置教程[4]也是本课题重要的参考内容。
然后就是VPN技术。VPN按照封装所处的协议层可以分为三层VPN技术和二层VPN技术,三层VPN技术发展时间更长,整体技术较为成熟,也有很多实例如IPsec VPN,三层BGP/MPLS VPN。而本课题着眼与二层VPN的开发,有几个重要原因,包括网络运营管理和维护,网络扩展性,对多样的用户业务类型的限制等方面二层VPN都有着更大的优势,同时对于解决一些在三层存在困扰的问题有很大帮助,如网络组播[5]。当然对于VPN技术本身我们要把握住这项技术所需要面对的根本问题,它的目的是利用加密技术和访问控制技术在公共网络中建立专用通信网络。它的基本技术要求[6]有如下四个:
1、安全保障,由于VPN直接构建在公用网络上,在做到实现简单,方便,灵活的同时,也意味着需要面临传输的数据不被攻击者窥探和篡改。
2、QoS保障,由于专用网络的多样性,在不同网络中对服务质量的要求差别较大。移动办公用户可能会更加在意连接的广泛性,而交互式的内部企业网则会将稳定性提到更加重要的地位上来。
3、可扩展性和灵活性,VPN网络需要支持各种类型的 数据流,为语音、图像甚至更新颖的数据提供高质量的传输和带宽。同时,方便的增加或者减少节点也是不可忽视的能力。
4、可管理性,VPN用户不可避免的需要用户进行许多网络管理任务,所以一个完善的管理系统是必不可少的。VPN的管理目标是:减小网络风险,具有高扩展性,经济性,高可靠性等优点。
二层VPN普遍还是基于MPLS技术来实现,MPLS技术具有四个主要特点[7]:1,基于单一转发机制;2,固定字长标签配合精确匹配寻径;3,有较好的Internet扩展并能保证IP QoS等问题;4,能有效实施流量工程。
实现二层MPLS VPN主要需要解决两个问题[8]:1、将ATM,FR,以太和PPP等二层的帧封装到MPLS帧中,可以作为典型的封装问题;2、完成VPN形式的组网,即各站点的VPN成员如何在MPLS平台内传播,主要是信令问题,附带标签分配。技术方面主要有两个分支[9],分别是VPWS和VPLS两种处理方式。VPWS使用伪线将PE互联,提供的是点对点的服务;VPLS则是通过PE接入骨干网络,通常使用扩展后的LDP信令协议[10]建立维护PE节点之间的伪线,将二层协议帧封装后在伪线上传输。相对于使用Martini或者Kompella这两种IEFT组织提供建议或草案的VPWS来说,VPLS有效的结合了以太网技术和MPLS技术的优势,可以实现对标准LAN的全部功能仿真。它的优点包括简化了LAN/WAN边界,可以快速灵活部署服务。当然使用扩展的LDP协议的VPLS虽然实现上较为简单,也存在一些问题,主要是受限于LDP协议本身,对大型网络的业务扩展性较差,如果有机会可以尝试使用BGP/MP-BGP协议来进行优化。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。