以太网学习笔记(1)

1. MAC 帧

1.1 总览

        MAC帧有三种类型:basic, Q-tagged, envelope.

1.2 数据包格式

        数据包包含:

        1. Preamble, 前导码 , 7 bytes: 101010...1010.

        2. SFD(Start Frame Delimiter),1 byte: 10101011

        3. DA(Destination Address),6 bytes

        4. SA(Source Address),6 bytes

        5. Length/Type,2 bytes

        6. DATA( MAC client data + pad ) 46-1500  or  1504  or  1982   bytes.

        7. FCS( Frame Check Sequence ), 4 bytes

        8. Extension( Optional )

        Note1: 发送顺序为1-8 ,LSB first in byte

        Note2: Frame包括3-7,Packet包括1-8

        MA_DATA.request/indication 对应关系:

2. 帧详解

2.1 Preamble

        前导码,7 bytes, 用于电路同步

2.2 Start Frame Delimiter (SFD) field

        帧起始,10101011

2.3 Address

        1. 6 bytes

        2. BIT0指示该地址为独立地址或组地址,BIT1指示该地址为本地或全局地址。

     

        3. 地址分类:

                a.Individual Address

                b.Group Address:Multicast-Group Address and Broadcast Address(all 1)。

                对于Broadcast Address(all 1),共享传输媒体的所有站点均会接收。

2.4 Length/Type

        a. 若 Length/Type <= 1500(0x05DC),则此field指示Length, 该帧为basic帧;

        b. 若  Length/Type >= 1536(0x0600),则此field指示Type

         Note:这部分的2个byte,首先传输高位字节

2.5 MAC Client Data

        以太网实现必须支持以下三种类型之一的帧(数值表示该类型的最大数据长度):

        a. 1500: basic frames

        b. 1504: Q-tagged frames

        c. 1982: envelope frames

2.6 Pad

         Pad可以保证发送帧的最小长度,用于冲突检测(CSMA/CD)的实现。其长度为:

                max [0, minFrameSize – (clientDatasize + 2 × addressSize + 48)]

         其中最小帧长度一般为46bytes,

        46byte的解释可参考:

        把Ethernet(以太网)基本工作原理说清楚_ethernet发包流程-CSDN博客

2.7 FCS

        CRC运算,输入值包括:DA, SA, Length/Type, DATA, Pad(if exist)

        G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

2.8 Extension 

        扩展字段,不参与CRC计算

3. Bit传输顺序

        MAC帧内除FCS外的每个Byte均以LSB fisrt传输。

4.无效帧

        无效帧包括三种情形:

        1. 实际传输的帧长度与Length段定义的不符;

        2. 总长度不以byte为基本单位,即不可整除8;

        3. 接收到的CRC值与本地计算值不符

        

Reference : IEEE802.3

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值