数据链路层(CRC校验)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tyhaotingdege/article/details/79787456
  1. 数据链路层的作用是是网络层接受的数据包可以可靠的在物理层的比特信道上传输,主要校验处理传输错误。
  2. 数据链路层数据链路除了物理链路以外还包括实现数据传输的协议,这些协议由硬件和软件来完成。适配器(网卡) 就可以实现协议的硬件和软件。
  3. 数据链路中传输的单位是帧,帧有首部(SOH)和尾部(ETO)标志着帧定界。该层要解决的3个基本问题是:封装成帧、透明传输、差错检验。
  4. 帧的透明传输问题:当帧的数据部分如果出现了尾部(ETO)相同值时,接收端就会在遇到该ETO时认为帧结束了并把后边的的帧内容当作是无用帧丢掉。

         解决方法:在特殊字符前加上转义字符(0x1B),特殊字符包括:SOH、ETO、转义字符。

  1. 数据链路层中会对每一帧数据进行CRC校验,判断每一帧数据传输是否正确。发送方会在一帧的尾部添加一组根据CRC算出来的结果,接收方会将一帧尾部前的部分进行同样的CRC算法,并与帧的尾部(发送方算出结果)进行比较,如果相等则认为传输正确。

         CRC算法原理简介:方法是将传输的二进制数据除以某生成式(除法描述见下文),并将余数放到帧的尾部待接收方验证,余数位数是多项式位宽数。CRC分为CRC8、CRC16、CRC32等方式数据传输校验准确度依次提高,其生成式的位宽对应于8 、16、32(实际上多项式位数比位宽多一,且首位永远是1),CRC8、CRC16 、CRC32的生成式是固定的几个值是别人通过数学的方式研究出来的。

        位宽为4的除法描述:  

  1. PPP协议是使用最多的协议是点对点传输的协议,特点是:简单,提供不可靠数据传输,只检验不纠错,同时支持多种网络层协议。PPPOE是为宽带上网的主机使用的链路层协议。ppp协议和pppoe协议联系密切但不是简

          单的包含与被包含关系。

  1. ppp协议帧要求: 7E表示帧开始和结尾,FF固定值,03控制字段

                                     

  1. ppp协议透明传输的2种解决方法:异步传输添加转义字符;同步传输5个1后立即添加0。
  2. 共享通信媒体资源(文字照片视频)的两方法:一是:静态划分信道(各种复用技术);二是:动态媒体接入控制。
  3. 局域网的数据链层是很重要的,比如CAN通信就是局域网也就是说车身上ECU间通信都是使用的局域网,当然最终的数据可能会通过T-box连上以太网。
  4. 计算机与外界局域网相连是通过适配器也就是网卡,电脑硬件地址就储存在网卡的ROM中,MAC帧的目的地址就是寻找符合硬件地址要求的主机。
  5. 以太网是局域网一种的 ,是数据链路层的。以太网采用无连接工作方式时对发送帧不进行编号,不要求回复确认,差错帧就丢弃。
  6. 以太网的硬件地址也就是MAC地址,实际上就是适配器地址(适配器标识符),与主机所在地无关,源地址和目的地址都是48位长。
  7. 适配器有过滤功能它只就收单帧、广播帧、多播帧。
  8. 网桥可以在数据链路层扩展以太网,其不改变帧的源地址。
  9. 数据链路具有检测、确认和重传的作用使得不太可靠的物理链路变成了可靠的数据链路。
  10. 最早以太网就是许多计算机连接在一总线上,所有计算机都可以收到总线上的信息,数据帧首是地址只有符合地址的计算机可以被接收。
  11. 以太网是局域网的一种,现在以太网几乎垄断了局域网成为局域网的代名词,以太网现在主要是DIX Ethernet V2标准。
  12. 为通信简便,以太网采用CSMA/CD协议协调以太网通信,防止以太网信息冲突,CSMA/CD协议:载波监听多点接入/碰撞检测,并且发送数据采用曼切斯特编码。下面简介曼切斯特编码编码和CSMA/CD协议 :

         曼切斯特编码 :在二进制通信中出现连1或连0时的位提取依旧是比较麻烦的,曼切斯特就将一个码元分为了两个相等时间间隔,相当于一个码元有两个Bit,然后再约定好10代表1,01代表0,这样就保证了每个码元的中间时间都会有一次电平跳变。

         CSMA/CD(载波监听多点接入/碰撞检测):这个理解了其实就很简单,解释这个名字:多点接入表示多站点连接同一总线上;载波监听指站点可以检测到信道上的信号,是站点可检测的东西之一;当多个站点同时发送数据时电压会叠加导致信号丢失,当电压变化幅度叠加超过某闸限就认为信号碰撞 ,通过碰撞检测发现它,是站点可检测的东西之一;发送信号的前提条件不是检测信道空闲时才会发送吗,怎么还会有信号碰撞?那是因为传输距离导致的,A发给B信号,在整个信号帧都发完了在A和B之间的传输线上,但还没到B,这时B没有监听到载波(因为A还没到)也没检测到碰撞,万一刚好B发出了信号给A,就碰撞了。那怎么解决这个问题?如果A发的信号刚好到B时碰撞了,产生的碰撞信号再传回给A的时间,是在这条传输线上检测到最长的碰撞的时间,如果这段时间不碰撞,就说明之后不会碰撞了(仔细想想),这段时间称为争用期。还有个要点指的一提:我们要是把发送一帧的时间设置为争用期那么长,就可以让碰撞在一帧发送完之前被检测到,这就是我们所想要的,我们可以及时终止这一帧的发送和确定下次重传这一帧,所以每条线路都有最短帧,以太网规定最短帧为64Btye =512bit。检测到冲突后的处理方式是什么呢?见笔记-can通信

  1. 10BASE-T:10表示10Mb/s;    BASE表示基带信号;     T表示双绞线星型结构。
  2. MAC帧的格式:

                                   

  1. MAC帧和PPP帧的区别是什么:PPP帧是点对点的信息帧传输,所以没有目的地址,电脑和路由器之间的通信就是用的PPP帧(配置路由器)。而MAC帧是广播的,发给所有主机只有符合目的地址的可以接受到,这个信息在物理层传输时会多8字节用于同步,具体的接收方式查看can笔记-can通信。
  2. 网桥是连接多个以太网的设备,每个以太网可以称为一个网段,网桥的一个接口连接一个网段,网桥通过转发表传递不同网段的帧。
  3. 以太网网桥转发表自学习方式:主机A发出一帧后网桥若查找转发表没有发现该目的地址,将帧中的源地址和进入接口放到转发表中的“地址栏“中,然后转发给其它网桥。这样相当于如果目的地址是在所有网桥中没有记录的,那么会遍历一遍所有的网桥,这样就使得所有网桥中的转发表中添入了源地址,遍历的过程中目的地址的主机其实早就收到了该帧。
  4. 网桥中的转发表是每隔一段时间按就会清空一次以保证网络拓扑是最新状态。

猜你喜欢

转载自blog.csdn.net/tyhaotingdege/article/details/79787456