深入浅出介绍局域网联机游戏组网是如何实现的?

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情

本文收录于专栏:《丘山子聊网络协议》。和大家一起聊聊网络协议那些事儿~

深入浅出介绍局域网联机游戏组网是如何实现的?

一、前言

笔者虽然是00后,但是学前班就有微机课,记得当时玩得最多的是打字游戏和泡泡龙。一晃眼就十几年过去了,家里04年、05年就有一台笔记本电脑,奈何父母都不懂计算机,也没人引上路,直到现在计算机水平也不高。

image.png

后来上小学一二年级了,每逢过年表哥带着去镇上网吧玩游戏,当时虽然叫做网吧,却是只有局域网,记得整个网吧都是玩游戏,魔兽争霸、红色警戒、CS1.6这些。

那么这些计算机是如何能够在一起玩游戏的呢?我现在学习过了网络工程原理,我大概了解现在是将PC通过交换机连接起来,网络之间通过路由器或交换机连接起来。至于以前是怎么样的,我也不太了解,不随意猜测误导读者了。

路由器是在第三层上,交换机现在也有很多三层交换机了。但是以前大多小网吧应该用的是集线器。

我们从第一层物理层开始讲起。

二、物理层

室友一起打游戏,如果是两台电脑,我们可以直接用一根网线将这两台电脑连接起来,三台以上电脑怎么办呢?可以用集线器、交换机或者现在流行的家庭无线路由器(这个可能是现在宿舍里面最常见的)。

说到这里,相信很多人都有疑问家用的无线路由器和网络工程中的路由器到底是什么关系?

其实家用路由器并不是严格意义上的路由器,它可以算是无线接入点 + PPPoE 客户端 + DHCP 服务器 + DNS 代理服务器 + NAT 网关 + 防火墙 + WebUI 的的集合体,家用路由器一般就一个出口,而在网络工程里面,很多路由器都需要和不止一个路由器进行连接,并且支持家用路由器支持的路由协议。

集线器就是工作在物理层,我们使用集线器将几台电脑连接起来,接受来自每一台计算机的数据,然后发送。但是它发送数据时都是没有针对性的,而是采用广播方式发送。

用网线直接连接和用集线器就是物理层实现局域网联机游戏组网的方案。

Let's play games.

查看源图像

二、数据链路层

集线器发送数据包采用广播的方式,那么是不是每台电脑都接收数据包,处理数据包呢?

MAC层是数据链路层的子层,MAC层和物理层才是和局域网进行连接的层,其上的LLC层,网络层都不能直接看见局域网。

MAC层全称是Medium Access Control,即媒体访问控制,控制的是往媒体上发数据的先后问题,能够避免产生混乱。其依赖的是多路访问协议。

多路访问协议总体分为三大类:

  • 信道划分协议
  • 随机接入协议
  • 轮流协议

信道划分协议

其中信道划分协议包括时分复用、频分复用、码分多址。

1. 时分复用

就是我们的马路上进行尾号限行,一个时间段单号可以行驶,一个时间段双号可以行驶。

2.频分复用

频分复用就是一条道路上有机动车道和非机动车道,机动车和非机动车在各自的道路上行驶,但是本质上还是在同一信道。它们只是在不同频率。

3.码分多址

用户通过挑选不同的码型在相同的频带,相同时间上通信,这样各用户之间就不会干扰。

就比如你去上班,可以骑自行车、可以骑电动车、可以坐地铁、可以开车、可以坐公交车,只是交通工具不一样。

随机接入协议

随机接入协议就是你发的话,别人不一定能听到,因为别人每次只能听一个人说话,胜利者独占听者的耳朵。

轮流协议

一个令牌一个接一个传递,到谁手里谁说话。

这些方法都是解决了发数据包的先后次序问题。

那么发给谁,谁接收,这个问题该怎么解决呢?

这里前辈们设计了MAC地址,有了源MAC地址和目的MAC地址,就知道数据包从哪里来,到哪里去。

如果发送的时候出现了错误,怎么办?

这个时候,前辈们设计了CRC,即循环冗余检测,这个CRC在计算机领域用处很多,主要是计算数据包在传输过程中是不是出错。

查看源图像

猜你喜欢

转载自juejin.im/post/7128008665671401503