计算机网络 第三章——数据链路层

数据链路层基本概念及基本问题

在这里插入图片描述

基本概念

链路与数据链路
链路:(link)是一条点到点的物理线路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

  • 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
  • 一般的适配器都包括了数据链路层和物理层这两层的功能。

    在这里插入图片描述
    常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是
    帧的构成 帧头 帧尾 物理层地址 校验值

三个基本问题

封装成帧 透明传输 差错控制
封装成帧
封装成帧(framing)就是在一段数据 的前后分别添加首部和尾部,然后构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界。
在这里插入图片描述
用控制字符进行帧定界的方法举例
试想;帧还未发送完,发送端出了问题,只能重新发送该帧。接收端却受到了前面的“‘半截子帧’”,他会抛弃吗?为什么?
在这里插入图片描述

透明传输
若传输 的数据是ASCII码中“可打印字符(共95个)”集时,一切正常。
若传输的数据不是仅由“可打印字符”组成时,就会出现问题,如下图:
在这里插入图片描述
既然中间传输的数据中出现字节结束标记,该如何告诉他不是结束标记呢?用下面的办法:
字节填充法 ——解决透明传输的问题
发送端的数据链路层在数据中出现控制字符“SOH”或
“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现在数据当中,那么应该在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
在这里插入图片描述

差错控制

传输过程中可能产生比特差错:1可能会变成0而0可能变成1.
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate).
误码率与信噪比有很大的关系。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
帧检验序列FCS 需要用到 循环冗余检验CRC的技术
在这里插入图片描述
循环冗余:不进行进位的加法
最终得到的余数就是帧检验序列
将得到的帧检验序列加入到原始数字后面,再和除数做一次除法运算,如果得到的余数为0说明一切正常,没有错误,就接受(accept),如果不是0就判定这个帧有差错,扔掉,不接受。
特点:

  • 但这种检测方法并不能确定究竟是哪一个或那几个比特出现了差错。
  • 只要经过严格的挑选,并使用位数足够多的除数P。那么出现检测不到的差错的概率就很小很小。
    关于CRC的更多的知识
    http://blog.chinaunix.net/u2/69737/showart_1658667.html

循坏冗余检验CRC 和 帧检验序列FCS并不等同

  • CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
  • FCS可以用CRC这种方法得到,但CRC并非用来获得FCS的唯一方法。
    小结 CRC差错检测技术
    仅用循环冗余检验CRC差错技术只能做到无差错接受(accept)
    无差错接受 :指凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。也就是说:凡是接收端数据链路层接收的帧都没有传输差错(有差错的帧就丢弃不接收)
    要做到“可靠传输”(即发送什么就收到设么)就必须加上确认重传机制。
    考虑:帧重复、帧丢失、帧乱序 的情况
    可以说:CRC是一种无比特差错,而不是无传输差错的检测机制。
    OSI/RM模型的观点:数据链路层要做成无传输差错的!但这种理念目前不被接受!

两种情况下的数据链路层

点对点信道
广播信道

使用点对点信道的数据链路层(广域网)

这种信道使用一对一的点对点通信方式
在这里插入图片描述PPP协议
现在全世界使用最多的数据链路层协议就是点对点协议PPP(Point-to-Point Protocol)
用户使用拨号电话线接入因特网时,一般都是使用PPP协议。
PPP协议应满足的要求:

  • 简单——这是首要的要求

  • 封装成帧

  • 透明性

  • 多种网络层协议

  • 多种类型链路

  • 差错检测

  • 检测连接状态

  • 最大传送单元

  • 网络层地址协商

  • 数据压缩协商
    PPP协议不需要满足的要求:

  • 纠错

  • 流量控制

  • 序号

  • 多点线路

  • 半双工或单工链路
    PPP协议的组成
    PPP协议有三个组成部分:

  • 数据链路层协议可以用于异步串行或同步串行介质。

  • 它使用LCP(链路控制协议)建立并维护数据链路连接。可以进行身份验证和计费功能

  • 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议,如图所示;
    在这里插入图片描述
    在这里插入图片描述
    对上图的数字进行解释
    标志字段F=0x7E (符号0x“”表示后面的字符是用16进制表示。16进制的7E的二进制表示是01111110)
    地址字段A只置为0xFF.地址字段实际上并不起作用
    控制字段C通常置为0x03,控制信息部分的内容
    PPP是面向字节的,所有的PPP帧的长度都是整数字节。
    字节填充 PPP协议里面传的是字节流
    问题:信息字段中出现了标志字段的值,可能会被误认为是“标志”,怎么办?

  • 将信息字段中出现的每个0x7E字节转变成为2字节序列(0x7D,0x5E)

  • 若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)

  • 若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面加入一个0x7D字节,同时将该字符的编码加以改变。

