计算机网络基础-3-数据链路层

盘算机网络基础-1-概述

盘算机网络基础-2-物理层

数据链路层

一、数据链路层概述

    数据链路层使用的信道主要有以下两种类型:

      点对点信道:这种信道使用一对一的点对点通讯方式

      广播信道:这种信道使用一对多的广播通讯方式,因此历程对照复杂。广播信道上毗邻的主机许多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

    数据链路层模子:

      计算机网络基础-3-数据链路层

      计算机网络基础-3-数据链路层

    链路:是一条无源的点到点的物理线路段,中央没有任何其他的交流结点,又称为“物理链路”。一条链路只是一条通路的一个组成部门。

    数据链路:除了物理线路外,还必须有通讯协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上就构成了数据链路。又称为“逻辑链路”。现在最常用

       的方式是使用适配器(即网卡)来实现这些协议的硬件和软件。一样平常的适配器都包罗了数据链路层和物理这两层的功效。

    数据链路层传送的是帧:

        计算机网络基础-3-数据链路层

          常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单元是帧。数据链路层不必思量物理层若何实现比特传输细节。甚至

        还可以更简朴地设想好像是沿着两个数据链路层之间的水平偏向把帧直接发送到对方。

        计算机网络基础-3-数据链路层

二、三个基本问题

    数据链路层协议有许多种,但有三个基本问题是配合的,这三个基本问题是:封装成帧,透明传输,差错控制。

    1.封装成帧:在一段数据的前后划分添加首部和尾部,然后构成了一个帧,确定帧的界线。首部和尾部的一个主要作用就是举行帧定界。

          计算机网络基础-3-数据链路层

            当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符。控制字符SOH(Start Of Header)放在一帧的最前面,示意帧的首部

          最先。另一个控制字符EOT(End Of Transmission)示意帧的竣事。

    2.透明传输:若是数据中的某个字节的二进制代码正好和SOH或EOT一样,数据链路层就会错误地”找到帧的界限”

          计算机网络基础-3-数据链路层

          解决办法:字节填充或字符填充。发送端的数据链路层在数据中泛起控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。吸收

             端的数据链路层在将数据送往网络层之前删除插入的转义字符。若是转义字符也泛起在数据当中,那么应在转义字符前面插入一个转义字符ESC。当

             吸收端收到两个延续的转义字符时,就删除其中前面的一个。

             计算机网络基础-3-数据链路层

    3.差错检测:在传输历程中可能会发生比特差错,就是1可能酿成0,0可能酿成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate),

        误码率与信噪比有很大关系。为了保证数据传输的可靠性,在盘算机网络传输数据时,必须接纳种种差错检测措施。在数据链路层传送的帧中,普遍使用了循环

        冗余磨练CRC的检错手艺。

          在发送端,先把数据划分为组。假定每组k个比特。假设待传送的一组数据M=101001(现在k=6)。我们在M的后面再添加供差错检测用的n位冗余码一起发送。

          盘算冗余码:用二进制的模2运算举行2n乘M的运算,这相当于在M后面添加n个0。获得的(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q

        而余数是R,余数R比除数少1位,即R是n位。

          举例

              计算机网络基础-3-数据链路层    计算机网络基础-3-数据链路层

          帧磨练序列FCS:在数据后面添加的冗余码称为帧磨练序列FCS。循环冗余校验CRC和帧磨练序列FCS并不等同,CRC是一种常用的检错方式,而FCS是

                添加在数据后面的冗余码。FCS可以用CRC这种方式得出,但CRC并非是用来获得FCS的唯一方式。

          在吸收端,若接受的数据(如例中的101001001)除以除数P(如例中的1101)得出的余数R=0,则判断这个帧没有差错,就接受,否则,这个帧有差错,就抛弃。

          CRC检测方式瑕玷:并不能确定究竟是哪一个或哪几个比特泛起了差错。只要经由严酷的挑选,并使用位数足够多的除数P,那么泛起检测不到的差错的概

                 率就很小很小。仅用循环冗余磨练CRC差错检测手艺只能做到无差错接受(通常接受的帧都是没有差错的,有差错的帧都抛弃了)。

          注重:“无比特差错”与“无传输差错”是差别的观点。在数据链路层使用CRC磨练,能够实现无比特差错的传输,但这还不是可靠传输。接下来先容的数据链

           路层的协议都不是可靠传输协议。

三、点对点PPP协议

    对于点对点的链路,现在使用得最普遍的数据链路层协议是点对点协议PPP(Point-to-Point Protocol)。用户使用拨号电话线接入互联网时,用户盘算机和ISP举行通讯时所

  使用的数据链路层协议就是PPP协议。PPP协议是不可靠传输协议

    计算机网络基础-3-数据链路层

    PPP协议应知足的要求

      1.简朴:主要的要求。

      2.封装成帧:必须划定特殊的字符作为帧界定符。

      3.透明性:必须保证数据传输的透明性。

      4.差错检测:能够对吸收端收到的帧举行检测,并立刻抛弃有差错的帧。

      5.支持多种网络层协议:对上层,能够在统一条物理链路上同时支持多种网络协议。

      6.支持多种类型链路:对下层,能够在多种类型的链路上运行。

      7.检测毗邻状态:能够实时自动检测出链路是否处于正常的事情状态。

      8.设置最大传送单元:必须对每一种类型的点对点链路设置最大传送单元MTU的尺度默认值,促进种种实现之间的互操作性。

      9.网络层地址协商:必须提供一种机制使通讯的两个网络层实体能够通过协商知道或能够设置相互的两个网络层的地址。

      10.数据压缩协商:必须提供一种方式来协商使用数据压缩算法。

    PPP协议的组成

      1.一个将IP数据报封装到串行链路的方式,能够支持同步和异步链路。

      2.链路控制协议LCP(Link Control Protocol),对下层,用来确立、设置和测试链路毗邻。

      3.网络控制协议NCP(Network Control Protocol),对上层,知足对网络层协议的支持。

    PPP协议的帧花样

      计算机网络基础-3-数据链路层

      1.PPP帧的首部和尾部划分为4个字段和2个字段,PPP是面向字节的,所有的PPP帧长度都是整数字节。

      2.标志字段F = 0x7E(二进制示意是01111110)。

      3.地址字段A只置为0xFF。

      4.控制字段C通常置为0x03。

      5.PPP帧有2个字节的协议字段。其值若为0x0021,则信息字段就是IP数据报。

                       若为0x8021,则信息字段是网络控制数据。

                          若为0xC021,则信息字段是PPP链路控制数据。

                       若为0xC023,则信息字段是判别数据。

      6.信息部门长度可变,受到最大传送单元的限制,不跨越1500字节。

      7.使用CRC循环冗余检测法的FCS帧校验序列2个字节。

    PPP解决透明传输问题

      当PPP用在同步传输链路时,协议划定硬件来完成0比特填充。

            同步传输时,接纳0比特填充法,使一帧中两个F字段之间不会泛起6个延续的1。

            在发送端,只要发现有5个延续的1,则立刻填入一个0。

            在吸收端,对帧中的比特流举行扫描,每当发现5个延续的1时,就把5个延续1后的一个0删除,以还原成原来的比特流。

            计算机网络基础-3-数据链路层

      当PPP用在异步传输链路时,就使用一种特殊的字符填充法。

           将信息字段中泛起的每一个0x7E字节转酿成为2字节序列(0x7D,0x5E)。若信息字段中泛起一个0x7D的字节,则将其转变为两个字节序列(0x7D,0x5D)。

         若信息字段中泛起ASCII码的控制字符(即数值小于0x20的字符),同时将该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变(RFC1662中有划定)。

         举例:

           一个PPP数据帧是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,叨教真正的数据是什么?

           谜底:7E FE 27 7D 7D 65 7E

    PPP协议的事情状态:当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并确立一条物理毗邻。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这

            些分组及其响应选择一些PPP参数,并举行网络层设置,NCP给新接入的PC机分配一个暂且的IP地址,使PC机成为因特网上的一个主机。通讯完毕之后,

            NCP释放网络层毗邻,收回原来分配出去的IP地址。接着LCP释放数据链路层毗邻。最后释放的是物理层的毗邻。可见,PPP协议已不是纯粹的数据链路

            层协议,它还包含了物理层和网络层的内容。

            计算机网络基础-3-数据链路层

四、局域网的数据链路层

    局域网的最主要的特点是:网络为一个单元所拥有;地理局限和站点数目均有限。

    局域网具有如下主要优点:具有广播功效,从一个站点可利便地接见全网。局域网上的主机可共享毗邻在局域网上的种种硬件和软件资源。便于系统的扩展和逐渐地演变,

              各装备的位置可天真调整和改变。提高了系统的可靠性、可用性和残存性。

    局域网的常见拓扑结构

        计算机网络基础-3-数据链路层

    局域网的媒体共享手艺:静态划分信道:频分复用、时分复用、波分复用、码分复用

               动态媒体划分接入控制(多点接入):随机接入、受控接入(如多点线路探询或轮询)

    以太网的两个尺度:DIX Ethernet V2是世界上第一个局域网产物(以太网)的规约。

             IEEE802.3是第一个IEEE的以太网尺度。常将802.3局域网简称为“以太网”。严酷来说,“以太网”应当是指相符DIX Ethernet V2尺度的局域网。

    数据链路层的两个子层

      为了使数据链路层能更好地顺应多种局域网尺度,IEEE802委员会就将局域网的数据链路层拆成两个子层:逻辑链路控制LLC子层(Logical Link Control)

                                                     媒体接入控制MAC子层(Medium Access Control)

      与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关。不管接纳何种协议的局域网,对LLC子层来说都是透明的。一样平常不思量LLC子层。以是

      许多厂商生产的适配器上就仅装有MAC协议,而没有LLC协议。

      计算机网络基础-3-数据链路层

    适配器的作用:网络接口板又称为通讯适配器或网络接口卡NIC或网卡。举行串行到并行的转换。对数据举行缓存。在盘算机的操作系统安装装备驱动程序。实现以太网协议。

      计算机网络基础-3-数据链路层

五、CSMA/CD协议(先发再听,边发边听,碰撞住手,随机延发)

    CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection),是为了解决局域网的共享媒体手艺随机接入突发性发生的冲突问题而提出的不可靠传输协议

    “多点接入”(Multiple Access)示意许多盘算机以多点接入的方式毗邻在一根总线上。

