数据链路层

  • 1、数据的差错检测 |FCS|
  • 2、组帧|解帧 |数据帧帧头
    帧尾|
  • 3、标识身份 |MAC地址|
  • 以太网络标准数据链路层的标准
  • 数据链路层不仅仅只有以太网

地域来进行分类

  • 局域网:小型地域 5KM之内|以太网标准|
  • 城域网:以城市为单位的
  • 广域网:范围较大
    从全局的角度考虑 |HDLC|PPP|

局域网
以太网标准

  • 1、定义传输介质的标准
  • 2、定义了数据链路层数据封装<传输>的标准

数据封装|原始数据之上打上几层新的能够实现通信以及其他作用的封装|

  • 分组交换
    报头:不同的层级打上不同的封装
  • 数据段<segment>:传输层报头+上层PDU
  • 数据包<packet>:网络层报头+上层PDU
  • 数据帧<frame>:数据链路层报头+上层PDU+数据链路层帧尾
  • 发起方:数据封装的过程
  • 接收方:数据解封装的过程
    方向不是一成不变
    根据不同的数据变化的。
  • PDU:protocol data unity :协议数据单元:具体的应用数据 Data:上层的具体应用数据
    • Ethernet Ⅱ:数据通信
    • 802.3:一些协议之中 STP IS-IS
  • 规律
  • 1.1位表达不了
    进位表达
  • 2.进位的同时
    原来的位要置为0

二进制:0 1 |一共是2个数| 满2进1

十进制:0 1 2 3 4 5 6 7 8 9 --->123<10进制> |一共是10个数|满10进1

十六进制:0 1 2 3 4 5 6 7 8 9 A<10> B<11> C<12> D<13> E<14> F<15> |16个数|满16进1

  • 二进制:0=0 1=1
  • 10 ===>代表就是2 ---> 当二进制的数在倒数第二位置为1 时
    代表2
  • 11 ===>代表就是3---->2+1=3
  • 16进制每一位都是代表不同的取值--- 任何数的0次方=1
  • 16的次方
  • ———————————————

16进制如何转10进制:从16进制的最后一位开始以16的次方开始每一位的乘法,最后结果每一位相加。

  • 0x0600====0+1536+0+0=1536
  • 0*16的0次方=0*1=0
  • 0*16的1次方=0*16=0
  • 6*16的2次方=6*16^2= 1536
  • 0*16的3次方=0*4096=0
  • 0X05DC
  • C:12*16^0=12*1=12
  • D:13*16^1=13*16=208
  • 5:5*16^2=5*256=1280
  • 0:0
  • 1280+208+12=1500

————————————————

IEEE 二

  • ≤1500 ====802.3 STP|IS-IS|
  • ≥1536 ====Ethernet 2 数据

  • TYPE:类型 <0x=16进制> 最重要--->进位
    向前进位

1、标识上层的协议
不同的组合代表上层不同的协议:0x 0800-->ipv4 0x86dd-->IPv6 0x0806-->ARP

2、区分究竟是Ethernet2帧还是802.3帧

  • 数据发送之前-->进行CRC算法:全世界都知道 算法公开
  • FCS:帧校验序列 <CRC>存在于帧尾:数据帧最后
  • 差错检测:发出之前将算出的结果填充到FCS中 接收时根据CRC同样计算出一个结果,与数据中的FCS进行比对,如果相同,则可以继续处理,如果不同,则丢弃
  • |差错检测任何地方都进行:发出时
    计算结果填充到FCS 接受时
    同样进行计算
    然后比对|
  • 谁发谁填充
    谁收谁检查
    数据0101 信号<2进制比特流>
  • 1+1=2 <加法>
  • 2+1=3 <加法>

———————————————————————————————————

协议:对协议某些链路进行控制:802.3 STP:思科|华为 标准的协议

  • OSI一个概念
  • 私有协议:上层协议
    数据链路--->以太网标准:E2|802.3|
  • 厂商定义了私有的私有协议
    并且使用了802.3的封装,必须定义SNAP字段。
  • LLC:逻辑链路控制 <将链路从逻辑意义上控制>
  • DSAP:目标服务访问点
    上层的协议
  • SSAP:源目标访问点
    上层的协议
  • Control:控制
    链路逻辑的状态信息<从逻辑意义上进行通断控制>
  • S<sub>NAP:子网络服务协议:私有开发的协议才会出现<前提条件:802.3>
  • org_code:机构代码:只有私有的协议
    厂商才会定义
  • type:私有协议的类型

