通信工程毕业设计(论文)NAT协议的研究.doc
《通信工程毕业设计(论文)NAT协议的研究.doc》由会员分享,可在线阅读,更多相关《通信工程毕业设计(论文)NAT协议的研究.doc(38页珍藏版)》请在三一办公上搜索。
1、毕业设计说明书NAT协议研究学生姓名: 学号: 学 院: 专 业: 通信工程 指导教师: 2007年 6 月目 录1引言21.1背景及研究目的21.2NAT当前研究情况31.3课题主要工作及结构安排42NAT的工作原理42.1NAT简介42.2NAT使用的几种情况52.3NAT的功能52.3.1内部地址翻译52.3.2内部全局地址复用62.3.3TCP负载重分配62.4NAT的原理62.5NAT的工作过程62.6NAT技术类型82.6.1静态NAT82.6.2动态NAT池82.6.3NPAT83NAT存在的缺陷及现行解决方案93.1问题93.2现行NAT穿越解决方案103.3ALG方案103.
2、5MIDCOM 方案123.6STUN方案123.7各种方案的简单对比154基于UDP传输的NAT穿越解决方案164.1目标164.2NAT类型174.3实际NAT测试情况204.4解决方案原理214.4.1通信过程214.4.2理论分析214.4.3试验结果234.5与STUN 解决方案的比较235基于UDP传输的NAT穿越解决方案的简单设计255.1基本原理255.2实体介绍255.3消息属性265.4基本通信过程265.4.1网络环境265.4.2客户端行为265.4.3服务器端行为285.5客户端设计285.6服务器端设计336结束语35参考文献36致谢381引言1.1背景及研究目的当
3、1983年1月1日TCP/IP协议成为ARPANET上唯一的正式协议以后,ARPANET上连接的网络,机器和用户快速增长,特别是NSFNET和ARPANET互连以后,数目更是以指数增长。很多的地区网络开始加入,并且开始与加拿大,欧洲和太平洋地区的网络连接。到了80年代中期,人们开始把互连的网络集成互连网,后来就是因特网。增长继续保持指数级,到了2002年巳经拥有了3000个网络和2000,000台计算机。其规模大约每年翻一翻1。因特网业务的发展需要它能够提供大量IP地址来满足企业和个人的访问需求。人们开始在制定的网络协议的时候,没有考虑到网络的规模能够增长的如此迅速,所以造成了现有网络协议IP
4、地址的短缺。于是提出了大量的解决方案,例如提出了Ipv6协议来扩大IP地址的大小,改变IP地址结构,甚至提出了废弃IP地址。不幸的是,这些方案要么改变路由器的结构,要么改变PC机结构或者同时改变这两者,所以这些方案不能够马上实施。一种新的解决方案地址复用也是提出的方案之一。这种解决方案是基于这样的事实:在任意给定的时刻,私网中只有很小比例的主机和公网中的主机进行通信。基于这种思想,在私网内部没有必要为每台主机都分配一个公网的IP地址。这样整个网络就被分成了私网和公网。在私网内部,主机之间的通信地址完全可以使用可以重复利用的私网地址。如果私网内部的主机需要和公网的主机进行通信,只需要动态的把NA
5、T设备的公网IP地址分配给需要和公网进行通信的主机,NAT作为中间转发设备,起到一个桥接作用实现二者之间的通信2。基于这种想法,1993年由PaulFr ancis和TonyEng在Computer Communication Review发表了一篇关于地址复用的论文,在这篇论文中首次提到了地址复用的思想和实现地址复用的NAT设备。IETF1994年5月提出了NAT协议,当时主要是为了解决网络地址短缺的问题;IETF又在1996年2月份提出了私有网络的概念。在1999年8月份IETF提出了NAT中使用的相关的术语。进入2000年,由于宽带城域网的兴起,传统的TCP/IP协议的应用开发更加成为研
6、究的热点,NAT协议作为一个新协议急切的需要研究和开发,应用到实际网络中去。1.2NAT当前研究情况作为一类标准Internet技术,NAT能实现让内部LAN通信运用一套IP地址,而外部通信采用另一套IP 地址,这在现行IPv4协议环境下意义重大。通过NAT分离Internet与LAN地址,相对于单一的全球地址分配机制来说,很多地址可以节省下来。为许多申请不到很多可全球路由公共地址的企业提供了局域网内终端都可连网的解决方案,但是,NAT的缺陷是一个不容忽视的问题3。内部地址在公网上没有路由,用户可以访问别人,但难以被别人访问。在我国的IP网上,目前很多用户都在用着“内部地址”,这种现象毫无疑问
7、对我国IP 业务的发展有很大的潜在危害。这种危害实际上已经逐渐显示出来。随着IP 电话在技术层面也逐渐走向成熟,与之相应的一系列协议、标准的出炉,多媒体通信系列标准的组成部分H.323和IETF的SIP,以及基于这些标准协议的产品,如IP 电话系统、媒体网关等得到了广泛应用,一些网络冲突也突显出来。比如当前一些网络实体限制这样端到端的分组通过,这些实体指的就是防火墙和网络地址转换器4。但随着我国IP电话的发展,这一系列标准,协议都将会应用到实际中去,因此当前N AT的研究方向都是基于各种标准,各种协议的NAT穿越技术。1.3课题主要工作及结构安排本课题是在以NAT应用为基础的背景下,以穿越NA
8、T技术为研究对象。首先介绍NAT的基本原理及常用技术类型,接下来通过对NAT在实际网络环境中的应用找出存在的缺陷,分析目前较为流行的解决方案的实现原理,最后提出了自己的解决方案,分析其理论可行性,在实际的试验中也得到证实是切实可行的,并对方案进行论证和简单的设计在第一章中简要叙述了NAT的背景及本课题的研究目的等内容;第二章主要说明NAT的定义,NAT的原理,NAT分类及NAT的技术类型等内容;第三章介绍了目前NAT应用存在的缺陷及当前各种NAT解决方案以及各自的优缺点;第四章较详细的介绍了自己的解决方案,并进行理论分析和试验验证,最后根据论证结果与现有解决方案STUN做比较;第五章给出了一个
9、解决方案实现的例子,以及相关的程序流图;第六章是对整个课题的一个总结。2NAT的工作原理2.1NAT简介NAT英文全称是“Network Address Translator”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force,Internet工程任务组)标准。在一个局域网中同时与外界通讯的主机数量只占域中主机总体数量的很小一部分,事实上,很多主机几乎从来不进行域外通讯,根据这种特点,可以看出实际上并不需要为每台主机都配备全局地址,只要分配少数几个全局地址给一个局域网,如果所有局域网中主机能够重用这几个公共IP地址和外界通讯,那么IP
10、地址的需求量就会大大减少。NAT正是利用了局域网的这种特点,实现了允许专用网络上的多台PC共享单个、全局路由的IPv4地址。IPv4地址日益不足是部署NAT的一个主要原因。简言之,NAT技术就是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术5。如图所示: 内部网络 私有地址 NAT 公有地址 外部网络图2.1网络地址转换示意这种技术的主要优点是它可以随时在局域网中添加主机,其它主机及路由器的设置都不需要改变(除了几种特殊的应用),因此,这种解决方案可以很方便的配置和实施。2.2NAT使用的几种情况a 连接到internet,但却没有足够的合法地址分配给内部主机;b 更改到一个需
11、要重新分配地址的ISP;c . 有相同的IP地址的两个internet;d 想支持负载均衡(主机);2.3NAT的功能采用NAT,可以实现以下几个功能:内部地址翻译(Translation inside local addresses);内部全局地址复用(overloading inside global addresses);TCP负载重分配(TCP load distribution);处理重叠网络(Handing overlapping networks)。下面分别介绍它们的工作原理:2.3.1内部地址翻译这是NAT最通用的一种方法,功能是将网络内部局部IP一对一的翻译成内部全局地址。在
12、内部主机连接到外部网络时,当第一个数据包到达NAT路由器时,router检查它的NAT表,因为NAT是静态配置的,故可以查询出来(simply entry),然后router将数据包的内部局部IP(源地址)更换成内部全局地址,再转发出去。外部主机接收到数据包用接收到的内部全局地址来响应,NAT接收到外部发回来的数据包,再根据NAT表把地址翻译成内部局部IP,转发到内部网络。2.3.2内部全局地址复用这种方法使用地址和端口将多个内部地址映射到比较少的外部地址。也就是所谓的NAPT。和内部地址翻译一样,NAT router负责查表和翻译内部IP地址,唯一的区别就是由于使用了overloading,
13、router将复用内部全局IP地址,并存储足够的信息以区分不同地址,这样查询出来的是extended entry。NAT router和外部主机的通讯采用翻译过的内部全局地址,故同一般的通讯没有差别,从外部网络经router到内部主机通讯时,同样要查NAT表6。2.3.3TCP负载重分配这种方法和以上两种操作不同,这是NAT由外到内的翻译,所以那种以为WEB server一定要放置到NAT外部的说法是错误的。工作原理:外部主机向虚拟主机(定义为内部全局地址)通讯,NAT route接受外部主机的请求并依据NAT表建立与内部主机的连接,把内部全局地址(目的地址)翻译成内部局部地址,并转发数据包到
14、内部主机,内部主机接受包并作出响应。NAT router 再使用内部局部地址和端口查询数据表,根据查询到的外部地址和端口做出响应。此时,如果同一主机再做第二个连接,NAT router将根据NAT表将建立与另一虚拟主机的连接,并转发数据。2.4NAT的原理NAT安装在内部网络和外部网络之间具有NAT功能的设备上,在内部主机需要和外部进行通讯时,NAT负责进行地址翻译工作,所以在NAT上还必须维护一个翻译表(NAT表)来存储相应的地址转换信息,如果一个域有多个出口,那么还必须保证每个NAT具有相同的翻译表。简单地说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就
15、在网关处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用。2.5NAT的工作过程NAT设备后面的客户端通常通过DHCP(动态主机配置协议)分配到专用的IP地址,或由管理员进行静态配置。在与该专用网络的外部进行通讯时,通常会发生下列事情:a. 在客户机上:当应用程序想同服务器通讯时,它将打开与源IP地址源端口、目标IP地址端口及网络协议相关联的套接字。这样可以识别通讯所需的两个端点。当应用程序利用该套接字传输信息时,客户机的专用IP地址端口将被插入数据包的源地址字段中。数据包的目标字段将包含服务器的IP地址端口。由于该数据包的目的地是在该专用网络之外的某个位置,因此客户机
16、将把该数据包转发给默认的网关。这种情况下的默认网关就是NAT设备。:NAT设备将截获该输出数据包,然后利用目标IP地址端口、NAT设备的内部全局IP 地址端口、网络协议及客户机的内部局部IP地址端口来创建端口映射。NAT设备将维护这些映射组成的表,并将该端口的映射存储在表中。内部全局IP地址端口就是该数据通讯用于取代内部局部IP地址端口的公共IP地址端口。NAT设备随即将来自客户机专用内部IP地址端口的数据包的源地址字段转换为NAT设备的公共IP地址和端口,实现对这些数据包的地址转换。然后,数据包将通过外部网络发送出去,并最终到达目标服务器。Internal:192.168.1.1:1000E
17、xternal:202.13.34.56:1000Remote:334.333.234.45:80Src:192.168.1.1:1000Dest:334.333.234.45:80Src:202.13.34.56:1000Dest:334.333.234.45.80NAT服务器工作站图2.2出站数据包转换的示例b. 服务器上:当服务器接收到数据包时,它认为自己是在和一台具有可全球路由IP地址的计算机进行通讯。它会利用自己源地址字段中的护地址端口将响应数据包定向到NAT设备的外部IP地址和端口。NAT设备从服务器那接收到这些数据包,然后将数据包与其端口映射表进行比较。如果NAT发现某个端口映射
18、的远程主机正地址端口、外部端口及网络协议与输入数据包的源IP地址端口、目标端口和网络协议匹配,NAT就会进行反向转换。NAT将把数据包目标字段中的外部IP地址和外部端口替换为客户机的专用正地址和内部端口27。2.6NAT技术类型NAT有三种类型:静态NAT(Static NAT)、动态NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。三种NAT 方案各有利弊。其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网
19、络。NAPT则是把内部地址映射到外部网络的一个1P地址的不同端口上。根据不同的需要,可以选择不同的配置方式。2.6.1静态NAT静态NAT是NAT中最简单的应用方式,内部网络IP地址和外部网络IP地址只能是一一对应的固定映射方式,且需要指定和哪个地址进行转换。如果内部网络中有E-mail服务器、FTP服务器、WEB服务器等为外部网络用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部网络用户可以使用这些服务。2.6.2动态NAT池动态NAT池(Pooled NAT)是采用动态分配的方法映射内部网络的和外部网络的IP地址。采用NAT池意味着可以在内部网中定义很多的内部用户,通过动态
20、分配的办法,共享很少的几个外部IP地址。在动态NAT环境中能够同时和外界通讯的用户个数受限于地址池中的地址个数。当远程用户连接上之后,动态地址NAT就会分配给他一个未分配给其它用户的地址池中的IP地址,用户断开时,这个IP地址就会被释放而留待以后使用,由此可见动态NAT还必需维护一个动态表格以便纪录私有IP地址和全局IP地址的对应关系,因为它们之间的对应关系不像静态NAT那样一一对应,也因此动态NAT要比静态NAT复杂得多。该引起注意的是,NAT池中动态分配的外部IP地址全部被占用后,后续的NAT翻译申请将会失败,并传回host unreachable的ICMP包,只有当一个用户结束连接,自动
21、释放分配给它的全局地址后,新的地址转换要求才能被执行9。2.6.3NPAT网络地址端口转换NAPT(Port Address Translation)也称为PAT,是人们比较熟悉的一种动态地址转换方式,它可以允许多个内部本地地址共用一个内部全局地址,同时用不同的协议端口号映射不同的内部网络地址。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号,而动态NAT是把不同的私有内部地址转换为地址池中未被使用的全局地址9。3NAT存在的缺陷及
22、现行解决方案3.1问题在IPv4网络中,公有IP地址的不足导致了用户网络中广泛采用了私有IP地址。为了实现用户私网中发出的IP包在公网上可路由,在用户网络与公网交界处需要专门的翻译设备-网络地址翻译器(NAT)实现IP报头公有地址和私有地址等信息的翻译。作为一类标准Internet技术,NAT能实现让内部LAN通信运用一套IP地址,而外部通信采用另一套IP地址,这在现行IPv4协议环境下意义重大。通过NAT分离Internet(公共域)与LAN(专用域)地址,相对于单一的全球地址分配机制来说,很多地址可以节省下来。这一方面为许多申请不到很多可全球路由公共地址的企业提供了局域网内终端都可连网的解
23、决方案,另一方面,由于私网内部的终端与外界不能直接进行通信,使得外部网络看不到内网的主机的存在,从而提供了内部网络一定的安全特性,在这方面起到了防火墙的作用。但是,NAT的缺陷也是一个不容忽视的问题。内部地址在公网上没有路由,用户可以访问别人,但难以被别人访问。在我国的IP网上,目前很多用户都在用着“内部地址”,这种现象毫无疑问对我国IP业务的发展有很大的潜在危害。这种危害实际上已经逐渐显示出来。随着IP 电话在技术层面也逐渐走向成熟,与之相应的一系列协议、标准的出炉,如ITU-T的H.323和IETF的SIP,以及基于这些标准协议的产品,如IP电话系统、媒体网关等得到了广泛应用,一些网络冲突
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信工程 毕业设计 论文 NAT 协议 研究
链接地址:https://www.31ppt.com/p-3994373.html