数据链路层

来源:互联网 发布:写算法 编辑:程序博客网 时间:2024/06/16 12:11

计算机五层网络体系结构:物理层、数据链路层、网络层、运输层、应用层。

物理层主要考虑的是怎么样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指某个具体的传输媒体。

数据链路层属于计算机网络的底层。

三大类网络分别为:电信网络、有线电视网络和计算机网络。而网络的发展也是一步一步来的。数据链路层,从协议层次来看,专门研究数据链路层时,我们可以将数据看做是在水平方向的各个数据链路层间流动的。

设两个主机之间的数据流模型,数据由主机H1流向主机H2,此时为点到点信道的数据链路。

这是我们需要明确“链路”与“数据链路”的概念:

  1. 链路:就是从一个节点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换节点,由此可见链路只是一条路径的组成部分;
  2. 数据链路:当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上就构成了数据链路;(最常用的是使用网络适配器来实现这些协议,一般都包括了数据链路层和物理层两层的功能)

数据链路层模型

点到点信道的数据链路层协议的数据单元为帧:

  1. 将网络层交下来的IP数据报添加首部尾部封装成帧;
  2. 将封装好的帧发送给接受方的数据链路层;
  3. 收到的帧无差错则从中提取到IP数据报交给网络层,否则丢弃;

由此我们可以看出数据链路层的协议需解决三个问题:封装成帧、透明传输和差错控制。

  1. 封装成帧:
    这里写图片描述
    在信息数据的前与末分别添加首部和尾部构成帧,进行帧定界。这可以用来判断帧的完整性与否。(规定了帧的数据部分长度的上限——最大传送单元MTU);

  2. 透明传输:表示帧的开始(SOH)与帧的结束(EOT)虽然是ASCII码不可打印的控制字符,但是其二进制码依然可能与数据报中的数据二进制码一致造成帧的提前结束,透明传输则是用来解决这一问题的。具体方法则是:在数据中出现控制字符前插入转义字符“ESC”,接收方接收到在发往网路层前删去。如果前刚好有一个转义字符,则再插入一个转义字符,后删掉最前面的即可;

  3. 差错控制:为了保证数据传输的可靠性,广泛使用CRC检验;
    数据链路层不要求“可靠传输”,CRC只做到对帧的无差错接受,只是避免了比特差错,但是依然会出现传输差错:帧丢失、帧重复、帧失序

互联网用户连接某个ISP才能接入互联网,PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。

PPP协议需要解决三个方面的问题:

  1. IP数据报封装到串行链路的方法;
  2. 用来建立、配置和测试数据链路连接的链路控制协议LCP;
  3. 一套网络控制协议NCP,用来支持不同的网络层协议;

LCP一开始协商配置选项(发送LCP的配置请求帧—“PPP帧”,链路另一端则发送配置确认帧、配置否认帧、配置拒绝帧中的一种),协商结束后就建立了LCP链路进行“鉴别”状态:分为口令鉴别协议PAP、口令握手鉴别协议CHAP。鉴别成功进入“网络层协议 ”,否则进入“链路终止”状态。

此时就进入NCP协议内容了。PPP协议两端的网络层可以运行不同的网络层协议但仍可以使用同一个PPP协议进行通讯。NCP则对双方的网络层协议进行配置协商数据封装为帧的协议。此时进入“链路打开”状态,双方进入数据请求发送直到转为“链路终止”。

广播信道的数据链路层是进行一对多的通信,而局域网就是使用的广播信道。局域网的特点为:网络为一个单位所有,且地理范围和站点数目均有限。

局域网可按照网络拓扑结构进行分类,且可以连接使用多种传输媒体。局域网工作层次跨越了数据链路层和物理层,但在数据链路层中的内容丰富,且就在数据链路层中讨论局域网。在共享信道与共享媒体中则需要考虑的问题是如何使众多用户能够合理而方便地共享通信媒体资源。

方法分两种:

  1. 静态划分信道;
  2. 动态媒体接入控制;
    • 随机接入:所有用户都可以随机发送信息,但如果恰巧两个或更多的用户同时发送信息就会在共享媒体上产生碰撞,使得信息发送失败,因此必须要有解决碰撞的网络协议;
    • 受控接入:用户不能随机发送信息而必须服从一定的控制(多点线路的探询或轮询);

目前受控接入在局域网中使用的很少,重点讨论随机接入的以太网。

以太网是一种基带总线局域网,计算机又是如何连接上以太网的呢?这就要讲到适配器的作用。计算机就是通过通信适配器来连接外部局域网,又叫做网络接口卡或简称网卡。适配器的重要功能是进行数据串行传输和并行传输的转换。

再讨论随机接入问题的解决协议:CSMA/CD协议,即解决碰撞问题。

最早以太网是一种总线结构,可能是受电话网络系统影响,这种结构就是广播信道。CSMA/CD协议的实质是“载波监听”和“碰撞检测”;

  • 载波监听:每个站点不停止的检测信道;
  • 碰撞检测:发送过程中的监听,适配器边发送数据边检测信道信号电压变化,出现碰撞则立即终止无效发送;

由于存在发送的不确定性,即每个站发送数据的小段延迟时间内存在碰撞的可能性

此时出现新概念:争用期时间(单位比特时间),通过截断二进制指数退避算法来推迟一个随机争用期时间来发送数据,只有通过争用期的考验才能说明没有碰撞;而一旦出现碰撞则要强化碰撞,发送数据战要继续发送32bit或48bit人为干扰信号通知所有用户发生碰撞。

局域网中,MAC地址在标识系统是有相当的组成部分。(MAC地址是按适配器来分配的)

“名字指出我们所要寻找的那个资源,地址指出那个资源在何处,路由告诉我们如何到达该处。”

名字是资源在网络中的名称,地址则代表资源在网络世界的门牌号(或分配的身份证号码表示)。

6个字节的MAC地址的重要性就不言而喻。IEEE的注册管理结构RA是局域网全球地址的法定管理机构,它负责分配MAC地址的前三个字节(高24位),生产局域网适配器的厂家都必须向IEEE购买组织唯一标识符OUI(或称为公司标识符)。后三个字节(拓展标识符)则由厂商自行分配。由此就得到48位地址—— EUI-48,固化在适配器的ROM中。由于IEEE考虑到可能存在不愿意购买OUI的情况,于是将OUI第一个字节的最低第二位规定为G/L为,为零时表示全球管理,购买得属于此列;为一时是本地管理,用户自己可任意分配。

帧的格式:
这里写图片描述

最后谈一下以太网的扩展。
(10BASE-T)以太网两个主机之间距离不超过200m,这个距离的覆盖是不足以满足的。

物理层常用方法是使用光纤调制解调器,这个方法可以增加主机与集线器(多端口的中继器,物理层设备,只是简单的转发比特流,广播信道)之间的距离;使用多个集线器。
数据链路层的方法是使用网桥(基于软件实现),通过MAC地址只向目的接口转发;而交换机的出现则使得网桥被淘汰,交换机实质是一个多接口网桥(交换机通过自学习方式获得转发表),通过全双工方式工作,相互通信的主机都是独占传输媒体,无碰撞传输(所以就不使用CSMA/CD协议,独占带宽),交换机接口还存在存储器可以再繁忙时缓存帧。

原创粉丝点击