美文网首页
链路层简介

链路层简介

作者: mnikn | 来源:发表于2017-03-25 23:09 被阅读17次

    本文转载自实验楼:链路层简介

    简介

    网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 (frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。 为达到这一目的,数据链路必须具备一系列相应的功能,主要有:
    将数据封装为帧(frame),帧是数据链路层的传送单位;

    控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配;

    在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

    数据帧的结构是这样的:


    Paste_Image.png

    PPP(点对点协议)

    PPP(点到点协议)是为在同等单元之间传输数据设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据。设计目的主要是用来通过 拨号或专线 方式建立 点对点 连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
    点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP/IP 协议集中它是一种用来同步调制连接的数据链路层协议。

    SLIP 与 PPP

    1.SLIP 协议
    SLIP 的全称为 Serial Line IP(串行线路 IP)。它是一种对 IP 数据报进行封装的简单形式。 SLIP 协议规定的帧格式规则:
    IP 数据报以一个称作 END(0xc0)的特殊字符结束。同时为了防止数据报传输之前的线路噪音被误认为是数据报内容,在数据报开始处添加一个 END 字符;

    如果 IP 数据报中含有 END 字符,就连续传输 0xdb 和 0xdc 来取代它。0xdb 是 SLIP 的 ESC 字符,但它的值与 ASCⅡ码中的 ESC(0x1b)不同;

    如果 IP 数据报中含有 ESC 字符,就连续传输 0xdb 和 0xdd 来取代它。

    PPP协议

    PPP 协议修改了 SLIP 协议中的缺陷,包括以下三个部分:

    • PPP 封装 IP 数据报既支持数据为 8 位和无奇偶校验的异步模式,又支持面向比特的同步链接;
    • 通过 LCP(链路控制协议)允许双方进行协商;
    • 通过 NCP(网络控制协议)允许双方在网络层上进行协商。

    PPP 协议的字符规则与 SLIP 有所不同:

    • PPP 帧以标志字符 0x7e 开始和结束,紧接着是一个值为 0xff 的地址字节,然后是一个值为 0x03 的控制字节;
    • 由于标志字符是 0x7e,当它出现在信息字段中时,需要连续传送 0x7d 和 0x5e 来替代它;
    • 当在信息字段中遇到 0x7d 时,需要连续传送 0x7d 和 0x5d 来替代它。
    • 默认情况下,如果字符的值小于 0x20,需要连续传送 0x7d 和 0x21 来替代它。

    PPP 与 SLIP 相比具有下列优点:

    • PPP 支持在单根串行线路上运行多种网络层协议;
    • 每一帧都有 CRC 校验;
    • 通信双方可以用 NCP 进行 IP 地址的动态协商;
    • 可以类似于 CSLIP 对 TCP 和 IP 首部进行压缩;
    • LCP 可以对多个数据链路选项进行设置。

    MTU

    为了提供足够快的响应时间,以太网和 IEEE802.3 对数据帧长度都有限制,其最大值分别为 1500 字节和 1492 字节,链路层的这个特性称作 MTU ,即 最大传输单元
    当网络层传下来一个 IP 数据报,并且其长度比链路层的 MTU 大,那么网络层就需要对数据报进行分片,使每一片都小于 MTU。
    MTU 分为接口 MTU 和路径 MTU:接口 MTU 是所指定的接口所允许发送的最大数据长度;路径 MTU 指两台通信主机路径中最小的 MTU 值。路径 MTU 是不对称的,它在两个方向上不一定一致。
    用命令 netstat -in 可以查看网络接口的 MTU:

    0404

    相关文章

      网友评论

          本文标题:链路层简介

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