计算机网络开荒5-数据链路层

news2024/11/27 11:31:05

文章目录

  • 一、 数据链路层服务
  • 二、链路层具体实现
  • 三、差错检测
    • 3.1 差错编码
    • 3.2 奇偶校验吗
    • 3.3 Internet校验和checksum
    • 3.4 循环冗余校验码CRC
  • 四、多路访问控制MAC协议
    • 4.1 理想的MAC协议
    • 4.2 MAC协议分类
      • 4.2.1 TDMA
      • 4.2.2 FDMA
    • 4.3 随机访问控制协议
      • 4.3.1 时隙ALOHA协议
      • 4.3.2 ALOHA
    • 4.4 CSMA
    • 4.5 轮转访问MAC协议
      • 4.5.1 轮询polling
      • 4.5.2 令牌传递 token passing
  • 五、ARP协议
    • 5.1 Mac地址
    • 5.2 ARP地址解析协议
    • 5.3 两个LAN之间传输
  • 六、以太网
    • 6.1 物理拓扑
    • 6.2 以太网帧结构
  • 七、交换机
  • 九、虚拟局域网VLAN
    • 9.1 基于端口VLAN
  • 十、PPP
  • 十一、无线局域网
    • 11.2 无线局域网避免冲突

  • 主机 路由器 都是:结点nodes
  • 连接相邻结点的通信信道:链路links
    • 有线链路wired links
    • 无线链路 wireless links
    • 局域网 LANs
  • 链路层(第二层)数据分组:帧frame,封装网络层数据报

一、 数据链路层服务

在这里插入图片描述

数据链路层:负责通过一条链路从一个结点向另一个物理链路直接相连的节点传送数据报

组帧framing

  • 封装数据报构成数据帧,加首部和尾部
  • 帧同步

链路接入link access

  • 如果是共享介质,需要解决信道接入(channel access)
  • 帧首部中的MAC地址,用于标识帧的源和目的
    • 不同的IP地址

相邻结点可靠交付

  • 在低误码率的有线链路上很少采用(光纤、某些双绞线)
  • 无线链路:误码率高,需要可靠交付

流量控制flow control

  • 协调pacing相邻的发送节点和接收

差错检测error edtection

  • 信号衰减和噪声会引起差错
  • 接收端检测到差错:通知发送端 或 直接丢弃

差错纠正error correction

  • 接收端直接纠正比特差错

全双工和半双工通信

  • 全双工:同时 双向传输
  • 半双工:交替 双向传输

二、链路层具体实现

每个主机或路由器接口
网卡

在这里插入图片描述

  • 发送端
    • 将数据报封装成帧
    • 增加差错检测比特,实现流量控制和可靠性传输
  • 接收端
    • 检测差错,实现可靠数据传输和流量控制
    • 提取数据报,交付上层协议实体

三、差错检测

3.1 差错编码

在这里插入图片描述

检错码

在这里插入图片描述
纠错码

在这里插入图片描述

3.2 奇偶校验吗

比特检验位:
检测奇数位差错

二维奇偶校验:
检测奇数位差错、部分偶数位差错
纠正同一行/列的奇数位错

3.3 Internet校验和checksum

3.4 循环冗余校验码CRC

检错能力强大
将数据比特,D,视为一个二进制数
选择一个r+1位的比特模式(生成比特模式),G
广泛应用于实际网络(以太网、WiFI、ATM)

在这里插入图片描述

四、多路访问控制MAC协议

Multiple Access Control
点对点链路

  • 拨号接入的PPP
  • 以太网交换机与主机对点链路

广播链路(共享介质)

  • 早期的总线以太网
  • HFC的上行链路
  • 无线局域网

在这里插入图片描述

  • 单一共享广播信道
  • 两个或以上节点同时传输:干扰interference
    • 冲突 collision
      • 结点同时接收到两个或者多个信号:接受失败

因此需要一个协议控制多路访问 ,协调机制
多路访问控制协议Multiple access control protocol

  • 采用分布式算法决定节点如何共享信道,决策节点何时可以传输数据
  • 基于信道本身,通信信道共享协调信息:没有外信道用于协调

4.1 理想的MAC协议

