数据链路层

1.数据链路层的基本概念和基本问题

数据链路层使用的信道主要有以下两种类型:

  • 点对点信道:使用一对一的通信方式。
  • 广播信道:使用一对多的通信方式。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

链路(link)是一条点到点的物理线路段,中间没有任何其他的交换节点。一条链路只是一条通路的一个组成部分。
数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层传送的是,将网络层的信息加上帧头、帧尾、物理层地址、校验值就构成一个完整的帧。

数据链路层解决的三个基本问题:

  1. 封装成帧:在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。首部和尾部的一个重要作用就是给帧定界。
  2. 透明传输:控制字符SOH代表首部,EOT代表尾部。为了避免在帧内出现与首部和尾部相同的字符造成误判,在其前面插入转义字符ESC,同样,若传输的数据与转义字符相同,也在其前面插入另一个转义字符。即用字节填充法解决了透明传输的问题。
    在这里插入图片描述
  3. 差错控制:传输过程中可能会产生比特差错,在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER。路由器会把数据链路层中错误的帧扔掉,接受方计算机没有收到数据会要求发送方计算机重新发送数据,数据链路层只负责无差错地接受,可靠传输是由传输层控制的。帧通过帧检验序列来检查是否有错误。帧检验序列通常通过循环冗余检验(CRC)实现错误检测,这种检测方法并不能确定是哪一位或哪几位出错,检测不到差错的概率很小。CRC中除法得到的余数作为帧检验序列FCS。
2.使用点对点信道的数据链路层

现在全世界使用最多的数据链路层协议是点对点协议PPP,用户使用电话线接入因特网时,一般都是使用PPP协议。
PPP协议应该满足的要求:除去解决三个基本问题外,还需要简单(首要要求)、支持多种网络层协议、支持多种类型链路、支持网络层地址协商、支持数据压缩协商、能够检测连接状态。
PPP协议有三个组成部分:

  1. 数据链路层协议(HDLC)可以用于异步串行或同步串行介质
  2. 链路控制协议(LCP)建立并维护数据链路连接,有身份验证和计费功能
  3. 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议
    在这里插入图片描述
    PPP协议帧格式:
    在这里插入图片描述
  • F:帧的开始和结束都以7E表示
  • A:代表地址,由于是点到点的线路,不用写地址,所以是固定的FF
  • C:打算做成控制字段,现在还没有用
  • 协议:指定信息部分的内容类型。0021说明信息部分是IP数据报,C021信息部分是PPP链路控制数据,8021是网络控制数据。
  • FCS:帧检验序列

PPP是面向字节的,所有PPP帧的长度都是整数字节。
PPP协议在传输字节时,也是通过字节填充来实现透明传输。当PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送),此时采用零比特填充方法实现透明传输,即在发送端发现有连续5个1时,填入一个0,接收端发现连续5个1时删除一个0。
PPP协议无可靠传输,因为其信息字段放入的数据是IP数据报,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。

PPP协议的工作状态:

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

广域网用点对点信道协议,局域网使用广播信道协议。
局域网的拓扑结构有星形网、总线网、环形网、树形网,可以随意向网络中添加设备,网络中的物理介质(如信道)可以被多台计算机同时使用。最初的以太网是总线型,一台计算机发出的数据其他所有计算机都能收到,接收方计算机根据数据的MAC地址选择是否接受,这种传输方式不安全,用集线器连的网同样有这种问题。广播信道的数据链路层就是指总线型的网,或用集线器连的网(没有交换机)。

共享通信媒体如何实现通信:

  • 静态划分信道:频分复用、时分复用、波分复用、码分复用。局域网不使用,太麻烦。
  • 动态媒体接入控制(多点接入):随机接入(现有的以太网使用)、受控接入(目前已不用)。

以太网的协议使用CSMA/CD(带有碰撞检测的载波监听多点接入):

  • 多点接入:多台计算机可以连接在一根总线上
  • 载波监听:每个站在发送数据前要先检测总线上是否有其他计算机在发送数据,如果有,则暂时不发送,以免发生碰撞。
  • 碰撞检测(冲突检测):计算机边发送数据边检测信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压会相互叠加从而摆动值增大,当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。一旦发现总线上出现了碰撞,就要立即停止发送,等待一段随机时间后再次发送。

CSMA/CD协议的重要特性:

  • 使用该协议的以太网不能进行全双工通信,只能进行半双工通信
  • 每个站在发送数据之后的一小段时间内,存在遭遇碰撞的可能性
  • 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高速率

争用期:

  • 最先发送数据帧的站,在发送数据帧后之多经过 2 τ 2\tau 2τ(两倍的端到端往返时延)就可以之多发送的数据帧是否遭受了碰撞。
  • 以太网的争用期通常取 51.2 μ s 51.2\mu s 51.2μs,又称碰撞窗口。对于10Mb/s的以太网,在争用期内可发送512bit,即64字节。即以太网发送数据时,若钱64字节未发生冲突,则后续的数据就不会发生冲突。
  • 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突异常中止的无效帧。
  • 速度越快的网,最短有效帧长越长。网线越长,争用期越长,最短有效帧长越长。于是以太网限制网线长度不能超过100m。

二进制指数类型退避算法:
发生碰撞的站在停止发送数据后,要推迟一个随机的时间才能发送数据

  • 确定基本退避时间,一般取为争用期 2 τ 2\tau 2τ
  • 定义参数k, k = M i n [ 重 传 次 数 , 10 ] k=Min[重传次数,10] k=Min[,10]
  • 从整数集合 [ 0 , 1 , ⋯   , ( 2 k − 1 ) ] [0,1,\cdots,(2^k-1)] [0,1,,(2k1)]中随机地取出一个数,记为r。重传所需的时延就是r倍的基本退避时间。
  • 当重传达16次仍不能成功时即丢弃该帧,并向高层报告。
