局域网间在Internet上对话的原理(即时消息软件通讯的解决方案)

类别:.NET开发 点击:0 评论:0 推荐:
即时消息软件通讯的解决方案
[ 作者:李慧科    转贴自:天极商务应用    点击数:13284    文章录入:admin ]
也许大家早就知道共享上网了,就是若干台电脑通过一台性能比较好的、与internet连接的电脑上网,大部分网吧与单位的小型局域网都是这样与internet连接的,因为无论从以前的modem,ISDN,到现在的ADSL甚至宽带上网,租用一个IP地址就要出一份租金,如果局域网里的每一台电脑都有一个合法的IP的话,那样的费用太高,太不合算,所以组建一个局域网,然后通过一台主机,也就是服务器上网就成为很好的选择,在这里我想谈谈共享上网的实现原理,无论通过类似路由器这样的硬件设备上网,还是用windows的internet连接共享,或者用网关类软件wingate,代理服务器软件sygate等上网,它们的原理都是相同的,路由器这样的硬件上网设备只不过是把软件固化在了硬件中,软件完全能实现他的功能。

     在谈共享上网的原理之前,我想有必要介绍一下私有地址,私有地址就是在一个网络内部使用,这个网络不会与别的网络相连,所以网络中的任何一台机器都不会与别的网络的机器的IP地址发生冲突,国际上的网络组织指定了三个保证都不会被分配的保留的IP地址段,这三个地址段是:

  10.0.0.0-10.255.255.255
  172.16.0.0-172.31.255.255
  192.168.0.0-192.168.255.255

  这些IP地址可以在一个局域网内部使用,在信息高速传递的今天,没有同internet连接的网络已经很少了,但直接以这样的私有地址连接到因特网显然是不行的,比如有两个网络都是用的192.168.0.0-192.168.255.255这个地址,那么就会有两个192.168.0.2,当因特网上有数据要传给192.168.0.2这台电脑时,就会产生冲突。大家肯定要问:不是有合法的IP地址吗,给每台机器一个不就行了吗?这当然是可以的,但是出于经济原因的考虑,现在小型网络连接internet大部分都是局域网内用私有地址,然后通过一台有合法IP的主机上网,而且,因为局域网内的机器不是合法的IP地址,不与internet直接相连,没有暴露在internet上,所以,有合法IP的那台主机也起了个防火墙的功能,这样的网络成为小型网络的首选。那么局域网里的机器是如何连接到internet的呢?下面我们看看它的原理。

局域网内的机器是靠地址转换上网的,就是当内部的机器与外部的机器连接时,先通过主机把私有IP地址转换为合法的IP地址,这就是网络地址转换(network address translation),简称NAT,它有三种模式,最常用的模式是PAT模式,它的工作原理是端口号改变。例如有一个小型网络,它的IP地址段是192.168.0.1-192.168.0.255,它们通过一台主机上网,这台主机不一定是台电脑,它可以是一个路由器,或者一个单独的NAT产品,它有两个IP地址,一个是网络内部地址,如192.168.0.1,一个是合法的IP地址,如202.206.64.33. (图1).


  如果局域网内部的一台电脑H3,IP地址是192.168.0.3:4000,4000是它的端口号,想访问搜狐的主页www.sohu.com(图2),

   192.168.0.3:4000的请求先传到主机192.168.0.1上,主机把这个IP地址转换为202.206.64.33:9000,然后以端口号为9000的这个IP地址向sohu发出请求,当sohu受到请求后,会回答,它先把回答的数据流传给202.206.64.33:9000,也就是局域网内的主机,主机接收到数据后,会查找与9000这个端口号相关联的内部IP地址,当它发现是192.168.0.3:4000后,就把数据传给192.168.0.3:4000,这样,IP地址的转换就完成了。

本文地址:http://com.8s8s.com/it/it45226.htm