首页 > 其他分享 >数据链路层

数据链路层

时间:2022-08-24 14:58:38浏览次数:95  
标签:局域网 发送 传输 信道 数据 以太网 链路层

数据链路层


概念

  • 链路(link):从一个结点到相邻结点的一段物理线路,中间无任何其他交换结点,只是一条路径的组成部分

  • 数据链路(data link):把实现控制数据传输协议的硬件和软件加到链路上,就构成数据链路

  • 透明传输:不管从键盘上输入什么字符都可以放在这样的帧中传输过去

  • 可靠传输:数据链路层的发送端发送什么,在接收端就接收到什么

  • CRC是一种检错方法,FCS是添加在数据后面的冗余码

  • 无线局域网使用IEEE802.11标准

  • 以太网的两个标准:

    • IEEE802.3 10Mb/s 802.3局域网也成以太网
    • DIX Ethernet V2

    以太网提供的是无连接不可靠服务,只实现无差错接收,不实现可靠传输

    使用CSMA/CD的局域网即以太网

    以太网规定最短帧长是64B即512bit

    以太网成功发送一个帧的时间是T0(帧长/发送速率)+τ(一个单程端到端时延)

    则极限信道利用率Smax=T0/T0+τ

    以太网的MAC子层

    • 帧的封装、卸装、寻址、识别、接收、发送

    • 链路管理

    • 帧差错控制

    • 屏蔽不同物理链路种类差异

    IEEE802.3MAC格式:

image

FSC不包括前8B

若使用SONET/SDH进行同步传输不需要前同步码

以太网不需要使用帧定界结束符,也不需要使用字节插入来保证透明传输

  • IEEE802.3还可以使用光纤作为传输媒体,如10BASE-F

  • 网段 :一个计算机网络中使用同一个物理层设备能直接通讯的那部分

  • 生成树协议STP(Spanning Tree Protocol)可以解决广播风暴(当广播数据充斥网络无法处理,并占用大量带宽,导致正常业务不能运行甚至瘫痪)

  • 快速以太网:100Mb/s

  • 10吉比特以太网只支持全双工


功能

  • 为网络层提供服务

    • 无确认无连接

    • 有确认面向连接

    • 有确认无连接

  • 封装成帧和透明传输

    • 字符计数法
    • 字符填充法
    • 零比特填充法
    • 违规编码法

  • 差错控制

    噪声:

    • 随机噪声(全局性):信道固有,随机存在(可对传感器下手)

    • 冲击噪声(局部性):产生错差的主要原因,可通过编码技术解决

    帧错:

    • 丢失

    • 重复

    • 失序

    位错:1变0,0变1

    • 检错编码:

      • 奇偶校验码:50%概率
      • CRC:只能做到对帧的无(比特)差错接收凡是接收端数据链路层接受的帧均无差错
    • 纠错编码:

      • 海明码:发现双比特错,纠正单比特错

    对通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制来向上提供可靠传输的服务

  • 流量控制 和可靠传输:链路层的滑动窗口大小是固定的、点对点,接收不下则不回复确认

    • 停止等待协议:发送窗口=接收窗口=1

    • 滑动窗口协议:

      • GBN:

        • 采用累计确认

        • 发送窗口(最大发送窗口=2^n -1)>1 接收窗口=1

        • 超时重传已发送但未确认的帧

      • SR:

        • 发送窗口>1 接收窗口>1 (最大发送窗口=接收窗口=2^(n-1))
        • 设置单个确认,加大接收窗口,设置接收缓存,缓存乱序到达的帧


设备

  • 网桥:可互连不同物理层,不同MAC子层和不同速率的以太网

    • 透明网桥:即插即用、自学习

    • 源路由网桥:把最佳路由信息放在帧头 (广播发送发现帧)

  • NIC网卡(Network Interface Card)网络接口卡:

    • 实现数据串行/并行转换

    • 当收到错误的帧直接丢弃 ,不通知计算机;收到正确的帧则使用中断 来通知计算机

    • 计算机的MAC地址(48位)在网卡的ROM中

  • 交换机独占传输媒体带宽即插即用、自学习 一般工作在全双工方式

    • 直通(cut-through)式:接收到目的MAC地址就转发,无法支持具有不同速率的端口交换,不检错
    • 存储转发式