——————————————————————————————————

  • 二进制 0 1 0 1 一位二进制:bit<比特>
  • Byte<字节> 1B<字节>=8b<比特>
  • 0000 0000 8个bit 1个字节 32bit = 4字节
  • E2:在E2这个数据链层协议中,上层数据
    最小46 最大1500 封装大小为18个字节
  • 802.3:数据链路层封装额外多了8个字节
    所以需要上层数据承载的大小进行了8字节的缩减。
  • —————————————————————————————————
  • 1536---type类型取值的时候大于1536<10进制> 0x0600[86dd-->IPV6 0806-->ARP 0800-->IPV4]
  • ——————————————————————————————————
  • 1500---1536-->没有定义 IETF
  • ——————————————————————————————————

MAC -->物理地址 2部分 OUI地址

  • 前24bit<OUI:组织唯一标识符>
  • 后24bit<厂商自定义>
  • 出场自带
    直接烧录进网卡
  • 1.工作在这条连路上
    区分该链路上的不同的设备节点 6个字节=48个比特
  • 2.数据的传输方式 -->在这一条链路上的概念
  • 这样一个链路的范围:广播域
    :在一个范围内能够传递广播的信息
  • ——————————————————

规律

1.1位表达不了
进位表达

2.进位的同时
原来的位要置为0

  • ——————————————————
  • MAC地址抓包的时候-->16进制
  • 概念讲的是第8bit -->2进制
  • 1个16进制数= 4位2进制数 |
  • A -->二进制是几 16进制 -->4位二进制中下功夫
  • 1 -->1
  • 10->2
  • 11->3
  • 100->4
  • 101->5
  • 110->6
  • 111->7
  • 1000->8
  • 最后一位:1
  • 倒数第二:2
  • 倒数第三:4
  • 倒数第四:8
  • 16进制-->最后一位开始16的0次方
  • 2进制-->最后一位开始2的0次方
  • 8<2^3> 4<2^2> 2<2^1> 1<2^0>
  • 1 1 1 1 = 8+4+2+1=15 4位最高代表15 --> F
  • ——————————————————

数据链路层区分单播组播广播数据帧?

  • 单播:QQ聊天
    私聊
    单对单
    点对点 1对1
  • 第8位一定是0
  • 组播:QQ群聊
    规定一个范围
    范围内的才可以收到 [德语
    法语]
  • 第8位一定是1 其他可选
  • 广播:点对所有


    第8位一定是1 其他也一定是1
  • ——————————————————

十六进制如何变为2进制?

  • 0000 0001:1000 0000:1100 0010 ………………
  • 组播:第8位为1 其他任意
  • 1111 1111:1111 1111:1111 1111:1111:1111:1111 1111:1111:1111
  • F F F F F F F F F F F F
  • FF:FF:FF:FF:FF:FF--->广播帧
  • ——————————————————

数据封装解封装在数据链路层的行为:

  • 组帧:
  • 1、收到上层数据后
    此时填充源目MAC 以及TYPE<标识上层>和FCS<校验>
  • 解帧:
  • 1、先查看目的MAC是否自己可以接收[单播=是自己
    广播=接收
    组播=加组]
  • 2、执行FCS校验
    校验通过则进行第三步
  • 3、看Type交由上层的协议处理
  • ——————————————————

总结:

网络设备如何确定以太网数据帧的上层协议:

IEEE 2:type

IEEE 802.3:DSAP\SNAP_type

