关注IT
关注系统玩家

从以太帧认识以太网

1  MAC(Media Access Control)地址的格式

1.1 基本概念

    MAC地址也称为硬件地址、物理地址、或二层地址,它是预先编程并存储在硬件上如网卡。在以

太网中,最后的寻址是落实到MAC地址上,在IPV4的网络里实际上是靠MAC地址去转发数据包或

帧。

    MAC为6个字节,48位,如00-60-08-09-ab-12,first threeoctets indicate the vendor

—OUI(Organizational Unique Identifier),OUI决定了MAC地址是全球唯一、不重复冲突的;

The last three octets equate to a host identifier for the device.

1.2 注意事项

(1)MAC地址是本网段有效,在不同的网络里MAC地址不冲突。

(2)MAC地址一般是可以改变的:

A) 路由器以太口上MAC的修改:

未修改前

3470417160

修改后:

8962218983

以上修改的内存驻留的MAC,其bia即固化的MAC未变

B) 交换机背板地址一般不能改变

C) PC机网卡MAC的修改:

4238668973

也可用修改注册表来实现

1.3 MAC地址绑定

    用IP与MAC的静态绑定防止ARP地址欺骗:在PC机上绑定网关路由器的MAC,在网关上绑定PC的MAC。

    下面是一个在PC上绑定网关(192.168.200.200)的MAC,防ARP欺骗的例子:

6087652440

 6515893579

 6856057726

 2780968810

8783046230

    以上这个例子说明,只要把网关的IP(192.168.200.200)MAC (cc-00-8e-58-00-00)

在PC上进行绑定,那么,PC就会把包送到这个网关。

2  以太网帧的格式及帧的大小

2758847945

                                                 802.3的帧格式:

 4240659466

 2.1 以太网的帧格式一共分四种,最普遍的是以下两种:

a) 第一种Ethernet V2(ARPA),一般应用于用户数据帧

4909558422

b)  第三种802.3/802.2,一般就用于以太控制帧

2122781000

    以上是一个STP帧,可以看到length字段及DSAP/SSAP,另外还可以看出一个帧的最小长

度为64(以上不包括CRC 4个字节)

2.2 以太帧的大小:以Ethernet V2为例

6516580660

A) 一般情况下 最大帧为1518,其中1500为payload,18个字节为头(6+6+2+4),最小为

64个字节,不够的用padding/trailer补齐,在以上802.3/802.2的帧中可看到trailer。

B) 实际应用数据中的三种帧的类型

2495029542

a) Unicast frame :目的地址都为主机MAC,其目地MAC的IG(Bit0 of Octet 0 )位置0

b) Broadcast frame:目的地址为FF-FF-FF-FF-FF-FF,其目地MAC的IG(Bit 0 of Octet 0 )位置1

7052083179

c) Multicast frame:目的地址为01-00-5E开头(224.0.0.0—

239.255.255.255),其目地MAC的IG(Bit 0 of Octet 0)位置1

8749088861

2.3 Baby Giant及Fragment

2.3.1 Baby Giant

    大于1518字节(oversize)的帧叫Baby Giant,如802.1q的帧(1518+4=1522),或

QinQ(1522+4=1526)的帧,关于Baby Giant IEEE的802.3ac扩大的以太帧的最大尺寸为1522,

所以交换机 802.1q缺省情况下不用增加MTU值即可正常工作,但如果启用QinQ(Swmo dot1q-

tunnel)功能,交换机的MTU必须改为1504(SYSTEMMTU 1504)。

 2.3.2 Fragment

    小于64字节的碎片在以太网里是无用的,在半双工模式的共享网络发生冲突时会大量产生这种

碎片,碎片在存储转发模式(store-and-forward)及免碎片模式(Fragment-free)下是会被会被

丢弃的,但在快速转发模式(cut-through)下是会被转发的。

2.3.3 jumbo 帧

    帧的大小为9K,因为帧小使网络的转发效率低,这也是存储网络中用Fiber Channel的原因之

一,因为FC的转发是Block-lever基于块的,它的payload为2112大小。当今高性能的交换机大都支

持Jumbo帧,但要求整个网络中的所有设备都要支持。

3  几种特殊的MAC

3.1 HSRP 和VRRP的动态产生MAC

   二者的地址都是一个虚拟的地址,其实数据流走的还是真正的active/master的MAC。

        HSRP MAC: 0000.0C07,ACXX     VRRP MAC:

        0000.5E00.01XX,其中XX为组号。

        以上几乎是有关以太网中关于MAC地址的详尽阐述。

3.2 MS NLB(Network Load Balance)的动态产生MAC

    产生的NLB Cluster用IP是单播地址,而MAC地址是组播地址,如果交换机工作在三层模式,那

么要求交换机的支持单播IP地址到组播MAC的映射,即支持static multicast ARP。

3.3 虚机的MAC

    VMware MAC:00-0C-29-XX-XX-XX, 00-50-56-XX-XX-XX

4   包的转发率

异步传输:每发一个字节,一个停止位,即1/8浪费带宽

