ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机网络(三)数据链路层

2020-12-27 12:02:04  阅读:125  来源: 互联网

标签:网段 MAC 计算机网络 广播 交换机 地址 数据 链路层


文章目录

数据链路层概述

基本概念

结点

  • 主机、路由器

链路

  • 网络中两个结点之间的物理传输介质

    • 双绞线、光纤和微波等

数据链路

  • 网络中两个结点之间的逻辑通道
  • 把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

数据链路层的功能

功能概述

数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能岀错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

在计算机网络发展的初期,由于通信链路的质量不好,所以链路层和传输层都需要承担起可靠传输的职责(因为链路层是点到点,传输层是端到端,如果在“点到点”就发现出错了,代价会更小一点)但是近年来,随着通信链路质量的不断提高,可靠传输的职责就完全交给传输层了

在这里插入图片描述

为网络层提供服务

  • 数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
  • 无确认的无连接服务
  • 有确认的无连接服务
  • 有确认的有连接服务

链路管理

  • 数据链路层连接的建立、维持和释放

    • 用于面向连接的服务

封装成帧

  • 透明传输

    • 不管所传数据是什么样的比特组合,都应当能在链路上传送

流量控制

  • 对发送方流量的控制

    • 拥塞控制是网络整体的流量控制
  • 数据链路层的流量控制是点对点(终端)的,而传输层是端到端(进程)的

介质访问控制

  • 控制对物理传输介质的访问

差错控制

  • CRC 冗余校验
  • ARQ 自动重传

组帧

后两种较为常用

字符计数法

  • 在帧头部使用一个计数字段来标明帧内字符数

字符填充

  • 使用一些特定的字符来定界一帧的开始 DLE STX 与结束 DLE ETX

  • DLE 转义字符

零比特填充

  • 用01111110标志一帧的开始和结束

  • 发送方在信息位中遇到5个连续的“1”时,将自动在其后插入一个“0”

  • 更容易用硬件实现,性能较高

违规编码

  • 例如,曼彻斯特编码方法使用“高-高”电平对和“低-低”电平的违规编码序列来定界帧的起始

  • 局域网 IEEE 802 标准采用

校验码

码距的概念

指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。

我们现在有一套编码为:00,01,10,11,在这套编码中至少有一个数字不相同,我们称这套编码的码距为1。 像这种码距为1的编码,我们没有办法知道数据是否出错,因为任何一种(两位)编码都是合法的,所以校验的原理就是通过扩大码距,使得能够出现一些非法的编码。

假如我们采用奇偶校验的方法, 以偶校验为例:上述编码可以写成:000,011,101,110 ,我们就将原来 03的数,范围扩大到了07,码距增大到了2 。而在0~7这8个数中只有4个数是正确的,那么也就是说只要出现了另外的4个数就说明数据出错了。
奇偶校验至多可以将一组编码的码距提升1。在一定程度上来说码距越大,校验的效果越好。

奇偶校验码

  • 能检测到奇数位错误,不具备纠正能力
  • 校验位可以在首位,也可以在末位

CRC

  • CRC可以纠正一位或多位错误(和生成多项式G(x)的选取有关)

  • 带有 r 个校验位的多项式编码可以检测到所有长度小于等于 r 的错误

  • 常用于计算机网络的数据链路层,适合对大量数据的数据效验

    • 接收端检测出错误后,请求重发、删除数据、自动纠正都可以

海明校验码

  • 实质上是一种多重奇偶校验码

  • 海明校验码可以检测到两位错误(需要K+1位校验位),但是只能纠正一位错。

    在这里插入图片描述

检错位、纠错位与码距的关系

  • L − 1 = D + C L-1=D+C L−1=D+C,且 D ≥ C D≥C D≥C (L最小码距,D检错位数,C纠错位数)

从上面的方程,可以得到:

  • 想要检错d位,则至少要有d+1位码距 (例奇偶校验码码距2,检错1位)
  • 想要纠错d位,则至少有2d+1位码距(例海明码码距3,检错2位,纠错1位)

流量控制和可靠传输机制

滑动窗口解决流量控制,超时重传解决可靠传输

流量控制

  • 较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制是必要的

  • 数据链路层的流量控制是点对点(终端)的,而传输层的流量控制是端到端(进程)的

  • 数据链路层与传输层不同的流量控制手段

    • 数据链路层:接收方收不下就丢弃,且不回复确认

    • 传输层:接收端给发送端一个窗口公告

