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

Posted ymkfnuiwgij

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络协议笔记-数据链路层相关的知识,希望对你有一定的参考价值。

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

  • 数据链路层中数据传输的单位是帧(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释放数据链路层连接,最后释放的是物理层的连接。

 

以上是关于网络协议笔记-数据链路层的主要内容,如果未能解决你的问题,请参考以下文章

TCP_IP协议(网络层与数据链路层)笔记

tcp/ip 学习笔记 章二 链路层

计算机网络学习笔记第三章(数据链路层)超详细整理

linux高性能编程学习笔记

《TCP/IP详解 卷1:协议》读书笔记(第一章 概述 & 第二章 链路层)

网络协议中那些属于数据链路层协议?