✅ 操作成功!

以太网帧

发布时间:2023-06-10 作者:admin 来源:文学

以太网帧

以太网帧

-

2023年3月1日发(作者:政策分析)

1

从以太帧认识以太网

Version1

1MAC(MediaAccessControl)地址的格式

1.1基本概念

MAC地址也称为硬件地址、物理地址、或二层地址,它是预先

编程并存储在硬件上如网卡。在以太网中,最后的寻址是落实到

MAC地址上,在IPV4的网络里实际上是靠MAC地址去转发数据

包或帧。

MAC为6个字节,48位,如00-60-08-09-ab-12,firstthree

octetsindicatethevendor—OUI(OrganizationalUniqueIdentifier),

OUI决定了MAC地址是全球唯一、不重复冲突的;Thelastthree

octetsequatetoahostidentifierforthedevice.

1.2注意事项

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

突。

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

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

未修改前

修改后:

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

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

C)PC机网卡MAC的修改:

2

也可用修改注册表来实现

1.3MAC地址绑定

用IP与MAC的静态绑定防止ARP地址欺骗:在PC机上绑定

网关路由器的MAC,在网关上绑定PC的MAC。

下面是一个在PC上绑定网关(192.168.200.200)的MAC,防

ARP欺骗的例子:

以上这个例子说明,只要把网关的IP(192.168.200.200)MAC

(cc-00-8e-58-00-00)在PC上进行绑定,那么,PC就会把包送到这

个网关。

3

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

802.3的帧格式:

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

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

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

4

以上是一个STP帧,可以看到length字段及DSAP/SSAP,另

外还可以看出一个帧的最小长度为64(以上不包括CRC4个字

节)

2.2以太帧的大小:以EthernetV2为例

A)一般情况下最大帧为1518,其中1500为payload,18个字节为

头(6+6+2+4),最小为64个字节,不够的用padding/trailer补

齐,在以上802.3/802.2的帧中可看到trailer。

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

a)Unicastframe:目的地址都为主机MAC,其目地MAC的IG(Bit

0ofOctet0)位置0

b)Broadcastframe:目的地址为FF-FF-FF-FF-FF-FF,其目地

MAC的IG(Bit0ofOctet0)位置1

5

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

239.255.255.255),其目地MAC的IG(Bit0ofOctet0)位置1

2.3BabyGiant及Fragment

2.3.1BabyGiant

大于1518字节(oversize)的帧叫BabyGiant,如802.1q的帧

(1518+4=1522),或QinQ(1522+4=1526)的帧,关于BabyGiantIEEE

的802.3ac扩大的以太帧的最大尺寸为1522,所以交换机802.1q缺

省情况下不用增加MTU值即可正常工作,但如果启用QinQ(Sw

modot1q-tunnel)功能,交换机的MTU必须改为1504(SYSTEM

MTU1504)。

2.3.2Fragment

小于64字节的碎片在以太网里是无用的,在半双工模式的共享

网络发生冲突时会大量产生这种碎片,碎片在存储转发模式(store-

and-forward)及免碎片模式(Fragment-free)下是会被会被丢弃的,

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

2.3.3jumbo帧

帧的大小为9K,因为帧小使网络的转发效率低,这也是存储网

络中用FiberChannel的原因之一,因为FC的转发是Block-lever基

于块的,它的payload为2112大小。当今高性能的交换机大都支持

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

3、几种特殊的MAC

3.1HSRP和VRRP的动态产生MAC

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

active/master的MAC。

HSRPMAC:0000.0C07,ACXXVRRPMAC:

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

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

3.2MSNLB(NetworkLoadBalance)的动态产生MAC

产生的NLBCluster用IP是单播地址,而MAC地址是组播地

址,如果交换机工作在三层模式,那么要求交换机的支持单播IP地

址到组播MAC的映射,即支持staticmulticastARP。

6

3.3虚机的MAC

VMwareMAC: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控制帧的格式如图所示。

7

目的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.1HPC存储IO网络环境说明:

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

8

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服务器的上行万端口的flow

control。

与此相反,当客户端进行写操作时,是由千兆向万兆的方向进

行,所以不存在此问题。

半双工:用BackPressure

6MAC地址表

9

6.1概念

二层设备交换机都有一个功能—地址学习功能,即通过学习转

发数据帧中的源MAC地址,生成一个端口与MAC地址的对应表,

称作MAC地址表(FDB表或CAM表),之后的数据转发时,就会查

此表,如果数据帧的目的MAC在表中,那么就从所对应的端口中

转发,从而避免数据的广播(交换机对数据帧目的地址未在MAC表

中的处理机制是广播,即对所有的端口进行转发)。查看MAC地址

表的基本命令如下:

G8264#showmac-address-table

6.2MAC地址表分类

6.2.1动态和静态

6.2.1.1动态

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

表项;

6.2.1.2静态

MAC地址表或表项由手工配置所生成的,叫静态地址表或表

项;手工配置的命令如下:

a)静态单播:

b)静态组播

6.2.2单播和组播

MAC地址表一般所指的是单播的MAC地址表,同时交换机也

可以手工静态地配置组播MAC地址表,如果交换机启用了IGMP

Snooping后,那么交换机也会动态地生成组播MAC地址表。

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

一个单播MAC只能与一个端口相关联对应,而一个组播MAC地址可与多个端

口关联对应,因为组播地址代表的是一组主机。

👁️ 阅读量:0