若传送的是二进制流——零比特填充方法

PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。
在发送端,只要发现有5个连续1,则立即填入一个0.接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除。
在这里插入图片描述
不使用序号和确认机制
在这里插入图片描述
序号和确认机制是网络层和传输层解决的问题,是可靠传输,链路层不需要可靠传输 ,所以不适用序号和确认机制。PPP就是保证无差错接受。
PPP协议的工作状态——拨号上网的过程
当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC机向路由器发送一系列的LCP(链路层协议)分组(封装成多个PPP帧)。
这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP(网络控制协议)给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。
通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址,接着,LCP释放数据链路层连接。最后释放物理层的连接。

使用广播信道的数据链路层(局域网)

这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
局域网
在这里插入图片描述
局域网的特点和优点
特点:
网络为一个单位所拥有,且地理位置和站点数目均有限。
优点:

  • 具有广播功能,从一个站点可很方便的访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  • 提高了系统的可靠性,可用性和生存性。
    共享通信媒体

静态划分信道

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

动态媒体接入控制(多点接入)

  • 随机接入(主要被以太网采用!)
  • 受控接入,如多点线路探寻(polling),或轮询(目前已经不被采用)

以太局域网(以太网)

在这里插入图片描述

CSMA/CD协议讲解

后来采用星型网,增加网络设备集线器。
以太网使用的协议——CSMA/CD协议(载波监听多点接入/碰撞检测)
Carrier Sense Multiple Access with Collision Detection
多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
载波监听:是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
就是用电子技术检测总线上有没有其他计算机发送的数据信号。
碰撞检测
就是计算机边发送数据边检测信道上的信号电压大小

  • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
  • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞
  • 所谓碰撞就是发生了冲突,因此碰撞检测也称为 冲突检测。

检测到碰撞后

  • 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
  • 每一个正在发送的数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

传播时延对载波监听的影响
假设A到B1000m,单程端到端的传播时延是τ,则A最大传播时延是2τ
重要特性
1.使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
2每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
3.这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
争用期
最先发送数据帧的站,在发送数据帧后至多经过时间2τ(两倍的端到端往返时延)就可以知道发送的数据帧是否遭到了碰撞。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
以太网的争用期(碰撞窗口)
1.通常取51.2微秒为争用期
对于10Mb/s以太网,在争用期内可以发送512bit,即64字节。
2.若前64字节不发生冲突,后续的也不会冲突
最短有效帧长
1.如果发生冲突,一定在前64字节
2.发生冲突后发出的数据一定小于64字节
3.以太网规定了最短有效帧长64字节,凡是长度小的都是无效帧。
以太网的最短有效帧长与网线长度和网速有关,以太网的网线长度规定不能超过100m
算法

二进制指数类型退避算法

在这里插入图片描述

以太网的概述

以太网的两个标准
在这里插入图片描述
只要满足载波监听多点接入技术都可以认为是以太网。
以太网与数据链路层的两个子层
为了使数据链路层能更好的适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层:

  • 逻辑链路控制LLC(Logical Link Control)子层。
  • 媒体接入控制MAC(Medium Access Control)子层。
    与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的
    由于TCP/IP体系经常使用的局域网是DIX EthernetV2而不是802.3标准中的几种局域网,因此现在802委员会制定的逻辑链路控制子层LLC(即802.2标准)的作用已经不大了。
    很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。

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

拓扑

星型拓扑
传统以太网最初使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。不用同轴电缆而使用无屏蔽的双绞线。每个站需要用两对双绞线,分别用于发送和接收。
这种以太网采用星型拓扑,在星型的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)。
在这里插入图片描述
集线器和站点的距离不超过100m,起到放大的作用
集线器的一些特点
集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备可靠性大大提高了。
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
集线器很像一个多接口的转发器,工作在物理层。

在这里插入图片描述
10Base-T
国际互联网组织给用集线器连接的以太网定义了一个标准——10Base-T 标准
10——10Mb/s带宽
Base ——基带信号(数字信号)
T——双绞线
10Base-T的通信距离稍短,每个站到集线器的距离不超过100m
这种10Mb/s速率的无屏蔽双绞线星型网的出现,即降低了成本,有提高了可靠性。
10Base-T双绞线以太网的出现,是局域网发展史的一个重要的里程碑,他为以太网在局域网中的统治地位奠定了牢固的基础。
其他:100Base-FX(光纤)、100Base-T 和 100Base-T4

