计算机网络笔记(二)

第三章 数据链路层

概述:
数据链路层的功能
组帧
差错控制

  1. 检错编码
  2. 纠错编码

流量控制及可靠性传输机制

  1. 流量控制、可靠性与滑动窗体
  2. 停止-等待协议
  3. 后退N帧协议(GBN)
  4. 选择重传协议(SR)

介质访问控制
(1)信道划分
频分多路复用、时分多路复用、波分多路复用、码分多路复用的概念和基本原理。
(2)随机访问
ALOHA协议、CSMA协议、CSMA/CD,CSMA/CA协议。
(3)轮询访问
令牌传递协议。

一、数据链路层的功能

功能概述:

  • 数据链路层的基本功能:
    (1)封装成帧
    (2)透明传输
    (3)差错控制
  • 边缘部分用了5层协议,核心部分(网络设备)只用了三层协议(物理层、链路层、网络层)。

  • 数据链路层使用的信道:
    (1)点对点信道:使用一对一的点对点通信方式
    (2)广播信道:使用一对多的广播通信方式

  • 数据链路和帧
    (1)链路(link):是一条无源的点到点的物理线段,中间没有任何其他的交换结点。比如:网线。
    (2)数据链路(data link):除了物理线路外,须有通信协议来控制数据传输,把实现这些协议的硬件和软件加到链路上就形成了数据链路。 数据链路=链路+控制协议。

    1. 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
    2. 一般的适配器都包括了数据链路层和物理层这两层的功能

    (3)在两个对等的数据链路层之间传输的是帧。(结点和结点之间的协议才叫数据链路协议)

