zoukankan      html  css  js  c++  java
  • s4-5 以太网帧


    以太网所处的层次

    image


    IEEE 802.3/以太网MAC子层协议
     IEEE802.3协议描述了运行在各种介质上1 Mb/s~10 Mb/s的1-
    持续CSMA/CD协议的局域网标准。
     很多人对以太网和IEEE802.3不加区分,但二者确有差别(如帧格式)。


    IEEE 802.3和 和以太网帧的比较

    image

    image


    帧结构的各个字段含义
     前导码与帧起始字段
    前导码:7个字节,10101010…101010比特序列。
    帧起始符:1字节,10101011。



    帧结构的各个字段含义
     目的地址和源地址字段
    地址字段长度:48位(6个字节) 。
    目的地址类型:
    • 单一结点地址(unicast address);
    • 组播地址(multicast address);
    • 广播地址(broadcast address)。


    物理地址(MAC地址)
     地址数约7 X 10 13 ,7万亿个。
     Ethernet地址 = Manufacture ID + NIC ID=24bit (OUI)+ 24bit
     前24位例子:
    公司:Cisco 00-00-0c
    Novell 00-00-1B、00-00-D8
    3Com 00-20-AF、00-60-8C
    IBM 08-00-5A
     典型的Ethernet地址 :00-60-8C-01-28-12

    image


    工作站的源地址有个有趣的特性,那就是它的全球唯一性
    (globally unique),由IEEE分配,保证世界上没有两个工作
    站具有的MAC地址是相同的
     当一台计算机启动时,MAC地址从ROM拷贝到RAM


    注意:目的MAC地址定位目的机

    image




    注意
     MAC地址的3种表示

    使用破折号 00-60-2F-3A-07-BC
    使用冒号 00:60:2F:3A:07:BC
    使用句点 0060.2F3A.07BC


     IEEE 要求厂商遵守两条简单的规定:
    必须使用该供应商分配的OUI作为前3个字节
    OUI相同的所有MAC地址的最后3个字节必须分配唯一的值




    帧结构的各个字段含义
     长度字段(DIX以太帧中变为:类型)
    帧的最小长度为64字节,最大长度为1518字节,不包括前导码。
     数据字段
    LLC数据字段是帧的数据字段,长度最小为46个字节,如果少于
    46个字节,需要填充。
     帧校验字段
    采用32位的CRC校验
    校验范围:目的/源地址、长度、LLC数据等字段。


    类型/长度字段
     在DIX以太帧中,type 字段指明上层网络协议的了类型
    DIX以太帧是事实上的使用标准,通常抓取到的报文都是以太帧,该字段是类型字段。
     在IEEE 802.3帧中,length 字段指明了携带的数据的长度。


    怎么区分到底代表 类型 还是 长度 呢?
     检查这个字段的数值:如果小于等于 1536(0x600),则是长度
    (802.3)字段,如果大于 1536,则表示类型(以太帧)。


    image


    为什么有效帧长度 64 Byte?
     CSMA/CD的要求
    最短帧的发送时间 >=  争用时隙2
     以太网(802.3)规定,在10Mbps局域网中
    时隙:2t = 51.2 微秒
    最短帧长度:10Mbps× 2t/8 = 64 Byte
    或者:(51200/100ns)/8=64Byte



    以太网性能(信道利用率)

    image



    IEEE802.2标准:逻辑链路控制


    image



     IEEE802.3以太帧跟DIX以太网帧的主要差
    别是前导码和类型/长度字段。
     通过查看类型/长度的值是否大于0x600
    (1536)来判定是类型还是长度字段。
     MAC地址(物理地址)由48位构成,其中
    前24位需要向IEEE申请
     MAC地址不可更改,全球唯一。
     帧最长1518字节,最短64字节。

  • 相关阅读:
    C++ 将对象写入文件 并读取
    IronPython fail to add reference to WebDriver.dll
    How to Capture and Decrypt Lync Server 2010 TLS Traffic Using Microsoft Tools
    .net code injection
    数学系学生应该知道的十个学术网站
    Difference Between Currency Swap and FX Swap
    Swift开源parser
    谈谈我对证券公司一些部门的理解(前、中、后台)[z]
    JDK8记FullGC时候Metaspace内存不会被垃圾回收
    JVM源码分析之JDK8下的僵尸(无法回收)类加载器[z]
  • 原文地址:https://www.cnblogs.com/wenyule/p/12214181.html
Copyright © 2011-2022 走看看