两种链路/信道

点对点信道 (广域网)

数据链路层协议:

  • PPP(Point-to-Point Protocol)点对点协议面向字节

    支持同步传输(SONET/SDH)(比特填充:5 1 1 0)和异步传输(字节填充)

    需满足:

    • 简单 (首要)

    • 支持多种网络层协议

    • 保证数据传输的透明性

    • 规定特殊字符作为帧定界符

    • 能够在多种类型链路上运行

    • 检错

    • 检测连接状态

    • 设置最大传输单元MTU(数据链路层的帧可以载荷的数据部分的最大长度) 数值

    • 通信双方知道彼此网络层地址

    • 数据压缩协商

    不需满足:不需纠错,不需序号,不需流量控制

    PPP协议组成

    • 一个将IP数据报封装到串行链路的方法
    • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)
    • 一套网络控制协议NCP(Network Control Protocol)

  • HDLC(High-level Data Link Control)高级数据链路控制 面向比特,只支持同步传输 不属于TCP/IP协议族 可靠、有编号、有确认

    HDLC帧格式:

image


广域网的特点:

  • 覆盖的地理区域大
  • 广域网连接常借用公用网络
  • 传输速率比较低
  • 网络拓扑结构复杂
    来源

广播信道 (局域网)

局域网主要特点

  • 网络为一个单位所拥有,且地理范围和站点数目均有限

  • 具有广播功能

  • 便于系统扩展,各设备灵活调整

  • 提高系统可靠性

决定局域网的主要要素:

  • 网络拓扑

    • 总线:最常用

    • 星型:中间是集线器(hub),共享型差,单点故障(逻辑总线

    • 环形:单点故障

    • 树型:单点故障

  • 传输介质

    • 双绞线、同轴电缆、光纤

    • 电磁波

  • 介质访问控制

    • 静态划分信道(信道划分介质访问控制):

      • FDM

      • TDM

      • WDM

      • CDM

      网络负载重 :共享信道效率高,且公平;网络负载轻:共享信道效率低

    • 动态划分信道:

      • 轮询介质访问控制(不冲突,占全部带宽) :令牌环网 用于负载重,通信量大的网络

      • 随机介质访问控制(有冲突,占全部带宽) :

        • ALOHA:

          • 纯ALOHA:随时发送

          • 时隙ALOHA:只在时间片开始时发送

        • CSMA(Carrier Sense Multiple Access)载波监听多点接入不管在发送前还是发送中,都必须不停检测信道

          1-坚持CSMA 非-坚持CSMA P-坚持CSMA
          信道空闲 P概率发
          信道忙 继续监听 放弃监听,等待一随机时间再监听 继续监听,直到空闲以P概率发

        • CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)载波监听多点接入/碰撞避免:

          • 用于无线局域网

          • 无法做到全面检测碰撞,隐蔽站问题

          • 通过预约信道、ACK帧、RTS/CTS技术

        • CSMA/CD(Carrier Sense Multiple Access with Collision Detection)载波监听多点接入/碰撞检测:

          • 用于总线型、半双工网络

          • 当电压的变化幅度超过一定的门限值时,表明产生了冲突

          • 当发送数据前已经监听信道为空闲依然发送碰撞是因为:电磁波在总线上以有限速率传播

            以太网分析中,用单程 端到端传播时延记为τ,2τ称为争用期(contention period)、碰撞窗口(collision window)

            当经过争用期还没有检测到碰撞,才能肯定这次发送不会发生碰撞

            当发生碰撞后,立即停止发送数据,还要发送32bit或48bit人为干扰信号(jamming signal)

            以太网使用截断二进制指数退避算法(truncated binary exponential backoff)来确定碰撞后的重传时机

            基本退避时间为争用期2τ 即51.2μs

            k=Min[重传次数,10]

            从离散的整数集合[0,1,...,2^k -1]随即取出一个数,记为r,重传应推后的时间为r倍2τ

            当重传次数达16 次仍不能成功时,则丢弃该帧,并向高层报告


