计算机网络知识点(三)

作者: 球球球球笨 | 来源:发表于2017-12-11 21:42 被阅读50次

    Chapter3 数据链路层


    数据链路层解决下一步怎么走的问题

    • 向网络层提供一个定义良好的服务接口
    • 处理传输错误
    • 从网络层获取分组,并且将分组封装到帧中以便传输。每一个帧包含一个帧头,一个静载荷(用于存放分组),以及一个帧尾。

    数据链路层提供一下三种服务

    • 无确认的无连接服务
    • 有确认的无连接服务
    • 有确认的面向连接的服务

    数据链路层使用的信道有一下两种类型

    1. 点对点信道。使用一对一的点对点通信方式
    2. 广播信道。使用一对多的广播通信方式,过程较复杂。

    使用点对点信道的数据链路层

    链路:一条无源的点到点的物理线路段,中间没有任何其他的交换节点。
    数据链路:除了物理线路外,还加了协议来控制数据的传输。把协议的硬件和软件加到链路上就构成了数据链路。(链接 + 通信协议,物理层 + 数据链路层)

    1. 封装成帧
      在数据的前后分别添加首部和尾部。

      首部和尾部的一个重要作用就是进行帧定界。
    2. 透明传输

      问题的解决方法:

    • 发送端的数据链路层在数据中出现控制字符“SOH”“EOT”,在它们的前面插入一个转义字符“ESC”。
    • 字节填充(byte stuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
    • 如果转义字符也出现在数据当中,在转义字符之前也插入一个转义字符,当接收端收到两个转义字符的时候就删除其中的一个。
    1. 差错检测
      存在的问题:在传输过程中可能会产生比特差错 0-> 1 、1-> 0。
      解决方法:CRC 循环冗余检验
      FCS: 为了进行检错而添加的冗余码,叫做帧检测序列。
      CRC是一种常用的检错方法,FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得出,但CRC并不是获得FCS的唯一方法。
      在接收端,对每一帧进行检验,若得出的余数R = 0.则帧没有差错,反之有差错。
      CRC差错检测技术只能做到无差错接收。但并不是可靠传输。
      要做到可靠传输需要加上确认重传机制。
      虽然无比特差错,但是可能会出现帧丢失,帧重复或者帧失序。

    无效的MAC帧格式

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

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

    1. 封装成帧
    2. 透明传输
    3. 差错控制

    PPP协议

    因特网用户需要连接到某个ISP才能接入到因特网,PPP协议是用户和ISP通信时使用的数据链路层协议。

    零比特填充 ——同步传输

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

    以太网

    1. 通信措施
      采用无连接的工作方式,不必建立链接就可以直接发送数据。
      发送的数据都使用曼彻斯特编码。
    2. 提供的服务
      尽最大努力的交付。
      目的站收到有差错的数据帧就丢弃。差错的纠正由高层来决定。
      若高层发现了丢失数据则进行重传。以太网不知道这是重传的帧,把它当做新传来的帧来发送。

    CSMA/CD协议

    CSMA/CD:载波监听多点接入/碰撞检测
    Carrier Sense Multiple Access with Collision Detection

    多点接入:许多计算机以多点接入的方式连接在一根总线上。
    载波监听:每一个站在发送数据之前先检测一下总线上是否有其他计算机在发送数据,如果有,暂时不要发送数据,以免发生碰撞。
    碰撞检测

    重要特征

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

    争用期


    争用期长度为51.2us 10Mb/s以太网 在争用期内可发送512bit,即64字节。若前64字节未发生冲突,则后续的数据不会冲突。
    二进制指数类型退避算法

    最短有效帧长
    64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧。

    强化碰撞

    数据一旦发生碰撞则:

    • 立即停止发送数据
    • 再继续发送若干比特认为干扰信号(jamming signal),以便让所有用户知道现在已发生碰撞。

      注意信道的占用时间为三段时间之和。

    帧间最小间隔
    9.6us,相当于96bit时间。为了刚刚收到数据帧的站的缓存能够来得及清理,做好迎接下一帧的准备。

    CSMA/CD整体过程

    1. 适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中,准备发送。
    2. 若适配器检测到信道空闲(在96bit时间内没有检测到信道上有信号),就发送这个帧。若检测到信道忙,则继续检测并等待信道转为空闲,然后发送这个帧。
    3. 在发送过程中继续检测信道,若一直未检测到碰撞,就顺利传送完帧。若检测到碰撞,则终止数据的发送,并且发送人为干扰信号
    4. 在终止发送后采用指数退避算法,等待r倍512bit时间后,返回步骤2.

    以太网的MAC层

    MAC层的硬件地址

    硬件地址又称物理地址或者MAC地址。它是固化在适配器ROM中的地址,与地理地址无关。若适配器故障,硬件地址改变;地理位置发生改变,硬件地址不变。
    MAC地址是48bit的

    MAC帧的格式

    数据字段长度为46——1500字节,当数据字段的长度小于46字节的时候,应在数据字段的后面加入整数字节的填充字段,以保证MAC帧长度不小于64字节。

    既然是不可靠的传输,为什么要进行差错检测
    为了不将已经发现了有差错的帧收下来,因为这样的帧是没有用处的。在接收端进行差错检测可以很接近于1的概率认为,凡是上交主机的帧都是没有传输差错的。

    为了达到比特同步,在传输媒体上实际传送的要比MAC帧还多8个字节

    无效的MAC帧形式

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

    拓展的以太网

    在物理层拓展以太网

    要求:以太网上的主机距离不能太远,200m,否则信号经过铜线将会衰落使得CSMA/CD协议失效。
    方法:主机使用光纤和一对光纤调制解调器连接到集线器
    结果:光纤时延小,带宽高,使得主机和几公里外的集线器相连。

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

    在数据链路层扩展以太网

    使用的器件是网桥。网桥工作在数据链路层,根据MAC地址对收到的帧进行转发和过滤。收到帧之后,并非向所有接口转发,而是检查目的MAC地址,再确定发到哪个接口或者丢弃。
    作用:过滤了通信量,扩大了物理范围,提高了可靠性,可互联不同物理层,不同MAC子层和不同速率的局域网。

    透明网桥
    透明是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对于各个站来说是不可见的。
    网桥自学习和转发帧的步骤
    网桥收到一帧后先进行自学习。查找转发表中与收到帧的源地址有无相匹配的项目。若没有,就在转发表中增加一个项目(源地址,进入的接口和时间)。若有,则把原有的项目进行更新。
    转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目。

    • 若没有,则通过所有其他接口(除进入网桥的接口外)进行转发。
    • 若有,则按转发表给出的接口进行转发。
    • 若转发表中给出的接口就是该帧进入网桥的接口,则丢弃此帧。

    网桥和集线器的区别

    • 集线器在转发帧时,不对传输媒体进行检测。
    • 网桥在转发帧之前必须执行CSMA/CD算法。若在发送过程中出现碰撞,就必须停止发送和进行退避。

    交换机是一种多接口的网桥。能够同时连通许多对接口。一般具有多种速率的接口。为减少一个总线网的主机数量提供了条件,减少了网桥的广播风暴。

    相关文章

      网友评论

        本文标题:计算机网络知识点(三)

        本文链接:https://www.haomeiwen.com/subject/nrrwixtx.html