数据链路层与局域网

第一节 数据链路层服务

链路:通信链路连接的相邻结点的通信信道。

链路层数据单元:帧

主要功能包括:

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

2个数之间做异或运算,即1与0得1,1与1得0,0与0得0

所以最后的编码位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等局域网工作原理。

你可能感兴趣的:(数据链路层与局域网)