2004年玩了几个月的传奇,现在对传奇不感兴趣了。
目前使用铁通的ADSL和同事共享上网。偶尔发现我们的外部IP地址是相同的(当然啊),不免疑惑传奇服务器怎么区分我的同事和我的机器呢?
呵呵,装Virtual PC,安装2个Win95的虚拟机,和我的WinXP系统组成一个局域网,研究一下。
下了“用Delphi设计代理服务器”的源码编译生成一个程序,在WinXP系统中运行它。Win95系统中设置IE通过代理连接,代理当然是WinXP系统,竟然真可以浏览网络。这下明白了Http代理的原理了:客户机把Get请求发送给代理,代理真实连接Internet,然后把Internet主机返回的数据再返回给发来请求的客户机。
传奇客户端不是用Http连接服务器的,而是TCP/UDP两种协议的Socket连接,那么如果我在Win95系统下玩传奇,是不是需要用Socks代理呢?不是。因为在IE中设置了Socks代理只对IE起作用,传奇客户端还是无法连接服务器。
那我和同事的传奇是如何运行的呢?我们也没有设置代理,仅仅是把ADSL猫设置为网关啊。难道网关和代理是一个意思?
查资料!原来,代理服务器分两种:Proxy和NAT网络地址转换。
NAT网络地址转换:Network Address Translation,将内部机器发送的IP数据包内部地址转换成互联网外部地址再发送出去。内部机器只需要把NAT服务器设为网关就可以访问Internet了!
看来我们的铁通ADSL猫正是扮演了这个NAT网络地址转换的角色!
“路由是功能更强大的网关”,而我们的网关是NAT,同时又是代理,呵呵,得出一个可怕的公式:路由=网关=代理=NAT。。。。。。。
Enter
Enter+shift "<" '>'