当然,偶尽量说得简单通俗些。
IP地址在数据通讯中用来给通讯的双方定位,就像信封上必须有寄信人地址和收信人地址,信才能准确投递。有人会说要寄信人的地址干嘛,有收信人的地址不就可以了么。没错,寄信可以这样,但网络通讯就不同了。你浏览一个网页,当你在网址栏里输入www.westca.com并按了回车后,你的浏览器会向westca.com服务器发送一个请求数据包,里面就有源地址和目的地址。源地址是你的电脑的IP,目的地址是westca.com服务器的IP。经过千山万水,服务器收到这个请求后,会把网页内容发送回给你,此时回来的数据包里就把源地址和目的地址掉了个个,这样刚才的源变成目的,刚才的目的变成源,你的电脑收到这个数据包后,浏览器才会在屏幕上显示网页的内容。
IP地址具有唯一性,不然两个相同的IP地址,那别人到底该发送给谁呢?
但问题来了,IP地址是有限的,从0.0.0.0到255.255.255.255,刨去那些系统使用的地址,真正能给电脑通讯使用的不是太多。为啥,这牵涉到历史原因和IP地址分类。举个例子,一些美国的大公司申请得早,可以得到一大块的地址,比如15.0.0.0到15.255.255.255。一个公司就拿掉整个IP地址池里面的1/256,而且这样的大公司不止一个,因此留给世界上其他人的IP地址就越来越少了。哪天IP地址分配完了怎么办?新的电脑就不能连上Internet了。
有鉴于此,聪明的人类想出了一个临时解决的办法。这个临时的办法是那么的有效,以至于早就从临时工转为正式工了。这个办法就是,把IP地址分为私有的和公有的。私有的地址只能出现在内网里(公司或家庭自己组建的网络都叫内网),不能出现在Internet上;公有的IP反之,只能出现在Internet上,不会出现在内网里。那内网和Internet怎么连起来呢。没错,你猜对了,是要用到路由器。说详细点,是路由器内部的“网络地址转换”功能,术语叫NAT。它的作用就是把内网的IP和Internet的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,每个端口都有个IP。举例来说,内网端口是10.0.0.255,Internet端口是24.24.24.24。你电脑的IP是10.0.0.1,westca.com的IP是38.38.38.38。当你的电脑在把信息往westca.com上传的时候,数据包里的源地址是10.0.0.1,目的地址是38.38.38.38。电脑是把该数据包传给路由器,也就是10.0.0.255。还记得前面说过内网的地址不能出现在Internet上吗?因此路由器在里面做了个手脚,它把源地址10.0.0.1换成了24.24.24.24再发送出去,同时在路由器的内部也记下了一条信息,“有个数据包是从10.0.0.1发送给38.38.38.38的”。当westca.com服务器收到这个数据包的时候,里面的源地址就不是10.0.0.1而是24.24.24.24了。接着服务器把你要信息传给你,数据包里的源地址是38.38.38.38,目的地址是24.24.24.24。这样当这个数据包送回到你的路由器之后,路由器调出内部的记录一看,哦,刚才有过一个信息是从10.0.0.1发送给38.38.38.38的,现在有个38.38.38.38发送回来的信息,于是它就把该数据包里的目的地址24.24.24.24替换成10.0.0.1再发送给内网,也就送达你的电脑。这就是NAT。有人会问,那如果有多台内网电脑都访问38.38.38.38怎么办,记录不会搞混吗?由此NAT的增强版PAT闪亮登场了。PAT的原理和NAT一样,只不过在地址转换的记录里增加了一个端口信息,用来区分不同的内网电脑。由此,多台电脑连Internet,以前是每台电脑都需要一个Internet上的IP,现在只需要一个IP就够了。地址节省鸟,世界太平鸟。
由此可见,westca.com记录下的某个IP,可能是某台单独的电脑,也可能是某台路由器。至于该路由器后连着多少台电脑,westca.com服务器是不知道的。。。
人黃豬老 _BBCODE_WROTE: |
有個東西,叫IPv6
|
是有,不过已经被膜拜为挨踢界的white elephant了。。。:lol:
MD,码了那么多字,解了那么多人的惑,竟然连束花都没有,让偶情何以堪啊。
洗洗睡了去也。。。

本那比经略 _BBCODE_WROTE: |
MD,码了那么多字,解了那么多人的惑,竟然连束花都没有,让偶情何以堪啊。
洗洗睡了去也。。。
|
你得写成no technical background needed的那个体裁才行。