假设速率R bps的广播信道

  1. 只有一个结点希望传输数据时,它速率为全部 R
  2. M个同送,每个节点平均发送数据的平均速率为R/M
  3. 完全分散控制:
    • 无需特定节点系诶套
    • 无需时钟、时隙同步
  4. 简单

4.2 MAC协议分类

信道划分channel partitioningMAC协议

  • 多路复用技术
  • TDMA、FDMA、CDMA、WDMA等

随机访问random accessMAC协议

  • 信道不划分、允许冲突
  • 采用冲突 ”恢复“机制

轮转taking turns MAC协议
结点轮流使用信道

4.2.1 TDMA

time division multiple access

  • 周期性 接入通道
  • 每个站点在每个周期,占用固定的长度的时隙
  • 未用的时隙空闲
    在这里插入图片描述

4.2.2 FDMA

频分复用
在这里插入图片描述

4.3 随机访问控制协议

  • 当节点要发送分组时:
    • 利用信道完全数据速率R发送分组
    • 没有事先的节点间协调
  • 两个或多个结点同时传输:冲突
  • 随机访问MAC协议需要先定义:
    • 如何检测冲突
    • 如何从冲突中恢复(延迟重传)
  • 典型的随机访问MAC协议
    • 时隙sloted ALOHA
    • ALOHA
    • CSMA、CSMA/CD、CSMA/CA

4.3.1 时隙ALOHA协议

在这里插入图片描述
假设

  • 所有针的大小相同
  • 时间被划分为等长的时隙(每个时隙可以传输1个帧)
  • 结点只能在时隙开始的时刻发送帧
  • 节点间的时钟同步
  • 2个或以上节点在同一时隙发送帧,结点即检测到冲突

运行

  • 当节点有新的针的时候,在下一个时隙slot发送
    • 无冲突,继续发送
    • 有冲突,下一个时隙概率p重传该针,直到成功

优点:

  • 单个活动结点时:可以连续一信道全部速率传输数据
  • 高度分散化:只需同步 时隙
  • 简单

缺点:

  • 冲突,浪费时隙
  • 空闲时隙
  • 结点以小于分组传输时间检测到冲突
  • 时钟同步

效率: 长期运行时,成功发送帧的时隙所占比例

4.3.2 ALOHA

纯ALOHA协议:更加简单,无需同步
当有新的针生成时:立即发送

冲突可能性增大:
在这里插入图片描述
比时隙ALOHA协议更差

4.4 CSMA

载波监听多路访问协议 CSMA (carrier sense multiple access)

  • 发送之前,监听信道载波

    • 信道空闲:发送完整
    • 信道忙:推迟发送
      • 1-坚持CSMA
      • 非坚持CSMA
      • P-坚持CSMA
  • 冲突可能仍然发生:信号传播延迟

    • 发送短时间检测到冲突,立刻停止发送
  • 冲突检测

    • 有线局域网易于实现:测量信号强度,比较发射信号 接受信号
    • 无线局域网难实现:接收信号强度淹没子啊本地反射强度下

边发边听,不发不听

4.5 轮转访问MAC协议

  • 信道划分MAC

    • 网络负载重时:效率高,公平
    • 网络负载轻时:共享信道效率低
  • 随机访问MAC协议

    • 网络负载重时:冲突开销
    • 网络负载轻时:效率高,单个节点利用全部
  • 轮转访问MAC协议:结合了两者的优点

4.5.1 轮询polling

  • 主节点轮流”邀请“从节点发送数据
  • 典型应用:”哑dumb“从设备
  • 缺点:
    • 轮询开销
    • 等待延迟
    • 单点故障

4.5.2 令牌传递 token passing

令牌:特殊针,代表介质的使用权

  • 控制令牌依次从一个结点传递到下一个节点

蓝牙、FDDI

五、ARP协议

IP------> MAC
转换

5.1 Mac地址

在OSI(开放式系统互联)七层模型中,MAC地址是属于第二层数据链路层的部分。数据链路层是网络协议栈的第2层,它位于物理层和网络层之间,负责将物理层提供的原始比特流转换为可以进行网络通信的逻辑帧(也称为数据包)。在数据链路层中,数据帧通过MAC地址来识别目的设备,以便正确地传递数据。因此,MAC地址是数据链路层的重要组成部分。

  • 32位IP地址:
    • 接口的网络层地址
    • 标识网络层(第三层)分组,支持分组转发
  • Mac地址(称LAN地址,物理地址,以太网地址)
    • 作用:标识局域网内一个帧从那个接口发出,到达哪个物理接口
    • 48位MAC地址,固话在ROM中
    • 标识方法:6 * 8 = 1A-2F-BB-76-09-AD 16进制

