文章目录
一、数据链路层的主要任务
1、主要任务
数据链路层借助物理层为网络层提供服务。主要任务有:
- 为网络层提供较好的服务接口
- 进行差错检验
- 对传输的数据流进行管理,以免快速的发送淹没慢速的接收端。
2、具有的功能
把网络层的数据加上校验组装帧,然后交给物理层,让物理层用某种信号标识二进制数据位传达到目的计算机。并通过计算机的物理层和数据链路层将数据送达网络层,也就是为网络层提供可靠的数据链路。
二、数据链路与帧
1、链路与数据链路
- 链路:一条无源的点到点的物理线路,中间没有其他交换节点。
- 数据链路:除物理线路外,还必须有通信协议来控制这些传输的数据,把实现这些协议的硬件和软件添加到链路上,就构成了数据链路。(最常用的方法是使用适配器即网卡来实现这些协议,一般的适配器都包含了数据链路层和物理层)
2、帧
数据链路传送的是帧。
3、三个基本问题
1)、封装成帧
封装成帧就是在一个数据段的前后添加首部和尾部,然后构成帧。确定帧的界限。
首部和尾部的重要作用就是进行帧定界。
2)、透明传输
透明传输的定义:针对开始和结束标志采用专门的控制字符,当传输的数据段中存在首部(SOH)或尾部(EOT)标识符时,就会使帧定界出现错误从而影响正常的传输。而透明传输则是指无论数据包中传输的信息为什么,都不会影响帧的定界,都能完整、无误的传输过去。
解决透明传输的方法步骤:
- 在数据中出现控制字符“SOH”或“EOT”的前面插入转义字符“ESC”
- 字节填充:接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
- 如果转移字符也出现在了数据中,则在转义字符之前再插入一个转义字符。相应的在发送到网路层前也要删除前面一个。
3)、差错检验
在比特数据传输过程中可能会产生比特差错,1可能会变成0,0可能会变换成1。在一段时间内,传输错误的比特数占所有总数的比率称为误码率(BEP)。未了保证数据传输的可靠性,在传输数据时,必须采用各种差错检测措施。常用的检测方法是循环冗余检测(CRC)。
循环冗余检测:
校验原理:在发送端,先把数据划分为组,假定每组K个比特,数据M=101001(K=6),在发送K比特的数据时,在数据后面加上n位冗余码一起发送。
冗余码的计算:用二进制的模2运算进行2n乘M的运算得到被除数。以事先商量好的长度为(n+1)位的除数进行模2除运算,得到商Q,余数R,R则作为校验码添加到M之后。
CRC检测:在检测时运算除余数R等于0则说明无误,否则说明传输出现差错,丢弃出错的帧
注意点: CRC差错检测技术只能做到无差错接受,对于有差错的帧是直接丢弃而不接受。要做到可靠传输(发送什么就收到什么)还得加上确认和重传机制。
三、两种链路层信道
1、使用点对点通信的数据链路层
点对点拓扑:点对点拓扑将两个点直接连接起来。
点对点信道: 用户到ISP的链路使用PPP协议。
点对点协议PPP: 点对点协议PPP是目使用最多的数据链路层协议。用户在使用拨号电话接入因特网时一般都是用的PPP协议。
PPP协议的帧格式:
- 标志字段:F=0x7E
- 地址字段:A=0xFF
- 控制字段:C=0x03
注: PPP协议都是面向字节的,所有的PPP帧的长度都是整数字节。
透明传输问题:当PPP协议在同步传输链路时,协议规定采用硬件来完成比特填充。当PPP在异步传输时,就使用一种特殊的字符填充法。
字符填充:
- 将信息段中出现 0x7E字节时转变为两个字节(0x7D,0x5E)
- 信息中出现0x7D字节时将其转变为两个字节序列(0x7D,0x5D)
- 信息中出现ASCII码 的控制字符(数值小于0x20),则在字符前面加入一个0x7D字节,同时将该字符的编码加以改变 。
零比特填充:
- PPP协议用在SONET/SDH链路时,使用同步传输方式,此时采用的时零比特填充。
- 在发送端只要有5个连续的1时,在这5个1后面加入一个0,在接收端收到连续的5个1时则将后面的一个0删除。
2、使用广播信道的数据链路层
1)局域网的数据链路层
局域网的主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网具有的优点:
- 具有广播功能,从一个站点可以很方便的访问全网。
- 便于系统的拓展和逐渐演变,各个设备的位置可以灵活改变。
- 提高了系统的可靠性、可用性和残存性。
针对共享介质的介质访问控制:
- 受控接入,每隔几日点都有自己使用介质的时间。
- 随机接入:所有节点自由竞争介质的使用权。
适配器: 适配器又称网络接口卡或网卡。具有以下功能:
- 进行串行或并行数据转换
- 对数据进行缓存
- 在计算机操作系统上安装设备驱动程序
- 实现以太网协议。
- 使计算机能和局域网正常通信
2)CSMA/CD协议简介
载波监听多点接入技术(CSMA/CD)主要由于下几个要点:
- 多点接入:许多计算机以多点接入的方式连接到统一根总线上。
- 载波监听:指每一个站在发送数据前都要检测一下总线上是否有其他计算机在发送数据,如果有则暂停发送,以免发生碰撞。
- 碰撞检测:就是计算机在发送数据时一边发送一边检测总线上的电压大小。当几个站同时发送数据时,总线上的电压摆动值将会因为互相叠加而增大。当摆动值超过一定的门限时就表明发生了碰撞。碰撞会使总线上传输的数据严重失真,并且不可恢复。每一个正在发送数据的站检测到碰撞后,就会立即停止发送数据,避免浪费网络资源,在等待一段随机时间后在次发送。
电磁波在总线上的传输速率的影响:
当某个站点在监听到总线空闲时,A向B发送数据,经过一段时间后发送到B,在这段时间中,B在收到信息之前发送数据到其他主机,则必然会在某个时间产生碰撞,结果就是两个帧都作废。
争用期(碰撞窗口)的概念:
最先发送帧的窗口在发送数据后至多经过两倍时延(端到端往返)之后,即可检测到是否发生了碰撞。往返时间两倍时延被称为争用期或碰撞窗口。 只有经过争用期这段时间才能确定本次消息发送没有产生碰撞。
争用期的长度在以太网中为51.2us,对于10 Mb/s的以太网,在争用期内能发送512比特,即64字节。在发送数据时如前64字节没有发生碰撞,则说明后续也不会再发生碰撞,所以64字节长的帧也被称为最短有效帧。
四、使用广播信道的以太网
1、使用集线器的星型拓扑
这种以太网常使用便宜且灵活的双绞线传输信息,采用星型拓扑,在拓扑的中心增加了一种可靠性非常高的设备----集线器。集线器的特点:
- 采用电子器件模拟实际电缆线的工作。
- 使用集线器的以太网再逻辑上任然是一个总线,各个站点还是使用CSMA/CD协议。
- 很像具有许多接口的转发器,工作在物理层。
- 只进行比特转发,不进行碰撞检测。
2、以太网的MAC层及硬件地址
在局域网中,硬件地址又称为物理地址或MAC地址。
IEEE的注册机构RA负责向厂家分配地址的前三字节(即高24位)。
地址字段的后三字节(低24位)则有厂家自由分配,但必须保证适配器地址没有重复。
适配器检查MAC地址:
适配器从网络上接受到每一个MAC帧就首先用硬件检查MAC帧中的MAC地址。
- 如果是发送到本站的帧则收下在进行其他处理。
- 如果不是发送到本站的帧则丢弃,不做其他处理。
发送到本站的三种帧:
- 单播帧(一对一)
- 广播帧(一对全体)
- 多播帧(一对多)
以太网MAC 帧的格式:
最常用的MAC帧是以太网V2的格式
其中:
- 目的地址与源地址为48位,占8个字节。
- 类型:占两个字节,用来标志上一层使用的协议,以便于把收到的MAC帧交给上层的对应协议。
- IP数据报:46~1500字节,最小帧长度64字节-首部和尾部18字节=数据段的最小字节数46字节。
- FCS:帧校验序列占4字节。
- 前同步码与帧开始定界符:为了达到比特同步,在传输帧时在帧前面插入7个字节的同步码(由硬件生成)和1个字节的帧开始标志符。
帧最小间隔:
帧最小间隔为9.6us,相当于96比特的发送时间,一个站在发送一个帧之后必须等待9.6us才能再次发送,目的在于时刚刚收到数据帧的站的接收缓存来得及清理,做好接受下一帧的准备。
无效的MAC帧的定义:
- 数据字段的长度与长度字段的值不一
- 帧的长度不是整数个字节
- FCS校验有差错
- 数据字段长度不在46~1500之间
五、拓展以太网
1、数据链路层的拓展以太网
最开始的拓展以太网 常用的设备时网桥,其对收到的帧根据MAC帧的目的地址进行转发和过滤。1990年问世的交换式集线器很快就淘汰了网桥,这种交换时集线器又称为以太网交换机或者是二层交换机,需要强调的是这种交换机工作在数据链路层。
以太网交换机的特点:
加粗样式
- 实质上就是一个多接口的网桥,每个接口都与主机相连,一般为全双工方式。
- 独占传输媒体,无碰撞的传输数据。
- 使用了专用的交换结构芯片,交换速率高。
独占传输媒体的带宽:
对于普通的 10Mb/s 共享式以太网,N个主机,每个主机平均带宽只占总带宽的1/N,对于以太网交换机来说,每个用户在通信时独占通信资源,所以每个主机的占有带宽依然为10Mb/s。这是交换机的最大优点。
2、虚拟局域网
利用以太网交换机可以很方便的实现虚拟局域网(VLAN)。
虚拟局域网是一些局域网网段构成的与物理位置无关的逻辑组。这些网段具有某些共同的需求,每个VLAN的帧都有明确的标识符,指明发送这个帧的工作站属于哪一个VLAN。
虚拟局域网使用的以太网帧格:
虚拟局域网协议允许在以太网帧格式中插入一个四字节的标识符,称为VLAN标识,用来指明发送该帧的工作站属于那个虚拟局域网。