数据链路层功能

为网络层提供服务,良好的服务接口 

保证数据传输的有效、可靠: -

处理传输错误:差错检测和控制

流量控制
     • 基于速率
     • 基于反馈

数据链路层的位置

位于网络层之下,物理层之上。

帧和分组的关系

成帧

 数据链路层使用物理层提供的服务,物理层处理的是位流,数据链路层处理的是帧(数据链路层的PDU)
 将原始的位流分散到离散的帧中,叫成帧,成帧的方法有:
-字符计数法
-带字节/字符填充的标志字节法
-比特填充的比特标志法
-物理层编码违例法

字符计数法

字符计数法成帧的特点

 简单
 缺点:一旦除错,无法恢复,即无法再同步
 很少被使用

字节填充的标志字节法

 该方法考虑了错误之后重新同步的问题,让每一帧都用一些特殊的字节作为开始和结束
-标志/标记 字节(flag byte)

字节填充的标志字节法的特点

 缺点:
-容易造成帧界混淆——增加转义字节
-依赖于8位字符
 解决方法
-一种方法是在二进制数中偶然出现的标志字节前插入一个转义字节。这就称为字节/字符填充法
-新技术的采用——位填充

比特填充的标志比特法

 这是一种面向二进制位的帧格式,把所有需传输的数据以比特位一字排开,并以特殊的位模式01111110作为帧标志,即一个帧的开始(同时标志前一个帧的结束)
 当帧内容中出现一个与帧标志相同的位串01111110,则在5个1后插入一个0,即变成01111101,接收方将自动删除第5个1后的0。这称为位填充法(零比特填充法),也称为透明传输。
 如果由于干扰,一个帧没有正确接收,则可扫描接收串,一旦扫描到01111110,即新的一帧从此开始。即可以再同步

物理层编码违例法

 在曼切斯特编码中,连续高电平或连续低电平可用作帧边界
-采用冗余编码技术,如曼切斯特编码,即两个脉冲宽来表示一个二进制位
-数据0:低-高电平对
-数据1:高-低电平对
-高-高电平对和低-低电平对没有使用,可用作帧边界

 数据链路层位于物理层之上、网络层之下。
 数据链路层提供有效的、可靠的帧传输。
 成帧方法
-字符计数法
-字节填充的标记字节法
-比特填充的标记比特法
-物理层编码违例法

s3-1 数据链路层概述的更多相关文章

  1. TCP/IP(三)数据链路层~1

    前言 其实前面一堆讲的物理层的概念,会感觉特别的难理解,因为这是一个非常强大的计算机网络体系的底层知识,没有关系!我们大致了解一下就行了. 一.数据链路层概述 这是百度的简介 看图:理解一下,数据链路 ...

  2. TCP/IP超详细总结

    网络的基础知识 一.协议 1.简介: 在计算机网络与信息通信领域里,人们经常提及“协议”一词.互联网中常用的具有代表性的协议有IP.TCP.HTTP等.而LAN(局域网)中常用的协议有IPX/SPX” ...

  3. Java——TCP/IP超详细总结

    网络的基础知识 一.协议 1.简介: 在计算机网络与信息通信领域里,人们经常提及“协议”一词.互联网中常用的具有代表性的协议有IP.TCP.HTTP等.而LAN(局域网)中常用的协议有IPX/SPX” ...

  4. OSI模型各层详解

    1. OSI概述 1.1 模拟器说明 1.1.1 模拟器的作用 搭建实验环境进行测试. 1.1.2 模拟器的类型 PT:一般是学校中使用,命令不完整,且不能抓包 GNS3:思科(CCNA,CCNP), ...

  5. 借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘

    本挖掘典型地运用了机器学习技术,例如聚类,分类,关联规则,和预测建模.这些技术揭示潜在内容中的意义和关系.文本发掘应用于诸如竞争情报,生命科学,客户呼声,媒体和出版,法律和税收,法律实施,情感分析和趋 ...

  6. 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句

    [源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...

  7. java 25 - 1 网络编程的概述

    网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. ...

  8. 《TCP/IP详解卷1:协议》第1章 概述-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  9. UNITY3d在移动设备上的一些优化实战(一)-概述

    转自:UNITY3d在移动设备上的一些优化实战(一)-概述 http://blog.csdn.net/leonwei/article/details/39233921 项目进入了中期之后,就需要对程序 ...

随机推荐

  1. C#使用List实现类似RadioButtonGroup的单选功能

    首先说说需求,有多种不同类型的UserControl用于以不同的方式显示数据,想通过在另一个view中实现某种点击选中按钮后,在数据显示view中,只让被逻辑关联的UserControl显示(Visi ...

  2. jpa table主键生成策略

    用 table 来生成主键详解 它是在不影响性能情况下,通用性最强的 JPA 主键生成器.这种方法生成主键的策略可以适用于任何数据库,不必担心不同数据库不兼容造成的问题. initialValue不起 ...

  3. Python txt文件读取写入字典的方法(json、eval)

    link:https://blog.csdn.net/li532331251/article/details/78203438 一.使用json转换方法 1.字典写入txt import json d ...

  4. Fragment传参

    1. 封装基类 /** * Created by chenhaibin * Time 18/1/20 * Email chenhaibin415@163.com * Description:封装代码的 ...

  5. 浅谈openstack中使用linux_bridge实现vxlan网络

    openstack环境: 1 版本:ocata 2 系统:ubuntu16.04.2 3 控制节点 1个 + 计算节点 1个 4 控制节点网卡为ens33,ip = 172.171.5.200 ens ...

  6. SpringMVC中的一些注解

    @Controller:表明该类是一个Controller: @RequestMapping(参数) :为类或者方法定义一个url @RequestParam(value = "id&quo ...

  7. ASCII,Unicode,GBK和UTF-8字符编码的区别和联系

    如果经常写python2,肯定会遇到各种“奇怪”的字符编码问题,每次都通过谷歌解决了,但是为什么会造成这种乱码.decode/encode失败等等,本文就字符和字符编码做一个总结,更加清晰区分诸多的编 ...

  8. python之集合及其方法---整理集

    集合的定义: 由不同元素组成.一组无序排列的可hash值.集合中元素必须是不可变类型 集合的定义方式: 由大括号组成: 每个元素用逗号分隔: 元素书写不是key-value形式: 集合是由不同元素组成 ...

  9. sqlserver改主键初始ID

  10. es6数组的扩展

    数组扩展运算符 ...(三个点) const demoArr=[0,1,2,3,4] console.log(...demoArr) // 0 1 2 3 4 // 他把一个数组用逗号分隔了出来 // ...