论文部分内容阅读
随着计算机网络技术的发展和宽带上网的普及,开发性能高和灵活性强的代理服务器已经成为不少ISP商的迫切需要,代理技术是当今计算机技术中倍受关注的一个主要分支。 代理服务器是接收或解释客户端连接请求并发起到目标服务器新连接的网络节点,被广泛应用于应用层网关模型设计、防火墙技术研究中,是INTERNET共享解决方案的关键技术。 本文首先介绍了INTERNET中TCP/IP分层模型及每一层代理技术的实现方法及适用范围。由于应用层代理灵活性强,能适应不同的网络应用,其使用范围较广,一直以来受到开发人员的青睐,如何在不丧失性能的前提下,提高应用层代理的可靠性和可扩展性是开发应用层代理服务器所面临的一个重大难点,因此,需寻求一种新型的应用层代理模型以解决上述问题。 IOCP(I/O Completion Port输入/输出完成端口)是一种能够合理利用与管理多线程的机制。该机制使用完成端口,用一定数量的线程处理重叠I/O(Overlapped I/O)操作。IOCP能帮助处理大量客户端请求的网络代理服务问题,特别适合于开发像代理服务器一类的应用程序,并可使系统的性能达到较佳状态。 在对Windows 2000下的IOCP机制和应用层常用协议(如:HTTP、FTP、SMTP和POP3等)进行充分分析和研究的基础上,本论文提出了一种基于IOCP机制的虚拟C/S应用层代理模型。该模型给出一种通用的应用层代理方法,借助于在Windows 2000操作系统内核层的IOCP机制,较好地解决了应用层代理模型中多线程竞争的问题,提高了单台代理服务器的性能和可扩展性,为在分布式环境下利用群集技术实现虚拟服务器奠定了基础。 最后,本次设计将该模型与实际应用进行有机结合,成功开发了某无线宽带计费网关系统。本文详细阐述了HTTP、FTP、SMTP和POP3等协议的工作机制及其代理模块的实现,并简要介绍了系统认证模块和计费模块的主要算法。