手把手教你Windows Linux双系统的安装与卸载

    “载波监听”(Carrier Sense)是指每一个站在发送数据之前先检测一下总线上是否有其他盘算机在发送数据,若是有,则暂时不要发送数据,以免发生碰撞。

    “碰撞检测”(Collision Detection)是指盘算机边发送数据边检测信道上的信号电压巨细。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将增大。当

                一个站检测到信号电压摆动值跨越一定的门限值时,就以为总线上至少有两个站同时在发送数据,解释发生了碰撞。在发生了碰撞后

                总线上传输的信号发生严重的失真,无法从从恢复出有用的信息来。每一个正在发送数据的站,一旦发现总线上泛起了碰撞,就立刻

                住手发送,省得继续虚耗网络资源,然后的守候一段随机时间后再次发送。

     问题1:每一站在发送数据之前已经监听到信道为”空闲”,为什么还会泛起碰撞?

       答:计算机网络基础-3-数据链路层    计算机网络基础-3-数据链路层

        CSMA/CD主要特征:使用CSMA/CD协议的以太网不能举行全双工通讯,而只能举行双向交替通讯(半双工通讯)。每个站在发送数据之后的一小段时间内,

                存在着遭遇碰撞的可能性。这种发送的不确定性,使整个以太网的平均通讯远远小于以太网的最高数据率。

    问题2:某站点发出数据后最多经由多长时间能够检测到碰撞冲突?

       答:t = 2τ – δ的最大值即δ -> 0时,以是距离碰撞点最远的站点最多经由2τ的时间检测到碰撞冲突。2τ有个专用术语叫做争用期。

       争用期:最先发送数据帧的站,在发送数据帧后至多经由时间2τ(往返时延,两倍端到端的流传时延),就可知道发送端额数据帧是否遭受了碰撞。这个争用期

         在现实的10Mbit/s以太网中取51.2us为争用期长度。

       最短有用帧长:对于10Mbit/s以太网在争用期内可发送512bit,即64字节。这意味着,以太网在发送数据时,若前64个字节没有发送冲突,则后续数据就不会

            发生冲突。以是以太网划定了最短有用帧长度为64字节,通常长度小于64字节的帧都是由于冲突而中止的无效帧。

    问题3:发生碰撞之后若何举行避让?

       答:检测到碰撞–>数据失真–>住手发送

         退避一段时间–>再次发送

    问题4:退避时间,这个时间若何确定?

       答:CSMA/CD协议用到了一个截断二进制指数类型退避算法:发生碰撞的站在住手发送数据后,要退避一个随机时间才气再发送数据。

          详细流程如下:1.确定基本退避时间,一样平常是取争用期2τ

                 2.界说重传次数k,k<=10,即k = Min[重传次数,10]

                 3.从整数聚集[0,1,2,3,…,(2k – 1)]中随机地取出一个数,记为 r。重传所需所需的时延就是 r 倍的基本退避时间。

                 4.当重传16次仍不能乐成时即抛弃该帧,并向高层讲述。

