zoukankan      html  css  js  c++  java
  • TCP/IP协议 数据链路层

      以太网

      1、以太网(Ethernet)是一种计算机局域网技术,由Xerox、Intel公司在1982年联合开发的技术规范。

      2、IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容,以太网是目前应用最普遍的局域网技术。

      3、采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的媒体接入技术。

      4、以太网的标准有100BASE-T、1000BASE-T标准等。

      5、以太网使用的MAC地址为48bit,IP地址为32bit。

      

      IEEE 802封装

      IEEE 802委员会成立于1980年2月,它的任务是制定局域网和城域网标准。IEEE 802中定义的服务和协议限定在OSI网络参考模型的最低两层(即物理层和数据链路层)。事实上,IEEE 802将OSI的数据链路层分为两个子层,分别是逻辑链路控制(Logical Link Control, LLC)和介质访问控制(Media Access Control, MAC)。

      IEEE 802.2 :逻辑链路控制子层(LLC)的定义。

      IEEE 802.3 :以太网介质访问控制协议 (CSMA/CD)及物理层技术规范。

      802的帧定义与以太网的帧定义是不同的,这样比较容易根据不同的帧格式区分802帧和以太网帧。

      1、两者前面都分别用两个6字节来表示目的地址和源地址,这个地址指的是物理地址,也就是MAC地址(48bit)。

      2、后面2个字节两者表示是不同的。IEEE802.2/802.3中这两个字节表示后面跟的数据的长度,也就是表示的从DSAP到CRC之前(不包括CRC),长度的范围是:46-1500。减去后面格式占用的8个字节,也就是IP数据报占用的长度为38-1492;而对于以太网来说,这两个字节就是表示的为后面跟的数据的类型,0800表示后面封装的为IP数据报,0806表示的是ARP请求/应答,8035表示的是RARP请求/应答。

      3、IEEE802.2/802.3后面跟的8个字节中前6个字节需要赋的值都在图中写了,后面两个字节跟以太网中的类型一样,再后面就是跟的IP数据报;以太网这部分就是直接是数据报部分,因此长度为46-1500。

      802帧封装的数据部分长为38 - 1492 字节最小长度为38字节。如:不足38字节则填空字节补足。

      以太网封装的数据部分帧长为46 - 1500 字节最小长度为46字节。如:不足46字节则填空字节补足。

      以太网最小帧长度是64字节,6+6+2+46+4 。

      

      IEEE802.2/802.3的封装格式:

      

      以太网的封装格式:

      

      环回口

      1、环回地址一般是127.0.0.0/8段的任何IP都可以使用。

      2、广播地址和多播地址的数据都要传给环回接口。这是因为广播和多播的定义含主机本身。

      3、任何传给该主机的数据均发送至环回口。

      MTU和路径MTU

      1、以太网和802.3对数据帧的长度都有限制,最大长度分别是1500和1492字节。链路层的这个特性称为MTU,也叫最大传输单元。

      2、如果IP层有一个数据报传输,数据的长度比链路层的MTU大,那么IP层就需要分片(fragmentation),把数据分成若干片,每个一分片都应小于MTU值。

      3、多台网络设备之间的最小MTU,它被称作路径MTU。路径MTU在两个方向上的值不一定是一致的(入接口和出接入),MTU是以出方向的来衡量的(出接口)。

      IEEE802.2包格式与真实的包格式的对应关系(Stp包)

      

        1、802.3包格式与真实的包的对应关系,我已用ABCDEF几个字母标识出来,非常容易看懂。

        2、占用的字节数据怎么看呢?先看我在图中用草绿色横线标识的内容:IEEE802.3 占用[0/14]也就是这是开始位,总占用14字节 = 6 + 6 + 2。

        3、 黑色横线标识的内容:主要看红色的数值[0/1]表示当前数据占用的字节数,也是一个字节,但是一个字节还是分bit位来使用的,只用了其中的部分二进制位表示数值。

        4、棕色横线标识的内容:表示当前表示值只是占用了二进制数值的某个位,如:0x02转成二进制是0010 再看数据表示值..0. 对应了数值占用的位置;0x01转成地二进制是0001再看数据表示值...1他们的对应关系是一致的。

      

  • 相关阅读:
    leetcode刷题笔记 217题 存在重复元素
    leetcode刷题笔记 二百零六题 反转链表
    leetcode刷题笔记 二百零五题 同构字符串
    20201119日报
    np.percentile 和df.quantile 分位数
    建模技巧
    np.where() 条件索引和SQL的if用法一样,或者是给出满足条件的坐标集合
    np.triu_indices_from() 返回方阵的上三角矩阵的索引
    ax.set_title() 和 plt.title(),以及df,plot(title='')
    信用卡模型(三)
  • 原文地址:https://www.cnblogs.com/PBDragon/p/10402763.html
Copyright © 2011-2022 走看看