网络游戏工作原理

网络游戏工作原理
网络游戏工作原理

网络游戏工作原理

网络上数据的传输过程和现实中是非常类似的,我们可以来想象一下:

我现在有一批水果,准备运到罗马。如果我想实现这个目标,我需要什么条件?

(1)首先我要有一条路,不管是马路还是铁路,这条路要能从出发点连接到目标点。

(2)路是有了,我要保证这条路是通畅的,不能说走进死胡同,我要保证这条路能够通车,假设我是用火车来运的话,不会出现半路出轨的现象

(3)路永远不会只有一条。条条道路通罗马,那么,我要保证我要走的道路能最快,最省钱的到达目的地。因此,我要选择一条近路。

路已经有了,基本条件已经具备,我们现在可以开始送东西了,但是是不是有了路就万无一失了。我们还需要有什么?

(4)路是有了,我们现在坐火车把东西送过去,结果送到半中间被强盗打劫了,或者是被人偷了,所以我们要保证在送过去的途中要原封不动的送到,少一个都不行

(5)好象一切都准备好了,现在我们准备出发了,但是等等,这条路上只能通一辆火车,万一罗马那正好也有一辆火车从那边开过来,路上撞到了怎么办,那么我们要和他们先沟通好。

(6)沟通好了,现在发货,我们坐着火车到了罗马,决定送过去,但是发现,我们听不懂罗马人的话,罗马人也不知道我们在说什么,这个时候我们非常有必要带一个翻译官,当然这并不是最好的选择,如果我们和罗马人说的是同样的语言就好了。不管怎么样,来接纳的人总算能和我们沟通了,当然,这是人和人的沟通,不是人和货物的沟通。

(7)真正的货物终于送到了,完成了。

把这对应的7层,放到网络游戏之中。我们就可以了解了一个游戏运作的原理。首先,我要有一个游戏,这个游戏外表上看起来华丽无比,这就是第7层,应用层,也就是我们平时所用的所有的网络上的软件,游戏等等。

接下来到第6层,游戏有了,在玩的过程中,我们要想把数据发送到服务器去,但是服务器不可能用眼睛看着我们玩游戏,因此我们要把游戏里的数据打包,包装好,用统一的格式发出去,这个叫“封包”。这就是第6层,表示层。

我们在玩游戏的时候,有一个人从屏幕边上跑过来,我的游戏上为什么会显示?原因在于服务器把数据发给我,告诉我有一个人

从那边过来了。因此,不光是我发数据给服务器,同时服务器也把数据发给我了。在这个时候,我们就需要控制一下路线,是服务器先发呢,还是我这先发,当然了,这个交换的情况是非常快的,而且新的技术可以同时发,但是我们还是要有一个能保证沟通的机制,保证不会出什么大问题。这就是第5层,会话层。

万一网络上延迟得厉害怎么办,万一有游戏这卡住了怎么办,我就需要有第4层,传输层,我要保证我的数据是正确的,完整的,如果有问题,随时纠正和重新发送,把上面3层传下来的东西,交到下一层网络层去传送。

上面四层称之为网络上前四层,下面我们来看看下三层,也就是基础的部分

我们游戏之中有南方的玩家,也有北方的玩家,一般情况下南方都是电信的路线,北方都是网通,不管是什么路线,我走啊走啊总能让封包走到服务器那。这就是我们的网络层。我要知道我走哪条路能到达目的地,也就是一个路由的作用。

再往下,我把数据发出去了,我怎么知道数据到没到服务器,或者说我在玩游戏的时候,如果出现卡了的状态,游戏怎么知道我卡了,服务器怎么知道我卡了?大家都有用QQ的经历,现在的网络都不错了,不会出现连接超时了,但是在网络不太好的时间里,就会出现超时。实际上,在这里有一个计时器,比方说,我发一个

数据包出去,30秒内没有返回,我就告诉你,超时了。这就是数据链路层,控制着我们数据的发送接收。

最后的最后,不管怎么样,我们要有一根网线,并且有网卡,或者猫。就是物理层。

所有的这些,都是协议,有同学可能会说,这个网卡或者猫明明是硬件,怎么会是协议,是硬件没错,但是硬件设计的规格是根据协议来设计的,也许以后协议变了,硬件就不是这样设计了。

这7个层次,称之为OSI模型。

当然了,这个模型很理想,实际上在这个网络运作的过程中起作用的是一些协议体系。比如前面说的IP协议。IP协议负责的是网络层中的IP地址的分配和路由。而TCP协议,主要是作用于传输层中,控制数据的传输问题,把一个游戏,或者一个软件的不相同的东西,转换为可以在网络上传输的共同的内容。

了解了整个OSI模型和我们的游戏了,大家应该明白,再怎么会玩游戏的,仅仅能接触到的是7层中的应用层而已,想知道有黑客是怎么盗取帐号的吗?想学会如何在网络上保护自己吗?

[实践]

协议并不是一层不变的,我们看图3-5,TCP/IP概念层中去掉了表示层和会话层,又把物理层和数据链路层并在了一起,变成

了一个4层模型,另外还有8层的模型,甚至包括有9层的模型,大家可以到网上去搜索一下相关的资料。并思考,黑客是在哪一层攻击你?

相关主题
相关文档
最新文档