链路也可分为两种:
①物理链路,即如上所述链路
②逻辑链路:即数据链路

  • 帧同步:
    (1)概念:帧同步是为了使接受方能够从收到的比特流中准确区别出一帧的开始和结束。
    (2)实现帧同步的方法有四种:

    1. 字节计数法
    2. 字符填充法
    3. 比特填充法
    4. 违法编码法
  • 封装成帧:(把上层传来的数据封装成帧)
    (1)定义:是在一段数据(上层传来的报文)前后分别添加首部尾部,构成一个帧。添加首部和尾部的目的:为了识别帧的开始、结束、控制信息,即:帧定界。
    (2)每种链路层协议都规定了所能传送的帧的数据部分长度上限,即最大传送单元(MTU)
    (3)一个控制字符SOH(Start Of Head)放在帧最前面,表示帧的首部开始,另一个控制字符EOT(End Of Transmission)表示帧的结束。(首部+尾部<原始报文)

  • 透明传输:(可靠性机制)无论什么样的比特组合的数据都能通过这个数据链路层。
    (1)如果原始报文中含有EOT和SOH信息时,使用字符填充法,即:在报文中的SOH或EOT前加一个ESC(相当于转义字符,如果报文中有ESC,那就在ESC前在加一个ESC),在接收端去掉。

  • 差错检测:(可靠性机制)在接收到数据帧之后,先进行检测。传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate),误码率与信噪比有很大的关系。
    (1)在数据链路层中,常使用 循环冗余检验CRC的方法来进行差错检测。

    1. 在发送端:先把数据划分为组,假定每组k个比特。先假定代传送数据M=1010001101(k=10),在数据M后添加供差错检测用的n位冗余码,构成一个帧发送出去,一共发送k+n位。
      1. n位冗余码:(发送端和接收端在发送之前先协商n和P)。
        设n=5,P(除数)=110101,被除数为 2 n M 2^{nM} (即在M后添加n个0),两数进行模2运算的结果为Q(商)=1101010110,余数R=01110,将余数R(不够n位就在前面补0)作为冗余码添加在数据M后发送,即:发送数据为101000110101110,或(2^n)M+R。【采用异或的方式。即:两个数不一样就取1,一样就取0。减的过,就商1,减不过,则商0】
      2. 模2运算:加法不产生进位,减法不产生借位。
    2. 在接收端:把接收到的数据以帧为单位,进行CRC检验:把收到的每个帧都除以同样的除数P(模2运算),检查得到的余数R。 在接收端对收到的每一帧经过CRC检验后,有以下两种情况:
      1. 若得到余数R=0,则判定帧无差错,就接受。
      2. 若余数R≠0 ,则判定帧有差错,就丢弃
    3. 在数据后加上的冗余码称为帧检验序列(FCS)
      1. 循环冗余检验CRC和帧检验序列FCS的区别:
        CRC是一种常用检错方法,FCS添加的冗余码。
        FCS可通过CRC方法得出,但CRC不是获得FCS的唯一方法
        在这里插入图片描述

    (2)仅用循环冗余检验CRC差错检测技术只能做到【无差错接收】。

    1. 无差错接收:指即凡是接受的帧(不包括丢弃的帧)都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错(即:凡是接受的帧都没有传输差错,有差错的帧都丢弃而不接受)。
    2. 无差错传输 != 可靠传输
    3. 要做到可靠传输,即发送什么就接受什么,为了防止出现帧丢失、帧乱序、帧重复等问题,还要加上确认和重传机制(解决帧丢失问题)。
  • 流量控制:(可靠性机制)(即:确认和重传机制的学名)弥补接收端和发送端的带宽差异。由收取方控制发送方的数据流。
    (1)在发送方:

    1. 从主机取一个数据帧。
    2. 将数据帧送到数据链路层的发送缓存。
    3. 将发送缓存中的数据帧发送出去。
    4. 等待。
    5. 若收到由接收端发过来的信息(ACK)(确认机制)。再从主机中取一个新的数据帧,重复以上步骤。

    (2)在接收端:

    1. 等待。
    2. 若收到由发送方法来的数据帧,则将其放到数据链路层的接收缓存。
    3. 将接收缓存中的数据上交主机(冗余校验)。
    4. 向发送方发一信息,表示数据帧已经上交主机。
    5. 重复执行以上步骤 。
  • 常用的差错控制方法采用自动重发请求(ARQ)技术和前向纠错技术(FEC);

  • 常用的流量控制方法采用停等协议和滑动窗口协议

  • 停-等协议的优点是简单,但缺点是信道的利用率太低。为了解决这个问题,出现了连续ARQ协议,采用流水线传输。

  • 连续ARQ原理:可以连续发送多个分组。边发送边接收。
    (1)帧编号:

    1. 由于连续发送,则需要连续编号。
    2. 确认帧也需要编号。

    (2)接收方只按序接收,如果前面序号的帧丢失了,那么后面帧只能被丢弃。

    1. 如果发送方因超时计时器对某一帧数据进行重传的话,还要把在超时之前发出去的所有没接到确认的帧进行重传。这种现象叫做回退N。

    (3)接收端采用累积确认的发式,即:只对最后一个分组进行确认。

  • 滑动窗口机制:对发出了的还没有收到确认的数据帧的数量加一限制,避免重传是的大开销。
    (1)可移动的发送和接收窗口。

  • 流量控制的特点:
    【1】流量控制也不是数据链路层所特有的功能,在其它高层协议中也有流量控制功能。
    【2】数据链路层的流量控制是相邻结点之间的数据链路的流量控制。相邻结点的收发双方会由于设备工作速率、缓冲区空间等差异,会出现发送方的发送速率大于接收方的接收速率现象。此时若不进行发送方速率控制就会造成帧丢失。
    【3】数据链路层的流量控制实际上是对发送数据流量的控制,使发送方的发送速率不至于超过接收方的接收能力,达到收发双方速率匹配。

  • 发送数据有四种情况:
    (1)正常。
    (2)数据帧出错,返回NAK信息。
    (3)数据帧丢失,超时计时器起作用。
    (4)数据帧出错,即:返回的确认信息出错。超时计时器起作用。接收方会接收到重复的数据帧。

  • 重传机制:
    (1)在接收端接收的信息出现丢失时,它给发送方的返回的信息就是NAK,要求发送方重新发。
    (2)若接收端返回的确认信息间隔时间过长,发送方也会重发。即:超时计时器的作用。

  • 超时计时器:
    (1)帧丢失:结点A发送完一个数据帧时,启动一个超时计时器(定时器)。

    1. 若到了超时计时器所设置重传时间tout而仍收不到结点B的任何确认帧,则结点A重传前面发送的这一数据帧,即自动重传请求(ARQ)。超时重传。
    2. 一般可将重传时间选为略大于从发完数据帧到收到确认帧所需平均时间。

    (2)接收方的返回信息出现错误:也会重发。会导致接收端收到重复帧。

  • 解决重复帧的问题:
    (1)使每个数据帧带上不同的发送序号,每发送一个新的数据帧就将其发送序号加1。

    1. 若结点B收到发送序号相同的数据帧,就表明出现了重复帧,此时应丢弃重复帧,但此时结点B还必须向A发送确认帧ACK,因为B已经知道A没有收到上次发送的确认帧ACK。
  • 帧编号的问题:
    (1)任何一个编号系统的序号占用的比特数一定是有限的,因此经过一段时间后发送序号就会重复。
    (2)序号占用比特数越少,数据传输额外开销就越小。
    (3)对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特编号就可以区分。一个比特可以表示0和1两种不同的序号。
    (4)每发一个新的数据帧,发送序号就和上次发送的不一样,用这样的方法就可以使接收方能区分新的数据帧和重传的数据帧了。

