• 网络协议笔记-数据链路层


    【数据链路层的基本概念】

    • 数据链路层中数据传输的单位是帧(frame)
    • 链路是一条无源的点到点的物理线路段。
    • 数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路
      • 常见的方法是使用适配器(即网卡),来实现这些协议的硬件和软件

    【数据链路层的主要目的】

    • 为IP模块发送和接收IP数据报
    • 为ARP模块发送ARP请求和接收ARP应答
    • 为RARP发送RARP请求和接收RARP应答

    【数据链路层主要功能】

    • 链路管理:链路的建立、维持和释放
    • 帧定界:帧同步,成帧
    • 流量控制:使收方来得及接收
    • 差错控制:前向纠错,差错检测
    • 将数据和控制信息区分开:帧内区分,区分帧内的数据部分和控制部分
    • 透明传输:能传输所有数据,不管上层协议传送的是视频文字还是图片,在数据链路层都是把数据按照一定的规则组装成标准的数据帧
    • 寻址:保证每一帧能送到正确的目的站,帧中有目的地址

    【数据链路层的简化模型】

      七个分层之间相当于是黑盒,所以不管各自内部的实现,两个对等的链路层的传输过程可以看下图的模型

      

    【简单的等待停止协议】

      发送方:1,从主机取一个数据帧;2,将数据帧发送到数据链路层的发送缓存;3,将发送缓存中的数据帧发送出去;4,等待;5,若收到接收方发过来的确认信息,则继续1操作

      接收方:1,等待;2,若收到发送结点发送过来的数据帧,则将其放入数据链路层的接收缓存;3,将接收缓存中的数据帧上交主机;4,向发送结点发一信息,表示已将数据帧上交主机;5,转到1操作。

      重复帧问题:

        每一个数据帧带上不同发送序号,发送一个新的数据帧就把它的发送序号加一,接收方收到发送重复的帧则丢弃,若是正常的帧,则需要向发送方发送确认帧。

      超时重传机制,一定时间内未收到确认进行重传

      数据帧的检错:循环冗余检测

    【数据链路层的HDLC协议】

      面向比特的规程SDLC(Synchronous Data Link Control)

    【PPP协议的工作原理】

      目前使用最多的数据链路层协议是PPP(Point-to-Point Protocol),在使用拨号电话线接入因特网时,一般都是使用PPP协议。

      由三个部分组成

      • 将IP数据报封装到串行链路的方法。IP数据报搜到最大接收单元MRU(Maximum Receive Unit)限制,MRU的默认值是1500,PPP既支持数据为8位和无奇偶检验的异步模式,还支持面向比特的同步连接
      • 链路控制协议LCP(Link Control Protocol)。建立、配置和测试数据链路连接。它允许通过通信双方进行协商,以确定不同的选项。
      • 针对不同网络层协议的网络控制协议NCP(Network Control Protocol)体系。

        

      • 标志字段F为0x7E
      • 地址字段A只置为0xFF,地址字段实际上并不起作用。
      • 控制字段C通常置为0x33,表示PPP帧不使用编号
      • PPP是面向字节的,所有的PPP帧的长度都是整数字节

        

        2个字节的协议字段:0x0021表示信息字段是IP数据报;0xC021表示信息字段是PPP链路控制数据;0x8021表示信息字段是网络控制数据

      ppp协议不使用序号和确认的可靠传输,原因:

      • 数据链路层出差错的概率不大,使用简单的PPP协议较为合理
      • 在因特网环境下,PPP的信息字段放入的数据是IP数据报,数据链路层的考考传输并不能保证网络层的传输也是可靠的。
      • 帧检验序列FCS字段可保证无差错接受

      PPP协议的工作状态:

      • 当用户拨号接入ISP(分层服务提供者:Layered Service Provider)时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
      • PC机向路由器发送一系列的LCP(链路控制协议Link Control Protocol)分组(封装成多个PPP帧)
      • 这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时IP地址,是PC机成为因特网上的一个主机
      • 通信完毕时,NCP(网络控制协议 Network Control Protocol)释放网络层连接,收回原来分配出去的IP地址,接着LCP释放数据链路层连接,最后释放的是物理层的连接。
  • 相关阅读:
    Asp.net 动态为TreeView创建结点
    JQuery 获取鼠标位置
    几个常见的“算法”小程序
    C# 99乘法表
    C#打印一个等腰倒三角形
    JQuery点击行(tr)实现checkBox选中,反选时移除和添加样式.
    使用FIFO策略缓存对象
    Firefly
    when you say nothing at all
    linux tar 压缩解压命令
  • 原文地址:https://www.cnblogs.com/ymkfnuiwgij/p/8439401.html
Copyright © 2020-2023  润新知