计算机网络——数据链路层简解

1. 前言:

数据链路层,即在物理层之上网络层之下,数据链路层的数据交互可以通过mac来确实身份和发送数据。
在这里插入图片描述
说到数据链路层这里简单介绍下设备:

  1. 网桥(Bridge): 网桥是一种数据链路层设备,用于连接两个或多个局域网,并根据目的地址在它们之间转发数据帧。网桥通过学习源地址和目的地址的对应关系,构建一个地址表,以决定是否转发数据帧。现代网络中,通常使用交换机代替网桥。
  2. 交换机(Switch): 交换机是一种高级形式的网桥,它可以连接多个设备,并根据目的MAC地址在它们之间转发数据帧。交换机通常具有更多的端口和更高的性能,可以提供更快的数据传输速度。
  3. 网卡(Network Interface Card,NIC): 网卡是连接设备到网络的硬件接口,位于计算机或其他设备的数据链路层。它负责将计算机内部数据封装成数据帧,并发送到网络上,同时负责接收和解析从网络上接收到的数据帧。
  4. 集线器(Hub): 集线器是一种被广泛用于早期以太网的设备,它将所有连接到它的设备视为一个共享的冲突域。当一个设备发送数据时,所有其他设备都会收到,这可能导致网络冲突。由于其共享特性和较低的性能,集线器逐渐被交换机所替代。

😄 数据链路层的组网设备现在几乎只有交换机(高级网桥)一种了,而普通网桥,集线器几乎已经是被淘汰的处境了。

😄现如今,二层的所有重要功能几乎都是靠着交换机实现的,要了解数据链路层就从交换机开始了解吧。

2. 交换机

2.1. 交换机的核心功能:

交换机能够根据目的MAC地址快速、精确地将数据帧从一个端口转发到另一个端口。提高了网络性能。

❓为什么要有这个功能?

集线器会将数据广播到所有端口,这样信道利用率极低,通常不超过30%
在这里插入图片描述
❓如何实现的?

mac地址是一个用于在网络上唯一标识网络适配器(网卡)的地址。每个网络适配器都有一个独特的 MAC 地址,通常由48位二进制数字组成,以六组十六进制数表示

交换机通过mac学习存储mac表,精准记录某某mac在哪个端口上的。

这里简单实验交换机的mac学习功能(使用华为ensp模拟):
在这里插入图片描述

  1. 网络扑朔如上图所示(ip分别为192.168.1.1/24,192.168.1.2/24)
  2. 查看交换机mac表
display mac-address

在这里插入图片描述
3. pc1发送ping命令到pc2

ping 192.168.1.2

在这里插入图片描述

  1. 检查mac表
    在这里插入图片描述
    可以看到pc1在ping pc2的过程中记录了两台设备的mac,这里简单介绍,可以了解到交换机可以在通信中获取设备mac。这就是交换机能精准发送消息的关键。

2.2. 交换机的数据处理:

在这里插入图片描述

  1. 泛洪(Flood): 当交换机收到一个数据帧,且不知道目标设备的位置时,它会采用泛洪机制。交换机将数据帧发送到所有的端口,除了接收到数据帧的那个端口。这样做的目的是确保数据帧能够到达目标设备,同时学习目标设备的位置。

  2. 转发(Forwarding): 一旦交换机学习到了目标设备的位置(MAC地址与端口的对应关系),以后相同目标的数据帧就会被直接转发到目标设备所在的端口,而不再采用泛洪的方式。这提高了网络的效率和带宽利用率。

  3. 丢弃(Discard): 当交换机接收到的数据帧的目标MAC地址不在它的地址表中时,而且也无法进行泛洪,那么交换机就会选择丢弃这个数据帧。这种情况可能发生在学习到的地址表中没有目标地址,同时也无法进行泛洪的情况下。

2.3. 虚拟局域网VLAN:

Vlan是大部分交换机的具备的功能,可以使用认为的把局域网隔离开,每个 VLAN 表现为一个独立的广播域
在这里插入图片描述

2.4. 交换机端口类型:

