Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212851
  • 博文数量: 40
  • 博客积分: 945
  • 博客等级: 准尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 18:45
文章分类
文章存档

2020年(14)

2017年(1)

2013年(1)

2012年(6)

2011年(1)

2010年(7)

2009年(3)

2008年(7)

我的朋友

分类: 系统运维

2008-08-25 12:56:57

1.NAT穿越

NAT分两大类,一类是对称的(Symmetric NAT),5元组(源端口,IP,目的端口IP,协议)限制更加严格,很大一部分企业的NAT是对称的;一类是非对称的(Cone NAT,锥型),非对称的。非对称Cone包括完全锥形(穿透后任何IP和端口都可以往私网发送包),限制锥型(穿透后,同一IP的程序可以往私网发送包),和端口限制锥形(只有接到私网内部包的IP和端口可以往私网发送包)。

1.1 STUN Simple Traversal of User Datagram Protocol (UDP)  Through Network Address Translators (NATs) rfc3489

STUN的精髓:

 

                           /-----\
                          // STUN  \\
                         |   Server  |
                          \\       //
                            \-----/


                       +--------------+             Public Internet
       ................|     NAT 2    |.......................
                       +--------------+


                       +--------------+             Private NET 2
       ................|    
NAT 1    |.......................
                       +--------------+

                            /-----\
                          // STUN  \\
                         |   Client  |
                          \\       //               Private NET 1
                            \-----/

                     Figure 1: STUN Configuration 

STUN 是用来探测NAT类型和获取私网内部客户程序IP地址和端口的。它只适用于锥形的NAT,和发送UDP包。STUN Server并不保存ClientIP地址和端口。但会在绑定回复包里告诉Client它的IP地址和端口。比较源IP 端口和回复包里的给的IP端口,如果不一致,就知道客户端在NAT后。为了探清楚NAT类型,可以发送绑定请求,让STUN Server换个IP和端口发回复,如果收到,就是完全锥形。

 
1.2.TURN

TURN
相当于一个Proxy服务器,可以用来对TCP协议穿透和Symmetric NAT的穿透。 

    TURN server  ======= TURN Server

       /                                           \

-----------------------          ------------------------- Symmetric NAT

    /                                               \

     A                                            B

 

1.3.ICE
TURNSTUN协议结合起来用。 

    NAT                                                        NAT

A   |      ---------ICE(TURN+STUN server)--------| B 

1.4.Full Proxy

解析协议报文并转发。客户端不用任何修改

 

2. 防火墙穿透

2.1 HTTP代理 rfc2616 GETPOSTCONNECT方法,CONNECT建立连接后直接发送数据。可能需要一个proxy或前置机来处理HTTP信息,再重新组包发给真正的接受主机或进程。 

2.2 Socks 5代理 RFC1928 知名端口1080,支持TCPUDP的防火墙穿透。其报文也是TLVTypeLengthValue)的形式。

阅读(1869) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:IP电话的呼叫过程

给主人留下些什么吧!~~

chinaunix网友2008-10-08 15:16:35

有没有一款针对P2P穿透性能较好的小型路由器啊。