以太网的信道利用率

以太网的信道被占用的情况:
争用期产长度2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
帧长为L(bit)数据发送速率为C(b/s),因而帧的发送时间是L/C=T0(s)
一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间τ使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。
在这里插入图片描述
以太网的信道利用率:参数a
要提高以太网的信道利用率,就必须减小τ与T0之比。在以太网中定义了参数a,它是以太网单程端到端时延τ与帧的发送时间T0之比:
a=τ/T0
a->0 表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
a越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
在这里插入图片描述

MAC层

在这里插入图片描述
在这里插入图片描述
MAC帧格式
在这里插入图片描述

在这里插入图片描述
在帧的前面插入的8个字节中的第一个字段共7个字节,是前同步码,用来迅速实现MAC帧的比特同步。
第二个字段是帧的开始定界符,表示后面的信息就是MAC帧。
在这里插入图片描述
无效的MAC帧
帧的长度不是整数个字节;
用收到的帧检测序列FCS查出有差错
数据字段的长度不在46~1500字节之间
有效的MAC帧长度为64~1518字节之间
对于检查出的无效MAC帧就简单地丢弃,以太网不负责重传丢弃的帧
帧间最小间隔
帧间最小间隔为9.6微秒,相当与96bit的发送时间
一个站在检测到总线开始空闲后,还要等待9.6微秒才能再次发送数据。
这样做事为了使刚刚收到的数据帧的站接收缓存来得及清理,做好接收下一帧的准备。

扩展以太网

距离上的扩展
在这里插入图片描述

数量上的扩展(用集线器扩展局域网)
在这里插入图片描述
集线器之间用网线互联,虽然计算机的数量增加了,但形成了一个更大的冲突域。带来的是效率低的问题。
用集线器扩展局域网优点:

  • 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
  • 扩大了局域网覆盖的地理范围。

用集线器扩展局域网的缺点

  • 碰撞域增大了,但总的吞吐量并未提高。
  • 如果不同的碰撞域使用不同的频率,那么就不能使用集线器将他们互联起来。

优化以太网——网桥
在数据链路层扩展局域网是使用网桥
网桥工作在数据链路层,他根据MAC帧的目的地址对收到的帧进行转发。
网桥具有过滤帧的功能。当网桥接收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后在确定将帧转发到哪个接口。
网桥是交换机的前身
交换机基于MAC地址转发数据,更加安全,是存储转发的,通过学习构建MAC地址表,需要排队,避免冲突,全双工,端口带宽独享,集线器有数据就转发,没有存储功能。
在这里插入图片描述
在这里插入图片描述

高速以太网

在这里插入图片描述
在这里插入图片描述
我们自己的网卡可以自动检测是全双工还半双工,是百兆还是10兆的
在这里插入图片描述
G比特以太网是1000M带宽
在这里插入图片描述
UTP代表非屏蔽双绞线
在这里插入图片描述
在这里插入图片描述
端到端的以太网传输
10吉比特以太网的出现,以太网的工作范围已经从局域网(校园网,企业网)扩大到城域网和广域网,从而实现了端到端的以太网传输。
这种工作方式的好处是:

  • 成熟的技术
  • 互操作性很好
  • 在广域网中使用以太网时价格便宜
  • 统一的帧格式简化了操作和管理
    以太网从10Mb/s到10Gb/s的演进
    以太网从10Mb/s 到10Gb/s的演进证明了以太网是:
    可扩展的(从10Mb/s 到10Gb/s)
    灵活的(多种传输媒体、全/半双工、共享/交换)
    易于安装
    稳健性好
    使用高速以太网进行宽带接入
    以太网已经成功地把速率提高到1~10Gb/s,所覆盖的地理范围也扩展到了城域网和广域网,因此现在人们尝试使用以太网进行宽带接入。
    以太网接入的重要特点就是他可以提供双向的宽带通信,并且可根据用户对宽带的需求灵活的进行宽带升级。
    采用以太网接入可实现端到端的以太网传输,中间不需要再进行帧格式的转化,这就提高了数据的传输效率和降低了传输的成本。
    建网3层模型
    接入层 核心层 汇聚层
    在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章