6 从物理层到MAC层

1、实现局域网中玩游戏

在早期的80后的大学宿舍中,组件一个宿舍的局域网,以便于宿舍内部可以玩游戏.

第一层(物理层)

1.首先是实现电脑连接电脑,需要依靠网线,有两个头。
2.一头插在一台电脑的网卡上,另一头插在另一台电脑的网卡上。
3.但是在当时,普通的网线这样是通不了的,所以水晶头要做交叉线,用的就是所谓的1326 交叉接法。
4.水晶头的第 12 和第 36 脚,它们分别起着收、发信号的作用。将一端的 1 号和 3 号线、2 号和 6号线互换一下位置,就能够在物理层实现一端发送的信号,另一端能收到。
5.除了网线要交叉,还需要配置这两台电脑的 IP 地址、子网掩码和默认网关,这三项必须配置成为一个网络,可以一个是192.168.0.1/24,另一个是 192.168.0.2/24,否则是不通的

两台电脑之间的网络包,包含 MAC 层,要完整
到此为止,两台电脑已经构成了一个最小的局域网,也即LAN。可以玩联机局域网游戏

怎么把三台电脑连在一起呢?
Hub(也就是集线器):
这种设备有多个口,可以将宿舍里的多台电脑连接起来。但是,和交换机不同,集线器没有大脑,它完全在物理层工作。它会将自己收到的每一个字节,都复制到其他端口上去(Hub 采取的是广播的模式)。这是第一层物理层联通的方案.

第二层(数据链路层)

1.如果每一台电脑发出的包,宿舍的每个电脑都能收到,那就麻烦了。这就需要解决几个问题:
//=====================================
1. 这个包是发给谁的?谁应该接收?
2. 大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?
3. 如果发送的时候出现了错误,怎么办?
//这几个问题,都是第二层,数据链路层,也即 MAC 层要解决的问题

MAC:
全称是Medium Access Control,即媒体访问控制
控制什么呢?
其实就是控制在往媒体上发数据的时候,谁先发、谁后发的问题。防止发生混乱

1.这解决的是第二个问题。这个问题中的规则,学名叫多路访问
2.有很多算法可以解决这个问题。就像车管所管束马路上跑的车,能想的办法都想过了
//比如接下来这三种方式
1.方式一:分多个车道。每个车一个车道,你走你的,我走我的。这在计算机网络里叫作信道划分
2.方式二:今天单号出行,明天双号出行,轮着来。这在计算机网络里叫作轮流协议;
3.方式三:不管三七二十一,有事儿先出门,发现特堵,就回去。错过高峰再出。我们叫作随机接入协议。著名的以太网,用的就是这个方式

解决了第二个问题,就是解决了媒体接入控制的问题,MAC 的问题也就解决好了。这和 MAC 地址没什么关系

接下来要解决第一个问题:发给谁,谁接收?
这里用到一个物理地址,叫作链路层地址。但是因为第二层主要解决媒体接入控制的问题,所以它常被称为MAC 地址。
在这里插入图片描述

1.这种组网的方法,对一个宿舍来说没有问题,但是一旦机器数目增多,问题就出现了.
2.因为 Hub 是广播的,不管某个接口是否需要,所有的 Bit 都会被发送出去,然后让主机来判断是不是需要.
3.把不需要的包转发过去,纯属浪费。看来Hub 这种不管三七二十一都转发的设备是不行了,需要点儿智能的

改进的原理:

1.因为每个口都只连接一台电脑,这台电脑又不怎么换 IPMAC 地址,只要记住这台电脑的 MAC 地址,如果目标 MAC 地址不是这台电脑的,这个口就不用转发了。
//谁能知道目标 MAC 地址是否就是连接某个口的电脑的 MAC 地址呢?
2.这就需要一个能把 MAC 头拿下来,检查一下目标 MAC 地址,然后根据策略转发的设备

交换机