4.以太局域网(以太网)

将符合DIX Ethernet V2标准或IEEE 802.3标准的局域网称为以太网。现在将使用CSMA/CD协议的局域网统称为以太网。
局域网的数据链路层分为两个自层:①逻辑链路控制LLC子层 ②媒体接入控制MAC子层。
在TCP/IP体系下的局域网LLC子层作用已经不大了,很多适配器上仅装有MAC协议而没有LLC协议。

以太网提供的服务:
以太网提供的服务是不可靠的交付,即尽最大努力的交付。当接收站收到有差错控制的数据帧时就丢弃该帧,差错的纠正由高层决定。若高层发现了数据丢失而进行重传,以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

以太网的拓扑结构:
传统以太网最初使用粗同轴电缆,然后使用较便宜的细同轴电缆,最后使用更便宜和灵活的无屏蔽双绞线。每个站需要两对双绞线,分别用于发送和接收。这种以太网使用星形拓扑,在星形的中心增加了一种可靠性很高的设备集线器,集线器起到了信号放大的作用。

集线器的特点:
集线器使用电子器件模拟实际电缆线的工作,因此整个系统仍像传统的以太网那样运行。使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。集线器工作在物理层,类似一个多接口的转发器(没有任何智商),每个站到集线器的距离不超过100m。
国际互联网组织给用集线器连的以太网定义了一个标准100BASE-T,即速率10Mb/s,传输基带信号(数字信号),用无屏蔽双绞线连接。还有其他的标准如100BASE-FX,100BASE-T等。
在这里插入图片描述

以太网的信道利用率:
指发送数据的时间与总时间的比值。在以太网中定义了参数a,为以太网单程端到端时延 τ \tau τ与帧的发送时间 T 0 T_0 T0之比: a = τ T 0 a=\cfrac{\tau}{T_0} a=T0τ要提高以太网的利用率,就必须减小a值。a越大,表明争用期所占的比例越大,每次碰撞就会浪费更多信号资源。网线长度越大, τ \tau τ越大;以太网帧长越短, T 0 T_0 T0越小。
理想情况下以太网信道利用率的最大值为: S m a x = T 0 T 0 + τ = 1 1 + a S_{max}=\cfrac{T_0}{T_0+\tau}=\cfrac{1}{1+a} Smax=T0+τT0=1+a1(无冲突,无空闲)

MAC层的硬件地址:
在局域网中,硬件地址又称为物理地址、MAC地址,习惯上将48位的字符称为地址。IEEE的注册管理机构RA负责向生产厂家分配地址字段的前三个字节(高24位),后三个字节(低24位)由厂家自行指派,必须保证生产出的适配器没有重复地址。这种48位地址称为MAC-48,通用名称是EUI-48。可以指定计算机不用网卡上的MAC地址,但网卡上的MAC地址本身无法修改。
适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址,如果是发往本站的帧收下,然后再进行其他处理,否则将该帧丢弃。发往本站的帧包括三种:①单播帧(一对一) ②广播帧(一对全体) ③多播帧(一对多)

MAC帧格式:
最常用的以太网MAC格式是DIX Ethernet V2标准 64 − 18 = 46 64-18=46 6418=46
在这里插入图片描述
无效的MAC帧:

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

帧间最小间隔为 9.6 μ s 9.6\mu s 9.6μs,即一个站在检测到总线开始空闲后,还要等待这么久才能再次发送数据,相当于96bit的发送时间。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
下载抓包工具可以抓取在网上传播的数据帧(不只是传给自己的)。

5.扩展以太网

在物理层扩展:

  1. 距离扩展:主机使用光纤和一对光纤调制解调器连接到集线器,可以将以太网距离扩展至几公里。
  2. 数量扩展:将多个集线器级联,所有集线器连接的计算机就构成了一个大的冲突域,数量增加效率降低。

在数据链路层扩展:
在数据链路层扩展局域网使用网桥,网桥可以连接多个集线器,工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能,当其收到一个帧时,并不是向所有的接口转发该帧,而是先检查该帧的目的MAC地址,再确定将该帧转发到哪一个接口,不会增大冲突域。网桥在不断转发帧的过程中会学习到MAC地址所在的接口(MAC地址表)。网桥使用了生成树算法,避免产生转发的帧在网络中不断兜圈子。
随着网桥的接口越来越多,开始不在接口上接集线器,而是直接接计算机,此时网桥就变成了交换机。交换机的接口有存储转发功能,能够排队发送发到该接口的帧。由于线路上没有其他计算机,交换机连的网可以全双工通信。交换机所连接的计算机可以独享带宽,而不像集线器共享带宽。

6.高速以太网

速率达到或超过100Mb/s的以太网称为高速以太网,在双绞线上传送基带信号的星型拓扑以太网仍使用CSMA/CD协议。
100BASE-T以太网又称为快速以太网,可以在全双工方式下工作而无冲突产生,此时不使用CSMA/CD协议,保持最短帧长不变,但将一个网段的最大电缆长度减小到100m,帧间时间间隔从 9.6 μ s 9.6\mu s 9.6μs变为 0.96 μ s 0.96\mu s 0.96μs
吉比特以太网:允许在1Gb/s下全双工和半双工两种方式工作,在半双工方式下使用CSMA/CD协议,与10BASE-T和100BASE-T技术向后兼容。
高速以太网的帧格式没有变化,还保留了以太网的最小和最大帧长,便于升级。
现在人们正尝试使用以太网进行宽带接入,可以提供双向的宽带通信,且根据用户对宽带的需求灵活地进行宽带升级。采用以太网接入可实现端到端的传输,中间不需要再进行帧格式的转化,提高了数据的传输效率和降低了传输的成本。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值