P2P通信之 ——UDP穿越NAT方案的讨论

Slides:



Advertisements
Similar presentations
计算机网络原理与实用技术 陈涛 华中科技大学公共管理学院 2009年2月.
Advertisements

第 1讲 计算机网络概述.
本周复习一下基本的网络知识 下周开始讲解路由器的配置方法 第四周开始到实验室做实验(主楼910,919)
第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
第 8 章 IP 基礎與定址.
第7章 防 火 墙 技 术 7.1 防火墙概念 7.2 防火墙原理及实现方法 7.3 防火墙体系结构 7.4 防火墙的构成
第一章 概述 第二章 用户需求分析 第三章 现有网络分析 第四章 逻辑网络设计 第五章 网络设备选择 第六章 WAN接入设计
第一章 概 述.
第 4 章 网络层.
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
IP地址及其管理.
因特网 TCP/IP协议 IP路由技术 Internet接入技术 Internet服务.
第10章 局域网与Internet互联 RCNA_T010.
计算机网络.
计算机网络的组成 资源子网:   主机 终端 终端控制器   外设 软件资源 信息资源    .
计算机网络 暨南大学计算机科学系 学年 第一学期.
第1章 概述.
计算机系统与网络技术 第14讲 局域网构建技术 讲课教师:常姗
项目6.1:计算机网络基础 项目描述 能力目标 应用网络可以工作、学习,网络影响着我们的生活,了解网络知识、培养信息技术的水平和能力是工作和生活的需要。 通过对概念的理解,培养信息分析、辨别能力, 学会使用信息技术工作、学习。
第7章 路由技术 7. 1 广域网技术概述 7. 2 IP子网间的路由技术 7. 3 访问控制列表 7.4 网络地址转换(NAT)技术.
第2章 计算机网络体系结构 教学目标: 通过本章的学习,了解计算机网络体系结构和各个层次的相关协议,理解接口和服务等概念。掌握ISO/OSI模型和TCP/IP模型的各个层次及其所实现的功能。掌握IP地址的功能和划分,并对子网掩码和下一代互联网IPv6有相应的了解。
辅导教师:杨屹东 网络实用技术基础 辅导教师:杨屹东
网络地址转换(NAT) 及其实现.
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
網路入門 主講人:林義隆 教授 日期:
第9章 電子商務安全防範.
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
網路基本概念 本章主要是為讀者建立有關網路的基本知識, 作為後續章節的基礎。首先我們會說明網路的基本概念, 接著介紹網路的各種類型與相關的作業系統, 最後則是介紹 OSI 與 DoD 等兩種網路模型, 讓讀者能進一步了解網路運作的方式。
David liang 数据通信安全教程 防火墙技术及应用 David liang
計中「多媒體與網路應用」短期訓練課程 FTP server 架設 (in Windows)
IPv6 技術與服務 台東大學 電算中心 郭俊賢 技術師.
通訊協定 OSI分層模式 與 TCP/IP協定
Server Load Balancing 飛雅高科技 李村.
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
(C) Active Network CO., Ltd
计算机网络原理 计算机与信息工程分院 周文峰.
第 16 章 Internet架構.
第六章 差错与控制报文 (ICMP).
第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
第 2 章 TCP / IP 簡介.
SIP之 穿越NAT.
Chapter 14 DHCP.
防火墙技术介绍   严峻的网络安全形势,促进了防火墙技术的不断发展。防火墙是一种综合性的科学技术,涉及网络通信、数据加密、安全决策、信息安全、硬件研制、软件开发等综合性课题。
P2P简介 网络模式 C/S 模式 B/S 模式 P2P(peer to peer) FTP,POP3,SMTP HTTP
Windows 2003 server 進階介紹 麋鹿.
江西财经大学信息管理学院 《组网技术》课程组
第12章 远程访问、NAT技术.
劉大川1、陳一瑋2、 陳昌盛1 、林盈達1,2 1交通大學 計算機與網路中心 2交通大學網路測試中心 2008/10/20
第 17 章 網路規劃 著作權所有 © 旗標出版股份有限公司.
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
ISA Server 2004.
计算机网络技术及应用 制作:重庆大学 郭松涛.
防火墙.
傳輸控制協議 /互聯網協議 TCP/IP.
實驗目的: 明瞭DHCP運作原理 建置DHCP伺服器
谢聪.
中央研究院資訊科學所 陳伶志 電 腦 網 路 中央研究院資訊科學所 陳伶志
NAT技术讲座 主讲:周旭 大唐电信科技股份有限公司光通信分公司 数据通信部.
Speaker : Chang Kai-Jia Date : 2010/04/26
Chapter 11 使用者資料包通訊協定.
Chapter 10 Mobile IP TCP/IP Protocol Suite
Mobile IPv4.
IP Layer Basics, Firewall, VPN, and NAT
P2P&IPv6 指導老師:吳坤熹 張伯瑜 陳意樵.
助教:廖啟盛 JAVA Socket(UDP) 助教:廖啟盛
網際網路原理 網際網路源起與發展歷史 1968 ARPANET 1973 TCP/IP協定 1976 乙太網路,促成LAN的發展 … DNS
IP Layer Basics & Firewall
Homework 3.
第 4 章 网络层.
Presentation transcript:

