数据链路层基本概念

路由器是网络层设备

数据链路层:数据管道,传输的是数据包加上发送地址,接收地址,校验的数据帧

数据链路层的信道类型:

  • 点到点信道:使用一对一的点到点通信方式(两个设备之间直接使用网线相连)
  • 广播信道:使用一对多的广播信道方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送

链路:一条点到点的物理线路段,中间没有其他交换节点。一条链路只是一条通路的一个组成部分。
数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

  • 现在最常用的方法是使用适配器(网卡)来实现这些协议的硬件和软件。
  • 一般的适配器都包括了数据链路层和物理层这两层的功能。

数据帧

数据帧=数据包+帧头+帧尾+物理层地址+校验值

数据链路层解决的问题

封装成帧

透明传输

  • 字节填充解决透明传输
    发送端的数据链路层在数据中出现控制字符SOHEOT的前面插入一个转义字符ESC(0x1B)
    接收端的数据链路在将数据发送给上一层的网络层的时候会删除前面的转义字符
    如果转义字符也出现在数据当中,那么应该在转义字符前插入一个转义字符。当接收端收到两个连续的转义字符的时候就删除其中前面那个

    因此只有如果接收数据中含有一个ESC那么一定是数据中开始字符或者结束字符。
差错控制

误码率(BER):传输错误的比特占所传输比特总数的比率。误码率和信噪比有很大的关系。
如果传送过程中出现错误,路由器发现错误后会直接丢掉这个帧。可靠传输由传输层实现。

  • 循环冗余检验(CRC)

    运算过程为加上x个0以后,用x+1位数作为除数(随便选一个)。每次进行异或操作。要确保每次会至少减少一位,意思是如果某次的余数的最高位位0,则商为0,如果最高位为1,则商为1.
    帧检验序列FCS为运算的余数,可以通过多种方法得到,不一定是CRC
    最后传输的数据是数据加上FCS,如果余数不为0,则丢弃

特点:

  • 这种检测方法不能确定究竟是哪一个或哪几个比特出现了差错
  • 如果除数选择的足够好(位数足够长),那么检错能力就很强

使用循环冗余检验(CRC)差错检测技术只能做到无差错接受。
无差错接收:凡是接收的帧我们几乎都能认为是没有差错的。

要做到可靠传输(发送什么接收什么)就必须加上确认重传机制

CRC是一种无比特差错,而不是无传输差错的检测机制。虽然数据链路层要求做成无传输差错的,但是目前没有做到。

两种情况下的数据链路层

点对点通信

使用PPP协议,用于点到点通信。全世界用的最多的数据链路层协议。

PPP协议特点:

  • 简单
  • 封装成帧
  • 透明传输
  • 差错检验
  • 多种网络层协议:可以在PPP协议种封装TCP/IP协议,可以封装IPX,SPx协议
  • 多种数据链路
  • 检测连接状态
  • 最大传送单元
  • 网络层地址协商
  • 数据压缩协商
    缺点:
  • 不能纠错
  • 不能流量控制
  • 不能得到序号
  • 不支持多点线路
  • 不支持半双工或单工链路
PPP协议的组成
  • 数据链路层协议可以用于异步串行或者同步串行介质
  • 使用LCP(链路控制协议)建立并维护数据链路连接
    ADSL拨号上网账号密码正确、有网费数据链路层才会通。即LCP有身份验证和计费功能
  • 网络控制协议(NCP)允许点到点连接上使用多种网络层协议

PPP协议帧格式

