数据链路层(详细版)【02】

接 数据链路层(详细版)【01】

文章目录

  • 四、以太网MAC层
    • (一)MAC地址组成
      • (1)48位MAC地址格式
      • (2)单播地址 & 多播地址 & 广播地址
      • (3)全球管理 & 本地管理
    • (二)以太网 V2 的MAC 帧的格式
    • (三)无效的 MAC 帧
    • (四)MAC帧间最小间隔
  • 五、扩展以太网
    • (一)在物理层扩展以太网
    • (二)在数据链路层扩展以太网
      • (1)网桥 & 以太网交换机
      • (2)以太网交换机的特点
      • (3)以太网交换机的交换方式
  • 六、虚拟局域网
    • (一)以太网存在的主要问题
    • (二)虚拟局域网 VLAN
      • (1)虚拟局域网 VLAN的基本概念
      • (2)虚拟局域网 VLAN的基本结构
      • (3)虚拟局域网VLAN的优点
      • (4)划分虚拟局域网的方法

四、以太网MAC层

以太网标准将数据链路层分为了逻辑链路 控制LLC子层媒体接入控制MAC子层

在这里插入图片描述

(一)MAC地址组成

硬件地址又称为物理地址,或 MAC 地址

IEEE 802 标准为局域网规定了一种 48 位的全球地址(简称为地址)是指局域网上的每一台计算机中固化在适配器的 ROM 中的地址,更准确些说,这种 48 位“地址”应当是某个接口的标识符

(1)48位MAC地址格式

  • IEEE 注册管理机构 RA 负责向厂家分配前 3 个字节 (即高 24 位),称为组织唯一标识符 OUI (地区或全球没有重复)
  • 厂家自行指派后 3 个字节 (即低 24 位),称为扩展标识符
  • 必须保证生产出的 适配器没有重复地址

在这里插入图片描述

(2)单播地址 & 多播地址 & 广播地址

IEEE 规定地址字段的 第 1 字节的最低位 为 I/G (Individual / Group) 位

  • 单播地址:I/G 位 = 0
  • 多播地址:I/G 位 = 1
  • 广播地址:所有 48 位都为 1(全 1),只能作为目的地址使用

(3)全球管理 & 本地管理

IEEE 把地址字段 第 1 字节的最低第 2 位 规定为 G/L (Global / Local) 位

  • 全球管理:G/L 位 = 0,厂商向 IEEE 购买的 OUI 都属于全球管理
  • 本地管理:G/L 位 = 1, 这时用户可任意分配网络上的地址

在这里插入图片描述

(二)以太网 V2 的MAC 帧的格式

在这里插入图片描述

  • 目的地址字段 6 字节

  • 源地址字段 6 字节

  • 类型字段 2 字节:类型字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议

  • 数据字段 46 ~ 1500 字节:数据字段的正式名称是 MAC 客户数据字段
    最小长度 64 字节 - 18 字节的首部和尾部 = 数据字段的最小长度(46字节)

    • 46 ~ 1500是数据字段的长度,就是MTU
    • 64 ~ 1518是帧的长度

    【当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节】

  • FCS 字段 4 字节

  • 为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节

    由硬件在帧的前面插入 8 字节。第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧

(三)无效的 MAC 帧

  • 数据字段的长度与长度字段的值不一致
  • 帧的长度不是整数个字节
  • 用收到的帧检验序列 FCS 查出有差错
  • 数据字段的长度不在 46 ~ 1500 字节之间
  • 有效的 MAC 帧长度为 64 ~ 1518 字节之间

对于检查出的无效 MAC 帧就简单地丢弃,以太网不负责重传丢弃的帧

(四)MAC帧间最小间隔

帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间。一个站在检测到总线开始空闲后,还要等待 9.6μs才能再次发送数据

是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备


五、扩展以太网

(一)在物理层扩展以太网

使用光纤扩展:让覆盖的距离变得越远,就是变化传输介质

在这里插入图片描述

使用集线器扩展:用一个集线器用星型的方式连接起来 (将多个以太网段连成更大的、多级星形结构的以太网)

在这里插入图片描述

  • 优点
    • 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信
    • 扩大了以太网覆盖的地理范围
  • 缺点
    • 碰撞域增大了,但总的吞吐量并未提高
    • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来

补充