在这里插入图片描述

MAC地址由IEEE统一管理分配
网卡购买前24bit的空间,后24 厂商自己分配

  • MAC地址是“平面”地址:可以携带,:可以从一个LAN到另一个LAN,帧
  • IP地址是层次地址:不可携带:依赖于节点连接到哪个子网,数据报

5.2 ARP地址解析协议

Address Resolution Protocol

只知道IP地址,如何直到其MAC地址?

LAN中的每个IP节点(主机、路由)维护一个表

  • 存储某些LAN节点的ip/MAC地址映射关系<IP;MAC;TTL>
  • TTL(Time To Live):经过这个时间以后该映射该系会被遗弃,默认20min

5.3 两个LAN之间传输

在这里插入图片描述

  • A构造IP数据报,源:A的IP。目的IP:B的IP
  • A构造链路层帧,源MAC是A的MAC地址,目的MAC地址是R左接口的MAC地址,封装A到B的IP数据报
    在这里插入图片描述
  • R转发IP数据报(源和目的IP地址不变)
  • R创建链路层帧,源MAC:R右侧MAC接口。目的MAC:B的MAC接口,封装A到B的IP数据报

只有在内网 发到 外网的时候,IP地址才会被路由器改变,因此也吐槽路由器 不按照 网络层来

六、以太网

统治地位的有线LAN技术:

  • 造价低廉
  • 广泛使用
  • 比令牌局域网和ATM更 更加 简单便宜
  • 满足网络速率需求:10Mbps - 10Gbps

6.1 物理拓扑

总线bus
所有节点在同一个冲突域
星型star
中心交换机switch
每个节点一个单独冲突域
在这里插入图片描述

  • 无连接
  • 不可靠,需要高层协议(TCP)提供可靠服务
  • 以太网的MAC协议:采用二进制指数退避算法CSMA/CD

6.2 以太网帧结构

在这里插入图片描述

  • 前导码Preamble 8B
    • 7个字节的10101010,第8字节位10101011
    • 发送端和接收端的时针同步
  • 目的、源MAC地址
  • 类型type:高层协议的类型 IP、IPX数据报
  • 数据
  • CRC:循环冗余校验码

有多种不同的以太网标准:
在这里插入图片描述

七、交换机

  • 链路层设备
    • 存储-转发以太网帧
    • 检验到达帧的目的MAC地址 选择性向一个或多个输出链路转发帧
    • 利用CSMA/CD访问链路 发送帧
  • 透明:主机感受不到switch的存在
  • 即插即用plug-and-play
  • 自学习:无需配置

在这里插入图片描述

j交换机可以互联
在这里插入图片描述
组织机构的网络拓扑图:
在这里插入图片描述

在一个子网中,没有路由器,只有交换机,是可以有IP地址的
只是没有用到IP地址

九、虚拟局域网VLAN

在这里插入图片描述
在多个交换机组成的子网中,没有使用路由器,只能有一个子网
划分子网,可以使用路由器,或者使用 虚拟局域网VLAN

9.1 基于端口VLAN

在这里插入图片描述

  • 流量隔离
  • 动态成员
  • 在VLAN之间转发,通过路由

在这里插入图片描述

  • 多线缆链接
  • 中继端口trunk port:在跨越多个物理交换机的VLAN

十、PPP

之前都是广播链路
现在介绍点对点链路(一个发送端、接收端、链路)
无需介质访问
无需MAC地址

PPP设计需求

  • 组帧
  • 比特透明传输
  • 差错检测
  • 连接灵活检测
  • 网路层地址协商

十一、无线局域网

BSS:Basic Servie Set基本服务集 cell 单元
在这里插入图片描述

802.11b: 2.4GHz-2.485GHz频谱划分为11个不同 频率的信道

  • 每个AP选择一个频率(信道)
  • 存在干扰的可能:相邻的AP可能选择相同的信道!
    主机必须与某个AP关联(associate)
  • 扫描信道,监听包含AP名称 和 MAC地址信标beacon帧
  • 选择一个AP关联

