计算机网络---数据链路层

为什么需要数据链路层

物理层解决了相邻结点(主机,路由器)透明传输比特的问题,物理层没有解决比特传输出现的错误的问题

一些基本概念

链路:结点间的物理链路。是一条无源的点到点的物理线路段,中间没有任何其他交换结点。一条链路只是一条通路的一个组成部分
数据链路:结点间的逻辑通道。除了物理线路,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件与软件加到链路上,就构成了数据链路。数据链路=链路+协议
帧:链路层协议数据单元,封装网络层的数据报
数据链路层:负责通过一条链路从一个结点向物理链路直接相连的相邻结点传数据报

数据链路层功能
封装成帧

把若干比特打包成帧,便于检错和判断帧的开始和结束(就是在一段数据前后分别添加首部和尾部,构成一个帧,确定帧的界限)。
当数据是由SOH和EOT做头和尾,标记数据的开始和结束

透明传输

成帧标识可作为数据传输
如果数据中包括EOT,就会出现提前结束的错误,为了解决问题,出现字符填充,如果在数据中出现关键字(ESC,SOH,EOT),前面加上ESC(类比转义符)。

差错检测

检测帧的传输中是否有比特错误
在一段时间内,传输错误的比特占总体的比例叫做误码率
在这里插入图片描述
二进制的除法就是模二运算
在这里插入图片描述
在这里插入图片描述
综上:数据链路层在物理层的基础上向网络层提供服务,加强物理层传送原始比特流的功能,对网络层表现为一条无差错的链路,将可能出错的物理连接变为逻辑上无差错的数据链路

信道类型

点对点信道:使用一对一的点对点通信方式,控制协议相对简单
广播信道:使用一对多的广播通信方式,通信过程比较复杂。必须使用专用的共享协议来协调主机的数据发送

点对点PPP协议

PPP协议特点

在多种链路运行(串行,并行,同步,异步,多介质都可以);
PPPoE(PPP与以太网结合);

PPP协议应满足的需求

简单——没有人喜欢麻烦
封装成帧——规定特殊字符做帧定界符;
透明性——数据传输透明性;
多层网络层协议——支持多种网络层协议
多种类型链路——可以在多种链路运行
差错检测——对收到的帧进行检测,删除有差错的帧
检测连接状态——判断链路是否是正常工作
最大传送单元——确定最大传送单元
网络层地址协商——让通信双方知道对方的网络层地址
数据压缩协商——压缩数据,减少压力
PS:PPP很简单,就是收一个帧,检测一个帧。

PPP协议的组成

1.一个将IP数据封装成串行链路的方法
2.链路控制协议(LCP),建立,配置和测试链路,主要是身份检测
LCP协议协商项目:MRU、最大接收单元、认证协议、链路压缩、多链路捆绑、错误检测等
3.网络控制协议(NCP),支持不同的网络层协议
NCP协议协商项目:包括IPCP、IPXCP等协议

PPP帧格式

在这里插入图片描述
F:帧定界符;
A(无意义):地址字段,固定为FF,点对点无地址;
C(无意义):控制字段,固定03;
协议:协议字段,判断是什么类型的信息;
FCS:差错分析

PPP协议同步传输和异步传输

区别:同步通信,发送与接收双方使用的时钟频率一致;异步的不一致。

同步传输:面向比特的传输,同步传输的单位是帧
同步传输的同步问题:在数据中提取同步信息
异步传输:面向字节的传输,同步传输的单位是字符
异步传输的同步问题:没有数据时,链路都是1,开始传输时,先发一个0,接收端收到0可以接收
PS:PPP在不同链路面向不同类型

PPP透明传输问题(字符填充)
当 PPP 用在异步传输时,就使用一种特殊的字符填充法。

将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列 (0x7D, 0x5E)。
若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列 (0x7D, 0x5D)。
若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
在这里插入图片描述

当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充

在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。
在这里插入图片描述