P2P通信之 ——UDP穿越NAT方案的讨论 学术交流 第53期 P2P通信之 ——UDP穿越NAT方案的讨论 周红敏 哈理工 网络信息中心 2007-10-17

Agenda P2P之NAT穿越 NAT产生的背景 NAT的分类 问题之所在 各种解决方案

P2P之NAT穿越—NAT产生的背景 为了解决IP地址日渐不足的问题,RFC1918为私有和内部使用的网络留出了3个IP地址段(A类、B类和C类地址范围各一段),在此范围内的地址将不被Internet主干路由 A类: 10.0.0.0~10.255.255.255 B类: 172.16.0.0~172.131.255.255 C类: 192.168.0.0~192.168.255.255

P2P之NAT穿越—NAT产生的背景 私有IP地址有它的缺点,那就是使用私有IP地址的用户将无法访问Internet。这就需要使用网络地址转换 NAT(Network Address Translation),根据RFC1631的定义,这是将IP数据包包头中一个地址转换为另一个地址的过程,NAT让使用私有IP地址的主机能够访问Internet。利用NAT转换功能可以更有效地利用IP地址资源,进而解决IP地址短缺的问题。在将私有IP转换为合法IP的动作中,通常由防火墙或 路由器担任IP转换的功能。 “节流”技术。目前已经提出了的或者已经使用的提高IPv4地址利用率的方法有: *地址回收:IP标准化组织因特网工程任务组(IETF)已发出号召,希望那些早年分配得到了“过量”地址的机构和组织,能够归还他们不大可能用得上的地址资源,但目前看来收效甚微。 *更严格的地址分配策略:以前因特网地址名字分配(IANA)机构的地址分配策略是按照“预期最大规模”分配地址中间,而现在为了降低IP地址的分配速率,已经将策略改成了“目前需要规模”。 *无类域间路由(CIDR):随着B类地址接近耗尽,利用CIDR技术,打破地址类型(如A类、B类和C类)的划分,采用多个连续C类地址做聚合进行分配。CIDR技术的采用使得Internet路由表的增长速度近年来有所减缓。 *拨号接入:用户拨号接入时,利用点到点协议(PPP)和动态主机配置协议(DHCP)为其按需动态分配IP地址,实现地址复用。 *可变长子网掩码(VLSM):通过把一个企业的企业网(Intranet)划分成不同规模的子网,提高地址空间的利用率。 *私有地址加网络地址翻译:在企业网内使用“私有”的IP地址,不同企业网之间的地址可以重用。当在私有地址网络中的用户与Internet通信 时,二者之间必须做网络地址翻译,因为企业网所使用的编址与Internet的编址不在一个统一的地址空间内。IETF规定的私有地址的范围为10/8, 172.16/12,192.168/16三段(RFC 1918)。这是目前使用最多的,也是效率最高的一种解决地址短缺的问题的方法。当然企业只所以选择使用RFC 1918规定的私有地址,有时也不仅仅是因为地址复用的原因,还有安全,控制等其它方面的考虑。 有人认为IPv4地址将很快耗尽,因此IPv6将在近年内得到大规模商用,这是存在疑问的。根据IANA提供的资料,目前还有大约36%的公用IPv4地 址(大约15亿个)没有被分配,因此地址短缺的问题并没有想象的或有些媒体或厂家所描述的那么严重和紧迫。虽然IANA现在对IPv4地址的申请政策趋于 严格,但如果运营商确实有需求,一般还是能够申请到的。以现在的IP地址分配速度不变,据保守估计也要到2015年以后IPv4地址才会用光。 IPv6的128bit的地址中间多到可以让“地球上的每粒沙子都分配到一个IP地址”,也就是说IPv6的地址空间将不再是稀有资源。既然不是稀有资源,将来也不大可能成为稀有资源 NAT技术和IPv6都能够解决地址短缺问题。NAT最核心的问题是会破坏Internet的端到端的透明性,因此只适用于客户/服务器模式的应 用。而IPv6最大的好处是能够支持Peer to Peer(P2P)的应用,因为它不会破坏Internet端到端的透明性。