六、使用集线器的星型拓扑

    传统以太网最初是使用粗同轴电缆,厥后演进到使用对照廉价的细同轴电缆,最后发展为使用更廉价和天真的双绞线。接纳双绞线的以太网接纳星型拓扑,在星形的

  中央则增加了一种可靠性异常高的装备,叫做集线器(hub)。

    计算机网络基础-3-数据链路层    计算机网络基础-3-数据链路层

    使用无屏障双绞线,接纳星型拓扑。每个站需要用两对双绞线,划分用于发送和吸收。双绞线的两头使用RJ-45插头。集线器使用了大规模集成电路芯片,因此集线

  器的可靠性提高。10BASE-T的通讯距离稍短,每个站到集线器的距离不跨越100m

    集线器的特点:1.集线器是使用电子器件来模拟现实电缆线的事情,因此整个系统仍然像传统以太网那样运行。

           2.使用集线器的以太网在逻辑上仍然是一个总线网,各事情站使用的照样CSMA/CD协议,并共享逻辑上的总线。

           3.集线器很像一个多接口的转发器,事情在物理层

           4.集线器接纳了专门的芯片,举行自顺应串音回波抵消,削减了近端串音。

           计算机网络基础-3-数据链路层

    以太网的信道行使率:多个站在以太网同时事情就可能会发生碰撞。当发生碰撞时,信道资源现实上是虚耗了。因此当扣除碰撞所造成的信道损失后,以太网总的信

            道行使率并不能到达100%。假设 τ 是以太网端到端的流传时延,则争用期长度为2τ,即端到端流传时延的两倍。检测到碰撞后不发送滋扰信号。设

            帧长为L(bit),数据发送速率为C(bit/s),则帧的发送时间为T0= L/C  (s)。一个站在发送帧时发生了碰撞。经由一个争用期2τ后,可能又泛起了一个碰

            撞。这样经由若干个争用期后,一个站发送乐成了。假定发送帧需要的时间是T0

            计算机网络基础-3-数据链路层

            由图可知,乐成发送一个帧需要占用信道的时间是T0 + τ,比这个帧的发送时间要多一个端到端的流传时延τ 。这是由于当一个站发送完最后一个比

              特时,这个比特还要在以太网上流传。在最极端的情况下,发送站在传输媒体的一端,而比特在媒体上传输到另一端所需的时间是τ。

    参数α与信道行使率:要提高以太网的信道行使率,就必须削减 τ 与T0 之比。在以太网中定了参数α,它是以太网端到端流传时延 τ 与帧的发送时间T0 之比。即α=τ/T0

                 当α趋近于0时,示意发生碰撞就立刻可以检测出来,并立刻住手发送,因而信道行使率很高。

                 当α越大时,解释争用期所占比例增大,每发生一次碰撞就虚耗许多信道资源,使得信道行使率显著降低。

              以是为提高信道行使率,以太网的参数α的应当尽可能小一些。对以太网参数α的要求是:当数据率一准时,以太网的连线的长度受到限制,否则

              τ 的数值会太大。以太网的帧长不能,否则T0 的值会太小,使α值太大。

                计算机网络基础-3-数据链路层

                计算机网络基础-3-数据链路层