寻址:
【4】在点-点式的链路上不存在寻址问题。
【5】在多点连接的情况下,发送方必须保证每帧能正确地传送到接收方,而接收方也应知道发送方的地址。

二、点对点协议(PPP)

  • 对于点对点的链路,PPP协议是目前使用广泛的数据链路层协议。
  • PPP协议是用户计算机和ISP进行通信时所使用的数据链路层协议。
  • PPP协议特点:
    (1)简单。
    (2)封装成帧:PPP协议必须规定特殊的字符作为帧定界符(即:帧的开始和结束字符),以便使接收端从收到的比特流中能准确提取帧。
    (3)透明性:PPP协议必须保证数据传输的透明性。使用类似转义字符。
    (4)多种网络层协议:PPP协议必须能在同一条物理链路上同时支持多种网络层协议(如:IP和IPX等,在传输层有很多协议)的运行。(向上的兼容)
    (5)PPP必须能在多种类型的链路上运行。(向下的兼容)如:电磁波,光波。
    (6)差错检测:PPP协议必须能够对接收端收到的数据帧进行检测,并丢弃有差错的帧
    (7)检测连接状态:PPP协议必须具有一种机制,能及时自动检测链路是否处于正常工作状态。
    (8)最大传送单元:PPP协议必须对每种类型的点对点链路设置最大传送单元MTU的标准默认值。
    (9)网络层地址协商:PPP协议必须提供一种机制,使通信的两层的实体能通过协议识别或配置彼此的网络层地址。马克地址。
    (10)数据压缩协商:(无损)PPP协议必须提供一种方法来协商使用数据压缩算法。没有统一标准。
  • PPP协议的组成:
    (1)一个将IP数据报封装到串行链路的方法。把IP数据报封装成帧。
    (2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP。保证数据链路是通的。(物理层)
    (3)一套网络控制协议NCP。(物理上的管理,逻辑层)

这里是引用

  • FCS是帧检验序列。

  • PPP协议的帧格式:
    (1)各字段的意义

    1. PPP的帧格式和HDLC相似
    2. 标志字段(EOT和SOH)F仍为0x7E。(Ox表示是十六进制)
    3. 地址字段(头部和尾部的控制信息,实际上上网络层的地址字段)A只置为0xFF,实际上不起作用。
    4. 控制字段()C常置为0x03,实际上不起作用
    5. PPP是面向字节的,所有的PPP都是整数字节

    (2)PPP有一个2字节的协议字段:
    当协议字段为0x0021时,PPP帧的信息字段为IP数据报
    若为0xC021,则信息字段为PPP链路控制数据
    若为0x8021,则表示是网络控制数据

  • 透明传输:PPP协议有两种方法。
    (1)字符填充法:用硬件完成比特填充(与HDLC做法一致)(异步传输时)

    1. 将信息字段中出现的每个0x7E(F标志)字节转为一个2字节序列(0x7D,0x5E)。0x7D相当于数据链路层的ESC转义字符。
      1. 1 若信息字段中出现0x7D字节则转变为2字节序列(0x7D,0x5D)
      2. 2 若信息字段中出现ASCII码(7位二进制)控制字符(ASCII表中前32个和最后一个。即数值小于0x20的字符),则在该字符前加入一个0x7D字节,同时将该字符编码加以改变
      3. 3 接收端在接收到数据后进行与发送端相反操作,获得原始数据

    (2)零比特填充法:(同步传输时)

    1. 具体做法是:
      1. 在发送端,先扫描整个信息字段(通常是用硬件实现,也可使用软件但会慢一些)。只要发现5个连续的1则立即在后面填入一个0。
      2. 接收端在接受到一个帧时,先找到标志字段F以确定一个帧的边界,再用硬件对其中的比特流进行扫描,每发现5个连续1时,就把其后的一个0删除,以还原成原来的信息比特流。
        在这里插入图片描述
  • PPP协议的工作状态:
    (1)当用户拨号接入ISP时,路由器的调制解调器对拨号作出确认,并建立一条物理连接。PC机向路由器发送一系列LCP分组(封装成多个PPP帧)
    (2)这些分组及其相应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机一个临时IP地址,使PC机成为因特网的主机。

三、使用广播信道的数据链路协议

  • 局域网的数据链路层:
    (1)局域网为一个单位所拥有,且地理范围和站点数目均有限

    1. 具有广播功能,从一个站点可很方便地访问全网。局域网上主机可共享连接在局域网上的各种硬件和软件资源
    2. 便于系统扩展和逐渐演变,各设备位置可灵活调整和改变
    3. 提高了系统的可靠性、可用性和生存性
  • 局域网拓扑:星型网、环形网、总线网(最常用)、树形网。

  • 媒体共享技术
    (1)静态划分信道:即:物理层的复用技术

    1. 频分复用
    2. 时分复用
    3. 波分复用
    4. 码分复用

    (2)动态媒体接入控制(多点接入):即:数据链路层的

    1. 随机接入:
    2. 受控接入:不能随机接入,如多点线路探询或轮询
  • 以太网的两个标准:
    (1)DIX Ethernet V2是世界上第一个局域网产品的规约。
    (2)IEEE的802.3标准
    (3)DIX Ethernet V2 标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为【以太网】、严格说来,以太网应当是符合DIX Ethernet V2标准的局域网。以后我们所说的以太网就是值局域网。

  • 数据链路层的两个子层:为使数据链路层更好地适应多种局域网标准,802委员会将局域网数据链路层拆分成两个子层:
    (1)逻辑链路控制LLC子层。即:逻辑层,就是协议。
    (2)媒体接入控制MAC子层。即:物理层,保证有一层物理链路。(MAC地址就是网卡地址)
    (3)【注意】:与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不关何种协议的局域网对LLC子层都是透明的

  • 适配器的作用:
    (1)网络接口板,又称为通信适配器或网络接口卡NIC或网卡
    (2)网卡的重要功能:

    1. 进行串行/并行转换。把从传输层拿到的东西封装成帧。
    2. 对数据进行缓存。数据发送送先放在缓冲区,这个缓冲区就在网卡里面。
    3. 在计算机的操作系统安装设备驱动。传输层可以调用网卡的驱动程序来发送数据。
    4. 实现以太网协议。以太网就是局域网。这个协议就是PPP协议。
  • CSMA/CD协议:(以太网是一种广播通信的方式。)
    (1)最初的以太网是将许多计算机连接到一根总线上,当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。媒体是随机接入。
    (2)如果主线上连接的多个计算机同时发送信息,就会发生信息的碰撞,为了避免这种碰撞,就出现的CSMZ/CD协议

  • 广播发送方式:
    (1)总线上每个工作的计算机都能检测到B发送的数据信号。
    (2)由于只有计算机D地址与数据帧首部写入地址一致,因此只有D才接受该数据帧。
    (3)广播发送的优点:

    1. 采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。
    2. 以太网对发送的数据帧不进行编号,也不要求对方发回确认。因为局域网信道质量好,因信道质量产生差错概率很小

    (4)具有广播特性的总线上实现了一对一通信。

  • 【局域网】的服务
    (1)以太网提供的服务是不可靠(因为数据传输过程中不检验)的交付,即尽最大努力交付。
    (2)当目的站收到由差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层决定。
    (3)如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当做一个新的数据帧来发送。

  • CSMA的分类:
    (1)非坚持CSMA:一旦监听到信道忙,就不再监听;延迟一个随机时间后再次监听。
    (2)坚持CSMA:监听到信道忙时,仍继续监听,直到信道空闲。

    1. 1-坚持CSMA:一听到信道空闲就立即发送数据。
    2. P-坚持CSMA:听到信道空闲时,以概率发送数据,即:以概率1-P延迟一段时间后再发送。
  • CSMA的缺点:
    (1)传播时延
    (2)仍然存在冲突的可能。

  • CSMA/CD:
    (1)工作原理:边发送边监听(冲突检测)。若检测到冲突,则冲突双方都立即停止发送。
    (2)先听后发,边听边发。

  • 载波监听多点接入/碰撞检测(CSMA/CD)
    (1)多点接入:许多计算机以多点接入的方式连接在一根总线上
    (2)载波监听:每个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据。如果有,则暂时不要发送数据,以免发生碰撞。
    (3)碰撞检测:计算机边发送数据边检测信道上的信号电压大小,当几个站同时在总线上发送数据时,总线上信号电压摆动值会增大(相互叠加)。

    1. 当一个站检测到的信号电压摆动值超过一定门限值时,认为总线上至少有两个站同时在发送数据,表明产生了碰撞。所谓碰撞就是发生冲突,因此碰撞检测也叫冲突检测。
    2. 当检测到碰撞后,总线上传输的信号产生了严重失真,无法从中恢复出信息。
    3. 每一个正在发送数据的站一旦发现总线上出现碰撞,就要立即停止发送,避免浪费网络资源,然后等待一段随机时间后再次发送。
  • CSMA/CD特性:

    1. 使用CSMA/CD协议的以太网不能进行全双工通信,而只能进行双向交替通信(半双工通信)。
    2. 每个站在发送数据后的一小段时间内,存在遭遇碰撞的可能性(因为有碰撞检测时间)。
    3. 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率
  • 争用期:
    (1)最先发送数据帧的站在发送数据帧后至多经过时间2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭到碰撞,而以太网的端到端往返时延2τ称为【争用期】,或【碰撞窗口】。
    (2)经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
    (3)争用期长度:以太网取51.2μs为争用期长度,对于10Mb/s的以太网,在争用期内可发送512bit,即64字节。以太网在发送数据时,若前64字节没有发生冲突,则后续数据就不会发生冲突。

  • 最短有效帧长:若发生冲突,就一定是在发送的前64个字节之内,即在争用期内发送的数据长度。

发布了59 篇原创文章 · 获赞 47 · 访问量 5490

猜你喜欢

转载自blog.csdn.net/qq_44755403/article/details/104647871