P2P之NAT穿越—NAT的分类 从NAT的地址映射范围来看: -NAPT(端口转换NAT) 从NAT对向内转发数据的限制程度来看: -Full Cone NAT(完全圆锥型) -Restricted Cone NAT(地址限制圆锥型 ) -Port Restricted Cone NAT(端口限制圆锥型) -Symmetric NAT(对称型)

P2P之NAT穿越—NAT的分类 Full Cone NAT(完全圆锥型NAT ) M A,b P X,y S Private Public M A,b P X,y Full Cone NAT S NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定 任何包都可以通过地址{A:b}送到客户主机的{X:y}地址上

P2P之NAT穿越—NAT的分类 Restricted Cone NAT(地址限制圆锥型 ) M P,q A,b P,r X,y S X X Private Public M X P,q A,b P,r X,y X Restricted Cone NAT S NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定 只有来自主机{P}的包才能和主机{X:y}通信

P2P之NAT穿越—NAT的分类 Port Restricted Cone NAT(端口限制圆锥型 ) M,n P,q A,b P,r Private Public M,n P,q A,b X P,r X,y X Port Restricted Cone NAT S NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定 只有来自主机{P,q}的包才能和主机{X:y}通信

P2P之NAT穿越—NAT的分类 Symmetric NAT(对称型) M,n C,d P,q A,b P,r X,y S X X Private Public C,d M,n P,q A,b X P,r X,y X Symmetric NAT S NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定为{X:y}|{A:b}<->{P:q} NAT只接受来自{P:q}的incoming packet,将它转给{X:y} 每次客户机请求一个不同的公网地址和端口,NAT会新分配一个端口号{C,d}

P2P之NAT穿越—问题之所在 Public 节点无法穿过NAT访问Private节点 X Private Public UDP包 Private host IP : 192 . 168 1 223 UDP包 X NAT 技术在缓解IPv4 地址紧缺问题、构建防火墙、保证网络安全等方面都发挥了重要作用。然而,NAT 设备的广泛存在却给Internet 上的主机,特别是处于不同内网中的主机进行P2P 通信带来了障碍,限制了P2P 的应用。 NAT 阻碍主机进行P2P 通信的主要原因是NAT 不允许外网主机主动访问内网主机,这使得Internet 上具有公网IP 地址的主机不能主动访问NAT 之后的主机,而位于不同NAT 之后的主机之间更是无法相互识别因而不能直接交换信息。因此,要在目前的网络环境中进行有效的P2P 通信,就必须研究相应的方案来穿越NAT。 Firewall /NAT NAT 阻碍主机进行P2P 通信的主要原因是NAT 不允许外网主机主动访问内网主机,这使得Internet 上具有公网IP 地址的主机不能主动访问NAT 之后的主机,而位于不同NAT 之后的主机之间更是无法相互识别因而不能直接交换信息。因此,要在目前的网络环境中进行有效的P2P 通信,就必须研究相应的方案来穿越NAT。