在这里插入图片描述

11.2 无线局域网避免冲突

不能像CSMA/CD那样,边发送、边检测冲突!  无线信道很难实现
 无法侦听到所有可能的冲突:隐藏站、信号衰落
 目标: 避免冲突(avoid collisions)-CSMA/C(ollision)A(voidance)

基本思想
发送端 “预约reserve”通道,而不是随机发送数据帧,避免长数据帧的冲突
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python拆数指南:如何使用Python快速拆解数字

Python拆数指南&#xff1a;如何使用Python快速拆解数字 如果您正在开发一个关于数字的应用程序&#xff0c;那么您会发现Python可以非常方便地拆解数字。Python的拆数功能可以快速拆解数字并将其转换为可读的形式&#xff0c;这对于数据处理和编程任务来说非常有用。 Python…

JavaScript的数学计算库:decimal.js

An arbitrary-precision Decimal type for JavaScript. 功能 整数和浮点数简单但功能齐全的 API复制 JavaScript 和对象的许多方法Number.prototype Math还处理十六进制、二进制和八进制值比 Java 的 BigDecimal JavaScript 版本更快&#xff0c;更小&#xff0c;也许更容易使…

chatgpt赋能python:Python代码实现查找重复字符串

Python代码实现查找重复字符串 Python 是一种高级程序设计语言&#xff0c;被广泛用于网络编程、web开发、数据分析等领域。在 SEO 操作中&#xff0c;经常需要进行关键词分析&#xff0c;以确定哪些词汇是最重要的。本文将介绍如何使用 Python 实现查找重复字符串的代码。 什…

24连续Hopfield神经网络的优化旅行商问题优化计算(附matlab程序)

1.简述 学习目标&#xff1a; 连续Hopfield神经网络的优化旅行商问题优化计算 需要计算10个城市最优路径及总路径长度 hopfield可以分为离散型神经网络和连续型神经网络&#xff08;DHNN\ CHNN&#xff09; 在之前的文章中讲过的单层感知器和BP都是离散的&#xff0c;目前连续…

高效创作助手:ChatGPT最新版实现批量撰写聚合文章的全新水平

随着人工智能技术的不断发展&#xff0c;ChatGPT最新版作为一款智能创作助手&#xff0c;实现了批量撰写聚合文章的全新水平。它能够在短时间内生成高质量的文章&#xff0c;极大地提高了创作效率。本文将从随机8-20个方面对ChatGPT最新版进行详细的阐述&#xff0c;让我们一起…

C11 std::function 学习

此文&#xff0c; https://blog.csdn.net/bcbobo21cn/article/details/111658249 使用了一次C11 std::function&#xff0c;是作为函数指针使用的&#xff1b; 进一步的来说&#xff0c;C11的std::function可以对任何可以调用的目标实体进行调用操作&#xff1b; std::functi…

RFID课程要点总结_5 EPC

5. EPCglobal Standard & protocol Concept of EPC global network EPCglobal Network: a technology that allows trading partners to document and determine the location of individual goodsif possible in real timeadditional information: such as 生产使用日期…

golang代码规范之框架搭建规范

编写本规范的目的在于&#xff0c;让开发者更方便快捷地搭建项目框架&#xff0c;同时让团队内部的技术栈达到统一。 指导思想 框架搭建需要适应项目的变化&#xff0c;为项目选择最合适的架构&#xff0c;没有什么是一成不变的。技术架构应该是不断完善的&#xff0c;在满足当…

pytest 自动化学习

一 pytest简介与安装 def inc(x): return x1 def test_answer(): assert inc(3) 5 #判断 4会不会等5 二 Pytest 命令规则 三 pycharm配置与界面化运行 四 pytest测试用例结构 用例结构 三部分构成 1.用例名称用例步骤 2.编辑 3.断言…

Docker 进入容器和交换文件

1、进入容器 有些时候需要进入容器进行操作&#xff0c;使用 docker exec 命令&#xff0c;这个命令后面可以添加很多参数&#xff0c;我们这里只讲添加 -i 和 -it 参数。 只添加 -i 参数时&#xff0c;由于没有分配伪终端&#xff0c;界面没有我们熟悉的 Linux 命令提示…

