NAT用户间的TCP通信引擎机制的研究

NAT用户间的TCP通信引擎机制的研究

论文摘要

网络地址转换器NAT已经被广泛应用在各类防火墙和路由器设备中。NAT只支持由内部网络向外发起的通信请求,外部网络节点发起的请求将被禁止。NAT穿越分为UDP穿越和TCP穿越,UDP穿越目前主要采用STUN开发的“Hole Punching”策略。相比UDP,在位于不同NAT后的多台主机间建立TCP连接要复杂很多。当前,一部分P2P系统为了保障通信安全可靠,常采用TCP作为通信协议。当需要在不同的NAT用户间进行资源共享时,就要进行TCP连接。问题是,NAT只允许向外发起的连接请求,所以不同NAT用户之间就不能建立TCP连接。因此,许多以TCP作为通信协议的P2P系统并没有解决TCP穿越问题。当前已经有一些这方面的研究,比如,利用代理人来中转通信,在UDP之上建立TCP隧道。这些方案的缺陷是,需要对当前的网络框架进行大规模重构,或者使用了非标准的TCP/IP协议栈。论文提出了一种新的构想叫做TCPBridge,TCPBridge在不更改基于TCP的P2P应用程序任何代码的前提下,将TCP穿越问题转化为UDP穿越问题。TCPBridge捕获应用程序发出的所有TCP连接请求,将它们重定向到TCPBridge中的TCP连接冒名顶替者上。TCP连接冒名顶替者将会接受这些请求。因此,所有的TCP包会发送给TCP冒名顶替者。然后,TCPBridge通知TCP请求连接的目的主机,该通知消息以UDP方式传输,目的主机的TCPBridge收到该消息后,会向上层应用程序发出TCP连接请求。接着,TCPBridge会将所有截获的TCP包通过基于UDP的可靠通信引擎发给目标主机。该构想能够集成到那些没有解决TCP穿越问题的P2P软件中,从而使它们能够支持NAT用户间的相互通信。TCPBridge通过解决TCP穿越的问题,来提高应用程序的可用性。将TCPBridge应用到现有的P2P系统中,收集到的数据显示TCPBridge是可扩展和有活力的,相信TCPBridge将会改善现有P2P应用系统的性能。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 引言
  • 1.2 国内外研究现状
  • 1.3 课题背景与研究内容
  • 1.4 本文的组织
  • 2 TCP通信引擎框架
  • 2.1 P2P多媒体应用平台PKTOWN简介
  • 2.2 TCP通信引擎系统功能模块
  • 2.3 关键问题
  • 2.4 小结
  • 3 TCP连接欺骗引擎
  • 3.1 P2P软件通信协议分析
  • 3.2 TCP函数的截获及处理机制
  • 3.3 流程
  • 3.4 小结
  • 4 基于UDP的可靠传输引擎
  • 4.1 基于UDP的可靠传输机制
  • 4.2 UDP的NAT穿越的实现
  • 4.3 功能模块图
  • 4.4 小结
  • 5 系统测试与性能分析
  • 5.1 性能评价指标
  • 5.2 测试环境
  • 5.3 性能测试与实验结果分析
  • 5.4 小结
  • 6 总结及展望
  • 致谢
  • 参考文献
  • 附录1 攻读学位期间发表论文目录
  • 相关论文文献

    标签:;  ;  ;  

    NAT用户间的TCP通信引擎机制的研究
    下载Doc文档

    猜你喜欢