同步传输:在数据前加一个前导位7E:01111110,收到前导位后,

    后边是所要发的数据

以太网传输:101010….1011(8个字节preamble前导位)+1个以太帧

    +12字节停止位

在计算交换机包的转发率时是按以太网最小包64字节计算的,

10M端口如在线速下其包的转发率为:

    (10000000/8)/(64+(8+12))=14880包/秒,

即对于一个1G端口,在全线速下包的转发率为1.488Mpps

5  以太网的流控(802.3x)

5.1 概念

由于发送方的速率太快,导致接收方处理不了时,用pause 帧即xoff/xon强迫对方停止和继续开始传输。

Pause帧是一种符合IEEE802.3标准的以太网帧,其属于MAC控制帧的一种,MAC控制帧的格式如图所示。

7824244538

 6312372215

    目的MAC地址域,6字节,要求为01-80-C2-00-00-01(STP的地址为01-80-C2-00-00-00);

源MAC地址域,6字节,为本设备MAC地址;以太网帧长度或类型域, 要求为 88-08,用于标明本

帧的类型为MAC控制帧;MAC控制操作码,2字节。Pause帧仅是MAC控制帧的一种,对于Pause

帧,其在MAC控制帧中 的操作码为00-01;MAC控制参数域,包含用于MAC控制相关的参数。对于

Pause帧,此处应填入要求对端设备暂停发送的时间长度,由两个字节 (16位)来表示该长度,每单

位长度为物理层芯片发送512位数据的时间。所以发送一次Pause帧,要求对端设备暂停发送的时间

长度最长为:65535×512/以太网传输速率;保留域。

5.2 实例

5.2.1 HPC 存储IO网络环境说明:

    A)红色为10G以太网连接

    B)存储节点为6个10G线路连接,并采用分布式文件系统GPFS。

    C)刀片交换机采用1G下行10G上行刀片交换机,途中绿色部分。

    D)每个节点采用14个刀片,本测试环境共5笼刀片,(整个环境超过20笼刀片)

    E)测试工具为iozone

    F)刀片服务器系统为Linux系统,网卡为Broadcom千兆网卡

5.2.2 现象描述(计量单位为bps)

    A)刀片服务器采用直通模块,不采用刀片交换机单节点存储读的性能为80M,当逐个增加刀片

服务器时读性能持续增加

    B)采用刀片交换机网络连接设备单点的存储读的性能为40M左右,并且随着读客户端数量的增

加,整体IO性能不会变化或者递增。

5.2.3 分析

    当进行读操作时,由于刀片交换机上行链路是万兆—连接存储服务器,而刀片交换机内部端口是

千兆–连接刀片存储客户端,造成链路不匹配,使从服务器方向来的数据不能及时被客户端所读取,

由此造成刀片交换机端口拥塞,由此刀片交换机向存储服务器发流控,服务器收到流控后暂停发数据

—-所有的客户端都得不到数据,当不拥塞时传输又继续,接着又拥塞,又叫停。如此,传输时断

时续。一个刀片客户端叫停后,其它客户端也就无数据可读处于“饥饿”状态,更为严重的是多个客户

端会造成相互“感染”,使问题更为严重。

5.2.4 最后解决的方法

    关闭刀片交换机连接GPFS服务器的上行万端口的flowcontrol。

    与此相反,当客户端进行写操作时,是由千兆向万兆的方向进行,所以不存在此问题。

    半双工:用Back Pressure

6  MAC地址表

6.1 概念

    二层设备交换机都有一个功能—地址学习功能,即通过学习转发数据帧中的源MAC地址,生成一

个端口与MAC地址的对应表,称作MAC地址表(FDB表或CAM表),之后的数据转发时,就会查此

表,如果数据帧的目的MAC在表中,那么就从所对应的端口中转发,从而避免数据的广播(交换机对

数据帧目的地址未在MAC表中的处理机制是广播,即对所有的端口进行转发)。查看MAC地址表的

基本命令如下:

    G8264#show mac-address-table

6.2 MAC地址表分类

6.2.1 动态和静态

6.2.1.1动态

    交换机自动学习所生成的MAC地址表,叫动态MAC地址表或表项;

6.2.1.2 静态

    MAC地址表或表项由手工配置所生成的,叫静态地址表或表项;手工配置的命令如下:

a) 静态单播:

 8954599518

b) 静态组播

5048555401

6.2.2 单播和组播

    MAC地址表一般所指的是单播的MAC地址表,同时交换机也可以手工静态地配置组播MAC

地址表,如果交换机启用了IGMPSnooping后,那么交换机也会动态地生成组播MAC地址表。

3302233296

    单播与组播的MAC地址表的主要区别:在一台交换机的一个VLAN中,一个单播MAC只能与

一个端口相关联对应,而一个组播MAC地址可与多个端口关联对应,因为组播地址代表的是一

组主机。

未经允许不得转载:系统玩家 » 从以太帧认识以太网

分享到:更多 ()
喜欢 0
rancher

评论 抢沙发

评论前必须登录!