在这里插入图片描述

  1. Access接口:交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往只收发无标记帧。Access接口只能加入一个VLAN。
  2. Trunk接口:Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。Trunk接口常用于交换机之间的互联,也用于连接路由器、防火墙等设备的子接口。
  3. Hybrid接口:Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。用户可以灵活指定Hybrid接口在发送某个(或某些)VLAN的数据帧时是否携带Tag。

2.5.Stp防环协议:

在了解这个之前,我们先了解一下网络环路的危害。
在这里插入图片描述

广播风暴(Broadcast Storm):

定义: 广播风暴是指网络中的广播消息在短时间内迅速传播,导致网络中的设备都收到大量的广播流量。 原因:
通常是由于网络中某个设备发生故障或配置错误,导致持续产生大量广播消息。这可能是因为设备出现循环冗余(broadcast
loop)或因其他原因导致广播消息无法停止。 影响:
广播风暴会占用网络带宽,导致其他正常通信的数据包无法正常传输,最终可能使整个网络变得非常缓慢或不可用

简单总结是:环路造成广播信息无限转发,到达一个数据链路无法接受的量级,导致网络瘫痪。

那么答案就呼之欲出了,stp协议就是通过交换机的功能设计,有交换机自动处理环路的算法。

stp过程简析

我们通过树生成算法,推选一个根,把各个叶子连起来,组成一个树,这样可以破除环。

  1. 推选根桥:

在这里插入图片描述

  • . STP在交换网络中开始工作后,每个交换机都会向网络中发送配置BPDU。配置BPDU中包含交换机自己的桥ID。
  • 网络中拥有最小桥ID的交换机成为根桥。
  • 在一个连续的STP交换网络中只会存在一个根桥。
  • 根桥的角色是可抢占的。
  1. 选取跟接口(选取叶子)

选完根是不是要选叶子了呢,那么规定,离根桥最近的接口叫根接口

在这里插入图片描述

  1. 选取指定接口(选取叶子)

数据帧的主导路径选择: 在一个网络中,可能存在多个交换机,每个交换机都有连接到同一网络段的接口。如果所有接口都试图同时发送数据帧,就会发生冲突,导致网络性能下降。指定接口的存在使得在每个网络段上只有一个接口成为主导,用于传输数据帧,从而避免了冲突。

在这里插入图片描述

stp实验(配置stp)

  1. 网络扑朔
    在这里插入图片描述
    c43f68fea42d181c361174ac10a7f.png)

  2. 进入系统视图

system-view
  1. 启动stp
    在这里插入图片描述
stp mode rstp
  1. 所有交换机都重复一次

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

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

相关文章

Java的IO流-序列化流

