zoukankan      html  css  js  c++  java
  • 第4章 数据链路层(1)_三个基本问题

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

    1.1 数据链路和帧

    (1)链路(Link):指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他交换节点

     

      ①注意:集线器不是交换节点,因此计算机A和路由器1之间是一条链路。

      ②交换机是一个交换节点,因此,计算机B和路由器3之间的链路有链路4和链路5两条

    (2)数据链路(Data Link):物理线路+通信协议。数据链路层的协议数据单元被称为帧

     

      ①数据链路层把网络层交下来的数据(被称为IP数据报、数据报、分组或包)添加首部和尾部封装成帧发送到链路上,以及把接收到的帧中的数据取出来并上交给网络层。

      ②数据链路层封装的帧,在物理层变成数字信号在链路上传输。如果不考虑物理层的传输细节,就可以认为数据帧通过数据链路由从节点A发送到节点B(如上图虚线所示

    1.2 3个基本问题

    (1)封装成帧

     

      ①数据链路层将IP的数据报的前后分别添加首部和尾部,构成一个帧。但因该层的协议很多,不同协议的帧的首部和尾部信息所有不同。

      ②帧的首部和尾部有帧开始符和结束符,被称为帧定界符

      ③每一种数据链路层协议都规定了所能传送帧的数据部分的长度上限——最大传输单元(MTU)以太网的MTU为1500个字节(指的是数据部分长度。注意,MTU不是越大越好,因为MTU越大意味着单个数据包,在线路质量较差的网络环境中,数据包中 bit位发生错误的概率也越大,丢包率会越高。同时MTU越大,传送一个数据包时延也越大,会影响其他计算机的通信从而造成用户体验差。因此,1500字节是一个折衷的结果

    (2)透明传输

      ①帧定界符:可以选用ASCII码表中的SOH(0x01)作为帧开始定界符,EOT(0x04)为帧结束定界符。

      ②如果数据部分出现“EOT”或“SOH”时要进行字节填充。(具体方法发送端的数据链路层在数据中出现控制字符“EOT”、“SOH”以及“ESC”,则在前面插入一个转义字符“ESC”的编码。接收端的数据链路层在收到删除这个插入的转义字符。这样用字节填充法解决透明传输的问题)。

     

    (3)差错检测

      ①现实的通信链路都不会是理想的,在传输过程中可能会产生差错。为了保证数据传输的可靠性,必须采用各种差错检验技术(如循环冗余检验,CRC)。

      ②要让接收端能够判断帧在传输过程中是否有差,需要在帧中包含用于检测错误的信息,这部分信息称为“帧校验序列(FCS)

     

      ③以CRC技术为例计算FCS。假设要检测的数据为M=101001(注意,不仅包含帧的数据部分,还包含了数据链路层的首部),要想得到n位FCS。则计算过程如下:

        A.要得到n位的FCS,则必须先在M后面添加n位(这里假设n为3)的0得到被除数101001 000。再除以收发双方事先商定好的n+1位除数P(设为1101),得到商Q,余数R(n位,比除数少一位),这个R(001)就是要计算的FCS

     

        B.接收方收到后,会使用M和FCS合成一个二进制数(即101001001),再除以P(1101),如果余数为0,表示该帧没有差错否则表示传输有差错就会丢弃从而出现丢包现象(这个得由传输层的TCP协议通过丢包重传来实现可靠传输)

      ④帧检验序列FCS包含了帧的数据部分(来自网络层)和数据链路层的首部。这意味着,如果通信经过多条链路时,IP数据报的源和目标地址会被修改或者经过路由器时网络层首部的TTL(生存时间减1),这些会造成IP数据报的变化。而当通信由一条链路到下一条链路时由于协议不同,会造成数据链路层首部格式不同,帧开始和结束符也不同,这都需要将帧进行重新封装,重新计算FCS。幸运的是,这些都是由硬件完成的,处理速度很快,不会延误数据的传输。

  • 相关阅读:
    Pandas注意事项&窍门
    Pandas稀疏数据
    Pandas IO工具
    (bc 1002)hdu 6016 count the sheep
    (bc 1001) hdu 6015 skip the class
    hdu 1874 畅通工程续(迪杰斯特拉优先队列,floyd,spfa)
    克鲁斯卡尔(并查集)hdu 1233
    克鲁斯卡尔算法(最短路算法详解)
    最小生成树(普利姆算法、克鲁斯卡尔算法)
    pair 对组
  • 原文地址:https://www.cnblogs.com/5iedu/p/6938989.html
Copyright © 2011-2022 走看看