




已阅读5页,还剩102页未读, 继续免费阅读
(计算机软件与理论专业论文)socks5服务器性能的改进.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
丫5 8 6 2 1 6 北京交通大学硕士学位论文 s o c k s 5 月 及 务器性能的改进* 摘要 为了保障网络信息的安全, 网络安全体系结构的研究正在积极地 开展, 对网络层和数据链路层安全体系结构的研究已经有了一定的成 果, 但是对于应用层,目 前还没有一个较为系统、 完整的体系结构或 模型提出。 由于s o c k s 5 协议的 扩展性强、 安全性能 好、 灵活通用、 便于网 络规划和管理等优点, 我们以s o c k s 5 为基础来建立应用层安全体系 结构的实用模型。 而性能问 题对实用模型中s o c k s 5 服务器来说是非 常关键的, s o c k s 5 服务器的 性能问 题主要有两个指标: 最大并发连 接数和吞吐量。 一般来说, 服务器性能问 题有两个方面, 分别是服务 器操作系统平台的性能和服务器程序的性能, 而服务器程序的性能主 要与任务体系结构和t c p / i p 调用体系结构有关。 由 于s o c k s 5 一e c r i 服务器( 由 美国n e c公司开发的s o c k s 5 r e f e r e n c e i m p l e m e n t a t i o n ) 性能不能 满 足实际 应用的 需要, 本论 文分 析比较了常见的几种网络操作系统, 选择l i n u x 操作系统作为服务器 平台, 通过分析s o c k s 5 n e c r i 服务 器的 源 代码, 提出了s o c k s 5 服务器性能改进的方案, 采用一种综合单进程单任务、 单线程单任务 和单线程多任务三种技术的新任务体系结构来提高性能。 作者用标准 c 在l i n u x 上实现了s o c k s 5 服务器的改进, 并进行了 严格的性能测 试, 经过对改进的s o c k s 5 服务器性能分析和测试得出结论: s o c k s 5 . 本 论 文 得 到 国 家8 6 3 汁 划 项 目( 2 0 0 2 从1 4 4 0 2 0 ) 和 国 家9 7 3 项目( t g 1 9 9 9 0 3 5 8 0 1)资 助 。 未经作者、 导帅同惫 勿全文公布 北京交通大学硕士学位论文 服务器的 最大并发连接数可从原来的3 0 0 - 4 0 0 个提高到3 0 0 0 - 4 0 0 0 个,吞吐量平均比原来提高2 0 %. 提高了性能的s o c k s 5 服务器有很强的现实意义和应用前景。 关键词:s o c k s 5 , s o c k s 5服务器性能改 进, 并发连接数, 吞吐 量,应用层安全体系结构 北京交通大学硕士学位论文 i mp ro ve me n t of t h e p e r f or man ce of s ock s 5 se r v e r abst ract t h e r e s e a r c h o n n e t w o r k s e c u r it y a r c h it e c t u r e is d e v e lo p e d a c t iv e ly t o e n s u r e t h e n e t w o r k in f o r m a t io n s e c u r ity . t h e r e a r e a lr e a d y s o m e a c h ie v e m e n t s a b o u t n e t w o r k la y e r a n d d a t a l in k la y e r s e c u r ity a r c h it e c t u r e , b u t n o s y s t e m a t ic a n d c o mp le t e a r c h it e c t u r e o r m o d e l o f a p p l ic a t io n la y e r h a s c o m e o u t . b e c a u s e s o c k s 5 p r o t o c o l h a s e x c e l le n t e x p a n s ib ility , s e c u r ity , g e n e r a lity , fl e x i b il ity a n d m a n a g e a b i l ity , w e b u i ld t h e p r a c t ic a l m o d e l o f a p p lic a t io n la y e r s e c u r ity a r c h it e c t u r e b a s e d o n s o c k s 5 . p e r fo r m a n c e is v e ry p iv o t a l t o s o c k s 5 s e rv e r i n t h e p r a c t ic a l m o d e l . t h e r e a r e tw o m a in g u id e lin e o f t h e p e r f o r m a n c e o f s o c k s 5 s e rv e r , t h e ma x imu m n u mb e r o f s i mu lt a n e o u s c o n n e c t io n s a n d t h e t h r o u g h p u t . c o m m o n ly , t h e r e a r e t w o a s p e c t s o f s e rv e r p e r f o r m a n c e , i . e . , t h e p e 而r m a n ce o f s e rv e r o s p la t f o r m a n d s e rv e r p r o g r a m . a n d t h e p e r fo r m a n c e o f s e rv e r p r o g r a m is m a in ly r e la t iv e t o t h e t a s k a r c h it e c t u r e a n d t c p / i p c a l l a r c h it e c t u r e . t h e p e r f o r m a n c e o f s o c k s 5 _ n e c r i s e rv e r ( s o c k s 5 r e f e r e n c e i m p le m e n t a t io n d e v e lo p e d b y a m e r ic a n n e c c o r p o r a t io n ) c a n n o t s a t is f y t h e a c t u a l r e q u ir e m e n t t h is p a p e r h a s a n a ly z e d a n d c o m p a r e d s e v e r a l f a m il ia r n e t w o r k o s a n d c h o s e n l in u x a s t h e s e rv e r p la t f o r m . it b r in g s f o r w a r d t h e imp r o v e m e n t s c h e m e o f s o c k s 5 s e rv e r p e r f o r m a n c e b y a n a ly z i n g t h e s o u r c e c o d e o f s o c k s 5 n e c r i s e rv e r . it a d o p t s a n e w t a s k a r c h it e c t u r e t h a t in t e g r a t e s o n e - p r o c e s s - p e r - t a s k , 北京交通大学硕士学位论文 o n e - t h r e a d - p e r - t a s k a n d o n e - t h r e a d - m a n y - t a s k s t o im p r o v e t h e p e r f o r m a n c e . u s in g s t a n d a r d c , t h e a u t h o r h a s im p le m e n t e d t h e im p r o v e m e n t o f s o c k s 5 s e rv e r o n l i n u x . t h e p e rf o r m a n c e o f t h e im p r o v e d s o c k s 5 s e rv e r w a s s t r ic t ly t e s t e d . we g o t t h e c o n c l u s i o n t h a t t h e ma x i mu m n u mb e r o f s imu lt a n e o u s c o n n e c t io n s c a n b e in c r e a s e d f r o m 3 0 0 - 4 0 0 t o 3 0 0 0 - 4 0 0 0 a n d t h e t h r o u g h p u t c a n i n c r e a s e 2 0 % a v e r a g e ly . t h e s o c k s 5 s e rv e r w it h h ig h e r p e r f o r m a n c e h a s s t r o n g p r a c t ic a l m e a n in g a n d a p p l ic a t io n f o r e g r o u n d . k e y wo r d s s o c k s 5 , s o c k s 5 s e rv e r p e rf o r m a n c e im p r o v e m e n t , n u m b e r o f s im u lt a n e o u s c o n n e c t io n s , t h r o u g h p u t , a p p li c a t io n la y e r s e c u r e a r c h it e c t u r e 北京交通大学硕士学位论文 第一章 引言 1 . 1什么是s o c k s 服务器 s o c k s 5服务器是一种用 s o c k s 5协议实现的通用的代理服务 器。 s o c k s 5 协议是由i e t f ( i n t e rn e t e n g i n e e r i n g t a s k f o r c e ) 组织通过 的基于 t c p / i p网络应用的一个标准的、通用的代理协议。它使本来 不能i p 直接互通的主机能通过s o c k s 5 服务器直接访问。 s o c k s 协 议 最早由d a v i d k o b l a s 和m i c h e l l e k o b l a s l 1 提出, 它提供了 一个灵活 的很容易通过综合一些其他网络安全技术来实现安全通信的框架, s o c k s 5服务器鉴别和认证连接请求,建立一个代理连接并转发数 据,它通常在v p n ( v i rt u a l p r i v a t e n e t w o r k s ) 和e x t r a n e t 应用中被作 为 网 络 防 火 墙、 通 用的 应 用 代 理 12 1 1 .2主要性能指标 由 于s o c k s 5 服务器属于代理服务器类, 一般来说, 代理服务器 的 性能 主要有 最大并发连 接数和吞吐 量两 个指 标 3 1 最大并发连接数 ( m a x im u m n u m b e r o f s i m u l t a n e o u s c o n n e c t i o n s ) 是指 s o c k s 5服务器能保持的最大的活动的连接数目,即 s o c k s 5 服务器能够同时处理的点对点连接的最大数目,它表示 s o c k s 5服 务器对业务信息流的处理能力, 反映了s o c k s 5 服务器对多个连接的 访问 控制能力和连接状态跟踪能力。 最大并发连接数是衡量s o c k s 5 服务器性能的一个重要指标。 吞吐量 ( t h r o u g h p u t ) 是指s o c k s 5 服务器在接收和发送数据包 而没有丢失情况下的最大数据传输速率, 是测试s o c k s 5 服务器在正 北京交通大学硕士学位论文 常工作时的数据传输处理能力, 它反映的是s o c k s 5 服务器的数据包 转发能力。吞吐量是其它指标的基础。 1 .3研究背景 1 .3 . 1 应用层安全体系结构 国内外对于网络安全体系结构的研究工作正在积极地开展, 并在 有些领域取得了较为系统的成果,例如i p 层安全体系结构、a t m安 全体系结构等,主要集中在网络层和数据链路层。而对于应用层,目 前还没有一个较为系统、 完整的体系结构或模型的提出。 北京交通大 学信息安全体系结构研究中心的陈兴蜀等老师提出了基于电路级代 理的 应用层安全体系结 构4 1 , 该体 系结 构以s o c k s协 议为基 础建立 实用软件模型。 应用层安全体系结构拟在网络堆栈的高层, 即应用层, 利用所处 理的应用数据流, 建立高细粒度控制、 独立于通信网络、 统一管理策 略、 完整的应用层安全体系结构。 在应用层采用的安全措施总是针对 应用层协议或应用会话的, 针对特定的应用协议缺乏通用性, 难以适 应网络应用飞速发展的需求, 故该应用层安全体系结构以 应用会话数 据流为基本处理对象。这样即满足细粒度控制要求,又不失灵活性、 通用性,从而为建立应用层安全体系结构提供基本的受控数据源。 而目 前针对应用会话数据流的安全协议, 典型的有s s l , t l s , s o c k s 等协议。 通过对此类协议的比 较, 选择以s o c k s 协议为基础, 利用协议本身的安全环境协商机制,构建网 络安全通信的基本框架, 并在基本框架上进行研究、 扩展, 研究应用层安全体系结构, 该体系 结构为网 络安全提供整体的、 全面的、 通用的 解决标准。 而该体系结 构的研究是建立在理论与应用相结合的基础上的, 故通过研制该体系 结构的实用模型,从而为网络提供实用、细粒、灵活、通用、 全面的 安全解决方案。 北京交通大学硕士学位论文 舒.3 .2 应用层安全体系结构的实 用模型性能 应用层安全体系结构的实用模型 ( 以下简称实用模型)是以 s o c k s 5 协议为基础的,目 前采用的s o c k s 5 是由美国n e c公司开 发 的s o c k s 5 r e f e r e n c e i m p l e m e n t a t i o n (以 下 简 称 s o c k s 5 一e c r i ) 。目 前该s o c k s 5 的实 现在r e d h a t l i n u x 7 . 3 ( 内 核2 .4 . 1 8 - 3 ) 操作系统上提供的最大并发连接数为9 9 9 个, 在其他的 操作系统一般为3 0 0 -4 0 0 个。 美国n e c公司以s o c k s 5 协议为基础 的 e - b o r d e r产品的最大并发连接数是 3 0 0 0- 4 0 0 0个,吞吐量接近 4 5 m b 5 1 , 本论文研究的 s o c k s 5服务器是以 应用层安全体系结构的实用 模型为原型的。 而目 前s o c k s 5 一e c r i 的 性能远远不能达到实际应 用的 需要, 故需 对s o c k s 5 协议和s o c k s 5 一e c r i 进行研究, 分析 s o c k s 5 es n e c r i 的性能, 提出 新的设 计方 案使s o c k s 5 服务 器性能 在最大并发连接和吞吐量两方面都有较大的 提高, 并在程序上加以 实 现。 1 . 4研究内 容 粼.4 . 1 论文完成的主要任务 1 .分析s o c k s 5 n e c r i 服务 器的 源代码 s o c k s 5 n e c r i 是美国n e c 公司 发布s o c k s v 5 r e f e r e n c e , 版 本是 s o c k s 5 - v l . o r l l . 源代码包括客 户端程 序、 服务 器端程 序及库文 件等, 共有源代码4 1 1 3 3 行, 作者主要分析了 近三万行的服务器端程 序源代码及部分库函数源代码 ( 具体内容见源程序分析文档) ,通过 分析s o c k s 5 一e c r i 服务器的 源代码, 了 解了s o c k s 5 协议的原理、 工作流程,总结了 s o c k s 5 一e c r i 服务器的运行模式等。找出了 北京交通大学硕士学位论文 s o c k s 5 n e c r i 服务 器 性能 方 面 存 在的 问 题。 2 .测试s o c k s 5 n e c r i 服务器的性能 利 用专门的 测 试软件 和工具 对s o c k s 5 一e c r i 服务 器进行严格 的性能测试, 主要测试各种运行模式的最大并发连接数和吞吐量两个 j性能指标。 3 .改进s o c k s 5 服务器性能 在分析s o c k s 5 洲e c r i 服务器的 源 代码的 基础上, 通过 对网 络 操作系统性能的分析及网 络服务器应用程序任务体系结构和 t c p / i p 调用体系结构的分析,选择了l i n u x 操作系统为s o c k s 服务器的运 行平台, 提出一种综合了 单进程单任务、 单线程单任务和单线程多任 务三种技术的的新的任务体系结构。 作者用标准c在l i n u x 上实现了 新的任务体系结构的s o c k s 5 服务器。 4 .测试改进的s o c k s 5 服务器的性能 利用专门的测试软件和工具对改进的 s o c k s 5服务器进行严格 的 性能 测 试, 主 要 测 试 最 大并 发 连 接数 和 吞吐 量 两 个 性能 指 标, 并与 s o c k s 5 一e c r i 服务 器的 性能 进行比 较。 盯.4 .2 论文的主要成果 1 .提出一种新的任务体系结构 在通过对网络服务器程序的任务体系结构和t c p / i p调用体系结 构分析的基础上, 提出了一种新的任务体系结构, 新的任务体系结构 综合了单进程单任务、 单线程单任务和单线程多任务三种技术, 首先 是预派生子进程, 采用的是单进程单任务技术; 每个子进程每接受一 个连接就创建一个线程来处理s o c k s 连接链路的建立过程,采用的 是单线程单任务技术: 每个子进程将创建一个线程专门 用来处理该子 进程空间所有连接的数据转发,采用的是单线程多任务技术。 2 . s o c k s 5 服务器性能飞 跃 采用这种新的任务体系结构, 网络服务器程序的性能有较大的提 北京交通大学硕士学位论文 高, 特别是最大并发连接数和吞吐量。 按照新的任务体系结构实现的 s o c k s 5服务器,最大并发连接数能从原来的 3 0 0 - 4 0 0个提高到 3 0 0 0 - 4 0 0 0 个, 而且最大并发连接数不受程序的限制, 只与系统的资 源有关,可以说实现了 一个质的飞跃。吞吐量平均比原来提高2 0 %. 改进了的 s o c k s 5服务器能够适应从中小企业级应用到大型企业级 应用各种不同的应用环境,支持高速,大规模并发的网络环境。 1 . 5论文组织 本论文主要内容分成为五大部分,具体组织如下。 粼. 5 . 1 第一部分:s o c k s 5 服务器的原理及设计 该部分主要介绍 s o c k s 5服务器的原理及设计。首先概述了 s o c k s 协议的工作原理、 控制流模型、 t c p 工作流程和u d p 的工作 特性,然后总结了s o c k s 5协议的五个特点。最后介绍s o c k s 5 服 务器的总体设计,包括服务器的拓扑结构以及具体的功能模块设计。 舒.5 .2 第二部分: s o c k s 5 少e c r i 服务 器性能分 析 该部分主 要是在对s o c k s 5 n e c r i 源代码 进行详细分析的 基础 上, 总结比 较s o c k s 5 一e c r i 服务 器的n o r m a l , i n e t d , s in g l e s h o t , p r e f o r k i n g 和t h r e a d 五种运行模式。 然后利用专门的s o c k s 客户端测 试软 件 对n o r m a l , p r e f o r k in g 和t h r e a d 三 种 主 要 运 行 模式 进 行性 能 测 试, 得出了 这三种模式的最大并发连接数和吞吐量。 最后比较这三种 模式的性能测试结果,并在理论上进行简单地分析。 北京交通大学硕士学位论文 盯. 5 .3 第三部分: 服务器性能改进原理 该部分提出了一种能提高s o c k s 5 服务器性能改进的设计思想。 在提出性能改进设计思想之前将首先介绍了有关理论基础, 包括网络 操作系统的性能分析、网络服务器的任务体系结构和 t c p / i p调用体 系结构, 最后在这些基础上提出了一种s o c k s 5 服务器性能的改进设 计思想。 1 . 5 . 4 第四部分:服务器性能改进的实现方法 该部分主要介绍了 s o c k s 5服务器根据性能的改进设计思想在 l i n u x操作系统上程序的具体实现。具体实现是以 s o c k s 5 n e c r i 为 基础的, 所以 只给出 与s o c k s 5 一e c r i 不同 的 或修改的 主要数据 结构定义和主要子模块功能描述。 舒.5 .5 第五部分:s o c k s 5 服务器性能分析 该部分主要分析采用性能改进设计思想之后为什么能够在最大 并发连接数和吞吐量两个方面得到较大的提高。 在并发连接数性能方 面, 提出了并发连接数计算公式, 分析决定并发连接数有关的因素以 及并发连接数的限制。 在吞吐量方面, 分析了性能改进设计思想能提 高吞吐量的两个主要原因。 最后, 给出了性能测试结果. 1 .6小结 本章是论文的引言部分, 首先介绍了与本论文有关的一些基本概 念:什么是s o c k s 5 服务器? s o c k s 5 服务器的一般性能指标:最 大并发连接数和吞吐量, 然后介绍了本论文的研究背景、 研究的主要 内 容和主要成果,最后简述了本论文的组织和各部分的主要内容。 北京交通大学硕士学位论文 第二章s o c k s 5 服务器的原理及设计 防火墙的使用,有效的隔离了机构的内部网络和外部网络,这种 类型的i n t e m e t 架构变得越来越流行。这些防火墙系统大都充当着网 络之间的应用层网关的角色,通常提供经过控制的t e l n e t 、f t p 和 s m t p 访问。为了推动全球信息的交流,许多复杂的、新的应用层协 议相继出现,这就有必要提供一个总的架构使这些协议能够更透明地 和更安全地穿过防火墙,也就有必要在实际应用中为它们穿过防火墙 提供个更强的认证机制。这种需要起源于两个组织的网络中客户 服务器关系的出现,这个关系需要得到控制并要求有安全的认证。 s o c k s 就是让使用t c p 和u d p 的客户服务器应用程序更方便 安全地使用网络防火墙所提供的服务所设计的协议框架。s o c k s 协 议从概念上来讲是介于应用层和传输层之间的“中介层( s h i m 1 a y e r l , 因而不提供如传递i c m p 信息之类由网络层网关所提供的服务【6 】。 本文研究的实用模型是以s o c k s 5 协议为基础的。 2 1s o c k s 5 协议 2 1 1s o c k s 5 的工作原理 s o c k s 协议目前成为标准的有两个版本,即s o c k s 版本4 ( s o c k s 4 ) 和s o c k s 版本5 ( s o c k s 5 ) 。s o c k s 4 功能较弱,仅 仅提供t c p 代理,安全强度较低i ”。而s o c k s 5 在s o c k s 4 的基础 上,增加了对u d p 的代理,并提供了灵活的安全环境协商机制,为 网络边界提供高强度的边界安全服务。 s o c k s 协议的工作原理与应用代理相似,作为网络边界上的 s o c k s 服务器接收客户的请求,并代理外部的应用服务器,使得客 北京变通大学硕士学位论文 户与外部的联系实质上是s o c k s 客户与s o c k s 服务器之间的联系; 而外部的应用服务器所接收的请求是来自s o c k s 服务器的外部接 口,也就是说s o c k s 服务器对内部网络的客户来讲是服务器,对外 部网络的应用服务器来讲是客户脚。如图2 1 所示。 图2 1s o c k s 的网络通信模型 从s o c k s 协议工作的层次来看,s o c k s 协议工作在o s i 模型 的会话层”,如图2 2 所示。 客户镝 s 0c k s 脚 应用服务蚤 p ) a p ) 内部阿络 i 两绍边界 外部弼络 图2 2s o c k s 的工作原理 s o c k s 为客户代理的不是应用本身,而是代理应用协议的会话, 实现对于会话连接的处理。s o c k s 服务器接收s o c k s 客户的请求 ( 在此称其为s o c k s 客户请求,因为s o c k s 服务器处理的客户请 北京交通大学硕士学位论文 求区别于普通的应用客户请求,是被s o c k s 化薄层拦截并修改后的 客户请求) ,首先在服务器与客户间进行安全环境协商,服务器将请 求与安全策略进行匹配,如果允许,则将其转换成应用客户请求, 代 表客户与应用服务器进行通信, 从而在客户与应用服务器之间中转数 据。否则关闭s o c k s 客户的连接请求。该模式实现对内部网 络地址 隐藏,以实现网络边界的安全保护。 2 . 1 .2 s o c k s 5 的 控制流模型 图2 .3 显示了s o c k s 5 服务器的 控制流模型 t o , 虚线框中的部分 代表s o c k s 4的功能. s o c k s客户程序替换了 u n i x 中的一些套接字函数,如 c o n n e c t ( ) 、 g e t s o c k e t n a m e ( ) 、 b i n d ( ) 、 a c c e p t ( ) 、 li s t e n ( ) 和s e l e c t ( ) 。 在实现中,通过在 ma k e f i l e 文件中增加一些宏定义f l a g s ,然后编 译, 来链入s o c k s自 己的库函 数。当 一个s o c k s 化的客户程序试 图连接到i n t e rn e t 上时, s o c k s 的库子程序就截获了这个连接, 连接 到运行 s o c k s服务程序的主机上去,而不是原来的i n t e rn e t 上。当 连接建立之后,s o c k s 客户程序发送如下信息: . 版本号 . 连接请求命令 . 客户端的端口 号 . 发起连接的用户名 . 所支持的鉴别方法列表 s o c k s 服务器接收s o c k s 客户的请求, 首先在服务器与客户间 进行安全环境协商。 服务器将请求与安全策略进行匹配, 并返回它所 选择的安全鉴别方法.客户再对服务器所作选择进行验证,s o c k s 客户及服务器分别根据选择的鉴别方法进行处理。当安全协商通过 后,如果s o c k s 客户向s o c k s 服务器发送代理请求, 服务器 就将 请求转换成应用客户请求, 设置代理链路, 建立与应用服务器的连接, 北京交通大学硕士学位论文 并向s o c k s 客户发送设置状态。 这样它就代表客户与应用服务器进 行通信,从而在客户与应用服务器之间中转数据。 否则关闭 s o c k s 客户的连接请求。 该模式实现对内部网络地址隐藏,以实现网络边界 的安全保护。 从安全管理的角度来看,电路级网关在统一的方式下为 所有应用提供强大的安全策略,不需为每个用户定制专门的安全策 略。 应用客户 s ocks v5 . . . . . . . 镌袋 理 井“ “ 二 袄 慕羹 二 矛 s ock s v4 设置代理 链路 应用协议数据中转 应用协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . 图2 .3 s o c k s 5 服务器的 控制模型 北京交通大学硕士学位论文 虽 2 . 1 .3 s o c k s 5 的t c p 工作流程 如图2 .4 , 我们以s o c k s 5 客户和服务器之间的一个t c p 对话为 例来介绍 s o c k s 5的工作流程,它包括三个层次的对话:套接字 ( s o c k e t s )网络a p i , s o c k s 5 客户和服务器,s o c k s 5 服务器和远 程服务器。列举在左边的是不同的协议阶段。 hh , ll7 t沪 s o c k客户s o c x s 服务器 ar r a w- 砖 t i m e 1。!illllllt山 les,.les仲leses,卜lleseseeleseeeeeeles祷 法万一方附!-朽犷令一践j- 豁一弩一co=尔一戮一 s o c k s 命令 一雀送端口 号 - 一一- t c p 连接 一 !十1.t谙1二1呻!甲 欲获 客户关闭 图2 . 4基于t c p 协议的s o c k s 5 对话 . 客尸连接阶段 该阶段中当客户应用调用。 o n n e c t () a p i 时,检查是否目 标地址 北京交通大学硕士学位论文 请求s o c k s 服务,若是则建立客户应用到s o c k s 客户的连接。而 s o c k s 客户截取这个调用, 检查本地策略, 看看目 标地址或端口号是 否应转发到s o c k s 服务器。若是,则建立s o c k s 客户到s o c k s 服务 器的连接。 . 主方法协商阶段 s o c k s 客户发出它所支持的各种安全方法的列表。s o c k s 服务 器接到列表后, 查看自己的配置策略, 检查客户所列举的方法是否可 用,若可用则从列表中做出选择返回,否则返回一错误信息。 . 特定方法的 对话 该阶段双方根据上步所选定的方法相互交换数据, 并根据返回信 息, 确认对方是否采取了 选定的方法。 步骤是, 由 s o c k s 客户发出 鉴 别 消 息, s o c k s 服务 器 接收 共享 密 钥 k e y , 并 返 回 特定 方 法的 信息, s o c k s 客户再根据返回的信息检查是否该服务被鉴别。同 样步骤, s o c k s 服务器鉴别s o c k s 客户是否被鉴别。 . s o c k s 5 连接 ( c o n n e c t ) 命令 在特定方法的对话成功后,s o c k s 客户向s o c k s 服务器发出 c o n n e c t 命令, 其中 包括目 标的i p 地址和端口 号. s o c k s 服务器基于 策略的有效性, 根据被鉴别的源和目 标的地址及端口号而决定是否应 与远程应用服务器连接, 若策略允许,则尝试到服务器的t c p 连接, 并返回成功或失败的结果。 . 应用数据交换 这个阶段客户和服务器进行数据交换。如果被选择的方法被调 用, s o c k s 客户发送的数据可能被封装,而s o c k s 服务器对其解封 装, 反向也是如此。 但是由s o c k s 服务器发向远程服务器的数据在这 种情况时不被封装。 而应用客户也不使用被封装的数据。 封装与解封 装仅仅由 s o c k s 客户和s o c k s 服务器进行处理。 . s o c k s 5 绑定 ( b i n d )命令 b i n d 请求通常被用在那些要求客户端接受来自 服务器的连接的 协议上。f t p 是一个典型的例子。它建立一个从客户端到服务器端的 北京交通大学硕士学位论文 连接来执行命令以及接收状态的报告, 而使用另一个从服务器到客户 端的连接来接收传输数据的要求( 如l s , g e t , p u t ) . 在一个 b i n d 请求的操作过程中, s o c k s 服务器要发送两个应答给 客户端。当服务器建立并绑定一个新的套接口时发送第一个应答。 应 答的 信息包含s o c k s 服务器用来监听进入的连接的端口 号( b n d . p o r t ) 和对应的i p 地址( b n d . a d d r ) 字。 客户端通常使用这些信息来告诉( 通 过主连接或控制连接) 应用服务器连接的汇接点。 第二个应答仅发生 在所期望到来的连接成功或失败之后。 在第二个应答中, 包含了连上 来的主机的 i p 地址( b n d . a d d r ) 和端口号( b n d . p o r t ) . . 关闭连接 没有s o c k s 命令用于关闭。当t c p 套接字连接被关闭时 ( 由客户 应用,或由远程服务器关闭),s o c k s 连接也就被关闭。 号 2 . 1 . 4 s o c k s 5 的u d p 工作特性 以上描述的是一个s o c k s 的t c p 应用的工作流程。 s o c k s 化的u d p 会话在许多地方是与其相似的, 但也有一些关键的不同点, 描述如下: . u d p 使用一t c p 连接到s o c k s 服务器 对于u d p 套接字,当应用调用c o n n e c t ( )( 也可能是s e n d t o ( ) ) 函数时,s o c k s 客户初始化与s o c k s 服务器的连接。当u d p 数据被发 送或接收时,t c p 连接继续保留,而当连接中断时,s o c k s的u d p 会 话也中断。 . s o c k s 的u d p 联系命令 当u d p 应用调用c o n n e c t ( ) 或b i n d ( )( 也可能是s e n d t o ( ) ) 函数 时, 将导致s o c k s 发出u d p 联系命令。 这个命令也使用与t c p 连接相 似的参数。 . s o c k s的u d p 头 北京交通大学硕士学位论文 一但u d p 联系被建立,s o c k s 客户和服务器必须为每个外出的数 据报添加一个s o c k s 的u d p 头( 并将进来的数据报的s o c k s 的u d p 头 删除掉)。注意的一点是:这些额外附加的头不会被应用客户见到。 . u d p 的数据中转 只有当数据报的目的端口和地址、源端口 和地址全部与u d p 联系 命令成功建立的值相一致时,s o c k s 服务器才会在两个方向上中转数 据报。 虽 2 . 2 s o c k s 5 协议的特点 s o c k s 5 协议也称为防火墙通过鉴别 ( a u t h e n t i c a t e d f i r e w a l l t r a v e r s a l , 简称a f t ) , 是一个开放的 在中介层( s h i m - l a y e r ) 执行网 络代理的工 n t e r n e t 标准。 它解决了几个s o c k s 4 没有解决或忽略了的 间题。它的新特点是: . 强壮的认证机制技术 . 认证方法的协商 . 地址解析代理 . 支持u d p 代理应用 . 信息完整性和机密性 歼. 2 . 1 强壮的认证机制技术 s o c k s 5增加了强有力的认证的支持。 有两个与s o c k s 5 相关的标 准支持两种认证方法: . u s e r n a m e / p a s s w o r d 认证 i i i . g s s - a p i ( g e n e r i c s e c u r it y s e r v i c e a p p l i c a t i o n p r o g r a m m i n g i n t e r f a c e ) 通用安全服务应用编程接口 认证。 g s s - a p i 也支持 信息的完整性和机密性 1 2 1 北京交通大学硕士学位论文 另外, s o c k s 5 还提供了认证方法的扩展接口, 我们可以通过该扩 展接口实现认证机制和 s o c k s 协议的分离。 妇.2 .2 认证方法的 协商技术 为了增加对认证方法的协商能力, s o c k s 5 增加了两个消息。 应用 客户发出第一个消息给s o c k s 5 服务器,列出相应的认证方法列表, 申明客户能支持的认证方法。 s o c k s 5 服务器发出另一消息给客户: 以 宜布客户应支持的方法。 s o c k s 5 服务器基于在其上的安全政策配置来决定鉴别方法。 如果 客户申明的安全方法不满足安全要求, s o c k s 5 服务器关闭通信。 卯 .2 .3 地址解析代理 s o c k s 5 的内部的地址解析代理简化d n s 管理并实现i p 地址的隐 藏和转化。s o c k s 5 客户可传送域名而非解析后的地址到s o c k s 5 服务 器,而服务器为客户进行地址解析。 2 .2 .4 代理u d p 应用 s o c k s 5 支持u d p 联系。 u d p 联系创建一个虚拟的代理链路, 用于 传输基于u d p 的应用数据。 在t c p 和基于u d p 的代理链路之间主要有 两个不同点: . 对于u d p 的 代理链路是一对用于接收和发送数据的 通信端点 的地址。 . u d p代理链路封装应用数据,包括数据报的目 标地址。 北京交通大学硕士学位论文 2 . 2 . 5 信息 完整性 和 机密 性 通过使用g s s - a p 工 鉴别方法,s o c k s 5 客户可与s o c k s 5 服务器进 行协商,以检测完整性、 机密性或完整性与机密性。同时,我们经扩 展认证机制引入一些独立的认证/ 保密机制后,可以保证信息数据传 输的可靠性和保密性。 综上所述, 采用以上关键技术的s o c k s 5 ,己经成为一个需要认证 的防火墙协议。当s o c k s 和其他安全协议配合使用时, 可以作为建立 高度安全的v p n ( v i r t u a l p r i v a t e n e t w o r k 虚拟专用网)的基础 s o c k s 协议的优势在于访问控制,因此特别适合用于安全性较高的 v p n 。所以,s o c k s 5 的 优点非常明显: 1 . s o c k s 5 在o s i 模型的 会话层控制数据流,定义了非常详细的 访问控制。 而在网络层只能根据源和目的的i p 地址来允许或 拒绝数据包通过,在会话层则可以采用更多的控制手段。 2 . s o c k s 5 在客户机和主机之间建立了一条虚电 路, 可根据对用 户的认证进行监视和访问控制。 3 . s o c k s 5 能提供非常复杂的方法来保证信息的传输安全。用 s o c k s 5 的代理服务器可以隐藏网络地址结构。如果s o c k s 5 同防火墙结合起来使用, 数据包经一个唯一的防火墙端口( 缺 省端口号是 1 0 8 0 )到代理服务器,然后代理服务器过滤发往 目的计算机的数据,这样可以防止防火墙上存在的漏洞。 4 . s o c k s 5 能为认证、 加密和密钥管理提供 “ 插件” 模块, 可以 让用户很自由 地选择所需要的技术。 s o c k s 5 可以根据规则过 滤数据流。 但是,由于s o c k s 5 通过代理增加一层安全性, 因此其性能比低层 协议差。 s o c k s 5 尽管比网络层和传输层的方案更安全, 但需要比低层 协议制定更为复杂的安全管理策略。 北京交通大学硕士学位论文 2 3s o c k s 5 服务器的总体设计 2 3 1 服务器拓扑结构 s o c k s s n 务器位于网络边界连接内外网络,内部网络是一个封闭 的子网,s o c k s s 服务器是唯一的与外网的接口,实现内部子网与外网 的代理连接。若服务器的s o c k s 5 功能不开启,内网用户不能穿越此服 务器与外界相连。根据s o c k s s 服务器实现的功能,将系统的拓扑结构 定义如图2 5 。 图2 5 系统拓扑结构 边界的s o c k s 5 服务器为系统的核心,要求高效、稳定。故服务器 选用l i n u x 操作系统,并且仅安装必要的系统内核( 不安装图形用户 界面) ,操作系统占用的系统资源尽可能最小,为服务进程的正常运 行提供必须的,但不冗余的系统功能。而对服务器的配置功能、对网 络系统的监控功能则在其他服务器上完成,我们将该部分系统称为管 理子网。 边界服务器,即s o c k s 5 服务器拥有三类基本网络接口,分别包括: 1 - 与内部网络相连接的内部接口 1 7 北京交通大学硕士学位论文 内部接口用于与内部网络相连接,内部的通信信息均通过内部接 1 2 1 传递给边界服务器。该接口可扩充,可连接多个内部网络,从而使 得该边晃服务器可用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车制造业2025年供应链风险管理数字化解决方案报告
- 2025届广东省梅州市梅江实验中学英语八年级第二学期期末质量检测模拟试题含答案
- 2025年元宇宙社交平台虚拟现实社交平台运营模式研究报告
- 城市污水处理厂智能化升级改造中的智能化水质处理技术研究报告
- 2025年医院电子病历系统在医院信息化建设中的边缘计算应用报告
- 2025年医药行业未来趋势:仿制药一致性评价下的医药电商发展报告
- 2025年医药企业研发外包(CRO)与企业核心竞争力提升报告
- 能源行业2025年储能技术多元化储能电池材料研发与创新报告
- 礼仪培训课件标题
- 安全转运试题及答案
- 新科hg5300功放说明书
- 2023-2024学年湖南省常德市小学语文六年级期末评估试卷附参考答案和详细解析
- 华北理工环境监测教案02水和废水监测-4金属化合物-铝、汞、镉、铅、铜、锌、铬、砷等测定
- 轻质碳酸钙的应用及其发展前景
- 气污染源自动监控设施台账记录模版校准记录
- JJF 1169-2007汽车制动操纵力计校准规范
- 新高考高中物理竞赛专题1力学50题竞赛真题强化训练原卷版
- 2023年成都市成华发展集团有限责任公司招聘笔试模拟试题及答案解析
- 晒纹资料大全
- 山东省泰安市2021-2022学年高一下学期期末考试数学试题(Word版含答案)
- ××团支部换届选举选票
评论
0/150
提交评论