PPP协议的工作状态

当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
在这里插入图片描述

使用广播信道的数据链路层

局域网的数据链路层

局域网最主要的特点是:
1.网络为一个单位所拥有;
2.地理范围和站点数目均有限。
局域网具有如下主要优点:
具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网.上的各种硬件和软件资源。
便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。提高了系统的可靠性、可用性和残存性

局域网拓扑结构

星型;总线型;等等

计算机通过适配器(网卡)和局域网进行通信

适配器的重要功能:
1.进行串行/并行转换。
2.对数据进行缓存。
3.在计算机的操作系统安装设备驱动程序。
4.实现以太网协议。

以太网采取了两种重要的措施

1.采用较为灵活的无连接的工作方式
不必先建立连接就可以直接发送数据。对发送的数据帧不进行编号,也不要求对方发回确认。
这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。
2.以太网发送的数据都使用曼彻斯特编码(便于接收信号)
曼彻斯特编码缺点是:它所占的频带宽度比原始的基带信号增加了一倍。

以太网提供的服务

以太网提供的服务是不可靠的交付,即尽最大努力的交付。
当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正
由高层来决定。
如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传
的帧,而是当作一个新的数据帧来发送。

CSMA/CD协议(先听后发,边听边发,冲突停止,延时重发)

最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。
因为总线上没有有源器件。所以并不可靠

概念

CSMA/CD含义:载波监听多点接入/碰撞检测。
载波监听(CS):是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在
发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
多点接入(MA):表示许多计算机以多点接入的方式连接在一根总线上。
碰撞检测(CD):边发送边监听,判断发送的数据是否与其他站发送的数据产生了冲突。
总线上并没有什么”载波’
”载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

CSMA/CD协议工作流程

在这里插入图片描述

碰撞检测

"碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加),当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
所谓”碰撞”就是发生了冲突。因此”碰撞检测”也称为”冲突检测”。
在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间两倍单程时间(2T)就可知道发送的数据帧是否遭受了碰撞。
以太网的端到端往返时延2T称为争用期,或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
1.基本退避时间取为争用期 2T 。
2.从整数集合 [0, 1, … , (2^k - 1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
3.参数 k 按下面的公式计算:
k = Min[重传次数, 10]
4.当 k ≤10 时,参数 k 等于重传次数。
5.当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

以太网采用广播方式发送

总线上的每一个工作的计算机都能检测到B发送的数据信号。
由于只有计算机D的地址与数据帧首部写入的地址一致,因此只有D才接收这个数据帧。
其他所有的计算机(A, C和E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。
在具有广播特性的总线上实现了一对一的通信。
PS:为了实现一对一通信, 将接收站的硬件地址写入帧首部中的目的地址字段中。
仅当数据帧中的目的地址与适配器的硬件地址一致时,才能接收这个数据帧。

使用集线器的星形拓扑

传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。
采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 (hub)。
在这里插入图片描述

以太网的信道利用率

假设T 是以太网单程端到端传播时延。则争用期长度为 2T ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
设帧长为 L (bit),数据发送速率为 C (bit/s),则帧的发送时间为 T0 = L/C (s)。
一个站在发送帧时出现了碰撞。经过一个争用期 2 后,可能又出现了碰撞。这样经过若干个争用期后,一个站发送成功了。假定发送帧需要的时间是 T0。
注意到,成功发送一个帧需要占用信道的时间是 T0 + T ,比这个帧的发送时间要多一个单程端到端时延 T 。
这是因为当一个站发送完最后一个比特时,这个比特还要在以太网上传播。
在最极端的情况下,发送站在传输媒体的一端,而比特在媒体上传输到另一端所需的时间是 T 。

在这里插入图片描述
要提高以太网的信道利用率,就必须减小 T 与 T0 之比。
在以太网中定义了参数 a ,它是以太网单程端到端时延  与帧的发送时间 T0 之比:
在这里插入图片描述
a → 0,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高。
a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。

对以太网参数 a 的要求是:(a应当尽可能小)

1.当数据率一定时,以太网的连线的长度受到限制,否则 T 的数值会太大。
2.以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大。

信道利用率的最大值 Smax

在理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是 CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。
发送一帧占用线路的时间是 T0 +  ,而帧本身的发送时间是 T0。于是,我们可计算出理想情况下的极限信道利用率 Smax 为:
在这里插入图片描述
只有当参数 a 远小于 1 才能得到尽可能高的极限信道利用率。
据统计,当以太网的利用率达到 30% 时就已经处于重载的情况。很多的网络容量被网上的碰撞消耗掉了。

以太网的MAC层
48位MAC地址

共6字节
前3字节RA负责提供(组织唯一标识符)
后3字节厂家自己负责(扩展唯一标识符)

MAC地址分类(G/I位)

单播MAC地址:是指第一个字节的最低位是0的MAC地址,代表了一块特定的网卡;
组播MAC地址:是指第一个字节 的最低位是1的MAC地址,代表了一组网卡;
广播MAC地址:是指每一位都是1的MAC地址,广播MAC地址是组播MAC地址
的一个特例,代表了所有网卡。
广播/组播地址只能作为目的地址使用。

全球管理与本地管理(G/L位)

IEEE把地址字段第一字节的最低第2位规定为G/L位。
当G/L位=0时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理。
当G/L位=1时,是本地管理,用户可任意分配网络上的地址。
MAC地址可以软件修改后使用,但其固化的MAC址不能修改。

适配器检查MAC地址

适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址:
如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。
“发往本站的帧”包括以下三种帧:
单播(unicast)帧(- -对一 -)
广播(broadcast)帧(- 对全体)
多播(multicast)帧(一对多)
所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。
有的适配器可用编程方法识别多播地址。只有目的地址才能使用广播地址和多播地址。
以混杂方式(promiscuous mode)工作的以太网适配器只要”听到"有帧在以太网上传输就都接收下来。

MAC地址格式

在这里插入图片描述
类型字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。
数据字段的正式名称是 MAC 客户数据字段。最小长度 64 字节 - 18 字节的首部和尾部 = 数据字段的最小长度(46字节)
在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。

无效的 MAC 帧

数据字段的长度与长度字段的值不一致;
帧的长度不是整数个字节;
用收到的帧检验序列 FCS 查出有差错;
数据字段的长度不在 46 ~ 1500 字节之间。
有效的 MAC 帧长度为 64 ~ 1518 字节之间。

扩展以太网
物理层扩展以太网

1.使用光纤扩展
2.使用集线器扩展
优点:
1.使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。
2.扩大了以太网覆盖的地理范围。
缺点:
1.碰撞域增大了,但总的吞吐量并未提高。
2.如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

碰撞域

碰撞域(collision domain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。
碰撞域越大,发生碰撞的概率越高。

生成树协议
交换机使用了生成树协议

IEEE 802.1D标准制定了一个生成树协议 STP (Spanning Tree Protocol)。
其要点是:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。

虚拟局域网

实际工作中,各部门功能单一,部门内部可以相互访问,部门间不能相互访问。因此,需要一种技术,将各部门从单一的广播域隔离出来,以增加网络安全性。虚拟局域网技术可以解决
所有计算机都处于同一个碰撞域(或冲突域)中和同一个广播域中。

虚拟局域网使用的以太网帧格式

IEEE 802.3ac标准定义了以太网的帧格式的扩展,以支持虚拟局域网。该协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。插入VLAN标记得出的帧称为802.1Q帧或带标记的以太网帧。
在这里插入图片描述

VLAN的优点

便于网络管理,具有相似需求的用户共享同一个VLAN
增强网络的安全性,敏感用户与普通用户隔离
减少了不必要的网络流量
限制了广播报文的洪泛,抑制广播风暴
减少网络拓扑变更成本

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值