碰撞域(collision domain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络

碰撞域越大,发生碰撞的概率越高

(二)在数据链路层扩展以太网

(1)网桥 & 以太网交换机

在数据链路层扩展以太网更为常用,早期使用网桥,现在使用以太网交换机

在这里插入图片描述

  • 网桥
    • 工作在数据链路层
    • 根据 MAC 帧的目的地址对收到的帧进行转发和过滤(或者转发,或者丢弃)
  • 交换机
    • 工作在数据链路层
    • 多端口的网桥
    • 可明显地提高以太网的性能

(2)以太网交换机的特点

  • 以太网交换机实质上是一个多接口网桥 (通常有十几个或更多的接口)

  • 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式

  • 以太网交换机具有并行性

    • 能同时连通多对接口,使多对主机能同时通信

    • 相互通信的主机都独占传输媒体,无碰撞地传输数据

    • 每一个端口和连接到端口的主机构成了一个碰撞域
      (以太网交换机的每个接口都是一个碰撞域)

      在这里插入图片描述

  • 接口有存储器

  • 即插即用。其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。这种交换表就是一个内容可寻址存储器CAM (Content addressable Memory)

  • 使用专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多

以太网交换机的性能远远超过普通的集线器,而且价格并不贵

以太网交换机的优点:每个用户独享带宽,增加了总容量

在这里插入图片描述

(3)以太网交换机的交换方式

  • 存储转发方式

    把整个数据帧先缓存,再进行处理

  • 直通方式

    • 接收数据帧的同时立即按数据帧的目的 MAC 地址决定该帧的转发接口
    • 缺点:不检查差错就直接将帧转发出去,有可能转发无效帧

六、虚拟局域网

(一)以太网存在的主要问题

在这里插入图片描述

  • 广播风暴

    以太网是一个广播域(广播后数据能到达的范围)

    交换机之间的冗余链路形成广播风暴

    在这里插入图片描述

  • 安全问题

    交换机每个接口都处于一个独立的碰撞域(或冲突域)中,但所有计算机都处于同一个广播域中

    无法隔离不同部门的通信

    在这里插入图片描述

(二)虚拟局域网 VLAN

(1)虚拟局域网 VLAN的基本概念

利用以太网交换机可以很方便地实现虚拟局域网 VLAN

虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN

虚拟局域网其实只是局域网给用户提供的一种服务,并不是一种新型局域网

(2)虚拟局域网 VLAN的基本结构

在这里插入图片描述

① 10 台计算机划分为三个虚拟局域网: VLAN1, VLAN2 和 VLAN3
② 每个虚拟局域网是一个广播域(VLAN1, VLAN2 和 VLAN3 是三个不同的广播域)
③ 当 B1 向 VLAN2 工作组内成员发送数据时,工作站 B2 和 B3 将会收到其广播的信息,VLAN1 和 VLAN3 中的工作站 A1,A2 和 C1 等都不会收到 B1 发出的广播信息

虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息 (即“广播风暴”) 而引起性能恶化

实现了逻辑上的划分,每一个VLAN是一个广播域
在MAC帧中加入VLAN的标签。因此处理数据时就要确认VLAN id和MAC地址;
VLAN是数据链路层的安全手段

(3)虚拟局域网VLAN的优点

  • 便于网络管理,具有相似需求的用户共享同一VLAN
  • 增强网络的安全性,敏感用户与普通用户隔离
  • 减少了不必要的网络流量,限制了广播报文的洪泛,抑制广播风暴
  • 减少网络拓扑变更成本,可能增加开销
  • 降低计算机CPU的开销

(4)划分虚拟局域网的方法

  • 基于交换机端口:根据不同的端口划分
  • 基于计算机网卡的 MAC 地址:划分MAC地址,但是实施较为困难
  • 基于协议类型:基于不同的协议
  • 基于 IP 子网地址
  • 基于高层应用或服务:基于不同的服务与应用

参考文章

【计算机网络】学习笔记,第三篇:数据链路层(谢希仁版)

计算机网络第3章(数据链路层)

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

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

相关文章

笔记2:cifar10数据集获取及pytorch批量处理

(1)cifar10数据集预处理 CIFAR-10是一个广泛使用的图像数据集,它由10个类别的共60000张32x32彩色图像组成,每个类别有6000张图像。 CIFAR-10官网 以下为CIFAR-10数据集data_batch_*表示训练集数据,test_batch表示测试…

Colibri for Mac v2.2.0 原生无损音频播放器 激活版

Colibri支持所有流行的无损和有损音频格式的完美清晰的比特完美播放,仅使用微小的计算能力,并提供干净和直观的用户体验。 Colibri在播放音乐时使用极少的计算能力。该应用程序使用最先进的Swift 3编程语言构建,BASS音频引擎作为机器代码捆绑…

46 udp网络程序

查询网络服务的命令 netstat -nlup n: 显示数字 a:显示所有 u:udp服务 p:显示pid Recv-Q收到的数量,本地ip和远端ip,00表示可以收到任何地址 网络聊天 服务端 定义一个server类,成员保存ip地址&#xff…

JVM 类加载机制

JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的 java.lang.class 对…

基于yolov5+streamlit目标检测演示系统设计

YOLOv5与Streamlit:智能目标检测可视化展示介绍 随着人工智能技术的飞速发展,目标检测技术已成为推动智能化社会进步的关键技术之一。在众多目标检测算法中,YOLOv5以其卓越的性能和实时性,成为了业界的佼佼者。与此同时&#xff…

UDP多播

1 、多播的概念 多播,也被称为组播,是一种网络通信模式,其中数据的传输和接收仅在同一组内进行。多播具有以下特点: 多播地址标识一组接口:多播使用特定的多播地址,该地址标识一组接收数据的接口。发送到多…

实现红黑树

目录 红黑树的概念 红黑树的节点结构定义 红黑树的插入 红黑树的验证 实现红黑树完整代码 红黑树的概念 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red 或 Black 。 通过对 任何一条从根到叶子的…

Leetcode39.组合总和

文章目录 题目描述解题思路重复子集剪枝 代码 题目 参考题解 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返…

【JavaSE】/*初识Java*/

目录 一、了解 Java 语言 二、Java 语言的重要性 2.1 使用程度 2.2 工作领域 三、Java 语言的特性 四、Java 的基础语法 五、可能遇到的错误 六、第一个 java 程序代码解析 七、Java 注释 八、Java 标识符 九、Java 关键字 一、了解 Java 语言 Java 是由 Sun Micr…

图论(洛谷刷题)

目录 前言: 题单: P3386 【模板】二分图最大匹配 P1525 [NOIP2010 提高组] 关押罪犯 P3385 【模板】负环 P3371 【模板】单源最短路径(弱化版) SPFA写法 Dij写法: P3385 【模板】负环 P5960 【模板】差分约束…

【iOS开发】—— 初识锁

【iOS开发】—— 初识锁 线程安全锁的种类自旋锁定义原理自旋锁缺点OSSpinLock(自旋锁) 互斥锁os_unfair_lockpthread_mutexNSLockNSRecusiveLockSemaphore信号量synchronized 总结两种之间的区别和联系: 线程安全 当一个线程访问数据的时候…

双向冒泡法,可以只求最大最小值

int BiBubbleSort(int Arr[],int n,int maxnum){int left0,rightn-1;int i;bool notDone true;int temp;if(n<2)return -1;while(left<right&&notDone){ notDone false; //设置未发生交换标志 for(ileft;i<right;i){if(Arr[i]>Arr[i1]){//swap(Arr[…

Python-VBA函数之旅-staticmethod函数

目录 一、staticmethod函数的常见应用场景 二、staticmethod函数使用注意事项 三、如何用好staticmethod函数&#xff1f; 1、staticmethod函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a; https://blog…

HackMyVM-VivifyTech

目录 信息收集 arp nmap nikto whatweb WEB web信息收集 wpscan feroxbuster hydra 提权 系统信息收集 横向渗透 git提权 get root 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:9d:6d:7b, …

【密评】 | 商用密码应用安全性评估从业人员考核题库(9/58)

Hill密码是重要古典密码之一&#xff0c;其加密的核心思想的是&#xff08;&#xff09;。 A.线性变换 B.非线性变换 C.循环移位 D.移位 著名的Kerckhoff原则是指&#xff08;&#xff09;。 A.系统的保密性不但依赖于对加密体制或算法的保密&#xff0c;而且依赖于密钥 B.系统…

即插即用篇 | YOLOv8 引入 Strip Pooling | 重新思考场景解析的空间池化

本改进已集成到 YOLOv8-Magic 框架。 空间池化已被证明在捕获像素级预测任务的长距离上下文信息方面非常有效,如场景解析。在本文中,我们超越了通常具有N N规则形状的常规空间池化,重新思考空间池化的构成,引入了一种新的池化策略,称为条带池化,它考虑了一个长而窄的核,…

C++ 中的 lambda 表达式

1.概念 lambda表达式实际上是一个匿名类的成员函数&#xff0c;该类由编译器为lambda创建&#xff0c;该函数被隐式地定义为内联。因此&#xff0c;调用lambda表达式相当于直接调用匿名类的operator()函数&#xff0c;这个函数可以被编译器内联优化&#xff08;建议&#xff0…

C++的数据结构(二)

一、链表的基本概念 链表&#xff08;Linked List&#xff09;是一种物理存储单元上非连续的、非顺序的线性数据结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点&#xff08;链表中每一个元素称为节点&#xff09;组成&#xff0c;节点…

py黑帽子学习笔记_网络编程工具

tcp客户端 socket.AF_INET表示使用标准IPV4地址和主机名 SOCK_STREAM表示这是一个TCP客户端 udp客户端 udp无需连接&#xff0c;因此不需要client.connect这种代码 socket.SOCK_DGRAM是udp的 tcp服务端 server.listen(5)表示设置最大连接数为5 发现kill server后端口仍占用…