目录
1、数据链路层概述
数据链路层在网络体系结构中所处的地位
链路(Link)就是从一个结点到相邻结点的以段物理线路,而中间没有任何其他的交换结点。
数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层以帧为单位传输和处理数据。
数据链路层的三个重要问题
封装成帧
差错检测
可靠传输
封装成帧
封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界。
差错检测
可靠传输
尽管误码是不能完全避免的,但若能实现发送方发送什么接收方就能接收到什么,就称为可靠传输。
2、封装成帧
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
帧头和帧尾中含有重要的控制信息。
帧头和帧尾的作用之一就是帧定界。
3、透明传输
透明传输是指数据链路层对上层交付的数据没有任何限制,就好像数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
- 面向比特的物理链路使用比特填充的方法实现透明传输。
为了提高帧的传输速率,应当使帧的数据部分尽可能大些。
考虑到差错控制等多种因素,每一种数据链路层都规定了帧的数据部分的长度上限,即最大传送单元MTU.
面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
面向比特的物理链路使用比特填充的方法实现透明传输。
4、循环冗余检验码
差错检测
把接收端收到的数据与发送端实际发出的数据出现不一致的现象成为差错。
产生差错的主要原因:由于通信线路上的噪声干扰等。
差错类型
在物理层的讨论中,我们已经讨论了物理信道中所存在的各类噪声,噪声会引起数据传输中的错误。
根据噪声的类型不同:随机错 | 突发错
热噪声——>随机错
冲击噪声(如EMI,RFI)——> 突发错
差错的衡量
差错由误码率来衡量:
Pe=错误接收的码元数/接收的码元总数
误码率越低,信道的传输质量越高
差错控制的核心
差错控制的核心是对传送的数据信息加上与其满足一定关系的冗余码,形成一个加强的、符合一定规律的发送序列。
接收端利用相同的规律进行检查从而发现错误。
校验码的分类:纠错码 | 检错码
纠错码
纠错码不仅能发现传输中的错误,还能利用纠错码中的信息自动纠正错误
对应的差错控制措施为自动向前纠错
汉明码(Hamming code)为典型的纠错码,具有很高的纠错能力
检错码
检错码用来发现传输中的错误,但不能自动纠正所发现的错误
对应的错误纠正机制为为反馈重发机制
常见的检错码有:循环冗余校验码(CRC)
循环冗余校验码
Cyclic Redundancy Check,简称CRC
工作原理:多项式除法,将余式作为冗余信息传送
又称多项式校验
循环冗余校验
数学基础:
1、一个k+1位的二进制数可以表示成系数为1或0的k阶多项式:
eg:110001表为
2、多项式的加法不进位,减法不接位(异或)
01011011 010111011
- 10010101 + 11001010
= 11001110 10010001
CRC的工作原理
将要发送的二进制数序列看出一个多项式。n位的数据序列对应n-1次多项式。
P(x)=
要发送的二进制数序列为"110011", 6位的数据序列对应5次多项式:
选定除式,被选作除式的多项式成为生成多项式G(x),常见的生成多项式有:
CRC的例子
要发送的二进制数序列为“101001”,6位的数据序列对应5次多项式:
选定的生成多项式:
(最高次数为3,相当于1101)
被除多项式为:(相当于101001000)
循环冗余校验码原理
CRC的检错能力
- 全部单个错
- 全部离散的二位错
- 全部奇数个错
- 全部长度小于或等于K的突发错(k为生成多项式的最高次幂)
- 以的概率检出长度为k+1位的突发错
5、自动反馈重发
反馈重发机制
含义:由于检错码不能自动纠正所发现的错误,所以当接收方发现错误时,要给发送方反馈信息要求重发。这就叫自动请求重传,ARQ(Automatic Repeat Request)。
停止等待方式
发送端在发出一帧后必须停下来等待接收端对所发送的帧进行确认。若确认对方正确收到,则发送方继续发送下一帧,否则,发送方就重发该帧。
正确接收的帧被称为确认帧(acknowledgement, ACK)
错误接收的帧被称为否认帧(negative acknowledgement, NAK)
确认帧带有序号n,按照习惯的表示法,ACKn表示“第n-1号帧已经收到,到现在期望接收第n号帧”。
如:ACK1表示“第0号帧已收到,到现在期望接收的下一帧是1号帧”。
停止等待协议
四种情况
解决重复帧的问题
使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加1。
若结点B收到发送序号相同的数据帧,就表明出现了重复帧。这时应该丢弃重复帧。
帧的编号问题
任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。
序号占用的比特数越少,数据传输的额外开销就越小。
对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特编号就够了。
一个比特可表示0和1两种不同的序号。
可靠通信的实现
虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的确认和检错重传机制,就可以在不可靠的传输网络上实现可靠的通信。数据链路层对上面的网络层就可以提供可靠传输的服务。
ARQ表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。
例题
结论
- 传输延迟大,信道带宽高,帧短时,信道利用率低。
- 停止等待协议实现简单,但距离远时信道利用率低。
6、PPP协议
一、PPP协议的应用
PPP是点对点协议(Point-to-Point Protocol)的简称,它是一个工作与数据链路层的广域网协议,它通常用在两节点间创建直接的连接,并可以提供连接认证、传输加密等服务。
PPP由IETF(Internet Engineering Task Force)开发,目前已被广泛使用并成为国际标准。无论是同步电路还是异步电路,PPP协议都能够建立路由器之间或者主机到网络之间的连接。PPP属于纯粹的数据链路层,与物理层没有任何关系。换句话说,仅有PPP无法实现通信,还需要有物理层的支持。
在ADSL上网的方式中,每一个ISP(Internet服务提供商)都已经从因特网的管理机构或更大的ISP申请到一批IP地址,ISP通过高速通信专线与Internet相连。用户在申请后,就可以通过拨号方式利用Modem,电话线接入到ISP。
二、PPP协议的特点
- 一、数据链路建立
- 二、动态分配IP地址
- 三、支持多种网络协议,同时传输多种报文
- 四、错误检测
- 五、身份验证
- 六、协商选项
PPP协议使用了OSI分层体系结构中的三层。
PPP体系结构与OSI结构关系:
- LCK(Link Control Protocol, 链路控制协议)主要用于数据链路连接的建立、拆除和监控、参数的协商等。
- NCP(Network Control Protocol, 网络层控制协议族)主要用于协商在该链路上所传输的数据包的格式与类型,建立和配置不同网络层协议;目前,NCP有IPCP和IPXCP两种。
- 通过PPP连接时,有两种验证方式,分别为PAP和CHAP。
-
-
- PAP是PPP连接建立时,通过两次握手进行用户名和密码验证,其中密码以明文方式传输。
- CHAP采用密文验证方式,此外,在建立连接后还可以进行定期的密码交换,用来检验对端是否中途被替换。
-
三、PPP协议体系结构
ADSL模式中PPP协议的应用
PPP协议工作过程
PPP协议帧格式
标志字段:用来区分每个帧。这一点与HDLC协议非常相似,因为PPP本身就是基于HDLC制定出来的一种协议
地址字段:总数设成二进制值11111111,表明主从端的状态都为接收状态
控制字段:其缺省值为00000011,此值表明是一个无序号帧
协议字段:是告知在信息字段中使用的是哪类分组,针对LCP、NCP、IP、IPX、AppleTalk及其他协议,定义了相应的代码
信息字段:是变长的,最多可达到所商定的最大值,缺省长度1500字节
7、常见的数据链路层设备
数据链路层主要功能是成帧和传递帧(Frame),并通过硬件的MAC(Media Access Control)地址进行转发。
数据链路层的设备是指那些同时具有物理层和数据链路层功能的设备:
- 网络适配器(网卡)
- 网桥
- 交换机
网络适配器(网卡)
网络适配器(NIC),简称网卡。
网卡一方面负责接收网络上传来的数据帧,解帧后将数据通过主板上的总线传输给本地主机上的CPU及存储器;另一方面它将本地数据封装成帧后送入网络。还涉及帧的发送与接收、帧的封装与拆封,介质访问控制,数据的编码与解码以及数据缓存的功能等。
工作原理
对于网卡而言,每个网卡都有一个唯一的网络节点地址,它是网卡生产厂家在生产时烧入ROM(只读存储芯片)中的,我们把它叫做MAC地址(物理地址),且保证绝对不重复。
组成部分
1)接口控制电路
2)数据缓冲器
3)数据链路控制器
4)编码解码电路
5)内收发器
6)介质接口装置
网桥
网桥准确的说它工作在介质访问控制(MAC)子层上,将两个局域网(LAN)连起来,根据MAC地址(物理地址)来转发帧,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于联接数量不多的、同一类型的网段。并且能够对这些网段之间的通信进行智能判断,通过过滤通信和减少冲突来提高网络性能。
工作原理
如图所示,网桥的端口1与网段A相连,端口2与网段B相连。网桥从端口接收到网段传送的各种帧,每当收到一个帧时,就先放在其缓冲区中,若此帧未出现差错,且欲发往目的地站地址属于另一个网段,则通过查找站表,将收到的帧送往对应的端口转发出去,否则就丢弃此帧。仅在同一网段中通信的帧,不会被网桥转发到另一个网段中。
网桥分类
通常有两大类:
- 透明网桥
- 源路由选择网桥
根据网桥在网络中所处位置的不同:
- 内桥
- 外桥
- 远程桥
交换机
交换机(Switch),也称为交换式集线器,使计算机能够相互高速通信的独享带宽的网络设备,但是和普通的集线器在功能上有很大区别。普通的集线器只能起到收发数据的作用,而交换机可以智能的分析数据包,有选择得将其发送出去。
工作原理
交换机是一种基于MAC地址(网卡的硬件标志)识别,能够在通信系统中完成信息交换功能的设备。
其工作原理可以简单的描述为“存储转发”四个字,比如有两台计算机(A和B)通过交换机来连接,如果A要向B传输数据,交换机首先可以将连接到A端口发送的信息先存储起来,然后查找交换机内的MAC地址列表,每一个MAC地址对应一台计算机,找到后会与B之间架起一条临时的专用数据通道,并将数据发送到B中。因为交换机支持“全双工”模式,所以B在接收A发送的数据的同时,还可以向S或其他的计算机发送数据。
交换机MAC地址学习
每个交换机内部都有有一张MAC地址表,用来记录每个端口连接到计算机上的网卡地址(MAC地址)。在交换机刚打开电源时,其地址表是一片空白。
打开电源后,安装在该计算机中的网卡会定期发出空闲包或信号,交换机可据此得知它的存在和MAC地址。并把这个MAC地址和它所连接的端口对应起来,作为一条记录保存在交换机的MAC地址表中。
交换机的分类
目前,市场上可供选择的交换机种类比较多:
- 按端口可以分为5口,8口,16口,24口等交换机
- 按端口的传输速率可以分为:
10Mbps交换机、100Mbps交换机
10Mbps/100Mbps自适应交换机,10Mbps/100Mbps/1000Mbps自适应交换机以及1000Mbps交换机
- 按不同分类方法,局域网交换机分为:工作组交换机、部门交换机和企业交换等