0%

zz 内网与外网通信 内网与内网通信 NAT_noob_百度空间

首先要知道内网地址是不能直接和外网通信的。这里就牵涉到了一个NAT协议。现在用的最多的是NAT的一种NAPTNetwork Address/Port Translator的技术。       简单来说NAPT就是:当你与外网建立连接时,本地IP为192.168.0.11:4000,要与外网202.160.4.40:3300建立连接。NAT做的工作就是把本地地址映射成为外网地址(想连上internet都得至少有个外网IP)如外网IP为202.202.202.202,那么NAT就把它映射为202.202.202.202:5000(端口号随机的)。那么连接就变为202.202.202.202:5000到 202.160.4.40:3300。那么如果Server发送来的包就又被NAT逆向转换为内网IP。就可以通信了。         当然其他IP如果向202.202.202.202:5000发送信息是会被丢弃的,如何连接呢?       这就是内网与内网通信       这里需要一个Server,两方都登陆,Server记录下a,b双方的IP。a,b双方都能和Server通信,那么a,b怎么通信呢,这就需要神奇的打洞技术。a欲发信息与b,a把此事告知中间人S,S转告b,由于匿名的IP会被b丢弃,所以,要把a的地址变为不是匿名。所以b向a的地址发送信息(此为打洞),显然连不上,但是网关却记录下了a的地址,此时a再发信息到b就搞定了。反过来就能发信息给a,因此连接建立!a—>b? a->s s->b b->a? a->b ok!

通过内网与外网通信 内网与内网通信 NAT_noob_百度空间.