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

编程入门 行业动态 更新时间:2024-10-23 05:41:06

<a href=https://www.elefans.com/category/jswz/34/1769818.html style=计算机网络之数据链路层(一)"/>

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





本章最重要的内容:

  • (1)数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
  • (2)数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
  • (3)以太网MAC层的硬件地址。
  • (4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。

目录

  • 3.1、数据链路层的几个共同问题
    • 3.1.1、数据链路和帧
    • 3.1.2 三个基本问题
      • 1、封装成帧
      • 2、透明传输
      • 3、差错检测
  • 3.2、点对点协议PPP
    • 3.2.1、PPP协议的特点
      • 1、PPP协议应满足的需求
      • 2、PPP协议的组成
    • 3.2.2、PPP协议的帧格式
      • 1、各字段的意义
      • 2、字节填充
      • 3、零比特填充
    • 3.2.3、PPP协议的工作状态
  • 3.3、使用广播信道的数据链路层
    • 3.3.1、局域网的数据链路层
      • 1、以太网的两个标准
      • 2、适配器的作用
    • 3.3.2、CSMA/CD协议

3.1、数据链路层的几个共同问题

3.1.1、数据链路和帧

链路(link):

  • 一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
  • 一条链路只是一条通路的一个组成部分。
  • 或物理链路。

数据链路(data link):

  • 把实现控制数据传输的协议的硬件和软件加到链路上,就构成了数据链路。
  • 或逻辑链路
  • 典型实现:适配器(即网卡)

数据链路层协议数据单元:帧


使用点对点信道的数据链路层 使用点对点信道的数据链路层 使用点对点信道的数据链路层

3.1.2 三个基本问题

1、封装成帧

  • 封装成帧(framing):在一段数据的前后分别添加首部和尾部,构成一个帧。
  • 首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。

用控制字符作为帧定界符

  • 控制字符SOH (Start Of Header)放在一帧的最前面,表示帧的首部开始。
  • 控制字符EOT (End Of Transmission)放在
    一帧的末尾,表示帧的结束。

用控制字符进行帧定界的方法举例

2、透明传输

  • 问题:如果数据中的某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误地“找到帧的边界”,导致错误。

数据部分恰好出现与EOF一样的代码

透明:

  • 指某一个实际存在的事物看起来却好像不存在一样。
    “在数据链路层透明传送数据”表示:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。

用“字节填充”或“字符填充”法解决透明传输的问题

3、差错检测

在传输过程中可能产生比特差错:1->0,0->1.

  • 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER(Bit Error Rate)。

循环冗余检验CRC原理:

  • 在发送端,先把数据划分为组。假定每组k个比特。
  • CRC运算在每组M后面再添加供差错检测用的n位冗余码,然后构成一个帧发送出去。一共发送(k+n)位。

CRC冗余码的计算


CRC冗余码的计算

  • 1、用二进制的模2运算进行2n乘M的运算,
    这相当于在M后面添加n个0。
  • 2、得到的(k +n)位的数除以事先选定好的长度为(n +1)位的除数P,得出商是Q,余数是R,余数R比除数P少1位,即R是n位。
  • 3、将余数R作为冗余码拼接在数据M后面,一起发送出去。

这种为了进行检错而添加的冗余码常称为帧检验序列FCS(Frame Check Sequence)。


CRC冗余码的计算举例:


帧检验序列FCS

  • 在数据后面添加上的冗余码称为帧检验序列FCS (Frame CheckSequence)。
  • 循环冗余检验CRC和帧检验序列FCS 并不等同。
    1.CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
    2.FCS 可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。

广泛使用的生成多项式P(X)
CRC-16= X16 +X15 + X2+ 1
CRC-CCITT = X16+X12+ X5 + 1
CRC-32 = X32+X26 + X23 + X22 + X16 +X12+ X11 +X10+ X8+X7+ X5+X4+ X2+ X +1


注意:

  • 仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。
  • 即:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差
  • 即:“凡是接收端数据链路层接受的帧均无差错”

注意:“无比特差错”与“无传输差错”是不同的

  • 可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。
  • 传输差错可分为两大类:
    比特差错;
    传输差错:帧丢失、帧重复或帧失序等。
  • 在数据链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。
  • 要做到可靠传输,还必须再加上帧编号、确认和重传等机制。

如果这篇文章对你帮助很大,麻烦帮忙,点下友情链接: 鱼儿项目网(直接点这里),进去之后切换几个页面,停留几十秒。感激不尽。本站采集全网自媒体,网赚类,电商营销课程。里面有一些免费项目大家也可以看看

3.2、点对点协议PPP

3.2.1、PPP协议的特点

  • 对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议PPP (Point-to-Point Protocol)。
  • PPP 协议在1994年就已成为互联网的正式标准[RFC 1661, STD51]。

用户到ISP的链路使用PPP协议


1、PPP协议应满足的需求

  • 1、简单——首要要求。
  • 2、封装成帧——必须规定特殊的字符作为帧定界符。
  • 3、透明性——必须保证数据传输的透明性。
  • 4、多种网络层协议——能够在同一条物理链路上同时支持多种网络层协议。
  • 5、多种类型链路——能够在多种类型的链路上运行。
  • 6、差错检测——能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
  • 7、检测连接状态——能够及时自动检测出链路是否处于正常工作状态。
  • 8、最大传送单元——必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值,促进各种实现之间的互操作性。
  • 9、网络层地址协商——必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
  • 10、数据压缩协商——必须提供一种方法来协商使用数据压缩算法。

2、PPP协议的组成

  • 三个组成部分:
    一个将IP数据报封装到串行链路的方法。
    一个链路控制协议LCP (Link Control Protocol)。
    一套网络控制协议NCP(Network Control Protocol)。

3.2.2、PPP协议的帧格式


PPP有一个2个字节的协议字段。其值

  • 若为0x0021,则信息字段就是IPР数据报。
  • 若为0x8021,则信息字段是网络控制数据。
  • 若为OxC021,则信息字段是PPP链路控制数据。
  • 若为OxC023,则信息字段是鉴别数据。

PPP是面向字节的,所有的PPP帧的长度都是整数字节。

1、各字段的意义

  • 首部:4个字段
    标志字段F:Ox7E。连续两帧之间只需要用一个标志字段。
    地址字段A:只置为OxFF。实际上不起作用。
    控制字段C:通常置为Ox03。
    协议字段。
  • 尾部:2个字段。

透明传输问题:

  • PPP 用在异步传输时,使用字节填充法。
  • 当PPP用在同步传输链路时,采用零比特填充法。

2、字节填充

3、零比特填充

3.2.3、PPP协议的工作状态

PPP链路初始化过程:

  • 用户拨号接入ISP后,就建立了一条从用户个人电脑到ISP的物理连接。
  • 用户个人电脑向ISP发送一系列的链路控制协议LCP分组(封装成多个 PPP帧),以便建立LCP连接。
  • 之后进行网络层配置。网络控制协议 NCР给新接入的用户个人电脑分配一个临时的IP地址。
  • 当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。LCP释放数据链路层连接。最后释放的是物理层的连接。

3.3、使用广播信道的数据链路层

3.3.1、局域网的数据链路层

  • 局域网最主要的特点:
    1.网络为一个单位所拥有;
    2.地理范围和站点数目均有限。
  • 局域网具有如下主要优点:
    1.具有广播功能,从一个站点可很方便地访问全网。
    2.便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
    3.提高了系统的可靠性、可用性和生存性。

局域网拓扑结构:


局域网传输媒体:


共享信道带来的问题:


媒体共享技术:

  • 静态划分信道:
    1.频分复用
    2.时分复用
    3.波分复用
    4.码分复用
  • 动态媒体接入控制(多点接入):
    1.随机接入:所有的用户可随机地发送信息。
    2.受控接入:用户必须服从一定的控制。如轮询(polling).

1、以太网的两个标准

  • DIX Ethernet V2:世界上第一个局域网产品(以太网)的规约。
  • IEEE 802.3:第一个IEEE的以太网标准。

1.这两种标准的硬件实现可以在同一个局域网上互操作。
2.这两个标准只有很小的差别,因此很多人也常把802.3局域网简称为“以太网”。


局域网数据链路层分为2个子层

  • 逻辑链路控制LLC(Logical Link Control)子层:与传输媒体无关。
  • 媒体接入控制MAC (Medium Access Control)子层:与传输媒体有关。

2、适配器的作用

计算机通过适配器和局域网进行通信

适配器的作用

重要功能:

  • 进行串行/并行转换。
  • 对数据进行缓存。
  • 在计算机的操作系统安装设备驱动程序。
  • 实现以太网协议。

3.3.2、CSMA/CD协议

  • 最早的以太网:将许多计算机都连接到一根总线上。
  • 总线特点:易于实现广播通信,简单,可靠。


  • 为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。仅当数据帧中的目的地址与适配器硬件地址一致时,才能接收这个数据帧。


总线缺点:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。


以太网采取的2中重要措施:
(1)采用较为灵活的无连接的工作方式。

  • 不必先建立连接就可以直接发送数据。
  • 对发送的数据帧不进行编号,也不要求对方发回确认。

提供不可靠的交付服务:
尽最大努力的交付。
对有差错帧是否需要重传则由高层来决定。

同一时间只能允许一台计算机发送:
以太网采用最简单的随机接入。
使用CSMA/CD协议减少冲突发生的概半。

(2)发送的数据都使用曼彻斯特(Manchester)编码。

曼彻斯特编码缺点:所占的频带宽度比原始的基带信号增加了一倍。


CSMD/CD协议的要点

  • CSMA/CD (Carrier Sense Multiple Access with CollisionDetection):载波监听多点接入/碰撞检测。
  • 多点接入:说明这是总线型网络。许多计算机以多点接入的方式连接在一根总线上。
  • 载波监听:即“边发送边监听”。不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道。
  • 碰撞检测:适配器边发送数据,边检测信道上的信号电压的变化情况。电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞(或冲突)。

检测到碰撞后

  • 适配器立即停止发送。
  • 等待一段随机事件后再次发送。

CSMA/CD协议工作流程


为什么要进行碰撞检测?因为信号传播时延对载波监听产生了影响。

可见:每个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。

A需要单程传播时延的⒉倍的时间,才能检测到与B的发送产生了冲突。


争用期

  • 以太网的端到端往返时延2t(这个符号是象形字)称为争用期,或碰撞窗口。、
  • 具体的争用期时间=51.2 us。

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


碰撞后重传的时机

  • 采用截断二进制指数退避(truncated binary exponentialbackoff)确定。
  • 发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据。
    1.基本退避时间= 2t
    2.从整数集合[0,1,…, (2k-1)]中随机地取出一个数,记为r。
    重传所需的时延= r*基本退避时间。
    3。参数k = Min[重传次数,10]
    4.当重传达16次仍不能成功时即丢弃该帧,并向高层报告。

举例
第1次冲突重传时:
k = 1, r 为{0,1}集合中的任何一个数。
第⒉次冲突重传时:
k = 2, r为{0,1,2,3}集合中的任何一个数。
第3次冲突重传时:
k = 3,r 为{0,1,2,3,4,5,6,7}集合中的任何一个数。

若连续多次发生冲突,表明可能有较多的站参与争用信道。
上述退避算法可使重传需要推迟的平均时间随重传次数而增大(称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。


10Mbit/s以太网争用期的长度

  • 争用期的长度= 51.2 us。
  • 对于10 Mbit/s以太网,在争用期内可发送512 bit,即64字节。

这意味着:
以太网在发送数据时,若前64字节没有发生冲突,则后续的数据就不会发生冲突。
以太网规定了最短有效帧长为64字节。凡长度小于64字节的帧都是由于冲突而异常中止的无效帧,应当立即将其丢弃。


以太网的最大端到端长度

  • 争用期的长度= 51.2 us。
  • 对于10 Mbit/s 以太网,在争用期内可发送512 bit,即64字节。

以太网最大端到端单程时延必须小于争用期的一半(即25.6 us),相当于以太网的最大端到端长度约为5 km。


强化碰撞:人为干扰信号

  • 发送站检测到冲突后,立即停止发送数据帧,接着就发送32或48比特的人为干扰信号(jamming signal)。
  • 以太网还规定了帧间最小间隔为9.6 us。

CSMA/CD协议的要点

更多推荐

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

本文发布于:2024-02-05 10:06:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744832.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:计算机网络   链路层   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!