VLAN(可以隔离广播域)

虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求

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

虚拟局域网允许在以太网的帧格式中插入一个4B的标识符,称为VLAN标记(tag) ,这样的帧称为802.1Q帧

image

因此,以太网最大帧长为1518+4B


以太网交换机不向虚拟局域网外的计算机传送广播信号,限制了接收广播信息的计算机数

划分 VLAN 的方法:

  • 基于交换机端口:也称静态vlan,最为常用

    常见的接口类型分为三类:

    • Access接口:一般用于和不能识别Tag的用户终端(如用户主机、服务器)相连,或者不需要区分不同VLAN成员时使用
    • Trunk接口:一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端
    • Hybrid接口:既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP

    来源

  • 基于设备MAC地址:也称动态vlan,根据网卡的MAC地址可以将若干台计算机划分在同一个VLAN中

  • 基于IP子网

  • 基于网络层协议:如:IPv4、IPv6等

标签:局域网,发送,传输,信道,数据,以太网,链路层
From: https://www.cnblogs.com/yuanyu610/p/16619899.html

相关文章

  • R语言实现创建空数据框的时候指定行数
     001、dat<-data.frame(matrix(,nrow=5,ncol=0))##创建空数据框,指定行数为5data=1:5cbind(dat,a)......
  • 万物皆可集成系列:低代码释放用友U8+深度价值(2)—数据拓展应用
    在上一篇内容我们介绍了如何利用低代码开发套件实现低代码应用与U8+系统的对接集成,本次给大家带来的是如何将用友U8+系统中的数据进行价值扩展和实际应用。我们以生产物料......
  • esp32 分区表配置 wifi数据
    ESP-ROM:esp32s2-rc4-20191025Build:Oct252019rst:0x1(POWERON),boot:0x8(SPI_FAST_FLASH_BOOT)SPIWP:0xeemode:DIO,clockdiv:1load:0x3ffe6100,len:0x1788load:0x40......
  • java数据类型转换问题
    我们知道java中的各个数据类型的取值范围不同,可以理解成容量大小,而针对容量大小可以对他们进行一个由低到高的排序,也就是优先级。优先级低-----------------------------......
  • oracle数据库性能监控常用sql
    因执行时间较长建议使用plsql等第三方工具执行--1.监控sga内存分配信息select*fromv$sgainfo;--2.监控每个用户的磁盘io及io命中率selectv$sess_io.*,(block_gets+con......
  • angular ionic ts的数据不更新到html页面
    场景:在ts中更新了某个数据但是未刷新到html页面,该页面的上方放置的腾讯地图,下方放置需要更新数据的版块,该板块的数据未更新其他页面能正常更新原因:未知解决方法:在ts......
  • Seurat4.0单细胞数据分析 数据的归一化
     001、数据的归一化是在数据的标准化的基础上进行的,而且是按照行来进行的,即:(每一行的观测值-每一行的平均值)/每一行的标准差 验证: a、前期步骤参考:https://ww......
  • Spring Boot +Mybatis plus多数据源实践
    随着业务及客户的不断壮大,单数据库已经不足以支撑程序业务的完美运行(响应快、高吞吐),所以数据库往往都会进行分表分库/读写分离,那么问题来了,分库后程序如何从不同URL......
  • 产学研合作生态硬核来袭,共探数据库技术发展与应用
    腾讯云数据库一直致力于推动数据库基础研究创新、数据库产学研合作生态建设,助力国产数据库学术人才培养和技术创新生态建设发展。为让更多数据库从业者了解数据库领域的最......
  • Linux mysql数据库自动备份脚本策略
    1.创建保存备份文件的文件夹mkdir/data/mysqlbak 2.编写脚本cd/data/mysqlbakvisqlAutoBak.sh SH脚本内容:DB_USER="root"DB_PASS="root"#你的数据库密码D......