HCIA-数据链路层的更多相关文章

  1. 高可用与负载均衡(1)之linux系统的数据链路层负载均衡

    preface 在蓝厂就职到时候,每台缓存服务器都能够跑到2G的流量,这么大的流量,有人会问,服务器是不是安装的万兆网卡,no no no,仅仅是3张千兆网卡绑定在一块.万兆网卡的服务器少见,大多数都 ...

  2. TCP/IP详解学习笔记(2)-- 数据链路层

    1.概述      数据链路层属于计算机网络的底层,使用的信道主要有点对点信道和广播信道两种类型.      在TCP/IP协议族中,数据链路层主要有三个目的:           1)为IP模块发送 ...

  3. TCP/IP详解学习笔记(2)-数据链路层

    数据链路层有三个目的: 为IP模块发送和 接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RARP请 求和接收RARP应答 ip大家都听说过.至于ARP和RARP,ARP ...

  4. 数据链路层-点对点协议PPP

    在通信质量较差的年代,在数据链路层使用可靠传输协议曾是一个好的办法.因此,能实现可靠传输的高级数据链路控制HDLC(High-Level Data Link Control)就称为当时比较流行的数据链 ...

  5. TCP/IP笔记(三)数据链路层

    数据链路的作用 数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范.通信媒介包括双绞线电缆.同轴电缆.光纤.电波以及红外线等介质.此外,各个设备之间有时也会通过交换机.网桥.中继器等中转数据. ...

  6. 三十天学不会TCP,UDP/IP编程--MAC地址和数据链路层

    这篇文章主要是来做(da)推(guang)介(gao)的!由于这两年接触到了比较多的这方面的知识,不想忘了,我决定把他们记录下来,所以决定在GitBook用半年时间上面写下来,这是目前写的一节,后面会 ...

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

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

  8. 【网络】 数据链路层&物理层笔记

    数据链路层 简称链路层,功能在于将数据包封装成帧,控制帧对介质的访问.链路层连接了物理介质和其之上抽象层,可以使上层不用关心用什么方法在什么介质中传输信息. 在帧被传输时经过的每一跳,每个中间设备(通 ...

  9. 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)

    一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端   24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器    想体验服务的时候 ...

  10. TCP/IP协议 数据链路层

    以太网 1.以太网(Ethernet)是一种计算机局域网技术,由Xerox.Intel公司在1982年联合开发的技术规范. 2.IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包 ...

随机推荐

  1. excel VBA一个fuction同时执行多个正则表达式,实现方法

    代码: Function zhengze3(ze1 As String, ze2 As String, Rng1 As Range, Rng2 As Range)    Set regx1 = Cre ...

  2. A Simple Math Problem 矩阵打水题

    A Simple Math Problem Lele now is thinking about a simple function f(x).If x < 10 f(x) = x.If x & ...

  3. Python小白的数学建模课-B5. 新冠疫情 SEIR模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. 考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫的传染病. 本 ...

  4. 资源:Nginx安装包的下载路径

    下载路径如下: Nginx所有版本:http://nginx.org/download/

  5. Linux安装mysql5.7版本

    1.linux安装mysql5.7顺序 ①mysqladmin –version 查看版本号 ②mysql5.7安装在linux中需要先初始化 Mysqld –initialize –user=mys ...

  6. leetcode 字符串转换整数 (模拟)

    思路分析 1.跟着题意模拟,分成几种情况来看待 2.一种全是空格 3.有可能有空格,然后有符号的 4.有可能有空格,无符号数字 5.有可能有空格,非数字开头 6.最后还需要考虑一个越界的问题,所以要除 ...

  7. Python语言的技术领域

    第一部分:各个领域应用的语言 大家看这个内容,其实你很明显发现,其实各个语言都有他的用处.我们可以说Python是应用最广的.但是暂时还是不能说它是全能的,因为他也有它的短板,但是对于一般的小公司和小 ...

  8. R绘图(7): 把散点图的点换成扇形

    前几天分析了一批单细胞TCR的数据,需要画这样一个图: 行是不同的样本,列是不同的T细胞类型,每一个位置点的大小表示T细胞的数目多少,并且还需要根据T细胞所属的克隆型类型涂色.这个图用来描述TCR是我 ...

  9. window对象之计时器--v客学院技术分享

    setTimeout()和setInterval()可以用来注册在指定的时间之后单次或者重复调用的函数.因为它们都是客户端JavaScript中重要的全局函数,所以定义为window对象的方法,但是作 ...

  10. Java中lombok @Builder注解使用详解(十八)

    Lombok大家都知道,在使用POJO过程中,它给我们带来了很多便利,省下大量写get.set方法.构造器.equal.toString方法的时间.除此之外,通过@Builder注解,lombok还可 ...