滑动窗口机制

  • 只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才一定)向前滑动
  • 数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(传输层不固定)

可靠传输

  • 可靠传输,就是采用一系列技术来保障信息在发送方和接收方准确、精确的传输。
  • 实际中的网络并不能够达到这种理想的状态,但我们可以通过使用一些可靠传输的协议去处理这些问题

基于ARQ的滑动窗口机制

单帧滑动窗口-停止等待协议

  • 发送窗口:1,接收窗口:1
  • 确认帧无需序号
  • 有序接收

多帧滑动窗口-后退N帧等待协议(GBN)

  • 发送窗口: 1 ≤ W T ≤ 2 n − 1 1\le W_T \le 2^n-1 1≤WT​≤2n−1,接收窗口:1

    • 发送窗口为什么不能等于 2 n 2^n 2n

      简单说就是极端情况下无法区分新、旧帧(王道第三章 疑难点 三)

  • 累积确认,有序接收

多帧滑动窗口-选择重传协议(SR)

  • 发送窗口的GBN是一样的, 1 ≤ W T ≤ 2 n − 1 1\le W_T \le 2^n-1 1≤WT​≤2n−1
  • 接收窗口显然不应该大于发送窗口(没有意义),因为 W T + W R ≤ 2 n W_{T}+ W_{R} \le 2^{n} WT​+WR​≤2n,所以接收窗口 1 ≤ W R ≤ 2 n − 1 1 \leq W_{R} \leq 2^{n-1} 1≤WR​≤2n−1
  • 一般来说发送窗口和接收窗口大小是一致的,但并不是强制的
  • 一般不是累积确认(特别说明除外),无序接收

介质访问控制

点对点链路与广播式链路

点对点链路

  • 两个相邻节点通过一个链路相连,没有第三者
  • 应用:PPP协议,常用于广域网。

广播式链路

  • 所有主机共享通信介质
  • 应用:早期的总线以太网、无线局域网,常用于局域网

静态划分信道/信道划分介质访问控制

通过分频/分时/分码技术把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,逻辑上是把广播信道转变为点对点信道

信道复用技术

  • 频分复用 FDM(Frequency)

    • 所有用户在同样的时间占用不同的频带
    • 只能用于模拟信号
  • 时分复用 TDM(Time)

    • 所有用户是在不同的时间占 用同样的频带宽度

    • 改进的时分复用

      • 统计时分复用STDM
  • 波分复用 WDM(Wave)

    • 光的频分复用
  • 码分复用 CDM(Code)

    • 各用户使用经过特殊挑选的不同码型,因此各用户之间 不会造成干扰
    • 码分多址(CDMA)是码分复用的一种方式。

动态分配信道/动态媒体接入控制/多点接入

在这里插入图片描述

局域网

局域网概述

  • 简称 LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
  • 在历经使用了链式局域网,令牌环,与AppleTalk技术后,以太网和Wi-Fi(无线网络连接)是现今局域网中最常用的两项技术。
  • 各站点关系平等,共享广播信道

局域网的特性

在这里插入图片描述

以太网

工作特性

  • 以太网提供无连接、不可靠的服务

  • 不对数据帧编号(所以MAC帧中没有相应字段),也不要求ACK帧

  • (现在)物理拓扑星型,逻辑拓扑总线型

    • 传统以太网物理拓扑是总线型
  • 采用曼彻斯特编码

  • 使用 CSMA/CD技术

  • 以太网普遍传输数字基带信号

传输介质

在这里插入图片描述

MAC帧格式

在这里插入图片描述

  • 以太网使用曼彻斯特编码,在帧结束时发送一个全低电平的信号,作为结束标志,所以没有“尾部定界符”

无线局域网

在这里插入图片描述

广域网

在这里插入图片描述

数据链路层设备

相关概念

网段

  • 指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分【一个冲突域】
  • 同一网段指的是地址和子网掩码相与得到相同的网络地址