七、以太网的MAC层

    在局域网中,硬件地址又称为物理地址,或MAC地址。802尺度所说的”地址”严酷地讲应当是每一个站的”名字”或标识符。请注重,若是毗邻在局域网上的主机或

  路由器安装多个适配器,那么这样的的主机或路由器就有多个地址,更准确的说,这种48位的地址应当是某个接口的标识符。

    IEEE802尺度划定,MAC地址字段可接纳6字节(48位)或2字节(16位)这两种中的一种。IEEE的注册治理机构RA卖力向厂家分配地址字段6个字节中的前三个字节,

  称为组织唯一标识符。地址字段的6个字节中的后三个字节由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。一个地址块可以生产224

  差别的地址,这种48位的地址称为MAC-48,它的通用名称是EUI-48。生产适配器时,6字节的MAC地址已被固化在适配器的ROM,因此MAC地址叫做硬件地址。

      计算机网络基础-3-数据链路层

    单站地址、组地址、广播地址

        IEEE划定地址字段的第一字节的最低位为I/G(Individual/Group)位。

            1.当I/G位=0时,地址字段示意一个单站地址

            2.当I/G位=1时,示意组地址,用来举行多播。此时IEEE只分配地址字段前三个字段中的23位。

            3.当I/G位划分为0和1时,一个地址块可划分天生223个单站地址和223个组地址。

            4.所有48位都为1时,为广播地址。只能作为目的的地址使用。

        IEEE划定地址字段第一字节的最低第2位为G/L位,示意Global/Local。

            1.当G/L位=0时,是全球治理(保证在全球没有相同的地址),厂商想IEEE购置的OUI都属于全球治理。

            2.当G/L位=1时,这时用户可以随便分配网络上的地址。

    适配器检查MAC地址

        适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。若是是发往本站的帧则收下,然后再举行其他的处置。否则就将此帧抛弃,不再举行其他处置。

       “发往本站的帧”包罗以下三种帧:单播帧:(一对一)

                       广播帧:(一对全体)

                       多播帧:(一对多)

        所有适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。有的适配器可用编程方式识别多播地址。

        只有目的地址才气使用广播地址和多播地址。以混杂方式事情的以太网适配器只要”听到”有帧在以太网上传输就都吸收下来。

    MAC帧的花样:最常用的MAC帧是以太网DIX Ethernet V2尺度花样

        计算机网络基础-3-数据链路层

        1.6字节目的地址字段:目的MAC地址

        2.6字节源地址字段:源MAC地址

        3.2字节上层协议类型字段:用来标志上一层使用的是什么协议。

        4.46~1500字节的MAC客户数据字段:最小长度64字节-18字节的首部和尾部 = 46字节数据字段的最小长度。当数据字段的长度小于46字节时,应当在数据字段的

                       后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。

        5.4字节CRC循环冗余检测法的FCS帧校验序列:当传输媒体的误码率为1*10-8时,MAC子层可使未检测到的差错小于1*10-14

    无效MAC帧(知足以下其一即是无效帧):对于检查出无效MAC帧就直接抛弃。以太网不卖力重传抛弃的帧

        1.数据字段长度和长度字段的值不一致

        2.帧的长度不是整数个字节

        3.用收到的帧磨练序列FCS查出有错

        4.数据字段的长度不在46~1500字节之间

        5.MAC帧长度不在64~1518字节之间