A段是地址,因为是点对点传输,所以是固定的FF,没有起什么作用
C段是控制字段,但是没有使用,一般是03
协议中的两个字节表示数据包中是什么内容
标志字段F=0x7E
PPP是面向字节的,所有PPP帧的长度都是整数字节

  • 字节填充实现透明传输
    将信息字段中出现的每个0x7E(01111111)字节转换成0x7D 0x5E(0111111001011111)
    如果信息字段中出现0x7D(01111110)的字节,则将其转换为2字节序列(0x7D,0x5D(0111111001011110)
    如果信息字段中出现ASCLL码的控制字符(数值小于0x20)则在前面加入一个0x7D
    最后接收的时候再转换为原来的信息

  • 零比特填充方法实现透明传输
    如果信息字段发送的不是字节,而是二进制流,则在发送端,只要发现5个连续的1就在其中填入一个0。在接收的时候每接收5个1就删除一个0。

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

PPP协议的工作状态(拨号上网的过程):当用户拨号拨入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择一些PPP参数,进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,时PC机成为因特网上的一个主机。
通信完毕时,NCP释放网络层链接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接,最后释放物理层链接。

计算机网络【四】数据链路层基本概念+点到点通信(PPP协议)相关推荐

  1. 计算机网络之数据链路层局域网、以太网及其PPP协议HDLC协议【408_4】

    一.局域网基本概念和体系结构 (一)局域网 局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道. 特点: ①.特点1:覆盖的地理范围 ...

  2. 计算机网络之数据链路层基础概念详解

    目录 数据链路层思想相关概念术语 数据链路层在网络中的地位 数据链路层提供的服务 成帧及透明传输 可靠交付(reliable delivery) 流量控制 差错检验 多路访问协议(介质访问控制) 传播 ...

  3. 【计算机网络复习 数据链路层】3.6.5 PPP、HDLC

    PPP协议和HDLC协议 PPP协议和HDLC协议 一.广域网 二.PPP协议 2.1 PPP协议的特点 2.2 PPP协议应满足的要求 2.3 PPP协议无需满足的要求 2.4 PPP协议的三个组成 ...

  4. 计算机网络:PPPoE(以太网上的PPP协议)

    PPPoE(Point-to-Point Protocol over Ethernet) PPP协议处于OSI(Open Systems Interconnection)参考模型的第二层,即TCP/I ...

  5. 计算机网络之数据链路层:12、CSMA/CA协议-随机访问介质访问控制

    数据链路层:12.CSMA/CA协议-随机访问介质访问控制 思维导图: 为什么要有CSMA-CA协议: 载波监听多点接入/碰撞避免CSMA-CA协议: CSMA-CD和CSMA-CA对比: 总结: 思 ...

  6. 计算机网络之数据链路层:11、CSMA/CD协议-随机访问介质访问控制

    数据链路层:11.CSMA/CD协议 思维导图: 载波监听多点接入/碰撞监听协议(CSMA-CD协议): 如何确定碰撞后的重发时机: 最小帧长问题: 思维导图: 载波监听多点接入/碰撞监听协议(CSM ...

  7. 计算机网络之数据链路层:7、选择重传协议(SR)

    数据链路层:7.选择重传协议 思维导图: 发送窗口和接收窗口: SR发送方必须响应的三件事: SR接收方必须响应的事: 例: 窗口大小的选择: 总结: 思维导图: 发送窗口和接收窗口: 这个仅作介绍, ...

  8. 计算机网络之数据链路层:5、停止等待协议

    数据链路层:5.停止等待协议 思维导图: 停止等待协议.滑动窗口协议到底属于哪一层? 为什么要有停止等待协议? 停止等待协议无差错和有差错: 停止等待协议的效率: 思维导图: 停止等待协议.滑动窗口协 ...

  9. 【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )

    文章目录 一. 数据链路层 流量控制 二. 数据链路层 与 传输层 流量控制 机制 三. 数据链路层 流量控制 四. 数据链路层 流量控制 方法分类 五.停止等待协议 六.滑动窗口协议 七.滑动窗口协 ...

  10. 【计算机网络复习 数据链路层】3.5.4 CSMA-CD协议

    CSMA-CD协议 3.5.4 CSMA/CD协议 一.CSMA/CD协议 二.传播时延对载波监听的影响 三.截断二进制指数规避算法 四.最小帧长问题 3.5.4 CSMA/CD协议 一.CSMA/C ...

最新文章

  1. StringBuider 在什么条件下、如何使用效率更高?
  2. 谷歌的AI应用开发之道
  3. AB1601烧程序时注意事项
  4. 【数据竞赛】时间序列竞赛炸榜技巧
  5. QT的QAudioProbe类的使用
  6. v$asm_diskgroup中state的说明
  7. Linux学习笔记-消息队列的接收
  8. c语言怎么确定输出数的坐标,c语言printf实现同一位置打印输出的实例
  9. Java Web底层(1)
  10. ViewHolder最简洁的写法
  11. 微信小程序:二维码DIY背景美化生成器
  12. 李宏毅svm_CAA | 【智能自动化学科前沿讲习班第1期】国立台湾大学(位于中国台北)李宏毅教授:Anime Face Generation...
  13. 软件工程师考试报名须知
  14. [Power Query] 汇总表
  15. AFNetworking概述和4.0的实践
  16. 欧文6 oracle aqua 测评,欧文6实战测评!详细说说
  17. 桌面图标带有蓝色问号解决办法
  18. R数据分析:多项式回归与响应面分析的理解与实操
  19. 单龙芯3A3000-7A1000PMON研究学习-(11)撸起袖子干-make tgt=rom的编译过程
  20. 2021年危险化学品经营单位安全管理人员考试及危险化学品经营单位安全管理人员模拟考试

热门文章

  1. handsontable 方法汇总
  2. 系统架构的演变 -----自 罗文浩
  3. JDBC常用API小结
  4. 【转载】Ubuntu环境下配置Android Studio
  5. [转]“UPA 中国”北京行业聚会笔录
  6. Flex2.0实现文件上传功能(服务器为ASP.NET)
  7. php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类
  8. php脚本来创建一个表,PHP - SQL脚本创建器
  9. html创建文件域的代码,word如何插入域代码
  10. linux rsync删文件速度,为什么用rsync删除大量文件的时候比用rm快