对象序列化:把Java对象写入到文件中去 package com.itheima.d3;import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream;public class Test1 {public static void main(String[] args) {try(//2、创建一个对象字节输出流…

Java集合大总结——List的简单使用

List简单介绍 鉴于Java中数组用来存储数据的局限性,我们通常使用java.util.List替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector。 List…

SourceTree提示128错误

128错误 找到C:\Users\DELL中.gitconfig删除

接口测试需要验证数据库么?

有的接口会返回很多数据,有的接口可能就返回一个状态码及success之类的消息,这些需要验证数据库么?现在在写一个测试框架,配置接口参数和预期返回值,生成xml文件管理用例,用一个比较方法对预期和返回作比较…

PDF文件无密码,如何解密?

PDF文件有两种密码,一个打开密码、一个限制编辑密码,因为PDF文件设置了密码,那么打开、编辑PDF文件就会受到限制。想要解密,我们需要输入正确的密码,但是有时候我们可能会出现忘记密码的情况,或者网上下载P…

使用activiti部署提示不是 ‘NCName‘ 的有效值

排查发现是整个流程图的,流程名称没有填写 修改之后就可以了

【前端学java】语法练习-工具类的封装(13)

往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 &#xff08…

【报错记录】解决使用Kotlin写的SpringBoot项目使用Aspect切面无法生效的问题

前言 为了能在SpringBoot使用Kotlin,真的是各种坑都彩礼一遍,这次遇到的问题是Aspect无法对Kotlin代码生效。我这里的使用场景是使用切面切Controller中的方法,用来对接口进行一些初始化和收尾工作。 Aspect在Controller类还是Java代码的时…

亚马逊车灯外贸出口CE认证标准办理解析

车灯是车辆夜间行驶在道路照明的工具,也是发出各种车辆行驶信号的提示工具。车灯一般分为前照灯、尾灯、转向灯等。车灯出口欧盟需要办理CE认证。 CE认证是欧盟对进入欧洲市场的产品强制性的认证标志,是指符合欧盟安全、健康、环境保护等标准和要求的产…

Playcanvas后处理-辉光bloom

(一)Bloom介绍 Bloom(辉光、光晕、泛光)是一种常见的摄像机后处理(PostProcessing)效果,用于再现真实世界相机的成像伪影。这种效果会产生从图像中明亮区域边界延伸的光条纹(或羽毛…

windows11系统如何设置锁屏壁纸

1. 在开始页面里面找到设置 2. 在设置里面找到个性化 3. 按照红色圈出部分操作 个性化锁屏界面 选择 图片 浏览照片 选择一张你觉得好看的图片作为锁屏壁纸 注:如果需要在锁屏后的登录页面显示壁纸 请勾选第三个红圈部分

zabbix-proxy分布式监控

Zabbix是一款开源的企业级网络监控软件,可以监测服务器、网络设备、应用程序等各种资源的状态和性能指标。在大型环境中,如果只有一个Zabbix Server来监控所有的节点,可能会遇到性能瓶颈和数据处理难题。 为了解决这个问题,Zabbi…

【操作系统】文件系统之文件共享与文件保护

文章目录 文件共享硬链接软链接 文件保护口令保护加密保护访问控制 文件共享 为了实现文件的共享,引入了“计数器”字段,当一个文件每被一个用户所共享,那么计数器就加一。如果一个用户删除文件,计数器相应的减一。如果计数器为0…

基于单片机电梯液晶显示防超重,防气体报警、防夹报警控制系统及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶显示楼层。 3、防超重,防气体报警、防夹报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 /lcd1602初始化设置*/ void init_1602() //lcd1602初始化设置 { write_co…

每天分享五款工具,让大家工作生活更顺心

​ 快乐不是在于拥有什么,而在于我们和别人分享什么。每天分享五款工具,让大家工作办公更顺心就是我最大的快乐。 1.沙盒软件——Sandboxie ​ Sandboxie是一款可以在沙盒中运行程序的软件,它可以保护用户的系统和数据免受恶意软件、病毒和其他威胁的影…

如何利用 AI 写一本书并实现被动收入

如何每个月写一本能赚 5000 美元的书?不少人不知道如何在一周内写作和出版一本书 这里有个教程教你如何利用 AI 写一本书并实现被动收入 [收藏起来以备后用] 推出书友智能写作工具:Bookwiz 不用花几年时间独自写作一本小说,人工智能可以作…

PaddleClas学习2——使用PPLCNet模型对车辆朝向进行识别(python)

使用PPLCNet模型对车辆朝向进行识别 1. 配置PaddlePaddle,PaddleClas环境2. 准备数据2.1 标注数据格式2.2 标注数据3. 模型训练3.1 修改配置文件3.2 训练、评估4 模型预测1. 配置PaddlePaddle,PaddleClas环境 安装:请先参考文档 环境准备 配置 PaddleClas 运行环境。 2. 准…

【docker】Docker网络与iptables

Docker能为我们提供很强大和灵活的网络能力,很大程度上要归功于与iptables的结合。在使用时,你可能没有太关注到 iptables在其中产生的作用,这是因为Docker已经帮我们自动的完成了相关的配置。 iptables在Docker中的应用主要是用于网络流量控…

【STM32】CRC(循环冗余校验)

一、CRC的背景知识 1、什么是CRC (1)CRC(Cyclic Redundancy Check),循环冗余校验 (2)什么是校验,为什么需要校验:数据传输,数据存储过程中需要使用到的 (3)什么是冗余:表示比实际上要传输的数据…

【MySQL】聚合函数、group by、update、delete

聚合函数、group by、update、delete 前言正式开始update将孙悟空同学的数学成绩变更为 80 分将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分将总成绩倒数前三的 3 位同学的数学成绩加上 30 分将所有同学的语文成绩更新为原来的 2 倍 delete删除孙悟空同…