冲突域(物理分段)

  • 使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的一部分

  • 冲突域中的每一个节点都能收到所有的帧(如果同一网段通信,那么自己也会收到)

    • 同一冲突域内通信,主机A向主机B发送一条消息,数据将会随着传输介质发送给冲突域内的每一个主机,主机A也会收到这则消息。
    • 跨冲突域通信,交换机划分了A,B两个冲突域,A中的一个主机向B中某个主机发送一条消息,交换机会把消息转发给B冲突域,B中的每一个主机都会收到这个消息

广播域

  • 接收同一广播消息的节点的集合。(和上面不同的是,冲突域不管什么消息都会发给每一个结点,广播域只有广播信息/泛洪才会发给每一个结点)

  • 由于许多设备都极易产生广播,所以就有了网桥/交换机,它们不能分割广播域,但是可以进行转发/过滤,只对需要广播的帧进行广播(ARP请求)

  • 广播域内通信

    • 假设交换机划分了A,B两个网段,A中的一个主机向B中某个主机发送一条消息,如果交换机知道B网段对应哪个端口,则定向转发;不知道则转发到每一个端口。最终消息会转发给B网段中的每一个主机

泛洪

  • 泛洪(Flooding)是交换机和网桥使用的一种数据流传递技术,将从某个接口收到的数据流向除该接口之外的所有接口发送出去。

  • 与广播的区别

    • 广播是交换机所有的端口(包括传入的那个端口)发送消息。
    • 泛洪不包括传入的那个端口

广播

  • 广播风暴

    • 当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪
    • 第二层网络设备可以解决冲突域问题,(可以过滤一部分的广播数据)但无法解决广播域问题,第三层设备才能解决
  • 第二层广播

    • 也称硬件广播,链路层广播,mac广播,通过链路层协议在以太网上实现的,对该网段内的所有主机进行广播MAC帧,例:ARP请求报文

      • 第二层广播一般不会穿过局域网的边界,假如使用ARP协议找另外一个网段的主机的mac地址,那么路由器是会转发这个ARP请求报文的,也由该路由器返回ARP响应报文
  • 第三层广播

    • 也叫IP广播,IP地址主机号全1,直接广播地址,网络号段上所有的主机都将收到,路由器会转发(如果本机权在该网络号段上的话)

    • 直接广播地址

      • 主机号全1,可用于本地网络,也可以跨网段广播,前提是之间的路由器要开启定向广播功能
    • 受限广播地址

      • 32位全1,受限广播地址,本子网上所有机器都会收到,只会在当前子网上进行广播,路由器不会转发。

网桥 Bridge

根据MAC帧的目的地址对帧进行转发和过滤

网桥接收网段1发送的数据帧,检查数据帧中的地址,如果是网段2的地址,那么就转发给网段2【转发功能】;如果是网段1的地址,那么就将其丢弃【过滤功能】,因为源站和目的站处在同一个网段,目的站能够直接收到这个帧而不需要借助网桥转发。

交换机 Switch

也叫交换式集线器,本质上说,交换机是一个多端口网桥,但也有一些不同

工作过程

  • 从端口x收到无差错的帧,如果MAC地址表中没有源MAC地址,就将键值对(源MAC地址,x)写入MAC地址表中。

  • 交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。

    • 如数据帧中的目的MAC地址在MAC地址表中,则向该MAC地址所对应的端口转发。

    • 如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发(不包括进入的接口)。这一过程称之为泛洪(flood)。

      因为采用的是泛洪,所以像(3.3)的情况,在全网交换机走一遍后,大家把它的【MAC地址,端口】记下来后,这个帧就不会有交换机再转发了。下一次,第一个交换机也就知道,该帧是同一网段内,无需转发

    • 如MAC地址表中查到的端口与x相同,则丢弃该帧。

  • 广播帧和组播帧向所有的端口转发。

工作特性

  • 交换机不隔绝广播,划分了VLAN的交换机隔离广播域(跨网段需要路由器进行通信)
  • 交换机依据帧头的信息进行转发,因此说交换机是工作在数据链路层的网络设备
  • 一般都工作在全双工方式

交换机的分类

  • 存储转发

    • 转发之前必须接收整个帧,存入高速缓存,并进行检错,如无错误再将这一帧发向目的地址。
  • 直通式

    • 交换机只需要打开帧头中的目的地址(6B)就立即转发该帧

标签:网段,MAC,计算机网络,广播,交换机,地址,数据,链路层
来源: https://blog.csdn.net/caozicheng1999/article/details/111776673

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有