1.交换机怎么知道每个口的电脑的 MAC 地址呢?这需要交换机会学习。
2.一台 MAC1 电脑将一个包发送给另一台 MAC2 电脑,当这个包到达交换机的时候,一开始交换机也不
知道 MAC2 的电脑在哪个口,所以没办法,它只能将包转发给出了来的那个口之外的其他所有的口。
3.但是,这个时候,交换机会干一件非常聪明的事情,就是交换机会记住,MAC1 是来自一个明确的口。以后有包的目的地址是 MAC1 的,直接发送到这个口就可以了。
4.当交换机作为一个关卡一样,过了一段时间之后,就有了整个网络的一个结构了,这个时候,基本上不用广播了,全部可以准确转发。
5.当然,每个机器的 IP 地址会变,所在的口也会变,因而交换机上的学习的结果,我们称为转发表,是有一个过期时间的。

有了交换机,一般来说,你接个几十台、上百台机器打游戏,应该没啥问题。你可以组个战队了。能上网了,就可以玩网游了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/182587.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火山引擎实时、低延时拥塞控制算法的优化实践

摘要 火山引擎智能拥塞控制算法 VICC(Volcano Intelligent Congestion Control)是一种自适应的拥塞控制算法,旨在解决全球不同网络环境下,不同音视频应用对带宽利用率和延时的差异化要求。它结合了传统拥塞控制算法(如…

华为RS设备状态及接口配置命令

1、查看硬件信息 ①查看序列号 查看整机序列号 display esn display sn ②、查看功率 电源功率 display power 查看光模块功率 display transceiver interface gigabitethernet 1/0/0 verbose ③、查看风扇 display fan ④、查看温度 display temperature all ⑤、查看硬…

行业追踪,重构代码,把数据库数据搞坏了

自动复盘 2023-11-06 最近行情好,又有动力搞了,重构了数据库方面的代码,力求更快更稳定的更新数据,结果把数据库数据搞坏了,图有点问题。 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是…

【flutter no devices】

1.在环境变量增加 ANDROID_HOME 值为:C:\Users\Administrator\AppData\Local\Android\Sdk (Android sdk 位置) 2 环境变量的path里面增加2个值: %ANDROID_HOME%\platform-tools %ANDROID_HOME%\tools 3 打开cmd,或者在Android st…

开关电源怎么进行老化测试?有哪些测试方法?

一、开关电源老化测试原理 开关电源老化测试是检测电源长期稳定性和可靠性的重要测试方法。通过模拟开关电源在实际工作环境(如高负荷、高温等)中的长时间使用,来验证其性能、稳定性和可靠性。老化测试的原理主要基于以下概念: 1. 加速老化原理 老化测试…

管理类联考——写作——技巧篇——书写标点符号使用要求规范文档

写作答题卡书写标点符号使用要求规范文档 常用标点符号有逗号、句号、叹号、问号等 11 种,下面一一列举其用法和书写规范。 一、句号 用法:用于陈述句的末尾。 占格情况:占一格,写在格子左下方。 举例: 我看见妈妈走…

g.Grafana之Gauge的图形说明

直接上操作截图 1. 创建一个新的Dashboard 2.为Dashboard创建变量 【General】下的Name与Label的名称自定义 【Query options】 下的Group可以填写Zabbix内的所有组/.*/ , 然后通过Regex正则过滤需要的组名 3.设置Dashboard的图形 我使用文字来描述下这个图 1.我们在dash…

Python用RoboBrowser库写一个通用爬虫模版

目录 一、引言 二、RoboBrowser库介绍 三、通用爬虫模板设计 1、初始化浏览器对象 2、通用页面解析函数 3、爬取流程控制 四、模板应用与实践 总结 一、引言 随着互联网数据的爆炸式增长,网络爬虫已成为获取有价值信息的重要手段。Python作为一门简洁易懂的…

React实现一个拖拽排序组件 - 支持多行多列、支持TypeScript、支持Flip动画、可自定义拖拽区域

一、效果展示 排序: 丝滑的Flip动画 自定义列数 (并且宽度会随着屏幕宽度自适应) 自定义拖拽区域:(扩展性高,可以全部可拖拽、自定义拖拽图标) 二、主要思路 Tip: 本代码的CSS使用…

FreeRTOS_任务通知

目录 1. 任务通知简介 2. 发送任务通知 2.1 函数 xTaskNotify() 2.2 函数 xTaskNotifyFromISR() 2.3 函数 xTaskNotifyGive() 2.4 函数 vTaskNotifyGiveFromISR() 2.5 函数 xTaskNotifyAndQuery() 2.6 函数 xTaskNotifyAndQueryFromISR() 3. 任务通知通用发送函数 3.…

MySQL数据脱敏(Data masking plugin functions)

对于企业而言,数据脱敏可以在数据共享或测试时用于保护敏感数据(如信用卡,社保卡,地址等)。通过对敏感数据进行脱敏处理,组织可以最大限度地降低数据泄露和未经授权访问的风险,同时仍能够使用真…

[Machine Learning][Part 8]神经网络的学习训练过程

目录 训练过程 一、建立模型: 二、建立损失函数 J(w,b): 三、寻找最小损失函数的(w,b)组合 为什么需要激活函数 激活函数种类 二分法逻辑回归模型 线性回归模型 回归模型 训练过程 一、建立模型: 根据需求建立模型,从前面神经网络的…

springboot常见网络相关错误及原因解析

在基于spring-boot开发过程尤其是上线后,经常出现网络相关的错误,令人难以琢磨和下手,所以就spring-boot使用过程中可能碰到的网络相关问题进行分析,结合网络转包、日志报错和前端输出,针对网络连接超时、连接被拒绝、…

JVM虚拟机:如何查看自己的JVM默认的垃圾回收器

只需要在程序运行的时候指定下面的参数就可以看到当前自己的JVM默认的垃圾回收器是什么?如下所示: 如上所示,默认使用的是G1回收器,这是我的电脑,因为我的电脑安装jdk的版本是1.9 如果你的jdk的版本是1.8,那…

K8s:部署 CNI 网络组件+k8s 多master集群部署+负载均衡及Dashboard k8s仪表盘图像化展示管理

目录 1 部署 CNI 网络组件 1.1 部署 flannel 1.2 部署 Calico 1.3 部署 CoreDNS 2 负载均衡部署 3 部署 Dashboard 1 部署 CNI 网络组件 1.1 部署 flannel K8S 中 Pod 网络通信: ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容…

Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题

1.0 安装selenium 终端输入: pip install selenium 查看版本: pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是,基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…

8-2、T型加减速计算简化【51单片机控制步进电机-TB6600系列】

摘要:本节介绍简化T型加减速计算过程,使其适用于单片机数据处理。简化内容包括浮点数转整型数计算、加减速对称处理、预处理计算 一、浮点数转整型数计算 1.1简化∆t_1计算 根据上一节内容已知 K0.676 step1.8/X(x为细分值,1.8对…

Windows 系统服务器部署jar包时,推荐使用winsw,将jar包注册成服务,并设置开机启动。

一、其他方式不推荐的原因 1、Spring Boot生成的jar包,可以直接用java -jar运行,但是前提是需要登录用户,而且注销用户后会退出程序,所以不可用。 2、使用计划任务,写一个bat处理文件,里面写java -jar运行…

视频编辑软件Corel VideoStudio 会声会影2024中文剪辑使用教程

会声会影(Corel VideoStudio)2024为加拿大Corel公司发布的一款功能丰富的视频编辑软件。会声会影2023简单易用,具有史无前例的强大功能,拖放式标题、转场、覆叠和滤镜,色彩分级、动态分屏视频和新增强的遮罩创建器&…

技术分享 | 一文带你了解测试流程的体系

软件测试是软件质量保证的关键步骤。越早发现软件中存在的问题,修复问题的成本就越低,软件质量也就越高,软件发布后的维护费用越低。 为了能更好的保障软件质量,在软件测试的实践中,慢慢形成了一些流程用来达到这一目…