baby time:
计算机发明以后,美国人非常高兴地用他们来进行各种复杂的运算。这些大家伙占用了太大的空间,每台计算机造价也相当昂贵,局部地方没有能力和必要存在高密度的计算机分布。虽然计算机的出现拯救了科学家的运算时间,也为这些天才们提供了模拟和组织更复杂实验的数据支持,但当时计算机的速度并没有足够快,以至于满足所有的计算任务。伴随更加庞大的计算,科学家(或许当时科学家身兼数职)开始想办法把几台计算机一起用来计算同一个任务。
“老王,你们家计算机最近有没有空,借我用一下。”“可以啊,但是计算机太大,你们家怎么装得下更多呢。”
一开始,科学家通过电缆把自己实验室的计算机和其他地方的计算机连接在一起,使两台计算机之间能够相互沟通,互相传递数据。这就是最早的网络。
point:网路的出现是为了解决大型复杂的计算任务。联系到现在,也是众多的计算机参与同一个计算任务。比如,玩一个网络游戏,开发者规定了一套算数规则(游戏规则,包括怎么玩,有什么样的模型等等),运营商负责分配运算任务到不同的计算机(其实就是我们下载的客户端到服务端的某些协议被实现),然后我们主动地参与这一项运算(玩家通过自己的操作,提供不同的算数过程,把这些来自开发者的数据进行加工,再返回到服务端,进行数据整合,处理完的结果再次返回到玩家,玩家会根据这些反馈再做出下一步计算)。
这样看来,网络的核心任务依旧没变——承载着数据,提供几个节点之间的信息沟通。
这样理解的话,就可以很清楚的知道现在计算机网络的很多内容内在的联系了。
知道计算机网络要完成的任务,就可以通过推敲,去理解我们要做的事情了。
设想一个场景,我要找到某个人。我是否应该知道他在哪,如果就在隔壁,那很容易就找到,如果很远怎么办呢,我需要边走边问。但是,就算我一路上边走边问了,我得到的答案是不是正确的呢?本来我有问题找他,这个问题被我记录在纸条上了,结果给小费的时候不小心弄丢了怎么办?路上堵车的话又该怎么办呢?
这些问题发生在现实生活中,同样的情况也会出现在计算机网络中。有了通信的方法,就必然会出现很多沟通的问题。为了解决不同类型的问题,ISO提出OSI模型,用来回答和解决这些复杂而繁琐问题。只可惜,这个模型出现在了不该出现的时间和不合适的政策下,最终并没有获得广泛应用。值得庆幸的是,这一模型被公认为经典模型,并且今后的计算机网络通信协议,都将以此作为基础进行考量和修改,用于实际应用。
发生在不同计算机网络层的问题,既是某种类型问题的具体表现,也会是某个问题逻辑中的一小部分抽象问题。
网友评论