互联网的工作原理是什么?
admin
2023-06-26 12:42:04
0

这么好的问题没有个好回答太可惜了,互联网其实生活中有个很好的同类,邮政系统,或者说快递网络。

你要寄包裹到全世界,可以直接给包裹写上地址,交给门口的快递站就完成了,剩下的事情都是别人帮你做。

比如你要从广州寄一个包裹到北京,交给了门口的快递站之后,快递站一看地址,明白了这个不是它能管理的范围,直接送到它的快递站——广州物流中心,物流中心大啊,它连接着很多路线,其中就包括一条北京专线,给直接送到北京物流中心就可以了。北京物流中心收到后,北京物流中心管着下辖多个市区,根据地址查到对应的市区中心,直接转派到对应到市区中心即可,市区也是一样做法,转送给对应的小区快递点,这样一步一步运送到你要寄送的门牌号上。

互联网也是同样的结构,只是包裹变成了数据包,地址变成了IP地址。你家门口的快递站变成你家的路由器,广州物流中心,北京物流中心变成电信内部的大型路由器,也叫骨干路由器(这种路由器不是开玩笑,几百万一台都有可能)

像IP地址,http://xxx.xxx.xxx.xxx 你完全可以看成 xx省 xx县 xx街 xx号,只是IP地址本身并没有定死省县街这些分层,而是有个东西叫掩码,掩码是一个数字,用来规定不同层级的快递点怎么看地址。

形象点说是不同层级的快递点在解读快递地址时是不一样的,广州物流中心的掩码是三,只关注地址的前三个字,只看前面三个字是什么,是北京市还是上海市,直接就丢到相应的专线就好。

而下层的快递点就需要看更详细的地址,如北京市内派发时,需要区分什么区什么区,北京物流中心在往下派发时,就需要关注地址的前面六个字,得到北京市XX区,丢到相应区的专线,就这样到最下层的快递员,就需要最大的掩码来得到完整地址。掩码是网络运营商设置的,电信联通可以给他们管理的网络灵活地设置调整各层的掩码,优化数据传递效率。

互联网还有一个区别是跳数,就是每个快递点在收到包裹的时候都会在包裹上面计数+1,这样当跳数达到一定值的时候,比如16,下一个快递站看到这个包裹跳数都达到16了还没送到,肯定是地址有问题,会直接扔掉。这样可以避免一些数据包因为地址错误之类的问题,在互联网上一直循环传递。

其他的,互联网和现实的快递系统真没多大差别,照着思考下即可。

比如广州到北京的直连专线断了,光纤被挖了。这时广州这边会询问它连接的其它专线,比如说问上海和武汉,你们通不通北京啊?上海说,我和北京直连。武汉说,我经过郑州可以到北京。

这时候广州会优先选择成本最低的路径,其中包括时延,带宽,丢包率一堆的计算。如果上海到北京的专线也断了,广州会再次计算,发给武汉之类。最终还是能送到北京,只是网速随着路径变长而变慢了。这也就是太平洋海底光纤经常断,我们却并不会和美国失去联络,只是网速会变慢的原因。也是美国军方发明互联网的初衷——建立一套能抗苏联攻击的通讯网络。

以上说的是IP(Internet Protocol)协议,这个协议是保证数据怎么送到。

还有TCP(Transport Control Protocol)协议,这是传输控制协议,严格说不属于互联网的基本范畴,属于你和你的收件人之间的约定,协商怎么把一堆数据完整送达,送丢了数据要补发,收和发的速度要协商协调,不能造成网络拥堵,怎么给数据包编号,怎么建立通信,怎么结束通信的内容。

大家每天的上网打游戏,说白了就是和网站的服务器之间互相传输信息,你发请求给服务器,服务器返回内容给你,这样一来一回互相寄数据包罢了。

技术上的细节很多,学一两年都学不完,所以才有思科华为这样的大企业专门做这些设备。互联网并不完美,有很多的发展痕迹和历史包袱,很多早期设计没有启用,有些功能很少见到,计算机世界里很多东西都是这样的,比如 Windows 系统,有很多历史造成的缺陷基本是无解的,将就用就是了。

相关内容