计算机网络-NAT与P2Pppt课件_第1页
计算机网络-NAT与P2Pppt课件_第2页
计算机网络-NAT与P2Pppt课件_第3页
计算机网络-NAT与P2Pppt课件_第4页
计算机网络-NAT与P2Pppt课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、NAT and P2P1;.2网络地址装换(NAT)Network Address TranslationNAT允许一个机构专用Intranet中的主机透明地连接到公共域中的主机,无需内部主机拥有注册的(以及越来越缺乏的)Internet地址。 NAT是一种把内部私有网络IP地址翻译成合法网络IP地址的技术。 3NAT技术4NAT技术引入的原因解决IP地址不够用的问题 A类 55 B类 55 C类 55对内部计算机进行有效的安全保护 内部网络中的所有计算机上

2、网时受到路由器或服务器(防火墙)的保护,黑客与病毒的攻击被阻挡在网络出口设备上,大大提高了内部计算机的安全性。 5NAT分类基本的NAT(Basic NAT)将私网主机的私有IP地址转换成公网IP地址,但并不将TCP/UDP端口信息进行转换。 网络地址/端口转换器(NAPT)NAPT检查、修改包的IP地址和TCP/UDP端口信息。这样,更多的内部主机就可以同时使用一个公网IP地址。 6NAPT当一个内部网主机通过NAT打开一个外流的TCP或UDP会话时,NAPT分配给这个会话一个公网IP和端口,用来接收外网的响应的数据包,并经过转换通知内部网的主机。这样做的效果是,NAPT在私网IP:私网端口

3、和公网IP:公网端口之间建立了一个端口绑定。端口绑定指定了NAPT将在这个会话的生存期内进行地址转换任务。对通信双方而言,这种IP地址和端口的转换是完全透明的。78 服务器 S1 服务器 S2 1:1235 :1235 会话 1 (A-S1) 会话 2 (B-S2) 1:1235 :1235 1: 1: NAT 1 会话 1 (A-S1) 会话 2 (B-S2) 1: : :1234 10

4、.0.0.2:1234 Client A Client B9NAT地址转换表私网IP:Port外部IP:PortNAT公网IP:公网Port:12341:12351:62000:1234:12351:6200110虚拟服务器虚拟服务器:对路由器任何一个或一段协议端口的访问(从WAN口进来的访问),都可以重定位到局域网内某一台指定的网络服务器。192.168. 1.1:80 www 7:80/:2 smtp 25 pop3

5、 11011NAPT如果P2P应用程序从内部网络的一个私网IP:私网端口对同时发出多条会话给不同的外网主机,根据NAT处理方式,分成下面两类:对称NAT(Symmetric NAT)1. 锥形锥形NAT(Cone NAT)12对称NAT 服务器 S1 服务器 S2 1:1235 :1235 | | | | +-+-+ | 会话 1 (A-S1) | 会话 2 (A-S2) | 1:1235 | | | :1235 | v 1: v | v 1: v | 对称 NAT

6、1 | 会话 1 (A-S1) | 会话 2 (A-S2) | 1:1235 | | | :1235 | v :1234 v | v :1234 v | Client A13锥形锥形NAT建立在(私网IP、私网端口)和(公网IP、公网端口)之间端口的绑定之后,如果Cone NAT 再次创建一个从同一(私网IP、私网端口)建立的会话时,不会新分配一个端口号,而是用原来分配的端口号,只要这个会话使绑定的端口仍然有效。14锥形锥形NAT 服务器 S1 服务器 S2 1:1235 138

7、.76.29.7:1235 | | | | +-+-+ | 会话 1 (A-S1) | 会话 2 (A-S2) | 1:1235 | | | :1235 | v v | v : v | 锥形 NAT 1 | 会话 1 (A-S1) | 会话 2 (A-S2) | 1:1235 | | | :1235 | v :1234 v | v :1234 v | 客户机 A :123415P2P(Peer-to-Peer) 16P2P概述很多NAT的采用

8、使通信处在一种不对称的模式下:内网的主机可以主动访问链接到外网主机上,但是外网的主机除非通过代理管理员的特定设置,否则不能主动访问链接到内网主机上。P2P技术是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术。它打破了传统的C/S模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。由于P2P技术的飞速发展,互联网的存储模式将由目前的“内容位于中心”模式转变为“内容位于边缘”模式,改变Internet现在的以大网站为中心的状态,重返“非中心化”,将权力交还给用户。 17P2P通信方式通信方式 18P2P的技术特点(1) 既

9、是S(Server)又是C(Client),如何表现取决于用户的要求,网络应用由使用者自由驱动。 (2) 信息在网络设备间直接流动,高速及时,降低中转服务成本。 (3) 构成网络设备互动的基础和应用。 (4) 在使网络信息分散化的同时,相同特性的P2P设备可以构成存在于互联网这张大网中的子网,使信息按新方式又一次集中。19基于NAT代理设备上的P2P技术 中继转发(Relaying) 反向连接(Connection reversal) UDP打洞技术(UDP Hole Punching)20中继转发(Relaying)穿越代理实现P2P通信, 最可靠但是效率最低的的方法,将P2P通信看作一个C

