第一节 数据链路层服务
链路:通信链路连接的相邻结点的通信信道。
链路层数据单元:帧
主要功能包括:
1. 组帧
2. 链路接入:点对点链路、广播电路
3. 可靠交付(可靠传输方法多用于高出错率链路)
4. 差错控制
第二节 差错控制
一、差错控制的基本方式
差错控制的四种基本方式:
1. 检错重发
2. 前向纠错:接收端进行差错纠正
3. 反馈校验:接收端将收到的数据原封不动发回发送端
4. 检错丢弃
二、差错编码的基本原理
香农信道编码定理:
理论上可以通过编码使得数据传输过程不发生错误,或者将错误概率控制在很小的数值之下。
将通过进行编码,得到差错编码值,将差错编码值与原来的数值连接在一起通过信道进行传送,如果传输过程发生差错,这个数据或差错编码值会发生变化。
接收方收到数据后,把其中收到的数据取出来,然后用相同的差错编码方法进行运算,得到计算出的差错编码,然后将计算出的差错编码和我收到的差错编码进行比较,看是否一样,如果一样,说明数据正确,这时候把数据提交到网络层,否则出错了,那就进行适当的出错处理。
三、差错编码的检错与纠错能力
汉明距离:两个等长码字之间,对应位不同的位数。
编码集的汉明距离:该编码集中任意两个码字之间汉明距离的。
差错编码的检错或纠错能力与编码集的汉明距离有关。
1. 检错编码:如果编码集的汉明距离,则该差错编码可以检测 r 位的差错。
0000与0101有2位不一样
0101与1010有4位不一样
1010与1111有2位不一样
取最小值,所以汉明距离为2。所以,即可以检查一位错。
若将0000改为0001,它发现在这个编码里面没有0001这个编码,这就可以检测出错误了。
2. 纠错编码:如果编码集的汉明距离,则该差错编码可以纠正 r 位的差错。
同上,,可以纠正一位错。
若把第三位编码改为101110,则
1)000000与101110的汉明距离为4
2)010101与101110的汉明距离为5
3)101010与101110的汉明距离为1
4)111111与101110的汉明距离为2
综上,3)的汉明距离最小,则认为该出错的编码原本为3),那就将它改过来。
四、典型的差错编码
1. 奇偶校验码:
奇校验:编码后的码字中 "1" 的个数为奇数
偶校验:编码后的码字中 "1" 的个数为偶数qi
例:我要传输的是101,如果是奇校验,就在后面补个1,保证1的个数为奇数,即1011;如果是偶校验,就在后面补个0,保证1的个数为偶数,即1010,如果出错了,最后一位变为1,那么通过偶校验可以检验出错误。
2. 汉明码:
可以实现单个比特差错纠正。
3. 循环冗余码CRC:
检错能力强,编码效率高,实现简单。
【例题】假设CRC编码采用的生成多项式为,请为位串10111001进行CRC编码。
【答案】CRC编码后的结果为101110011001。
【解析】,提取前面的系数,即10011。对应的比特串为10011,在待编码位串10111001后添加0000,(因为的最高次项为4),得到101110010000,按如下计算过程求得余数R=1001。
所以最后的编码位101110011001,若余数少于4位,比如最后余数为1,那么就在前补三个0,即0001。
第三节 多路访问控制协议
一、信道划分MAC协议
多路访问控制MAC:广播信道上用于协调各个结点的数据发送。
(通常来说,需要通过多路访问控制的都是广播链路,广播链路会产生的影响:你发送出来的信号会传到别人那里,如果另外一个人也发送他自己的信号,你的信号就会和他的信号产生互相的干扰,即碰撞或冲突,这种干扰会导致接收方无法识别原来的信号,导致数据发送的失败。所以在这种情况下,对于广播型的链路下,哪个结点可以使用链路需要进行一些控制,以减少碰撞,或者说当碰撞发送后有办法去解决,可以使接收方收到有效的数据)
信道划分MAC协议:
1. 频分多路复用:在频域内将信道带宽划分为多个子信道。主要针对电信号
(就像在一条公路上划分为几条道,每条道仅限一辆车使用。)
2. 时分多路复用:将通信信道的传输信号在时域内划分为多个等长的时隙。主要针对电信号
(信道没有那么宽,那这个时间段传输你的数据,那个时间段传输他的数据。)
3. 波分多路复用:在一根光纤中,传输多路不同波长的光信号。主要针对光信号
4. 码分多路复用:从编码域进行划分,使得编码后的信号在同一信道中混合传输。
二、随机访问MAC协议
1. ALOHA协议
纯ALOHA:直接发送信道侦听冲突重发
时隙ALOHA:时隙开始时发送信道侦听冲突则下一时隙以概率P重发
2. 载波监听多路访问协议CSMA
(1)非坚持CSMA:忙则等待随机时间后再侦听
(2)1-坚持CSMA:忙则持续侦听
(3)P-坚持CSMA:闲则概率P在最近时隙发送
3. 带冲突检测的载波监听多路访问协议CSMA/CD
监听空闲后发送,发送时检测碰撞,碰撞后等待重发。
三、受控接入MAC协议
1. 集中式控制
由一个主机负责调度其他通信站接入信道,从而避免冲突。
主要方法:轮询技术,又分为轮叫轮询和传递轮询。
(你传完了就该你了)
2. 分散式控制
典型方法:令牌技术,如令牌环网。
第四节 局域网
一、数据链路层寻址与ARP
1. MAC地址
每个接口对应一个MAC地址,且全球唯一;长度48位。(前24位:厂商标识;剩余24位:由厂商给它生产的每一个网络设备(比如网卡)分配一个唯一的标识)
2. 地址解析协议(ARP)
根据本网内目的主机或默认网关的IP地址获取MAC地址;
查询/响应的方式。(广播的查询方式,前提是通信双方在一个广播的范围内)
二、 以太网
1. IEEE802.3标准
2. 采用CSMA/CD访问控制方法
3. 以太网技术
(1)10Base-5,10Base-T
(10表示10兆,Base表示基带传输的方法,5表示单兆的电缆最大传输距离为500米,而且电缆为同轴电缆,T表示使用的是双绞线)
(2)快速以太网100Base-TX,100Base-T4,100Base-FX(F:使用的是光纤)
(3)千兆以太网
(4)万兆以太网
三、交换机
传统的以太网存在CSMA/SD访问控制问题,所以会有一些冲突和碰撞的情况产生,导致网络的性能下降,尤其当主机的数量较多时,大家都抢着发送数据,不断的发生碰撞,所以性能下降非常厉害,在这种情况下就出现了交换机。
有了交换机后,数据只会在两台主机上传输,不会传输到其它地方
1. 转发与过滤
可以依据接收到的链路层帧的目的MAC地址,选择性地转发到相应的端口。
以目的MAC地址为主键,查找交换表。
(交换表类似于路由表,但路由表通过路由协议或者时人工添加构造出来的,若交换表也用这种方法就太复杂,成本太高,不利于组建一个小型的局域网。所以要通过其它方法,交换有自学习的方法)
2. 自学习
交换机通过自学习构建交换表。
3. 优点
(1)消除冲突,提高性能;
(2)支持异质链路;
(3)易于进行网络管理。
四、虚拟局域网(VLAN)
1. 一种基于交换机(支持VLAN功能)的逻辑分割广播域的局域网应用形式。
2. 不受物理位置的限制,以软件的方式划分和管理局域网中的工作组。
3. 能够抑制广播风暴。
4. 划分方法:
基于交换机端口
基于MAC地址
基于上层协议类型或地址
第五节 点对点链路协议
一、PPP
点对点协议——PPP:
能够处理差错检测、支持多种上层协议、允许连接时协商IP地址、允许身份认证。
典型应用:拨号上网
(使用拨号上网时计算机需要一个IP地址,而对于个人用户没有申请过IP地址,那么就需要ISP给它提供IP地址,类似于DSCP(动态主机配置协议),那么就需要协商IP地址,用户的计算机通过PPP协议和ISP协商获取一个IP地址。另外还需要计费,那么就需要用户身份认证)
功能:
1. 成帧
2. 链路控制协议LCP(链路建立-链路传输-链路拆除)
3. 网络控制协议NCP
(拨号成功了需要获取IP地址,通过NCP协议向服务器获取IP地址,服务器把它的IP地址、子网掩码给你的IP地址、子网掩码,以及默认网关等这些网络配置信息传输给计算机,计算机根据这些配置信息配置后,就可以有一个可以上网的IP地址和可以上网的其它网络配置)
二、HDLC协议
高级数据链路控制——HDLC协议:
可以应用于点对点链路和点对多点链路。
(发送的帧全部都是二进制的比特流,而对于接收方来说要怎么区分哪些数据是一个数据帧,所以每帧之间就需要一个边界,这个边界需要有一个特殊的信号,这个信号就是帧定界符)
帧定界:
帧的定界符是
如果在数据中也有,那用户就会认为这是一个数据帧,这样数据就会出错,那要如何解决这个问题呢?
这个问题采用了一个办法——零比特填充或者叫位填充。
位填充:(这叫透明传输)
发送端:只要发现数据字段5个连续的1,就立即插入一个0,保证数据字段不会出现连续的6个1;
接收端:发现数据流中5个连续的1,就删除其后的0,还原成原来的信息
小结:
本文主要介绍了数据链路层服务,差错编码,多路访问控制协议,局域网,点对点链路协议等内容。
回顾:
1. 典型的差错编码,如CRC
2. CSMA/CD协议
3. ARP、以太网、交换机、VLAN等局域网工作原理。