八、以太网的扩展(指的是从数据链路层和物理层上举行扩展)

    1.以太网扩展的目的

        计算机网络基础-3-数据链路层

    2.在物理层扩展

        (1)使用光纤扩展:主机使用光纤(通常是一对光纤)和一对光纤调制解调器毗邻到集线器。很容易使主机和几公里之外的集线器相毗邻。

                 计算机网络基础-3-数据链路层

        (2)使用集线器扩展:使用多个集线器可连成更大的、多级星型结构的以太网。

                 优点:使原来属于差别碰撞域的以太网上的盘算机能够举行跨碰撞域的通讯。扩大了以太网笼罩的地理局限。

                 瑕玷:碰撞域增大了,当总的吞吐量没有提高。若是差别的碰撞域使用差别的数据率,那么就不能用集线器将它们互连起来。

    3.在数据链路层扩展(更常用)

        早期使用网桥,现在使用交流机。

        网桥事情的数据链路层,凭据MAC帧地址的目的地址对收到的帧举行转发和过滤。当网桥收到一个帧时,并不是向所有的接口转发此帧,

      而是先检查此帧的目的MAC帧,然后再确定将该帧转发到哪一个接口,或把它抛弃。

        1990年问世的交互式集线器可显著地提高以太网的性能。交流式集线器常称为以太网交流机,或第二层交流机。

        计算机网络基础-3-数据链路层

        以太网交流机的交流方式:

           1.储存转发方式:把整个数据帧先缓存后再举行处置。

           2.直通方式:吸收数据帧的同时就立刻按数据帧的目的MAC地址决议该帧的转发接口,因而提高了帧的转发速率。瑕玷就是不检查差错就直接将帧转发出去。

        以太网交流机自学习功效:

          计算机网络基础-3-数据链路层           计算机网络基础-3-数据链路层

          计算机网络基础-3-数据链路层

九、虚拟局域网

    行使以太网交流机可以很利便的实现虚拟局域网VLAN。

    计算机网络基础-3-数据链路层

    计算机网络基础-3-数据链路层

 

    虚拟局域网的MAC帧花样:

    计算机网络基础-3-数据链路层

    计算机网络基础-3-数据链路层

原创文章,作者:28x29新闻网,如若转载,请注明出处:https://www.28x29.com/archives/11406.html