10、/S结构,通过服务器来转发消息。举例来说,假设二个客户机A和B,与一个有公网固定IP地址的服务器S各创建一个TCP或UDP连接,这两个客户机在不同的私网上,这样,他们各自的NAT代理服务器不允许他们向对方创建直接的连接。 21中继转发(Relaying) 服务器 S | | +-+-+ | | NAT A NAT B | | | | 客户机 A 客户机 B22中继转发(Relaying)优势:当两个客户端都与服务端保持连接的时候,它将始终如一的正常工作。劣势:它消耗服务器不必要地处理能力和网络带宽,而且即使服务器有好的链接性,在二个客户机之间的通信反应时间比较长。 23反向连接(Connect

11、ion reversal) 如果只有一个客户机在NAT后,那么采用反向连接技术。如下图,假设客户机A在NAT后,而客户机B有一个公网IP地址: 服务器 S 1:1235 | | +-+-+ | | NAT A | 1:62000 | | | | | 客户机A 客户机B :1234 :123424反向连接(Connection reversal)现在假设客户机B想要和客户机A创建一个P2P通信会话,B可能先尝试连接客户机A的任何一个地址或是客户机A的私网地址:1234,或是从服务器S观察到的地址155

12、.99.25.11:6200。然而在任一情况,连接都会失败。在第一种情况中,因为不是公网可路由的IP地址,所以不能通过网络直接连接IP地址。在第二种情况中,来自B的TCP SYN请求将会直接到达NAT A的62000端口,但因为NAT A只允许外流的连接从而拒绝该连接请求。25反向连接(Connection reversal)在所有尝试失败后,客户机B只能请求服务器S对客户机A转发一个请求到客户机A,请求A创建一个“反向”的连接到B。客户机A一收到这个经过S的转发请求后,将建立一个与B通信的TCP连接(在B的公网IP地址和端口号上)。NAT A允许这个连接通过,

13、因为这个连接起源于NAT A的内部,同时客户端B接受这个连接因为B并不位于NAT之后。现在很多的P2P系统采用这种技术。主要缺陷:只有一端在NAT之后这个技术才能生效。而通常情况中,往往两端都在NAT后面,不能采用这种技术。因为反向连接不是问题的通用解决办法,并不推荐。26NAT存在问题通过NAT,子网内的计算机向外连结是很容易的(NAT相当于透明的,子网内的和外网的计算机不用知道NAT的情况)。 但是如果外部的计算机想访问子网内的计算机就比较困难了 !怎么办?27客户机分别位于不同NAT后面 服务器 S 1:1234 | | +-+-+ | | NAT A NAT B 1

14、1:62000 :31000 | | | | 客户机A 客户机 B :1234 :123428UDP打洞技术(UDP Hole Punching) “UDP打洞技术”依赖公共防火墙和锥形NAT,允许恰当的有计划的P2P应用程序通过NAT打洞,即使通信双方的计算机都在NAT之后。 29谁发起?有了上面的理论,实现两个内网的主机通讯就差最后一步了:那就是鸡生蛋还是蛋生鸡的问题了,两边都无法主动发出连接请求,谁也不知道谁的公网地址,那我们如何来打这个洞呢?我们需要一个中间人来联系这两个内网主机。 30“打洞”过程(一) (1)

15、首先,Client A登录服务器,NAT A为这次连接分配了一个端口62000,那么Server S收到的Client A的地址是1:62000,这就是Client A的外网地址了。 (2)同样,Client B登录Server S,NAT B给此次连接分配的端口是31000,那么Server S收到的B的地址是:31000 。此时,Client A与Client B都可以与Server S通信了。31P2P通信方式通信方式 (1)(2)32NAT A地址转换表客户A IP:Port外部IP:PortNAT公网IP:公网Port:12

16、341:12341:62000客户B IP:Port外部IP:PortNAT公网IP:公网Port:12341:1234:31000NAT B地址转换表服务器 S客户客户IP:Port客户机A1:62000客户机B:31000(1)(2)33“打洞”过程(二)如果Client A此时想直接发送信息给Client B,那么他可以从Server S那儿获得B的公网地址:31000 ,是不是Client A向这个地址发送信息Client

17、 B就能收到了呢?答案是不行,因为如果这样发送信息,NAT B会将这个信息丢弃(因为这样的信息是不请自来的,为了安全,大多数NAT都会执行丢弃动作)。客户B IP:Port外部IP:PortNAT公网IP:公网Port:12341:1234:310001:62000 - :31000.12341:62000:31000不存在不存在34“打洞”过程(三)(3) 现在我们需要的是在NAT B上打一个方向为1(即Cli

18、ent A的外网地址)的洞,那么Client A发送到:31000的信息,Client B就能收到了。这个打洞命令由谁来发呢,当然是Server S。总结一下这个过程:如果Client A想向Client B发送信息,那么Client A发送命令给Server S,请求Server S命令Client B向Client A方向打洞。35P2P通信方式通信方式 (1)(2)(3)36NAT A地址转换表客户A IP:Port外部IP:PortNAT公网IP:公网Port:12341:12341:62000客户B IP

19、:Port外部IP:PortNAT公网IP:公网Port:12341:1234:31000.12341:62000:31000NAT B地址转换表服务器 S客户客户IP:Port客户机A1:62000客户机B:31000(1)(2)(3)37“打洞”过程(四)(4) 然后Client A就可以通过Client B的外网地址与Client B通信了。 客户A IP:Port外部IP:PortNAT公网IP:公网Port:12341:12341:62000.1234:31000 1:6200038P2P通信方式通信方式 (1)(2)(3)(4

温馨提示

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

评论

0/150

提交评论