(计算机应用技术专业论文)穿越nat解决方案研究与设计.pdf_第1页
(计算机应用技术专业论文)穿越nat解决方案研究与设计.pdf_第2页
(计算机应用技术专业论文)穿越nat解决方案研究与设计.pdf_第3页
(计算机应用技术专业论文)穿越nat解决方案研究与设计.pdf_第4页
(计算机应用技术专业论文)穿越nat解决方案研究与设计.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

穿越n a t 解决方案研究与设计 摘要 互联网的迅速发展 越来越多的用户连入网络 使得原有的i p 地址日渐不足 为了解决这个问题 人们提出了多种解决方案 其中 短期解决方案网络地址转换技术 n a t 的出现 很好的缓解了地址 匮乏问题 n a t 技术的出现一方面解决了地址紧缺问题 同时也起 到了一定的安全作用 然而 它也不是完全没有缺陷 不可避免的带 来了一些负面问题 这主要表现在某些必须将地址信息嵌在i p 包负 载中的高层应用如f t p 不再有效 另外n a t 的存在成为v o i p 这个目 前i n t e m e t 应用领域的一个热门业务的开展的最大的障碍 亟待解决 当前已经有多种穿越n a t 的解决方案如a l g s t u n m i d c o m t u r n p r o x y 等 但是每一种方案都有自己的优缺点 只是适用一 种或几种应用 有一定的局限性 本课题主要是对目前各种流行的n a t 穿越解决方案进行研究 并 在此基础上提出了自己的解决方案 本文重点分析本课题提出的解决 方案的理论可行性 并在实践中验证 而对现行解决方案的分析是前 提 后续的实现是对解决方案的一个简单的模拟 实际应用应该有更 加详细的考虑和设计 本课题的主要目的是针对当前多媒体数据传输穿越n a t 特点设计 的 多媒体传输的特点决定了我们可以采用基于u d p 的传输方式 在第一章中简要论述了网络地址不足的原因以及长期和短期解决方 案 第二章主要说明什么是n a t n a t 的原理 n a t 分类及其带来 的问题等内容 第三章介绍了目前存在的各种n a t 解决方案以及各自 的优缺点 第四章较详细的介绍了自己的解决方案 并进行理论分析 和试验验证 最后根据论证结果与现有解决方案s t u n 做比较 第五 章给出了一个解决方案实现的例子 以及相关的程序流图 第六章是 对整个课题的一个总结 关键字 s t u n a l g 私有地址 公有地址 网络地址转换 北京邮电大学硕士研究生论文 s0 u l u t i o n0 ft r a v e r s a u n gt h r o u g hn a t i n v e s t i 谈r 1 0 na n dd e s i g n a b s t r a c t w i t ht h e d e v e l o p m e n to ft h ei n t e r n e t t h ea v a i l a b l ei pa d d r e s s r e d u c e dg r e a t l ya n da l m o s tb e i n gu s e do u t i no r d e rt os o l v et h i sp r o b l e m p e o p l ep u tf o r w a r dm a n ys o l u t i o n s s o m eo ft h e ma r es o m el o n g t e r m s o u l u t i o n sa n do t h e r sa r es h o r t t e r ms o l u t i o n s o fw h i c ht h es o l u t i o n c a l l e dn e t w o r ka d d r e s st r a n s l a t i o nt e c h n o l o g yg o tv e r yp o p u l a ra n d s o l v e st h ei pa d d r e s ss h o r t a g ep r o b l e me f f e c t i v e l ya n dp r o v i d es o m e s e c u r i t yp r o t e c t i o nt os o m ee x t e n ta tt h es a m et i m e y e ti th a ss h o r t a g e t o o i tm a k e ss o m eh i g hl e v e la p p l i c a t i o ns u c ha sf t pc a n tb eu s e da n y m o r e a st h ev o i pt e c h n o l o g yb e c a m em o r ea n dm o r ep o p u l a rn a t t r a v e r s a li sn o wt h eb i g g e s td r a w b a c ki nv o i pa p p l i c a t i o na n ds h o u l db e s o l v e di ns h o r tt i m e t h e r eh a sb e e nm a n ys o l u t i o n ss o l v i n gt h i sp r o b l e m a n da l lo ft h e mh a st h e i ro w na d v a n t a g e sa n dd i s a d v a n t a g e sa n do n l y a p p l yt oo n l yf e wa p p l i c a t i o ns c e n a r i o s t h i st h e s i sm a i n l ya n a l y s e st h ee x i s t i n gs o l u t i o n sa n dp u tf o r w a r d o u ro w ns o l u t i o n i tp u te m p h a s e so nd i s c u s s i n gt h ef e a s i b i l i t yo fo u ro w n s o l u t i o ni nt h e o r y a n dp u ti ti n t op r a c t i c et ov e r i t i f yi t s p r a c t i c a b i l i t y t h e s o l u t i o n st h a tw a si n t r o d u c e db e f o r ei ti sap r e m i s e sa n dt h ef o l l o w i n g d e s i g n a n d i m p l e m e n t a t i o n o ft h es o l u t i o ni s j u s t as t i m u l a n t i m p l e m e n t a t i o na n ds h o u l db ei m p l e m e n t e di nd e t a i l t h i st h e s i sa i m e da tp r o p o s i n gas o l u t i o nt h a ta p p l yt om u t i l m e d i a t r a n s m i s s i o n t h es p e c i a l i t yo fm u t i l m e d i at r a n s m i s s i o np r e d i c a t et h a ti t s h o u l db a s eo nu d ei nt h ef i r s tc h a p t e rw es t a t et h er e a s o no fi pa d d r e s s s h o r t a g ea n ds o m ec o r r e s p o n d i n gs o l u t i o n sa n dt h e i rp e c u l i a r i t y t h e s e c o n dc h a p t e rm a i n l ye x p l a i nt h en a t i t s p r i n c i p l ea n ds oo n t h et h i r d c h a p t e ri st h ei n t r o d u c t i o no fs o l u t i o n sa b o u tt h en a t t r a v e r s a l t h ef o r t h 3 北京邮电大学硕士研究生论文 c h a p t e rd e t a i l e di n t r o d u c e st h eo u r o w ns o l u t i o n a n a l y s e si t s f e a s i b i l i t y a n dc o m p a r ei tw i t hs t u n t h ef i f t hc h a p t e ra d d r e s su sas i m p l ed e s i g n a n di m p l e m e n t a t i o no fo u ro w ns o l u t i o n t h el a s tc h a p t e ri sas u m m a r yo f t h i st h e s i s k e yw o r d s s t u n a l g i n t e r n a la d d r e s s e x t e m a la d d r e s s n a t 4 北京邮电犬学硕士研究生毕业论史 独创性声明及关于论文使用授权的说明 独创性声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果 尽我所知 除了文中特别加以标注和致谢中所罗列的内容以外 论文中不 包含其他人已经发表或撰写过的研究成果 也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意 申请学位论文与资料若有不实之处 本人承担一切相关责任 本人签名 窒2 缓班同期 2 q 丘 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定 即 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学 学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘 允许学位论文被查阅和借 阅 学校可以公布学位论文的全部或部分内容 可以允许采用影印 缩印或其它 复制手段保存 汇编学位论文 本学位论文不属于保密范田 适用本授权书 本人签名 导师签名 日期 日期 丛 f 北京邮电大学硕士研究生论文 第一章引言 1 1 互联网的起源与发展 因特网源于美国国防部的a r p a n e t 在上世纪6 0 年代中期 正是冷战的高 峰 美国国防部希望有一个命令和控制网络能够在核战争的条件下幸免于难 而 传统的电路交换的电话网络则显得太脆弱 国防部指定其下属的高级研究计划局 a r p a 解决这个问题 此后诞生的一个新型网络便称为a r p a n e t 1 9 8 3 年 t c p i p 协议成为a r p a n e t 上唯一的正式协议以后 a r p a n e t 上连接的网络 机器 和用户得到了快速的增长 当a r p a n e t 与美国国家科学基金会 n s f 建成的 n s f n e t 互联以后 其上的用户数以指数增长 并且开始与加拿大 欧洲和太平 洋地区的网络连接 到了8 0 年代中期 人们开始把互联的网络称为互联网 互 联网在1 9 9 4 年进入商业化应用后得到了飞速的发展 1 9 9 8 年 因特网全球用户 人数己激增到1 4 7 亿 7 0 年代中期 a r p a 为了实现异种网之间的互联与互通 开始制定t c p i p 体系结构和协议规范 时至今日 t c p i p 协议也成为最流行的网际互联协议 它不是国际标准化组织制定的 却已成为网际互联事实上的标准 并由单纯的 t c p i p 协议发展成为一系列以i p 为基础的t c p i p 协议簇 t c p i p 协议簇为互 联网提供了基本的通信机制 随着互联网的指数增长 其体系结构也由a r p a n e t 基于集中控制模型的网络体系结构演变为由i s p 运营的分散的基于自治系统 a u t o n o m o u ss y s t e m s a s 模型的体系结构 互联网目前几乎覆盖了全球的每 一个角落 其飞速发展充分说明了t c p i p 协议取得了巨大的成功 1 2 地址匮乏危机 但是互联网发展的速度和规模 远远出乎于二十多年前互联网的先驱们制定 t c p i p 协议时的意料之外 他们从未想过互联网会发展到如此的规模 并且仍 在飞速增长 随着互联网的普及 网络同人们的生活和工作已经密切相关 同时 伴随互联网用户数膨胀所出现的问题也越来越严重 据预测 现有的i p 地址将 在2 0 0 5 至2 0 1 2 年左右消耗殆尽 目前互联网使用的是i n t e r n e t 协议第4 版本即i p v 4 i p v 4 协议规定 每个 互联网上的主机和路由器都有一个3 2 位的i p 地址 它包括网络号和主机号 这 一编码组合是唯一的 把i p 地址分成两部分的优点是使路由器中的路由表不会 太大 路由器不必为每个目的主机维持一个路由选择表项 而为每个网络维护一 个路由选择表项 当进行路由时 只检查目的地址的网络部分 北京邮电大学硕士研究生论文 i p v 4 地址结构分为a b 和c 三类 a 类地址可用作1 2 6 个网络 每个网络 可容纳1 6 0 0 万个主机节点 b 类地址可用作1 6 0 0 0 个网络 每个网络可容纳6 5 0 0 0 个主机节点 c 类地址可用作2 百万左右的网络 每个网络可容纳2 5 4 个主机节 点 为何当前的i p 地址不足 r o a d 小组研究后认为主要原因是i p v 4b 类地址 空间耗尽和地址分配的非分级结构导致平面的路由空间 当1 9 8 1 年9 月t c p i p 协议开始发布时 当时互联网上大约只有i 0 0 0 台主 机 并且几乎所有的主机都是基于时分系统的大型机 为单个用户设计的计算机 几乎不存在 因此在当时i p v 4 所拥有的4 0 亿个地址简直就是天文数字 在分配 i p 地址时也就没必要太保守 从而导致早期的地址分配方案不尽合理 浪费比 较严重 例如 申请到一个b 类地址的用户单位 理论上可以用约6 5 0 0 0 个i p 地址 但实际上接入的没有这么多主机 这也就意味着相当一部分i p 地址被闲 置 并且不能被再分配 另外由于历史的原因 美国一些大学和公司占用了大量 的i p 地址 例如m i t i b m 和a t t 分别占用了1 6 0 0 多万 1 7 0 0 多万和1 9 0 0 多 万个i p 地址 而分配给象中国这么大国家所用的地址量还不如美国一个大学 由此导致一方面大量的i p 地址被浪费 另一方面在互联网快速发展的国家如欧 洲 日本和中国得不到足够的i p 地址 最后导致互联网地址耗尽和路由表爆炸 到目前为止 a 类和b 类地址已经用完 只有c 类地址还有余量 另外 目前占有互联网地址的主要设备早已由2 0 年前的大型机变为p c 机 并且在将来 越来越多的其他设备也会连接到互联网上 包括p d a 汽车 手机 各种家用电器等 特别是手机 为了向第三代移动通信标准靠拢 几乎所有的手 机厂商都在向国际因特网地址管理机构i c a n n 申请 要给他们生产的每一台手机 都分配一个i p 地址 而竞争激烈的家电企业也要给每一台带有联网功能的电视 空调 微波炉等设置一个i p 地址 i p v 4 显然已经无法满足这些要求 1 3i p v 4 地址匮乏的解决方案 为了缓解地址危机的发生 相应地产生了多种解决方案 其中两种新的技术 无类型网络区域路由技术c i d r 和网络地址翻译技术n a t 是暂行方案 而要彻底 解决地址危机则需要可以取代i p v 4 协议的i p v 6 这样的永久性解决方案 下面是 对这三种解决方案的简单分析 1 3 1c i d r 采用无类型网络区域路由 c l a s s l e s si n t e rd o m a i nr o u t i n g c i d r 的目 的是为了节省b 类地址 我们知道目前b 类地址严重缺乏 因此那些拥有数千个 网络主机的企业只能采用多个c 类网络号 而不采用单个b 类网络号 尽管分配 这些c 类地址解决了b 类地址的匮乏的问题 但它却带来了另一个问题 每个c 北京邮电大学硕士研究生论文 类网络都需要一个路由表表项 c i d r 是一个防止i n t e r n e t 路由表膨胀的方法 c i d r 的基本观点是采用一种分配多个i p 地址的方式 使其能够将路由表中的表 项总和 s u m m a r i z a t i o n 成更少的数目 c i d r 为那些拥有数千个网络主机的企 业分配一个由一系列连续的c 类地址组成的地址块 而不采用单个b 类网络号 例如 假设某个企业网络有1 50 0 个主机 那么可能为该企业分配8 个连续的c 类地址 如 1 9 2 5 6 0 0 至1 9 2 5 6 7 0 并将子网掩码定为2 5 5 2 5 5 2 4 8 0 即地址的前2 l 位标识网络 剩余的1 1 位标识主机 这样 所有这8 个c 类地址 可以参照i n t e r n e t 上的单个路由表表项 但是 要使用这种总和 必须满足以 下三种特性 为进行路由要对多个i p 地址进行总和时 这些i p 地址必须具有相同的 高地址位 路由表和路由算法必须扩展成根据3 2 位i p 地址和3 2 位掩码做出路由 决策的 必须扩展路由协议使其除了3 2 位地址外 还要有3 2 位掩码 无类型 的意思是现在的路由决策是基于整个3 2 位i p 地址的掩码操作 而不管其i p 地址是a 类 b 类或是c 类 都没有什么区别 c i d r 的最初是针对 新的c 类地址提出的 这种变化将使互联网路由表增长的速度缓慢下来 但对于 现存的路由则没有任何帮助 尽管通过采用c i d r 可以保护b 类地址免遭无谓 的消耗 但是依然无法从根本上解决i p v 4 面临的地址耗尽问题 这只是一个短 期解决方案 1 3 2n a t 另一个延缓i p v 4 地址耗尽的方法是网络地址翻译 n e t w o r ka d d r e s s t r a n s l a t i o n n a t 简单的说 n a t 就是在内部网络中使用内部地址 而当内 部节点要与外部网络进行通讯时 就在边缘网关处 将内部地址替换成全局地址 从而在外部公共网上正常使用 如图所示 所谓内部地址 是指在内部网络中 分配给节点的私有i p 地址 这个地址只能在内部网络中使用 不能被路由 虽 然内部地址可以随机挑选 但是通常使用的是r f c1 9 1 8 中定义的专用地址 1 0 0 0 0 l o 2 5 5 2 5 5 2 5 5 1 7 2 1 6 o 0 1 7 2 1 6 2 5 5 2 5 5 1 9 2 1 6 8 0 0 1 9 2 1 6 8 2 5 5 2 5 5 n a t 将这些无法在互联网上使用的保留i p 地址翻译成可以在 互联网上使用的合法i p 地址 而全局地址 是指合法的i p 地址 它是由n i c 或者网络服务提供商i s p 分配的地址 对外代表一个或多个内部局部地址 是全 球统一的可寻址的地址 n a t 的主要作用是节约了地址空间 减少了对合法地址的需求 多个内部节 点共享一个外部地址 使用端口进行区分 n e t w o r ka d d r e s sp o r tt r a n s l a t i o n 北京邮电大学硕士研究生论文 n a p t 这样就能更有效的节约合法地址 由于目前要想得到一个a 类或b 类地 址十分困难 因此许多企业纷纷采用了n a t n a t 使企业不必再为无法得到足够 的合法i p 地址而发愁了 然而 n a t 也有其无法克服的弊端 首先 n a t 会使网 络吞吐量降低 由此影响网络的性能 其次 n a t 必须对所有i p 包进行地址转 换 但是大多数n a t 无法将转换后的地址信息传递给i p 包负载 这个缺陷将导 致某些必须将地址信息嵌在i p 包负载中的高层应用如f t p 和w i n s 注册等的失 败 互连网 图卜1 n a t 示意图 1 3 3i p v 6 协议 1 9 9 4 年7 月 i e t f 决定以s i p p 作为i p n g 的基础 同时把地址数由6 4 位增 加到1 2 8 位 新的工p 协议称为i p v 6 其版本是在1 9 9 4 年由i e t f 批准的r f c l 7 5 2 在r f c l 8 8 4 中介绍了i p v 6 的地址结构 现在r f c l 8 8 4 已经被r f c 2 3 7 3 所替代 i p v 6 彻底解决了i p v 4 存在的地址空间耗尽和路由表爆炸等问题 并且在安 全性 移动性以及o o s 等方面提供了强有力得支持 此外 i p v 6 协议由于包头 设计得更加合理 使得路由器在处理数据包时更加快捷 国际著名i s p 和权威人 士估计 2 0 0 3 年以后i p v 6 网络将进入大规模实施阶段 之后i p v 4 和i p v 6 将保 持长时间共存 并最终过渡到i p v 6 1 4 小结 虽然i p v 6 有着许多的优点 但是实现并成功运行它并不是一个简单的过程 是需要很长的时间和大量的人力 物力的加入 因此不可能很快实现完全替代 i p v 4 协议 投入运行 因此 暂行解决方案目前来说对解决地址危机问题起到 了极其重要的作用 然而 c i d r 解决方案并不足以完全解决问题 它只是使得b 类地址得到合理的应用 快速增长的对i p 地址的需求可能很快达到即使使用 c i d r 解决方案也无法满足的地步 相反 n a t 的方法却不会出现这种危机 同时 n a t 解决方案还可以完全替代c i d r 解决方案 n a t 解决方案可以几乎无限制的使 用私有地址 这使得一个大公司也可以使用几个公有地址就可以达到联网的目 的 尽管采用n a t 解决方案可能会导致一些高层应用失效 但是仍不失为一种非 常理想的地址危机暂行解决方案 4 北京邮电大学硕士研究生论文 第二章n a t 的原理 2 1n a t 简介 n a t 英文全称是 n e t w o r ka d d r e s st r a n s l a t o r 中文意思是 网络地址转 换 它是一个 i e t f i n t e m e te n g i n e e r i n gt a s kf o r c e i n t e m e t 工程任务组 标准 在一个局域网中同时与外界通讯的主机数量只占域中主机总体数量的很小一部 分 事实上 很多主机几乎从来不进行域外通讯 根据这种特点 可以看出实际 上并不需要为每台主机都配备全局地址 只要分配少数几个全局地址给一个局域 阿 如果所有局域网中主机能够重用这几个公共口地址和外界通讯 那么口地 址的需求量就会大大减少 n a t 正是利用了局域网的这种特点 实现了允许专 用网络上的多台p c 共享单个 全局路由的i p v 4 地址 i p v 4 地址日益不足是 部署n a t 的一个主要原因 简言之 n a t 技术就是一种把内部私有网络地址 坤地址 翻译成合法网络i p 地址的技术 如图所示 图2 1 网络地址转换示意 这种技术的主要优点是它可以随时在局域网中添加主机 其它主机及路由器 的设置都不需要改变 除了几种特殊的应用 因此 这种解决方案可以很方便 的配置和实施 但是 n a t 技术也有缺点 采用n a t 后 一个最主要的改变就 是失去了端对端i p 的t r a c e a b i l i t y 也就是说 从此不能再经过n a t 使用p i n g 和 t r a c e r o u t e 其次就是曾经的一些i p 对i p 的应用程序不再可以正常运行 潜在的 不易被观察到的缺点就是增加了网络延时 2 2n a t 使用的几种情况 a 连接到i n t e r n e t 但却没有足够的合法地址分配给内部主机 b 更改到一个需要重新分配地址的i s p 北京邮电大学硕士研究生论文 e 有相同的i p 地址的两个i n t e r n a t 合并 d 想支持负载均衡 主机 2 3n a t 的几个相关概念 i n s i d el o c a li pa d d r e s s 指定于内部网络的主机地址 全局唯一 但为私有 地址 i n s i d eg l o b a li pa d d r e s s 代表一个或更多内部i p 到外部世界的合法i p o u t s i d eg l o b a li pa d d r e s s 外部网络主机的合法i p o u t s i d el o c a li pa d d r e s s 外部网络的主机地址 看起来是内部网络的 私有 地址 s i m p l et r a n s l a t i o ne n t r y 映射ip 到另一个地址的e n t r y e x t e n d e dt r a n s l a t i o ne n t r y 映射i p 地址和端口到另一个p a i r 的e n t r y 2 4n a t 功能 采用n a t 可以实现以下几个功能 内部地址翻译 t r a n s l a t i o ni n s i d el o c a l a d d r e s s e s 内部全局地址复用 o v e r l o a d i n gi n s i d eg l o b a la d d r e s s e s t c p 负 载重分配 t c pl o a dd i s t r i b u t i o n 处理重叠网络 h a n d i n go v e r l a p p i n gn e t w o r k s 下面分别介绍它们的工作原理 a 内部地址翻译 这是n a t 最通用的一种方法 功能是将网络内部局部口一对一的翻译成内 部全局地址 在内部主机连接到外部网络时 当第一个数据包到达n a t 路由器时 r o u t e r 检查它的n a t 表 因为n a t 是静态配置的j 故可以查询出来 s i m p l ye n t r y 然后r o u t e r 将数据包的内部局部i p 源地址 更换成内部全局地址 再转发出去 外部主机接收到数据包用接收到的内部全局地址来响应 n a t 接收到外部发回 来的数据包 再根据n a t 表把地址翻译成内部局部i p 转发到内部网络 b 内部全局地址复用 这种方法使用地址和端e lp a i r 将多个内部地址映射到比较少的外部地址 也 就是所谓的n a p t 和内部地址翻译一样 n a tr o u t e r 负责查表和翻译内部i p 地址 唯一的区别就是由于使用了o v e r l o a d i n g r o u t e r 将复用内部全局i p 地址 并存储足够的信息以区分不同地址 这样查询出来的是e x t e n d e de n t r y n a t r o u t e r 和外部主机的通讯采用翻译过的内部全局地址 故同一般的通讯没有差别 从外部网络经r o u t e r 到内部主机通讯时 同样要查n a t 表 c t c p 负载重分配 北京邮电大学硕士研究生论文 这种方法和以上两种操作不同 这是n a t 由外到内的翻译 所以那种以为 w e bs e r v e r 一定要放置到n a t 外部的说法是错误的 工作原理 外部主机向虚拟主机 定义为内部全局地址 通讯 n a tr o u t e r 接受外部主机的请求并依据n a t 表建立与内部主机的连接 把内部全局地址 目 的地址 翻译成内部局部地址 并转发数据包到内部主机 内部主机接受包并作 出响应 n a tr o u t e r 再使用内部局部地址和端口查询数据表 根据查询到的外部 地址和端口做出响应 此时 如果同一主机再做第二个连接 n a tr o u t e r 将根据 n a t 表将建立与另一虚拟主机的连接 并转发数据 d 处理重叠网络 这种方法主要用于两个i n t r a n e t 的互连 同样为我们处理两个重叠网络提供 了方法 它的实现要求有d n ss e r v e r 的支持 用于区别两个不同的主机 主 要过程如下 1 主机a 要求向主机c 建立连接 先向d n ss e r v e r 做地址查询 2 n a tr o u t e r 截获d n s 的响应 如果地址有重叠 将翻译返回的地址 它将 创建一个s i m p l ye n t r y 把重叠的外部全局地址 目的地址 翻译成外部局部地址 3 路由器转发d n s 响应到主机a 它已经把主机c 的地址 外部全局地址 翻译成外部局部地址 4 当路由器接收到主机c 的数据包时 它将建立内部局部 全局 外部全 局 局部地址间的转换 主机a 将由内部局部地址 源地址 翻译成内部全局 地址 主机c 将由外部全局地址 目的地址 翻译成外部局部地址 5 主机c 接受数据包并继续通讯 2 5 n a t 工作原理 n a t 安装在内部网络和外部网络之间具有n a t 功能的设备上 在内部主机 需要和外部进行通讯时 n a t 负责进行地址翻译工作 所以在n a t 上还必须维 护一个翻译表 玎表 来存储相应的地址转换信息 如果一个域有多个出口 那么还必须保证每个n a t 具有相同的翻译表 简单地说 n a t 就是在局域网内 部网络中使用内部地址 而当内部节点要与外部网络进行通讯时 就在网关处 将内部地址替换成公用地址 从而在外部公网 i n t e r n e t 上正常使用 n a t 可以使多台计算机共享i n t e m e t 连接 这一功能很好地解决了公共口 地址紧缺的问题 通过这种方法 我们可以只申请一个合法i p 地址 就把整个 局域网中的计算机接入i n t e r n e t 中 这时 n a t 屏蔽了内部网络 所有内部网计 算机对于公共网络来说是不可见的 而内部网计算机用户通常不会意识到n a t 的存在 n a t 的存在对用户是透明的 这里提到的内部地址 是指在内部网络 中分配给节点的私有i p 地址 也即内部局部地址 这个地址只能在内部网络中 7 北京邮电大学硕士研究生论文 使用 不能被路由 虽然内部地址可以随机挑选 但是通常使用下面的地址 1 0 0 o o 1 0 2 5 5 2 5 5 2 5 5 1 7 2 1 6 0 o 1 7 2 1 6 2 5 5 2 5 5 1 9 2 1 6 8 0 o 1 9 2 1 6 8 2 5 5 2 5 5 n a t 将这些无法在互联网上使用的保留i p 地址 翻译成可以在互联网上使用的合法口地址 而内部全局地址 是合法的口地址 由n i c 网络信息中心 或i s p 网络服务提供商 分配 对外代表一个或多个内 部局部地址 是全球统一的可寻址的地址 n a t 功能通常被集成到路由器 防火墙 i s d n 路由器或者单独的n a t 设 备中 比如c i s c o 路由器中已经加入这一功能 网络管理员只需在路由器的i o s 中设置n a t 功能 就可以实现对内部网络的屏蔽 再比如防火墙将w e bs e r v e r 的内部地址1 9 2 1 6 8 1 1 映射为外部地址2 0 2 9 6 2 3 1 1 外部访问2 0 2 9 6 2 3 1 1 地址实际上就是访问1 9 2 1 6 8 1 1 另外对资金有限的小型企业来说 现在通过 软件也可以实现这一功能 w i n d o w s9 8s e w i n d o w s2 0 0 0 都包含了这一功能 2 6 姐的工作过程 n a t 设备后面的客户端通常通过d h c p 动态主机配置协议 分配到专用 的i p 地址 或由管理员进行静态配置 在与该专用网络的外部进行通讯时 通 常会发生下列事情 在客户机上 当应用程序想同服务器通讯时 它将打开与源口地址 源端口 目标坤地 址 端口及网络协议相关联的套接字 这样可以识别通讯所需的两个端点 当应 用程序利用该套接字传输信息时 客户机的专用口地址 端口将被插入数据包的 源地址字段中 数据包的目标字段将包含服务器的i p 地址 端口 由于该数据包 的目的地是在该专用网络之外的某个位置 因此客户机将把该数据包转发给默认 的网关 这种情况下的默认网关就是n a t 设备 n a t 设备上的输出数据包 n a t 设备将截获该输出数据包 然后利用目标口地址 端口 n a t 设备的 内部全局i p 地址 端口 网络协议及客户机的内部局部i p 地址 端口来创建端口 映射 n a t 设备将维护这些映射组成的表 并将该端口的映射存储在表中 内部 全局i p 地址 端口就是该数据通讯用于取代内部局部i p 地址 端口的公共i p 地 址 端口 n a t 设备随即将来自客户机专用内部i p 地址 端口的数据包的源地址字段 转换为n a t 设备的公共i p 地址和端口 实现对这些数据包的地址转换 然后 数据包将通过外部网络发送出去 并最终到达目标服务器 北京邮电大学硕士研究生论文 i n t e m a l 1 9 2 1 6 8 1 1 1 0 0 0 e x t e m a l 2 0 2 1 3 3 4 5 6 1 0 0 0 r e m o t e 3 3 4 3 3 3 2 3 4 4 5 8 0 服务器 图2 2 出站数据包转换的示例 服务器上 当服务器接收到数据包时 它认为自己是在和一台具有可全球路由口地址 的计算机进行通讯 它会利用自己源地址字段中的i p 地址 端口将响应数据包定 向到n a t 设备的外部i p 地址和端口 n a t 设备上的输入数据包 n a t 设备从服务器那接收到这些数据包 然后将数据包与其端口映射表进 行比较 如果n a t 发现某个端口映射的远程主机i p 地址 端口 外部端口及网 络协议与输入数据包的源i p 地址 端口 目标端口和网络协议匹配 n a t 就会 进行反向转换 n a t 将把数据包目标字段中i 的外部口地址和外部端口替换为客 户机的专用球地址和内部端口 举例来说 局域网a 中的一个主机要和外部网络中的主机 局域网a 在内 部使用a 类地址1 0 0 0 0 而局域网a 中的n a t 分配了内部全局地址 1 5 7 5 5 1 1 0 不能为其他n a t 使用 当局域网a 中的主机1 0 0 0 2 想要向外 部网络中的主机1 4 2 2 3 0 4 发送包时 它把目的地址设置为全局地址 1 4 2 2 3 0 4 然后把包发往默认网关 然后通过地址转换表把源地址改变为内部 全局地址1 5 7 5 5 1 1 0 最后根据路由表 把包发送到1 4 2 2 3 0 4 这样就实现 了客户端到服务器端的通讯 反过来 服务器端根据接收到的包的源地址 向此 源地址发送响应包 响应包到达n a t 设备时 根据地址转换表 把此源地址 是 全局地址 翻译成局域网内部的专用地址 这样客户端就可以接收到服务器端发 回来的响应包 这样就实现了双方的通讯 2 7n a t 技术类型 n a t 有三种类型 静态n a t s t a t i cn a t 动态n a t p o o l e dn a t 网络地 址端口转换n a p t p o r t l e v e ln a t 三种n a t 方案各有利弊 其中静态n a t 设置起来最为简单和最容易实现的一种 内部网络中的每个 主机都被永久映射成外部网络中的某个合法的地址 而动态地址n a t 则是在外 部网络中定义了一系列的合法地址 采用动态分配的方法映射到内部网络 9 北京邮电大学硕士研究生论文 n a p t 则是把内部地址映射到外部网络的一个i p 地址的不同端口上 根据不同 的需要 可以选择不同的配置方式 2 7 1 静态n a t 静态n a t 是n a t 中最简单的应用方式 内部网络i p 地址和外部网络i p 地 址只能是一一对应的固定映射方式 且需要指定和哪个地址进行转换 如果内部 网络中有e m a i l 服务器 f t p 服务器 w e b 服务器等为外部网络用户提供服务 则这些服务器的口 地址必须采用静态地址转换 以便外部网络用户可以使用这 些服务 2 7 2 动态n a t 池 动态n a t 池 p o o l e dn a t 是采用动态分配的方法映射内部网络的和外部 网络的口地址 采用n a t 池意味着可以在内部网中定义很多的内部用户 通过 动态分配的办法 共享很少的几个外部i p 地址 在动态n a t 环境中能够同时和 外界通讯的用户个数受限于地址池中的地址个数 当远程用户连接上之后 动态 地址n a t 就会分配给他一个未分配给其它用户的地址池中的p 地址 用户断 开时 这个i p 地址就会被释放而留待以后使用 由此可见动态n a t 还必需维护 一个动态表格以便纪录私有i p 地址和全局i p 地址的对应关系 因为它们之间的 对应关系不像静态n a t 那样一一对应 也因此动态n a t 要比静态n a t 复杂得 多 该引起注意的是 n a t 池中动态分配的外部口地址全部被占用后 后续的 n a t 翻译申请将会失败 并传回h o s tu n r e a c h a b l e 的i c m p 包 只有当一个用户 结束连接 自动释放分配给它的全局地址后 新的地址转换要求才能被执行 庆 幸的是 许多有n a t 功能的路由器有超时配置功能 n a t 池提供很大灵活性的同时 也影响到网络原有的一些管理功能 例如 s n m p 管理站利用i p 地址来跟踪设备的运行情况 但使用n a t 之后 意味着那 些被翻译的地址对应的内部地址是变化的 今天可能对应一台工作站 明天就可 能对应一台服务器 这给s n m p 管理带来了麻烦 一个可行的解决方案就是把 划分给n a t 池的那部分地址在s n m p 管理平台上标记出来 对于这些不响应管 理信号的地址不予报警 如同它们被关掉了一样 2 7 3n p a t 网络地址端口转换n a p t p o r ta d d r e s st r a n s l a t i o n 也称为p a t 是人们比较 熟悉的一种动态地址转换方式 它可以允许多个内部本地地址共用一个内部全局 地址 同时用不同的协议端口号映射不同的内部网络地址 n a p t 普遍应用于接 入设备中 它可以将中小型的网络隐藏在一个合法的i p 地址后面 n a p t 与动 态地址n a t 不同 它将内部连接映射到外部网络中的一个单独的i p 地址上 同 1 0 北京邮电大学硕士研究生论文 时在该地址上加上一个由n a t 设备选定的t c p 端口号 而动态n a t 是把不同 的私有内部地址转换为地址池中未被使用的全局地址 n p a t 大量应用在远程访问中 特别是在远程拨号用户使用的设备中 使用 n p a t 时 所有不同的t c p 和u d p 信息流仿佛都来源于同一个i p 地址 虽然这 样会导致信道的拥塞 但由于节省了上网费用 注册i p 地址 易管理的特点 对只申请到少量i p 地址但却经常同时有多个用户上外部网络的情况 这种转换 极为有用 这个优点在小型办公室内非常实用 通过从i s p 处申请的一个i p 地 址 将多个连接通过n a p t 接入i n t e r n e t 2 8 基于m 虹的负载平衡 以上所谈论的均是关于使用n a t 和n p a t 来把内部i p 地址转换成外部合法 的i p 地址使用 下面介绍n a t 的另一个运用 作为用于负载平衡的d n s 系列 服务器 d n sr o u n d r o b i n 的一个替代品 d n s 系列服务器解决了多个i p 地 址共用一个域名的问题 它会在响应d n s 申请时跳跃式地寻找可用的口地址 达到的效果就是一个域名可以对应多个口地址 这种功能可以应用在一个h 曙 服务器群中 利用它可以平衡多个服务器的负载 但是这里还有一个问题 i p 客户端会在本地缓冲d n s i p 地址解析 从而使它的后续的申请都会到达同一 个i p 地址 减弱了d n s 系列服务器的作用 使用基于n a t 的负载平衡方案 则可以避免这个问题 路由器或其它n a t 设备把需要负载平衡的多个i p 地址翻译成一个公用的i p 地址 每个t c p 连接 被n a t 送到一个i p 地址 而后续的t c p 连接则被n a t 送到下一个口地址 真正实现了负载平衡 当然 基于n a t 的负载平衡只能在n a t 上实现 而不 能在p a t 上实现 2 9 安全问题 当n a t 改变包的i p 地址后 需要认真考虑这样做对安全设施带来的影响 对于防火墙 它利用i p 地址 t c p 端口 目标地址以及其它在口包内的信 息来决定是否干预网络的连接 当使用了n a t 之后 可能就不得不改变防火墙 的规则 因为n a t 改变了源地址和目的地址 在许多配置中 n a t 被集成在防火墙系统之中 提供访问控制和地址翻译 的功能 不要把n a t 设在防火墙之外 因为黑客可以轻易地骗过n a t 让n a t 认为它是一个授权用户 从而进入网络 若企业网中使用了v p n 虚拟专用网 并用i p s e c 进行加密安全保证 那 么错误地设置n a t 将会破坏v p n 的功能 把n a t 放在受保护的v p n 内部 北京邮电大学硕士研究生论文 而不是在中间 因为n a t 改变i p 包内的地址域 而i p s e c 规定一些信息是不能 被改变的 若i p 地址被改变了 i p s e c 就会认为这个包是伪造的 拒绝使用 虽然n a t 带来了许多优越性 例如使现有网络不必重新编址 减少了i s p 接入费用 还可以起平衡负载的作用 但n a t 潜在地影响到一些网络管理功能 和安全设施 这就需要谨慎地使用它 2 10n a t m 配置示例 本节以一个c i s c o7 6 0 0 配置的n a p t 为例说明n 删a p t 的应用 假设有 一个内部网络1 9 2 1 6 8 2 0 0 其内部用户有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论