本帖最后由 code 于 2012-6-27 19:36 编辑
请问如何获得路由器广域网的IP地址和端口号 ??
在internet网络里面,经常使用到的一个概念就是NAT地址转换
下面的电脑A运行QQ程序,想访问服务器,电脑A把数据报发送给路由器B
路由器B收到了数据报之后,就创建一个Session.
把电脑A的IP192.168.0.2 端口号8000 和他自身广域网的183.60.48.85 端口号100绑定起来
然后就把数据就转发给深圳腾信的服务器183.60.48.86
以后凡是有数据发送到 路由器183.60.48.85 端口号100
都会转发给电脑A
我想问,在实际使用当中电脑A是需要知道路由器B出口的IP ,
请问,站在电脑A的角度来讲,电脑A如何知道这个IP( 183.60.48.85 )和端口号( 100 ) 谢谢!!!
__________________ _____________________
| 183.60.48.86 | | 电脑E |
| 深圳腾信的服务器 | | 192.168.0.2 :8001 |
|___________________| |____________________|
| |
______________________ ______________________
| 183.60.48.85 : 100 | | 192.168.0.1 |
| 路由器B 桥接 | <----> | 路由器C 桥接 |
| 192.168.0.1 | | 183.60.48.84 : 300 |
|_____________________| |_____________________|
|
_____________________
| 电脑A |
| 192.168.0.2 : 8000 |
|_____________________|
单纯的电脑A和深圳腾信的服务器通信,那么当然是可以直接发送的
但是有时候却需要知道网关出口绑定Session
因为 电脑A 和 电脑E 都是局部网络
他们不能互相通信,
如果想电脑A 和 电脑E 他们之间通信也可以
那么就要借助 处于公网的深圳腾信的服务器(IP 183.60.48.86 )
步骤如下:
1 . 首先 电脑A 往深圳腾信的服务器(IP 183.60.48.86 )发送数据
2 . 路由器B 创建BSession , 并且把
电脑A的IP192.168.0.2 端口号8000 和他自身广域网的183.60.48.85 端口号100绑定起来
183.60.48.85:100 绑定起来
192.168.0.2:8000
3 . 再有电脑E往深圳腾信的服务器(IP 183.60.48.86 )发送数据
4 . 路由器C 创建Session , 并且把
电脑E的IP192.168.0.2 端口号8001 和他自身广域网的183.60.48.85 端口号300绑定起来
183.60.48.85:300 绑定起来
192.168.0.2:8001
5 . 无论
电脑A和腾信的服务器(IP 183.60.48.86 )通信
还是
电脑B和腾信的服务器(IP 183.60.48.86 )通信
这一点都很容易理解,也容易实施
6 . 关键就是电脑A如何知道 路由器B 桥接出口的IP地址(183.60.48.85)和端口号(100)
一但电脑A知道了这个IP和端口号
那么电脑A就在报文载荷当中携带这个IP地址(183.60.48.85)和端口号(100)信息,并且告诉给腾信的服务器
腾信的服务器在报文载荷当中携带这个IP地址(183.60.48.85)和端口号(100)信息,并且告诉给电脑E
那么电脑E就知道了电脑A的对外IP地址(183.60.48.85)和端口号(100)信息
以后电脑E要给电脑A通信,那么就尽管往路由器B( 183.60.48.85 : 100 )发送就可以了
不用再麻烦 腾信的服务器
7 . 请问,站在电脑A的角度来讲,电脑A如何知道这个IP( 183.60.48.85 )和端口号( 100 ) 谢谢!!!
|