人工智能第2章基于图的知识表示与图搜索技术(课后部分习题答案)

解&#xff1a;用四元组&#xff08;f&#xff0c;w&#xff0c;s&#xff0c;g&#xff09;表示状态&#xff0c;其中 f 表示猎人&#xff0c;w 表示狼&#xff0c; s 表示羊&#xff0c;g 表示草&#xff0c;其中每个元素都可以为 0 或 1&#xff0c;表示在左案&#xff0c; …

chatgpt赋能python:Python将图片转换为代码的顶级SEO文章

Python将图片转换为代码的顶级SEO文章 在当今数字化的世界中&#xff0c;图像和代码都是最为重要的元素之一。Python作为一种流行的编程语言&#xff0c;可以帮助我们将这两种元素结合起来&#xff0c;让我们从图像中提取出代码。本文将讨论Python如何将图像转换为代码&#x…

哈工大计算机网络传输层协议详解之:TCP协议

哈工大计算机网络传输层协议详解之&#xff1a;TCP协议 文章目录 哈工大计算机网络传输层协议详解之&#xff1a;TCP协议TCP概述TCP段结构序列号和ACKTCP可靠数据传输RTT和超时TCP发送方事件TCP发送端程序伪代码TCP重传示例TCP接收方 ACK生成TCP快速重传机制 TCP流量控制TCP连接…

总结905

今日已做&#xff1a; 1.核聚课程 2.进步本回顾&#xff0c;重做8道题&#xff0c;有两道还没掌握&#xff0c;记录3页。 3.线性代数第5讲 4.三大计算&#xff0c;刷题15道&#xff0c;纠错。 5.每日长难句。 6.考研常识课 明日必做 1.熟练背诵《the king’s speech》并默写 2…

chatgpt赋能python:Python抽卡:让你的游戏更充实

Python抽卡&#xff1a;让你的游戏更充实 作为一款流行的游戏&#xff0c;抽卡是许多玩家最喜欢的功能之一。通过不断的抽卡&#xff0c;你可以获取到更加强大的角色和装备&#xff0c;从而在游戏中获得更多的胜利。但是&#xff0c;手动抽卡需要耗费大量的时间和精力&#xf…

简要介绍 | 点云距离度量:从原理到应用

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对点云距离度量进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 点云距离度量&#xff1a;从原理到应用 3D deep learning on Point cloud 1. 背景介绍 点云数据在计算机图形学、计算机视觉、自…

C#探索之路(9):深入理解C#代码编译的过程以及原理

C#探索之路(9)&#xff1a;深入理解C#代码编译的过程以及原理 文章目录 C#探索之路(9)&#xff1a;深入理解C#代码编译的过程以及原理一、前言&#xff1a;概念解析1、编译器&#xff1a;2、JIT是什么&#xff1f;3、AOT是什么&#xff1f;4、如何理解这个“基于运行时”的概念…

Shell 脚本和编程

shell脚本和编程 Shel基础概念 Shell是一种命令行解释器&#xff0c;是Linux系统中最常用的命令行界面。Shell脚本是由一系列Shell命令组成的文本文件&#xff0c;可以用来自动化执行Linux系统上的任务。Shell脚本是一种强大的工具&#xff0c;可以通过编写脚本来实现自动化运…

FPGA XDMA 中断模式实现 PCIE X8 测速试验 提供工程源码和QT上位机源码

目录 1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案XDMA简介XDMA中断模式QT上位机及其源码 5、vivado工程详解6、上板调试验证7、福利&#xff1a;工程代码的获取 1、前言 PCIE&#xff08;PCI Express&#xff09;采用了目前业内流行的点对点串行连接&#xf…

Unity 之 最新原生广告Ads接入 -- 助力增长游戏收益

Unity 之 最新Ads原生广告接入流程详解和工具类分享 一&#xff0c;注册 Unity Ads 广告 SDK二&#xff0c;下载 Unity Ads 广告 SDK三&#xff0c;配置 Unity Ads 广告 SDK3.1 广告位展示流程3.2 代码初始化 四&#xff0c;集成 Unity Ads 广告 SDK4.1 相关介绍4.2 代码分享 五…