当我们上网时,信息是如何传递的
2023-04-28神们自己
神们自己
互联网上的所有计算机,都通过网线或Wi?Fi相互联通。当我们想浏览网页、下载文件时,我们的电脑(手机或其他设备)必须有一个地址,以便让另一台电脑(服务器)找到你,把相关信息发给你。在计算机术语中,这个地址叫“互联网协议地址”(Internet Protocol Address),我们通常简称为“IP地址”。
为什么互联网上的每个设备必须有一个地址?这就好比:如果你想发个快递给我,你必须填写我家的地址和你家的地址,以便快递小哥上门服务。而且,每家的地址必须是独一无二的,如果存在两个完全相同的地址,快递小哥就会不知所措。
互联网也一样。当我们打开网页或App时,其实我们的电脑(手机或其他设备)先要向另一台电脑(服务器)的地址发送消息(指令),把你的需求告诉它,服务器收到指令,才能把相关信息发到你的地址上。电脑之间互相传递的数据包,是不是很像快递员传递的包裹?
这么一说,你大概觉得:IP地址和房子的地址不就是一回事嘛!但事实并没有这么简单,IP地址和房子的地址还是有很大不同的。
让我们先来看看真实的IP地址长什么样:它是用点分隔的4个数字,比如110.242.68.66。
我们熟悉的地址一般是这样的:A省B市C区D路E号楼F单元G室。但是互联网IP地址却是用点分隔的4个数字,它们代表什么呢?
其实,我们看到的这4个数字都有从0到255的范围限制。它们对应了二进制00000000到11111111的不同组合。
以IP地址110.242.68.66来演示,将这4个数字转成二进制,分别是:
110=01101110
242=11110010
68=01000100
66=01000010
所以,這个IP地址所对应的32位二进制数是01101110111100100100010001000010。在计算机的世界里,只有0和1这两个数字,所有的IP地址都可以用一个32位的二进制数来表示。当我们登录网站时,其实是在与一个32位数字表示的IP地址进行通信,这个地址在全世界独一无二。
按理说,既然每个网站都有独一无二的IP地址,那我们的电脑或手机也应该有个独一无二的IP地址,两者才能联网通信。但如果你查看电脑的IP地址,会发现它长这样:192.168.1.2。巧了,我的电脑的IP地址,也是192.168.1.2!
虽然我们的电脑IP地址一样,但我们都可以正常上网,还可以互相聊天。为什么会这样?
其实道理也很简单,我们电脑的IP地址只是内网地址。服务器的公网地址必须全世界唯一,内网地址却无须如此。
还是用发快递的例子来解释吧:两个公网地址之间互相通信,就好比快递员送货上门;但快递员也可以把我们这个小区的所有快递放在门卫处,让每个人自己来取。在这种情况下,只需要小区地址不重复就可以了,小区内部的地址重不重复都没关系。就算我们两个都住2号楼404室,快递也不可能送错,因为我们住在不同的小区。
小区的地址相当于公网地址,而小区内部的地址相当于内网地址。我们家里可以有多台电脑、多部手机或其他设备同时上网,可以各自浏览网页,没有任何冲突。但它们只有内网地址,没有公网地址。
假设你有台电脑,IP地址是192.168.1.2,当你上网时,实际发生的事情是这样的:电脑通过网线,向路由器(内网IP地址192.168.1.1)发送请求,比如说要访问百度。
路由器通过另一根网线,把请求数据发到光猫,这是电信、移动等运营商上门安装宽带时给你的设备,全称叫“光调制解调器”。
光猫上有一根光纤连到运营商。光猫打开时,会自动从运营商获取一个公网IP地址。当光猫把你的请求数据发到百度的服务器地址时,百度其实只能看到你的公网地址,它看不到也不需要看到你的内网地址。
如果你发给百度的请求是搜索一个关键词,那么百度返回给你的数据就是这个关键词对应的搜索结果的网页,通过光纤发到你家的路由器上。路由器就像小区门卫一样,它知道该数据是192.168.1.2这台电脑需要的,就会把数据包原封不动转发给电脑。
你在电脑上搜索网页,立刻就能看到搜索结果。互联网上的信息是以光速在全世界传播的,所以你根本意识不到,在零点几秒内竟然发生了这么多故事。
你可能会想,既然IP地址只是一串数字,那给每个电脑(手机或其他设备)都发一个公网IP地址不就行了,为什么要用这么复杂的方式来上网呢?
原因其实很简单:全世界唯一的公网IP地址太少了。IP地址有32位,每位可以为1或0,所以总共有232即4294967296种组合,也就是接近43亿个不重复的IP地址。如果世界上有44亿台电脑(手机或其他设备)联网,那多出的1亿多个设备就只能采取共享公网IP的上网方式了。
在互联网诞生初期,人们觉得43亿个IP地址是个天文数字,永远都用不完。没有人能想到,短短几十年后,几乎人人都能上网,甚至连手表、耳机、音箱等智能设备都能上网。如今地球近80亿人口中,有接近50亿人上网,而联网设备数量已超过了170亿。43亿个IP地址消耗殆尽,大多数人只能共享IP上网。
要让每台电脑(手机或其他设备)都有独一无二的IP,我们需要下一代IP地址:IPv6。它由128位二进制数字组成,所有可能的数字组合高达2128。这个数字大到难以想象,地球上每一平方米都可以分配到1026个IP地址,甚至连空气中的每一粒灰尘都能分配到一个。
可以预计,当IPv6普及之后,我们的上网方式也将彻底改变。