P2P之NAT穿越—UDP Hole Punching Private Public Private host IP : 192 . 168 1 223 UDP包 Public host IP:211.136.91.58 Firewall /NAT 这个内网的NAT上打了一个方向为211.136.91.58的“洞”,(这就是称为UDP Hole Punching的技术)以后211.136.91.58就可以通过这个洞与内网的192.168.1.223联系了,但是其他的IP不能利用这个洞。

P2P之NAT穿越—UDP Hole Punching UDP Hole Punching Technology: 在没有活动的时候,这个Hole会过期: NAT对于地址转换关系是有一定生命期的,某个地址转换后在一段时间内没有被使用将会被清除,当这个业务流再次出现时,将会建立一个新的地址转换关系。

P2P之NAT穿越—解决方案 几种解决方案 Connection reversal STUN TURN A novel solution based on ICMP

P2P之NAT穿越—Connection reversal Connection reversal Solution Main Internet 2 rendezvous S 1 NAT 1.1.1.4 3 host B Local network 192.168.2.99 host A

P2P之NAT穿越—STUN STUN(Simple Traversal of UDP Through Network) Solution Main Internet rendezvous Server 1 2 NAT NAT Local network Local network 10.0.0.12 192.168.2.99 host B host A

P2P之NAT穿越—STUN STUN的优点: STUN的局限性: 无需现有NAT设备做任何改动 可在多个NAT串联的网络环境中使用 需要终端支持STUN CLIENT的功能 不适合支持TCP连接的穿越,所以不支持H.323 不支持Symmetric NAT 不支持对防火墙的穿越

P2P之NAT穿越—TURN TURN ( Traversal Using Relay NAT) Solution Main Internet 1 Relay S 2 NAT NAT Local network 通 过 Relay 穿越NAT的方式: 私网终端发出的报文都要经过TURN Server进行Relay转发 Local network 10.0.0.12 192.168.2.99 host B host A

P2P之NAT穿越—TURN TURN的优点: TURN的局限性: 无需现有NAT设备做任何改动 可在多个NAT串联的网络环境中使用 支持Symmetric NAT 支持TCP连接的穿越 TURN的局限性: 需要终端支持TURN CLIENT的功能 所有报文都必须经过TURN Server转发,增大了包的延迟和丢包的可能性

P2P之NAT穿越—Summary NAT 1 F R PR S SR 2 NAT F: Full Cone NAT R: Restricted Cone NAT PR: Port Restricted Cone NAT S : Symmetric NAT SR: Symmetric Random NAT STUN: Applicable STUN: Not applicable

A Novel Solution Based on ICMP ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用

P2P之NAT穿越—Result NAT 1 F R PR S SR 2 NAT F: Full Cone NAT R: Restricted Cone NAT PR: Port Restricted Cone NAT S : Symmetric NAT SR: Symmetric Random NAT STUN: Applicable STUN: Not applicable STUN: Applicable ( for new solution)

P2P之NAT穿越—References Peer-to-Peer Communication Across NAT http://www.brynosaurus.com/pub/net/p2pnat/ STUN Protocol RFC. http://www.ietf.org/rfc/rfc3489.txt TCP NAT traversal. http://nutss.gforge.cis.cornell.edu//stunt.php Traversal Using Relay NAT (TURN) IETF RFC NAT Traversal Techniques and Peer-to-Peer Applications 邓庚盛,占传杰.P2P网络中基于UDP穿透NAT技术的研究[J] 刘向东, 潘 为.处于NAT之后的主机之间互联的方法研究 沈许杰.基于UDP协议P2P通信技术的分析及实现 Blog: http://blog.csdn.net/max2008

P2P之NAT穿越 Q & A