tokenpocket钱包下载网址|ethernet的mac地址长度为多少bit
tokenpocket钱包下载网址|ethernet的mac地址长度为多少bit
百度百科-验证
百度百科-验证
百度安全验证
百度安全验证
网络不给力,请稍后重试
返回首页
问题反馈
十二、MAC地址的了解 - 知乎
十二、MAC地址的了解 - 知乎首发于网安知识(一)Windows篇切换模式写文章登录/注册十二、MAC地址的了解闰土的猹弟练习时长两天半的渗透练习生MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。简介MAC地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前3个字节,16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3个字节,16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性 。结构网络中每台设备都有一个唯一的网络标识,这个地址叫MAC地址或网卡地址,由网络设备制造商生产时写在硬件内部。MAC地址则是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D就是一个MAC地址。具体如下图所示,其前3字节表示OUI(Organizationally Unique Identifier),是IEEE的注册管理机构给不同厂家分配的代码,区分不同的厂家。后3字节由厂家自行分配 。 MAC地址最高字节(MSB)的低第二位(LSb)表示这个MAC地址是全局的还是本地的,即U/L(Universal/Local)位,如果为0,表示是全局地址。所有的OUI这一位都是0。 MAC地址最高字节(MSB)的低第一位(LSb),表示这个MAC地址是单播还是多播。0表示单播。工作过程网络上的数据包从初始点开始 ,经过一个个中间节点最终到达目标节点 ,数据包是如何从初始节点开始识别一个个中间节点最终找到目标节点的呢? 实际上初始节点是根据目标节点的地址 ,将目标节点的IP地址映射到中间节点的MAC地址,找到第一个中间节点。从第一个中间节点出发,根据目标节点的IP地址映射到第二个中间节点的MAC地址,从而找到第二个中间节点……,以此类推,直到当找到最后一个中间节点后,从最后一个中间节点出发,根据目标节点的地址映射到目的节点的MAC地址,从而将数据包传送给目标主机。所以数据包的传送过程就是:不断地将目标节点的地址映射到一个个中间节点的MAC地址,再从一个个中间节点出发,直到找到最终的目标节点 。 数据包传送的关键是将目标节点的IP地址映射到中间节点的MAC地址。IP地址与MAC地址的映射要通过ARP地址解析协议来完成,它可将网络中的IP地址映射到主机的MAC地址,如交换机可以根据网络中的IP地址来找到本地主机的MAC地址。具体过程是:当交换机接收到来自网上一个数据包时,会根据该数据包的目标IP地址,查看交换机内部是否有跟该IP地址对应的MAC地址 ,如果有上次保留下来的对应的MAC地址,就会将该数据包 转发到对应MAC地址的主机上去。如果在交换机内部没有与目标)地址对应的MAC地址,则交换机会根据ARP协议将目标IP地址按照“表”中的对应关系映射成MAC地址 ,数据包就被转送到对应的MAC地址的主机上 。作用IP 地址是基于逻辑的,比较灵活,不受硬件的限制,也容易记忆。而 MAC地址在一定程度上与硬件一致,是基于物理的,能够标识具体的网络节点。这两种地址各有优点,使用时也因条件不同而采取不同的地址 。 大多数接入Internet的方式是把主机通过局域网组织在一起,然后再通过交换机或路由器等设备和 Internet 相连接。这样一来就出现了如何区分具体用户,防止 IP地址被盗用的问题。由于IP地址只是逻辑上的标识,任何人都能随意修改,因此不能用来具体标识一个用户。而 MAC地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件即网卡,否则一般是不能被冒名顶替的。基于 MAC 地址的这种特点,因此局域网采用了用MAC地址来标识具体用户的方法 。 在具体的通信过程中,通过交换机内部的交换表把 MAC地址和 IP 地址一一对应。当有发送给本地局域网内一台主机的数据包时,交换机首先将数据包接收下来,然后把数据包中的 IP 地址按照交换表中的对应关系映射成 MAC地址,然后将数据包转发到对应的 MAC地址的主机上去。这样一来,即使某台主机盗用了这个 IP 地址,但由于此主机没有对应的 MAC地址,因此也不能收到数据包,发送过程和接收过程类似 。 所以,无论是局域网,还是广域网中的计算机之间进行通信时,最终都表现为将数据包从某种形式的链路上的一个初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的传递都是由 ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到 MAC地址上来完成的 。 身份证就是用来证明一个人的身份。平日身份证的作用并不是很大,但是到了有的关键时刻,必须有身份证来说明一个人的一切。那么,IP地址与MAC地址绑定,就如同在日常生活中一个人与身份证的关系。因为,IP地址可以随意的,但MAC地址是唯一说明IP地址身份的。例如,为防止IP地址被盗用,通常交换机的端口绑定(端口的MAC表使用静态表项),可以在每个交换机端口只连接一台主机的情况下防止修改MAC地址的盗用,如果是三层设备还可以提供交换机端口、IP地址和MAC地址三者的绑定 。获取方法在命令提示符下输入命令“ipconfig /all”回车之后就会显示当前计算机的一些网络信息,其中“Physical Address”字样的这一项就是当前计算机中网卡的 MAC地址。当然,如果计算机中安装有多个网卡,则会有多个“Physical Address”字样 。与IP地址区别IP地址和MAC地址相同点是它们都唯一,不同的特点主要有: 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址是基于网络拓扑设计出的,同一台设备或计算机上,改动IP地址是很容易的(但必须唯一),而MAC则是生产厂商烧录好的,一般不能改动。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC地址就变了。 长度不同。IP地址为32位,MAC地址为48位 。 分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商 。 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。 编辑于 2023-03-02 15:27・IP 属地北京MacBook ProMac赞同 1添加评论分享喜欢收藏申请转载文章被以下专栏收录网安知识(一)Windows篇学习时记下
百度知道 - 信息提示
百度知道 - 信息提示
百度首页
商城
注册
登录
网页
资讯
视频
图片
知道
文库
贴吧采购
地图更多
搜索答案
我要提问
百度知道>提示信息
知道宝贝找不到问题了>_
该问题可能已经失效。返回首页
15秒以后自动返回
帮助
| 意见反馈
| 投诉举报
京ICP证030173号-1 京网文【2023】1034-029号 ©2024Baidu 使用百度前必读 | 知道协议
百度百科-验证
百度百科-验证
秒懂以太网的 MAC 硬件地址_以太网卡ksz8041nl的mac地址-CSDN博客
>秒懂以太网的 MAC 硬件地址_以太网卡ksz8041nl的mac地址-CSDN博客
秒懂以太网的 MAC 硬件地址
最新推荐文章于 2023-07-03 13:13:14 发布
硕子鸽
最新推荐文章于 2023-07-03 13:13:14 发布
阅读量9k
收藏
37
点赞数
5
分类专栏:
计算机网络
文章标签:
以太网
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43941364/article/details/105653172
版权
计算机网络
专栏收录该内容
20 篇文章
27 订阅
订阅专栏
MAC 层的硬件地址
在局域网中,以下几个称呼是一样的:
硬件地址 物理地址 MAC 地址
48 位的 MAC 地址
✅ IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
✅ 所以就只有 3 个字节能支配了,这 3 个字节由厂家支配,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
❗ 生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫做硬件地址 (hardware address) 或物理地址。
所以无论你把它带到哪里去,或者把它砸了,烧了,它的硬件地址还是不会变。
下面介绍一下 IEEE 组织的一些规定:
IEEE 规定地址字段的 第一字节的最低位 为
I
/
G
I/G
I/G 位。
I
/
G
I/G
I/G 表示
I
n
d
i
v
i
d
u
a
l
/
G
r
o
u
p
Individual / Group
Individual/Group。当
I
/
G
I/G
I/G 位
=
0
= 0
=0 时,地址字段表示一个单站地址。当
I
/
G
I/G
I/G 位
=
1
= 1
=1 时,表示组地址,用来进行多播。
所以对于前三个字节,既然第一个字节的最后一位被占用了,就只能支配其余的
23
23
23 位了。
❗所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。
IEEE 又规定了!
IEEE 把地址字段第一字节的倒数第
2
2
2 位规定为
G
/
L
G/L
G/L 位,表示
G
l
o
b
a
l
/
L
o
c
a
l
Global / Local
Global/Local 。当
G
/
L
G/L
G/L 位
=
0
= 0
=0 时,是全球管理。当
G
/
L
G/L
G/L 位
=
1
= 1
=1 时, 是本地管理。
❓ 那么有啥区别呢 ?
全球管理需要购买,本地管理用户自定义,不过以太网几乎不会去理会这个用户自定义的。
适配器检查 MAC 地址
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址,然后检查这个帧是否是下面的其中一种,如果不是就丢弃,如果是就收下然后转发。
1️⃣ 单播 (unicast) 帧(一对一)2️⃣ 广播 (broadcast) 帧(一对全体)3️⃣ 多播 (multicast) 帧(一对多)
MAC 帧的格式
常用的以太网 MAC 帧格式有两种标准 :
✅
D
I
X
E
t
h
e
r
n
e
t
V
2
DIX \space Ethernet \space V2
DIX Ethernet V2 标准✅
I
E
E
E
的
802.3
IEEE 的 802.3
IEEE的802.3 标准
最常用的
M
A
C
MAC
MAC 帧是以太网
V
2
V2
V2 的格式。
我们来放大看一下:
1️⃣ 首先是目的地址字段,占 6 个字节。 2️⃣ 然后是源地址字段,也是 6 字节。 3️⃣ 类型字段用来标志上一层使用的是什么协议,以便把收到的
M
A
C
MAC
MAC 帧的数据上交给上一层的这个协议。 4️⃣ 数据字段的正式名称是 MAC 客户数据字段。 最小长度
64
字
节
−
18
字
节
64 字节 - 18 字节
64字节−18字节 的首部和尾部
=
=
= 数据字段的最小长度(
46
46
46 字节 5️⃣ FSC 用于差错检测
❓ 其实你会发现从
M
A
C
MAC
MAC 层到物理层还会多出
8
8
8 个字节,那么这
8
8
8 个字节是啥呢?
在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现
M
A
C
MAC
MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。
最后提一下与
I
E
E
E
802.3
M
A
C
帧
IEEE \space802.3\space MAC 帧
IEEE 802.3 MAC帧 的区别:
IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。当
长
度
/
类
型
长度 / 类型
长度/类型 字段值小于
0
x
0600
0x0600
0x0600 时,数据字段必须装入上面的逻辑链路控制 LLC 子层的 LLC 帧。
帧间最小间隔为
9.6
μ
s
9.6 \mu s
9.6μs,相当于
96
b
i
t
96 bit
96bit 的发送时间。 一个站在检测到总线开始空闲后,还要等待
9.6
μ
s
9.6 \mu s
9.6μs 才能再次发送数据。
优惠劵
硕子鸽
关注
关注
5
点赞
踩
37
收藏
觉得还不错?
一键收藏
打赏
知道了
0
评论
秒懂以太网的 MAC 硬件地址
什么是MAC硬件地址,以及物理地址是什么,他们有什么关系,本文介绍了以太网 MAC帧的格式,解释了常见的两种格式,以及一些基础知识,可以在遗忘的时候查阅。
复制链接
扫一扫
专栏目录
Network 之八 详解 MAC 地址、MAC 协议、MAC 控制器
技术干货
04-23
2096
MAC(Media Access Control,MAC)即媒体访问控制,定义于 IEEE Std 802.3 中。IEEE Std 802.3-1985 中规定的半双工媒体访问控制协议是带有冲突检测的载波侦听多址访问(CSMA/CD)。并于 1997 年添加了全双工 MAC 协议。双工 MAC 协议不需要使用 CSMA/CD 协议,因为采用收发线路完全分离的物理介质,点到点的连接,不存在冲突。
复制虚拟机出现”适配器 的mac地址在保留地址范围内‘’
weixin_30340617的博客
03-27
4363
首先我的虚拟机是复制出来的,选择我已经移到,但是结果会出现了以下情况,导致了我无法ping 通,先看下提示:
使用:ipconfig –all 命令查寻,果然再现有打开的虚拟机中,存在两个mac地址相同的虚拟机,所以就有思路了,修改mac地址。
尝试1:直接利用虚拟机自带的修改mac地址
选择对应的虚拟机,直接在虚拟机设置中进行修改,修改步骤如下
不知道是不是虚拟机没...
参与评论
您还未登录,请先
登录
后发表或查看评论
获取以太网和wifiMac地址
10-30
获取Mac地址,以太网和无线网,获取IP地址,希望能够帮到你
KSZ8041中文资料
12-09
KSZ8041NL是单电源供电的10Base-T/100Base-TX物理层收发器,它可提供MII/RMII接口来收发数据。
M2378-CFNS20核心板原理图(KSZ8041NL版
07-02
基于altium design软件的 M2378-CFNS20核心板原理图,网络芯片使用micrel公司的ksz8041NL PHY
Android 判断网络是否可用 & 获取IP地址 & 获取以太网口MAC地址
01-03
判断网络是否可用:
注意!是判断网络是否可用,但网络可用不代表一定能上外网的!
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getApplicationContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
if (m
Android 固定以太网MAC地址
11-10
没有MAC地址的设备,通过cpu 序列号(设备唯一ID)转换为MAC地址.
https://blog.csdn.net/qq_33544860/article/details/127784655
以太网 以太网地址(MAC地址)
Hades_Ling的CSDN博客
12-02
2926
MAC地址也称为物理地址、硬件地址、链路地址
- MAC地址在网络设备制造生产时就已经写入了硬件内部,与IP地址不一样,MAC地址非手动强制修改,MAC地址将不会改变。MAC地址通常表示为12个16进制数,每2个16进制之间用冒号隔开:74-D8-3E-7A-AD-09
- 前6位16进制(`74-D8-3E`-7A-AD-09)为供应商地址代码、后6位16进制(74-D8-3E-`7A-AD-09`)为网卡唯一地址代码
以太网MAC地址组成与交换机基本知识点
Guiled7的博客
10-07
7588
以太网MAC地址组成与交换机基本知识点
1、以太网MAC地址
MAC地址由48位二进制数组成,通常分为六段,用十六进制表示
例:08 - 00 - 5a - e3 - 93 - 6c 前二十四位是供应商标识,后二十四位:供应商对网卡的唯一编号
以太网帧格式
以太网帧分为7部分,目的地址和源地址为MAC地址,各占6字节,协议占2字节,数据最多可占1500字节,帧校检占4字节。
2、交换机基础知识点
交换机转发原理
比方说,这是一台交换机,我们接上网络,开机,这时候c1要找c2,c1发出一个数
以太网和MAC地址
最新发布
幾微的学习博客
07-03
1029
本文简单的介绍了,以太网和MAC地址,以及如何去理解以太网和MAC地址,可以为小白打下坚实的数通基础。
碎碎记 1
weifengdq的专栏
02-14
3375
文章目录LAN8742->KSZ8041晶振负载电容千兆网络线序串口
LAN8742->KSZ8041
STM32Cube配置以太网默认的PHY为LAN8742, 支持PHY地址自动搜索, 抱着试一试的态度, 虽然外部PHY是KSZ8041, 直接运行LAN8742的程序, 仍然是可以ping通的. 具体寄存器未查看.
lan8742.c有个2000的宏定义, 每次初始化会死等2000ms, 显得初始化很慢, 可以视情况手动改小, 当然每次Cube自动生成代码又会回到2000
#define
rk平台android5.1固定以太网mac地址
04-08
设置里增添以太网mac地址显示ui,解决了rk3288平台以太网mac地址每次开机都会发生变化的情况
常见以太网设备IP地址 用户名密码_施耐德PLC常见以太网设备默认IP地址_
09-28
施耐德PLC的常见设备默认IP地址大全,包括PLC,交换机等
3.3.5 以太网的 MAC 层
engineer0的博客
04-04
921
一、 MAC层中的硬件地址
硬件地址又叫物理地址,mac地址(因为在mac帧中)
IEEE 802标准 为局域网规定了一种48位二进制数的全球地址
是指局域网上的每一台计算机固化在适配器的ROM中的地址
这个 48 位的二进制数地址是全球唯一的
若局域网中的主机或路由器安装了多个适配器,那么这样的主机或路由器就有多个地址
以太网mac帧 中有 mac地址字段,mac地址字段可采用 6字节(48bit)或 2字节(16bit)中的一种
6字节 mac地址 是全球唯一的,使全世界所有的局域网适配器都
计算机网络-MAC地址与以太网帧格式
m0_73995538的博客
03-28
2270
计算机联网必需的硬件是安装在计算机上的网卡,通信中,用来标识主机身份的地址就是制作在网卡上的一个硬件地址,每块网卡在生产出来后,除了具有基本的功能外,都有一个,这个地址就是,即网卡的,MAC地址由,通常分成六段,用十六进制表示,如00-D0-09-A1-D7-B7。其中。MAC地址的第8位为0时,表示该MAC地址为单播地址:为1时,表示该MAC地址为组播MAC地址,一块物理网卡的地址一定是一个单播地址,也就是第8位一定为0;组播地址是一个逻辑地址,用来表示一组接收者,而不是一个接收者。如下图。
MAC地址;地址解析协议(ARP);以太网;链路层交换机
Unique-You的博客
06-04
9113
链路层编址
地址解析协议(ARP),该协议为节点提供了将IP地址转换为链路层地址的机制。
动态主机配置协议(DHCP)。
MAC地址
并非节点具有链路层地址,而是节点的适配器(网络接口)具有链路层地址(MAC)。
MAC地址的作用是标识局域网内一个帧从哪个接口到哪个物理相连的其他接口.因此,拥有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像他们也具有多个IP地址一样.需要...
计算机网络——MAC地址,IP地址,ARP协议
weixin_51818357的博客
07-09
1790
MAC地址,IP地址及ARP协议
MAC地址是以太网MAC子层所使用的地址(数据链路层)
IP地址是TCP/IP体系结构网际层所使用的地址
ARP协议属于TCP/IP体系结构的网际层,起作用是已只设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址
MAC地址
使用点对点信道的数据链路层不需要地址,因为只是两个对象,点对点就可以了
但是在广播域中,多个主机连接在一个广播通道上,要想实现两个主机之间的通信,则每个主句都必须有一个唯一的标识,即一个数据链路层地址;
在每个组件发送的
4.2.2 以太网技术(二) MAC地址和MAC帧的格式
nytcjsjboss的博客
05-04
3700
下一个字段就是用户的数据(data)字段,这个字段的长度是从46个字节到1500个字节之间,它存放的是高层的协议数据单元里面真正的内容,即我们的数据内容。第二个字段是类型字段,占2个字节,在DIX第二版本中规定了数据的类型字段是用来标识该帧的上一层使用的是什么协议,以便把收到的MAC帧交给上一层相应的协议当中,这个字段的用法就相当于查表了,如当前的类型字段的值是0X0800(16进制)就代表了上层携带的是IP数据报的内容,如果类型字段值是。
思科模拟器:路由器基本配置
热门推荐
WS的小屋
06-05
2万+
实验四 路由器基本配置
一、实验目的
(1)熟悉路由各接口的外观、接口的功能、接口的表示方法;(2)掌握带外的管理方法:通过接口console配置;(3)掌握带内的管理方法:通过方式telnet配置;
二、应用环境
路由器是三层设备,主要功能是进行路径选择和广域网的连接。与交换机相比,接口数量要少很多,但功能要强大的多,这些功能在外观上就是接口、模块的类型比较多,当然价格有很大的差异,通常高端的设备都是模块化的,支持的模块类型也很丰富。
三、实验设备
(1) DCR 路由器1
(2) PC 机1台
android 获取以太网mac地址
06-04
获取 Android 设备的以太网(Ethernet) MAC 地址,可以使用以下代码: ```java EthernetManager ethManager = (EthernetManager) context.getSystemService(Context.ETHERNET_SERVICE); String macAddress = ...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
硕子鸽
CSDN认证博客专家
CSDN认证企业博客
码龄5年
暂无认证
221
原创
3万+
周排名
88万+
总排名
91万+
访问
等级
8815
积分
731
粉丝
1460
获赞
390
评论
6527
收藏
私信
关注
热门文章
VMware虚拟机没有网络
60880
数据库关系模式的函数依赖习题讲解
50434
ssh: connect to host ip port 22: Connection timed out
43456
SpringBoot + 阿里云 OSS 实现在线视频播放
34010
ATM 系统的用例图、类图、顺序图、协作图、活动图设计
32605
分类专栏
Spring Boot
2篇
JavaWeb
25篇
Spring
22篇
微服务
11篇
数据库
17篇
软件架构
1篇
设计模式
8篇
UML
4篇
Python
12篇
大前端
6篇
微信小程序
2篇
计算机网络
20篇
操作系统
10篇
BUG
20篇
实用工具
9篇
Linux
25篇
编程语言
8篇
数据结构和算法
8篇
技术分享
10篇
平面设计
1篇
最新评论
打包部署微服务项目
dd白:
请问知道了吗
CSI Tools 工具的安装 Intel 5300 + Ubuntu14.04
fgd0707:
我也是 您解决了吗
CSI Tools 工具的安装 Intel 5300 + Ubuntu14.04
fgd0707:
随身wifi当路由器ping不出来,receive端没有跳任何字
CSI Tools 工具的安装 Intel 5300 + Ubuntu14.04
熙莫:
想问问解决了吗,我也出现了这个问题
CSI Tools 工具的安装 Intel 5300 + Ubuntu14.04
熙莫:
你好,外网是指什么?我也遇到这个问题
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Jar 包加密
Mybatis-plus 使用 typeHandler 将 String 拼接字符串转换为 List 列表
Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33
2023年3篇
2022年1篇
2021年20篇
2020年200篇
目录
目录
分类专栏
Spring Boot
2篇
JavaWeb
25篇
Spring
22篇
微服务
11篇
数据库
17篇
软件架构
1篇
设计模式
8篇
UML
4篇
Python
12篇
大前端
6篇
微信小程序
2篇
计算机网络
20篇
操作系统
10篇
BUG
20篇
实用工具
9篇
Linux
25篇
编程语言
8篇
数据结构和算法
8篇
技术分享
10篇
平面设计
1篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
打赏作者
硕子鸽
你的鼓励将是我创作的最大动力
¥1
¥2
¥4
¥6
¥10
¥20
扫码支付:¥1
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
【小菜学网络】MAC地址详解 - 知乎
【小菜学网络】MAC地址详解 - 知乎首发于小菜学编程切换模式写文章登录/注册【小菜学网络】MAC地址详解fasionchan上一小节介绍了以太网帧的结构,以及帧中各个字段的作用。参与以太网通讯的实体,由以太网地址唯一标识。以太网地址也叫做 MAC 地址,我们对它仍知之甚少。 以太网地址在不同场景,称谓也不一样,常用叫法包括这些: 以太网地址MAC 地址硬件地址物理地址网卡地址网卡在以太网中,每台主机都需要安装一个物理设备并通过网线连接到一起:这个设备就是 网卡 ( NIC ),网络接口卡 ( network interface card )的简称。有些文献也将网卡称为 网络接口控制器 ( network interface controller )。从物理的层面看,网卡负责将比特流转换成电信号发送出去; 反过来,也负责将检测到的电信号转换成比特流并接收。从软件的层面看,发送数据时,内核协议栈负责封装以太网帧(填充 目的地址 , 源地址 , 类型 和 数据 并计算 校验和),并调用网卡驱动发送; 接收数据时,负责验证 目的地址 、 校验和 并取出数据部分,交由上层协议栈处理。每块网卡出厂时,都预先分配了一个全球唯一的 MAC地址 ,并烧进硬件。 不管后来网卡身处何处,接入哪个网络,MAC 地址均不变。 当然,某些操作系统也允许修改网卡的 MAC 地址。MAC地址MAC 地址由 6 个字节组成( 48 位),可以唯一标识 $2^{48}$ ,即 281474976710656 个网络设备(比如网卡)。MAC 地址 6 个字节可以划分成两部分,如下图:3 字节长的 厂商代码 ( OUI ),由国际组织分配给不同的网络设备商;3 字节长的 序列号 ( SN ),由厂商分配给它生产的网络设备;厂商代码和序列号都是唯一分配,因此 MAC 地址是 全球唯一 的。冒分十六进制表示法MAC 地址 6 个字节如何展示呢? 是否能够作为 ASCII 来解读并显示?恐怕不能。一个字节总共有 8 个位,而 ASCII 只定义了其中的 7 位。况且 ASCII 中定义了很多控制字符,能显示的也只有字母、数字以及一些常用符号。以上述地址为例,只有 0x5B 这个字节是可以显示的,对应着字符 [ 。好在,我们可以用多个可读字符来表示一个原始字节。我们将一个字节分成两部分,高 4 位以及低 4 位,每部分可以用一个十六进制字符来表示。以 0x00 这个字节为例,可以用两个字符 00 表示:这样一来,整个地址可以用一个 12 字节长的字符串表示: 0010A4BA875B 。 为了进一步提高可读性,可以在中间插入冒号 : : 00:10:A4:BA:87:5B 。这就是 冒分十六进制表示法 ( colon hexadecimal notation )。注意到,冒分十六进制总共需要 17 个字节。 如果算上字符串结尾处的 \0 ,将达到 18 个字节,原始 MAC 地址的整整 3 倍!顺便提一下,十六进制字母字符用大小写都可以。网卡管理Linux 上有不少工具命令可以查看系统当前接入的网卡以及每张网卡的详细信息。首先是 ifconfig 命令,他默认显示已启用的网卡,详情中可以看到每张网卡的物理地址:fasion@u2004 [ ~ ] ➜ ifconfig
enp0s3: flags=4163
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe49:50dd prefixlen 64 scopeid 0x20
ether 08:00:27:49:50:dd txqueuelen 1000 (Ethernet)
RX packets 3702 bytes 4881568 (4.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 538 bytes 42999 (42.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163
inet 192.168.56.2 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::a00:27ff:fe56:831c prefixlen 64 scopeid 0x20
ether 08:00:27:56:83:1c txqueuelen 1000 (Ethernet)
RX packets 4183 bytes 1809871 (1.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2674 bytes 350013 (350.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 679 bytes 1510416 (1.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 679 bytes 1510416 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0例子中,系统总共有 3 块已启用网卡,名字分别是 enp0s3 、 enp0s8 以及 lo 。其中 lo 是环回网卡,用于本机通讯。ether 08:00:27:49:50:dd 表明,网卡 enp0s3 的物理地址是 08:00:27:49:50:dd 。 请注意,ifconfig 是一个比较老旧的命令,正在慢慢淡出历史舞台。 ip 命令也可以查看系统网卡信息,默认显示所有网卡:fasion@u2004 [ ~ ] ➜ ip link
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3:
link/ether 08:00:27:49:50:dd brd ff:ff:ff:ff:ff:ff
3: enp0s8:
link/ether 08:00:27:56:83:1c brd ff:ff:ff:ff:ff:ffip 命令输出信息比较紧凑, link/ether 08:00:27:49:50:dd 这行展示网卡的物理地址。ip 命令是一个比较新的命令,功能非常强大。它除了可以用于管理网络设备,还可以用于管理路由表,策略路由以及各种隧道。因此,推荐重点学习掌握 ip 命令的用法。编程获取网卡地址如果程序中需要用到网卡地址,如何获取呢?有个方法是执行 ip 命令输出网卡详情,然后从输出信息中截取网卡地址。例如:fasion@u2004 [ ~ ] ➜ ip link show dev enp0s3 | grep 'link/ether' | awk '{print $2}'
08:00:27:49:50:dd这种方法多用于 Shell 编程中。更优雅的办法是通过套接字编程,直接向操作系统获取。Linux 套接字支持通过 ioctl 系统调用获取网络设备信息,大致步骤如下:创建一个套接字,任意类型均可;准备 ifreq 结构体,用于保存网卡设备信息;将待查询网卡名填充到 ifreq 结构体;调用 ioctl 系统调用,向套接字发起 SIOCGIFHWADDR 请求,获取物理地址;如无错漏,内核将被查询网卡的物理地址填充在 ifreq 结构体 ifr_hwaddr 字段中;最后,附上一个完整的例子:#include
#include
#include
#include
#include
/**
* Convert binary MAC address to readable format.
*
* Arguments
* n: binary format, must be 6 bytes.
*
* a: buffer for readable format, 18 bytes at least(`\0` included).
**/
void mac_ntoa(unsigned char *n, char *a) {
// traverse 6 bytes one by one
sprintf(a, "%02x:%02x:%02x:%02x:%02x:%02x", n[0], n[1], n[2], n[3], n[4], n[5]);
}
int main(int argc, char *argv[]) {
if (argc < 2) {
fprintf(stderr, "no iface given\n");
return 1;
}
// create a socket, any type is ok
int s = socket(AF_INET, SOCK_STREAM, 0);
if (-1 == s) {
perror("Fail to create socket");
return 2;
}
// fill iface name to struct ifreq
struct ifreq ifr;
strncpy(ifr.ifr_name, argv[1], 15);
// call ioctl to get hardware address
int ret = ioctl(s, SIOCGIFHWADDR, &ifr);
if (-1 == ret) {
perror("Fail to get mac address");
return 3;
}
// convert to readable format
char mac[18];
mac_ntoa((unsigned char *)ifr.ifr_hwaddr.sa_data, mac);
// output result
printf("IFace: %s\n", ifr.ifr_name);
printf("MAC: %s\n", mac);
return 0;
}其中,mac_ntoa 函数调用字符串格式化函数 sprintf 将原始 MAC 地址转换成冒分十六进制形式。【小菜学网络】系列文章首发于公众号【小菜学编程】,敬请关注:发布于 2021-01-13 18:48Mac介质访问控制层(MAC)Mac Pro赞同 8添加评论分享喜欢收藏申请转载文章被以下专栏收录小菜学编程欢迎关注小菜,这里有你想要的编程
MAC地址详解 - 知乎
MAC地址详解 - 知乎首发于网络工程师切换模式写文章登录/注册MAC地址详解网络工程师小宅1,MAC地址作用?是什么?MAC地址就像身份证一样,用来证明身份的,长度为48bit,由12位的16进制数表示。2,MAC地址分类1,物理MAC地址:全球唯一的硬件地址,这种MAC地址标识了唯一的以太网的一的一个终端。2,广播MAC地址:(全F)用来表示局域网(LAN)上的所有终端设备。3,组播MAC地址:第8位bit为1的MAC地址为组播MAC地址,用来表示LAN上的的一组终端。3,MAC地址表是什么?作用?mac地址表记录了交换机学习到的其他设备的mac与接口的对应关系,以及接口所属的vlan等信息。设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果查到了,则根据表项的出接口转发该报文,如果没查到,设备将采取广播方式在所属vlan内除接收接口外的所有接口转发该报文。4,MAC表项的分类:1,动态MAC表项:由接口通过报文中原MAC学习到,表项默认老化时间300秒系统复位后表项会丢失2,静态表项:手工配置,表项不老化,系统复位后表项不丢失,不会影响接口动态MAC地址的学习,,一条静态MAC地址表项只能绑定一个出接口。3,黑洞表项:用户手工配置,系统复位后,表项不会丢失,配置黑洞表项后,源MAC或目的MAC是该MAC的报文将会被丢弃。5,MAC地址表的学习维护1,如果MAC地址表不存在该MAC,设备将这个新的MAC地址以及端口,vlan id加入到MAC表项里。2,若MAC地址表里已经存在,设备将对该表项进行更新。若交换机多个接口加入了Eth-Trunk.则MAC地址表项的出接口就是Eth-Trunk. 默认是VLAN 16,端口安全**端口安全(Port Security)功能将设备接口学习到的MAC地址变为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),可以阻止除安全MAC和静态MAC之外的主机通过本接口和设备通信,从而增强设备安全性。7,端口学习安全MAC的方式1,安全动态MAC地址:使能端口安全而未使能Sticky MAC功能时学习到的MAC地址。缺省情况下,安全动态MAC地址不会被老化,设备重启后安全动态MAC地址会丢失,需要重新学习。2,安全静态MAC地址:使能端口安全而未使能Sticky MAC功能时手工配置的静态MAC地址,安全静态MAC地址不会被老化。3,Sticky MAC地址:使能端口安全后又使能Sticky MAC功能后学习到的MAC地址。Sticky MAC地址不会被老化,保存配置后重启设备,Sticky MAC地址不会丢失,无需重新学习当安全MAC地址数量达到限制,将不再学习MAC地址,并对接口或报文采取配置的保护动作,缺省情况下是丢弃该报文并上报告警。三种动作:1,restrict :缺省情况2,protect:丢弃报文,并不上报告警3,shutdown:关闭接口,并上报告警8,MAC地址表的漂移MAC地址表的漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址覆盖源MAC地址表的现象。出现这种现象一般都意味着网络中出现环路,形成广播风暴。9,MAC地址漂移的解决方法1,避免机制提高接口MAC地址学习的优先级不允许相同优先级的接口发生MAC地址表项的覆盖2,MAC地址表的漂移检测MAC地址的漂移检测是利用MAC地址学习时接口跳变实现的,会上报,MAC地址、VLAN,以及跳变的接口等诊断信息。其中跳变的接口即为可能出现环路的接口。网络管理员根据网络中每台设备上出现的跳变接口,以及网络拓扑,判断环路的源头。10 , 相关配置:MAC相关配置mac-address static mac-address interface-type interface-number vlan vlan-id,添加静态MAC表项。mac-address blackhole mac-address [ vlan vlan-id ],添加黑洞MAC表项。mac-address aging-time aging-time,配置动态MAC表项的老化时间。在接口视图下mac-address learning disable [ action { discard | forward } ],在接口上禁止MAC地址学习功能。在vlan视图下mac-address learning disable,在VLAN上禁止MAC地址学习功能。缺省情况下,VLAN的MAC地址学习功能是使能的。在接口视图下mac-limit maximum max-num,限制接口的MAC地址学习数量。缺省情况下,不限制MAC地址学习数量。mac-limit action { discard | forward },配置当MAC地址数量达到限制后,对报文应采取的动作。缺省情况下,对超过MAC地址学习数量限制的报文采取丢弃动作。mac-limit alarm { disable | enable },配置当MAC地址数量达到限制后是否进行告警。缺省情况下,对超过MAC地址学习数量限制的报文进行告警在vlan视图下mac-limit maximum max-num,限制VLAN的MAC地址学习数量。缺省情况下,不限制MAC地址学习数量。mac-limit alarm { disable | enable },配置当MAC地址数量达到限制后是否进行告警。缺省情况下,对超过MAC地址学习数量限制的报文进行告警。12.配置结果检查执行命令display mac-address,查看所有MAC表项信息。执行命令display mac-address static,查看静态MAC表项信息。执行命令display mac-address dynamic,查看动态MAC表项信息。执行命令display mac-address blackhole,查看黑洞MAC表项信息。执行命令display mac-address aging-time,查看动态MAC表项的老化时间。执行命令display mac-address summary,查看设备上各种类型MAC地址表项的汇总信息。执行命令display mac-address total-number,查看设备上MAC地址表项的数量。执行命令display mac-limit,查看MAC地址学习数量限制信息。11.MAC相关配置mac-address static mac-address interface-type interface-number vlan vlan-id,添加静态MAC表项。mac-address blackhole mac-address [ vlan vlan-id ],添加黑洞MAC表项。mac-address aging-time aging-time,配置动态MAC表项的老化时间。在接口视图下mac-address learning disable [ action { discard | forward } ],在接口上禁止MAC地址学习功能。在vlan视图下mac-address learning disable,在VLAN上禁止MAC地址学习功能。缺省情况下,VLAN的MAC地址学习功能是使能的。在接口视图下mac-limit maximum max-num,限制接口的MAC地址学习数量。缺省情况下,不限制MAC地址学习数量。mac-limit action { discard | forward },配置当MAC地址数量达到限制后,对报文应采取的动作。缺省情况下,对超过MAC地址学习数量限制的报文采取丢弃动作。mac-limit alarm { disable | enable },配置当MAC地址数量达到限制后是否进行告警。缺省情况下,对超过MAC地址学习数量限制的报文进行告警在vlan视图下mac-limit maximum max-num,限制VLAN的MAC地址学习数量。缺省情况下,不限制MAC地址学习数量。mac-limit alarm { disable | enable },配置当MAC地址数量达到限制后是否进行告警。缺省情况下,对超过MAC地址学习数量限制的报文进行告警。12.配置结果检查执行命令display mac-address,查看所有MAC表项信息。执行命令display mac-address static,查看静态MAC表项信息。执行命令display mac-address dynamic,查看动态MAC表项信息。执行命令display mac-address blackhole,查看黑洞MAC表项信息。执行命令display mac-address aging-time,查看动态MAC表项的老化时间。执行命令display mac-address summary,查看设备上各种类型MAC地址表项的汇总信息。执行命令display mac-address total-number,查看设备上MAC地址表项的数量。执行命令display mac-limit,查看MAC地址学习数量限制信息。编辑于 2022-10-31 17:20网络工程师HCIEHCIP赞同 2添加评论分享喜欢收藏申请转载文章被以下专栏收录网络工程师不定期分享网工考证技巧,行
37张图详解MAC地址、以太网、二层转发、VLAN - 知乎
37张图详解MAC地址、以太网、二层转发、VLAN - 知乎首发于图解网络切换模式写文章登录/注册37张图详解MAC地址、以太网、二层转发、VLAN网工FoxMAC 地址每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。MAC 地址由 6 个字节组成。前 3 个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后 3 个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同 MAC 地址的网卡。现在可以通过软件修改 MAC 地址,虚拟机使用物理机网卡的 MAC 地址,并不能保证 MAC 地址是唯一的。但是只要 MAC 地址相同的设备不在同一个数据链路上就没问题。为了查看方便, 6 个字节的 MAC 地址使用十六进制来表示。每个字节的 8 位二进制数分别用 2 个十六进制数来表示,例如我的网卡 MAC 地址是 E0-06-E6-39-86-31。 什么是字节?什么是比特? 比特,英文名 bit ,也叫位。二进制中最小单位,一个比特的值要么是 0 要么是 1 。字节,英文名 Byte 。一个字节由八个比特构成。 MAC 地址怎么使用? 最常用的以太网和无线局域网,都是使用 MAC 地址作为地址标识符进行通信的。以太网有线局域网中普遍使用以太网,以太网标准简单,传输速率高。常见的网络拓扑结构如下图。 什么是网络拓扑? 网络的连接和构成的形态称为网络拓扑。它不仅可以直观的看到网络物理连接方式,还可以表示网络的逻辑结构。以太网数据格式当今最常用的以太网协议标准是 ETHERNET II 标准。 ETHERNET II 标准定义的数据帧格式如下图。前导码( Preamble )前导码由 7 个字节组成,每个字节固定为 10101010 。之后的 1 个字节称为帧起始定界符,这个字节固定为 10101011 。这 8 个字节表示以太网帧的开始,也是对端网卡能够确保与其同步的标志。帧起始定界符的最后两位比特被定义为 11 ,之后就是以太网数据帧的本体。目的地址( Destination Address )目的地址由 6 个字节组成,用来标识数据帧的目的设备,类似于快递的收件人地址。源地址( Source Address )源地址由 6 个字节组成,用来标识数据帧的始发设备,类似于快递的发件人地址。类型( Type )类型字段由 2 个字节组成。类型字段是表明上一层(即网络层)的协议类型,可以让接收方使用相同的协议进行数据帧的解封装。数据( Data )帧头后就是数据。一个数据帧所能容纳的最大数据范围是 46 ~ 1500 个字节。如果数据部分不足 46 个字节,则填充这个数据帧,让它的长度可以满足最小长度的要求。FCS( Frame Check Sequence )FCS 由 4 个字节组成,位于数据帧的尾部,用来检查帧是否有所损坏。通过检查 FCS 字段的值将受到噪声干扰的错误帧丢弃。 最小的数据帧是多少字节? 数据帧的各字段加起来一共是 64 字节,其中数据是 46 字节。再加上前导码就是 72 字节。因此最小的数据帧是 72 字节。在传输过程中,每个数据帧还有 12 字节的数据帧间隙,所以最小的可传输数据帧长度是 84 字节,即 672 比特。交换机二层转发原理交换机有多个网络端口,它通过识别数据帧的目标 MAC 地址,根据 MAC 地址表决定从哪个端口发送数据。MAC 地址表不需要在交换机上手工设置,而是可以自动生成的。 交换机是如何添加、更新、删除 MAC 地址表条目的? 在初始状态下,交换机的 MAC 地址表是空的,不包含任何条目。当交换机的某个端口接收到一个数据帧时,它就会将这个数据帧的源 MAC 地址、接收数据帧的端口号作为一个条目保存在自己的 MAC 地址表中,同时在接收到这个数据帧时重置这个条目的老化计时器时间。这就是交换机自动添加 MAC 地址表条目的方式。在新增这一条 MAC 地址条目后,如果交换机再次从同一个端口收到相同 MAC 地址为源 MAC 地址的数据帧时,交换机就会更新这个条目的老化计时器,确保活跃的的条目不会老化。但是如果在老化时间内都没收到匹配这个条目的数据帧,交换机就会将这个老化的条目从自己的 MAC 地址表中删除。还可以手动在交换机的 MAC 地址表中添加静态条目。静态添加的 MAC 地址条目优先动态学习的条目进行转发,而且静态条目没有老化时间,会一直保存在交换机的 MAC 地址表中。 如何使用 MAC 地址表条目进行转发? 当交换机的某个端口收到一个单播数据帧时,它会查看这个数据帧的二层头部信息,并进行两个操作。一个操作是根据源 MAC 地址和端口信息添加或更新 MAC 地址表。另一个操作是查看数据帧的目的 MAC 地址,并根据数据帧的目的 MAC 地址查找自己的 MAC 地址表。在查找 MAC 地址表后,交换机会根据查找结果对数据帧进行处理,这里有 3 中情况:交换机没有在 MAC 地址表中找到这个数据帧的目的 MAC 地址,因此交换机不知道自己的端口是否有连接这个 MAC 地址的设备。于是,交换机将这个数据帧从除了接收端口之外的所有端口泛洪出去。交换机的 MAC 地址表中有这个数据帧的目的 MAC 地址,且对应端口不是接收到这个数据帧的端口,交换机知道目的设备连接在哪个端口上,因此交换机会根据 MAC 地址表中的条目将数据帧从对应端口单播转发出去,而其它与交换机相连的设备则不会收到这个数据帧。交换机的 MAC 地址表中有这个数据帧的目的 MAC 地址,且对应端口就是接收到这个数据帧的端口。这种情况下,交换机会认为数据帧的目的地址就在这个端口所连接的范围内,因此目的设备应该已经收到数据帧。这个数据帧与其它端口的设备无关,不会将数据帧从其它端口转发出去。于是,交换机会丢弃数据帧。单播:主机一对一的发送数据。单播地址是主机的 MAC 地址。 广播:向局域网内所有设备发送数据。只有全 1 的 MAC 地址为广播 MAC 地址,即 FF-FF-FF-FF-FF-FF 。 泛洪:将某个端口收到的数据从除该端口之外的所有端口发送出去。泛洪操作广播的是普通数据帧而不是广播帧。VLAN广播域是广播帧可以到达的区域。换句话说,由多个交换机和主机组成的网络就是一个广播域。网络规模越大,广播域就越大,泛洪流量也越来越大,降低通信效率。在一个广播域内的任意两台主机之间可以任意通信,通信数据有被窃取的风险。为了解决广播域扩大带来的性能问题和安全性降低问题, VLAN 技术应运而生。 VLAN 技术能够在逻辑上把一个物理局域网分隔为多个广播域,每个广播域称为一个虚拟局域网(即 VLAN )。每台主机只能属于一个 VLAN ,同属一个 VLAN 的主机通过二层直接通信,属于不同 VLAN 的主机只能通过 IP 路由功能才能实现通信。通过划分多个 VLAN ,从而减小广播域传播的范围,过滤多余的包,提高网络的传输效率,同时提高了网络的安全性。VLAN 原理VLAN 技术通过给数据帧插入 VLAN 标签(又叫 VLAN TAG)的方式,让交换机能够分辨出各个数据帧所属的 VLAN 。VLAN 标签是用来区分数据帧所属 VLAN 的,是 4 个字节长度的字段,插入到以太网帧头部上。 VLAN 标签会插入到源 MAC 地址后面, IEEE 802.1Q 标准有这个格式定义和字段构成说明。TPID (标签协议标识符): 长度 2 个字节,值为 0x8100 ,用来表示这个数据帧携带了 802.1Q 标签。不支持 802.1Q 标准的设备收到这类数据帧,会把它丢弃。TCI (标签控制信息): 长度 2 个字节,又分为三个子字段,用来表示数据帧的控制信息:优先级( Priority ):长度为 3 比特,取值范围 0 ~ 7 ,用来表示数据帧的优先级。取值越大,优先级越高。当交换机发送拥塞是,优先转发优先级高的数据帧。CFI (规范格式指示器):长度为 1 比特,取值非 0 即 1 。VLAN ID ( VLAN 标识符):长度为 12 比特,用来表示 VLAN 标签的数值。取值范围是 1 ~ 4094 。 划分 VLAN 后,交换机如何处理广播报文? 交换机上划分了多个 VLAN 时,在交换机接收到广播数据帧时,只会将这个数据帧在相同 VLAN 的端口进行广播。 划分 VLAN 后,交换机如何处理目的 MAC 地址不在 MAC 地址表中的单播数据帧? 交换机上划分了多个 VLAN 时,当交换机接收到一个目的 MAC 地址不存在于自己 MAC 地址表中的单播数据帧时,只会将这个数据帧在相同 VLAN 的端口进行泛洪。 划分 VLAN 后,不同 VLAN 的主机能否通信? 划分多 VLAN 的环境中,即使交换机 MAC 地址表里保存了某个数据帧的目的 MAC 地址条目,若这个目的 MAC 地址所对应的端口与数据帧的入端口在不同的 VLAN 中,交换机也不会通过 MAC 地址表中的端口发送数据帧。小结:在不使用路由转发的前提下,交换机不会从一个 VLAN 的端口中接收到的数据帧,转发给其它 VLAN 的端口。 怎么区分不同的 VLAN ? 通过 VLAN ID 进行区分,例如 VLAN 10 和 VLAN 20 就是不同的 VLAN 。 VLAN 技术有哪些好处? 增加了广播域的数量,减小了每个广播域的规模,也减少了每个广播域中终端设备的数量;增强了网络安全性,保障网络安全的方法增加了;提高了网络设计的逻辑性,可以规避地理、物理等因素对于网络设计的限制。划分 VLAN我们可以使用不同的方法,把交换机上的每个端口划分到某个 VLAN 中,以此在逻辑上分隔广播域。交换机通常会使用基于端口划分 VLAN 的方法。在交换机上手动配置,绑定交换机端口和 VLAN ID 的关系。优点:配置简单。想要把某个端口划分到某个 VLAN 中,只需要把端口的 PVID (端口 VLAN ID )配置到相应的 VLAN ID 即可。缺点:当终端设备移动位置是,可能需要为终端设备连接的新端口重新划分 VLAN 。除了这种方法外,还可以使用基于 MAC 地址划分 VLAN 、基于 IP 地址划分 VLAN 、基于协议划分 VLAN 、基于策略划分 VLAN 等方法来划分 VLAN。PVID :接口默认 VLAN ID ,是交换机端口配置的参数,默认值是 1 。跨交换机 VLAN 原理终端设备不会生成带 VLAN 标签的数据帧,它们发出的数据帧叫做无标记帧( Untagged )。它们连接的交换机会给无标记帧打上 VLAN 标签。交换机通过每个端口的 PVID ,判断从这个接口收到的无标记帧属于哪个 VLAN ,并在转发时,插入相应的 VLAN 标签,从而将无标记帧变为标记帧( Tagged )。当两台交换机通过端口连接时,收到的数据帧是标记帧还是无标记帧?交换机端口会如何处理呢?交换机根据连接的设备类型,判断各个接口收到的数据帧是否打标,来配置交换机接口的类型。如果交换机接口收到无标记帧,由交换机根据这个接口所在 VLAN 为数据帧打上 VLAN 标签;同时接口发送数据帧时,也不携带 VLAN 标签。应该把这类接口配置为 Access (接入)接口, Access 接口连接的链路称为 Access 链路。 如果交换机接口收到多个 VLAN 的流量,也就是收到了标记帧;同时为了让对端设备能够区分不同 VLAN 的流量,通过接口发出的流量会打上 VLAN 标签。应该把这类接口配置为 Trunk (干道)接口,相应的链路称为 Trunk 链路。 跨交换机发送数据 主机 A 以主机 F 的 MAC 地址作为目的 MAC 地址封装了一个数据帧,从网卡发送出去。交换机 A 在 Access 接口收到数据帧。查询 MAC 地址表,发现数据帧的目的地址是与交换机 B 相连的 Trunk 接口。于是交换机给数据帧打上 Access 接口的 PVID 配置,即给数据帧打上 VLAN 10 的标签,并从 Trunk 接口转发给交换机 B 。交换机 B 在 trunk 接口收到数据帧。查看 MAC 地址表,发现是 VLAN 10 的数据帧,目的地址设备是连接在 VLAN 10 的一个 Access 接口上。于是去掉数据帧的 VLAN 标签,并从这个 Access 接口转发给主机 F 。 模拟实验 Access 接口和 Trunk 接口的配置 实验拓扑图实验要求将 SW 1 (即交换机 1)和 SW 2 (即交换机 2)相连的接口配置为 Trunk 接口,允许传输 VLAN 5 的数据;将 PC (即主机) 与 SW 相连接口配置为 Access 接口,接口的 PVID 配置为 VLAN 5 。实验步骤SW 1 上的配置如下:检查 SW 1 的接口配置,使用命令 display vlan 查看接口 VLAN 情况。 Hybrid 接口的配置 三种接口类型特点:Access 接口:这种接口只能属于一个 VLAN,只能接收和发送一个 VLAN 的数据。通常用于连接终端设备,比如主机或服务器等。Trunk 接口:这种接口能够接收和发送多个 VLAN 的数据,通常用于连接交换机。Hybrid 接口:这种接口能够接收和发送多个 VLAN 的数据,可用于交换机的链路,也可用于终端设备。与 Trunk 接口的区别是,发送数据时 Trunk 接口只会摘掉 PVID 标签,而 Hybrid 接口能够不携带 VLAN 标签发送多个 VLAN 数据。实验拓扑图实验要求新建 3 个 VLAN ,PC 1 属于 VLAN 2 ,PC 2 属于 VLAN 3 ,Server 1 (即服务器 1)属于 VLAN 10 ;通过 Hybrid 接口实现 VLAN 2 和 VLAN 3 不能互通,但 VLAN 2 和 VLAN 3 都能与 VLAN 10 进行通信。实验步骤SW 1 的 E0/0/2 接口,只允许通过 VLAN 2 , PC 1 又需要访问 VLAN 10 ,但是无法识别 VLAN 标签信息,因此配置 Hybrid 的 PVID 为 VLAN 2 ,同时放通 VLAN 2 和 VLAN 10 。 E0/0/3 接口配置同理。 E0/0/1 接口需要放通 VLAN 2 、 VLAN 3 和 VLAN 10 的流量,对端交换机又需要识别 VLAN 标签,因此以带 VLAN 标签的形式放通 VLAN 2 、 VLAN 3 和 VLAN 10 的流量。 SW 1 上的配置如下:SW 2 的 E0/0/1 接口配置和 SW 1 的 E0/0/1 接口同理。SW 2 的 E0/0/10 接口,只允许通过 VLAN 10 , Server 1 又需要放通 VLAN 2 和 VLAN 3 的流量,因此配置 Hybrid 的 PVID 为 VLAN 10 ,同时放通 VLAN 2 、 VLAN 3 和 VLAN 10 。 SW2 上的配置如下:检查 VLAN 10 信息,分别在 SW 1 和 SW 2 上使用命令 display vlan 10 查看配置是否正确。结尾Access 接口接收数据帧处理过程Access 接口发送数据帧处理过程Trunk 接口接收数据帧处理过程Trunk 接口发送数据帧处理过程参考资料:图解TCP/IP - 竹下隆史网络基础 - 田果路由与交换技术 - 刘丹宁编辑于 2022-03-22 08:35局域网VLANMAC地址赞同 94238 条评论分享喜欢收藏申请转载文章被以下专栏收录图解网络看图学网络更简单程序员架构进阶公众号 程序员架构进阶,分享多年项目实践和架构经验小七好物生活工作的好物,一起发现,一起
秒懂以太网的 MAC 硬件地址-腾讯云开发者社区-腾讯云
网的 MAC 硬件地址-腾讯云开发者社区-腾讯云wsuo秒懂以太网的 MAC 硬件地址关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网wsuo首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >秒懂以太网的 MAC 硬件地址秒懂以太网的 MAC 硬件地址wsuo关注发布于 2020-07-30 19:30:061.6K0发布于 2020-07-30 19:30:06举报文章被收录于专栏:技术进阶之路技术进阶之路MAC 层的硬件地址在局域网中,以下几个称呼是一样的: 硬件地址 物理地址 MAC 地址48 位的 MAC 地址 ✅ IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。✅ 所以就只有 3 个字节能支配了,这 3 个字节由厂家支配,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
❗ 生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫做硬件地址 (hardware address) 或物理地址。所以无论你把它带到哪里去,或者把它砸了,烧了?,它的硬件地址还是不会变。下面介绍一下 IEEE 组织的一些规定:IEEE 规定地址字段的 第一字节的最低位 为 I/GI/GI/G 位。I/GI/GI/G 表示 Individual/GroupIndividual / GroupIndividual/Group。当 I/GI/GI/G 位 =0= 0=0 时,地址字段表示一个单站地址。当 I/GI/GI/G 位 =1= 1=1 时,表示组地址,用来进行多播。所以对于前三个字节,既然第一个字节的最后一位被占用了,就只能支配其余的 232323 位了。 ❗所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。
IEEE 又规定了!IEEE 把地址字段第一字节的倒数第 222 位规定为 G/LG/LG/L 位,表示 Global/LocalGlobal / LocalGlobal/Local 。当 G/LG/LG/L 位 =0= 0=0 时,是全球管理。当 G/LG/LG/L 位 =1= 1=1 时, 是本地管理。❓ 那么有啥区别呢 ? 全球管理需要购买,本地管理用户自定义,不过以太网几乎不会去理会这个用户自定义的。
适配器检查 MAC 地址适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址,然后检查这个帧是否是下面的其中一种,如果不是就丢弃,如果是就收下然后转发。1️⃣ 单播 (unicast) 帧(一对一)2️⃣ 广播 (broadcast) 帧(一对全体)3️⃣ 多播 (multicast) 帧(一对多)MAC 帧的格式常用的以太网 MAC 帧格式有两种标准 :✅ DIX Ethernet V2DIX \space Ethernet \space V2DIX Ethernet V2 标准✅ IEEE的802.3IEEE 的 802.3IEEE的802.3 标准最常用的 MACMACMAC 帧是以太网 V2V2V2 的格式。
我们来放大看一下:
1️⃣ 首先是目的地址字段,占 6 个字节。
2️⃣ 然后是源地址字段,也是 6 字节。
3️⃣ 类型字段用来标志上一层使用的是什么协议,以便把收到的 MACMACMAC 帧的数据上交给上一层的这个协议。
4️⃣ 数据字段的正式名称是 MAC 客户数据字段。
最小长度 64字节−18字节64 字节 - 18 字节64字节−18字节 的首部和尾部 === 数据字段的最小长度( 464646 字节
5️⃣ FSC 用于差错检测
❓ 其实你会发现从 MACMACMAC 层到物理层还会多出 888 个字节,那么这 888 个字节是啥呢? 在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现 MACMACMAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。
最后提一下与 IEEE 802.3 MAC帧IEEE \space802.3\space MAC 帧IEEE 802.3 MAC帧 的区别:IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。当 长度/类型长度 / 类型长度/类型 字段值小于 0x06000x06000x0600 时,数据字段必须装入上面的逻辑链路控制 LLC 子层的 LLC 帧。 帧间最小间隔为 9.6μs9.6 \mu s9.6μs,相当于 96bit96 bit96bit 的发送时间。
一个站在检测到总线开始空闲后,还要等待 9.6μs9.6 \mu s9.6μs 才能再次发送数据。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。 原始发表:2020-04-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除前往查看ethernetglobalspace本文分享自 作者个人站点/博客 前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!ethernetglobalspace评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0目录MAC 层的硬件地址MAC 帧的格式领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00
登录 ‹ 山石网科知识库 — WordPress
登录 ‹ 山石网科知识库 — WordPress
基于WordPress
用户名或电子邮箱地址
密码
记住我
注册 | 忘记密码?
← 返回到山石网科知识库
语言
English (United States)
简体中文
山石网科知识库
使用StoneID登录
Network 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]-腾讯云开发者社区-腾讯云
ork 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]-腾讯云开发者社区-腾讯云全栈程序员站长Network 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网全栈程序员站长首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >Network 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]Network 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]全栈程序员站长关注发布于 2022-11-08 20:24:142.3K0发布于 2022-11-08 20:24:14举报文章被收录于专栏:全栈程序员必看全栈程序员必看大家好,又见面了,我是你们的朋友全栈君。结构 从硬件的角度看,以太网接口电路主要由 MAC(Media Access Control,MAC)控制器和物理层接口 PHY(Physical Layer,PHY)两大部分构成。如下图所示:
MAC_PHY
但是,在实际的设计中,以上三部分并不一定是独立分开的。 由于,PHY 整合了大量模拟硬件,而 MAC 则是典型的全数字器件。考虑到芯片面积及模拟/数字混合架构的原因,通常,将 MAC 集成进微控制器而将 PHY 留在片外。更灵活、密度更高的芯片技术已经可以实现 MAC 和 PHY 的单芯片整合。总的来说,可分为下列几种类型:CPU 集成 MAC 与 PHY,目前来说并不多见。
MAC_PHY_1CPU 集成 MAC,PHY 采用独立芯片,这种比较常见。
MAC_PHY_2CPU 不集成 MAC 与 PHY,MAC 与 PHY 采用集成芯片(形成一个独立的网卡),这种也比较常见。
MAC_PHY_3 MAC 及 PHY 工作在 OSI 七层模型的数据链路层和物理层。具体如下
MAC_PHY_OSI
IEEE802.3 标准文档下载地址:https://ieeexplore.ieee.org/browse/standards/get-program/page/。它分为很多个 section。标准文档贼长,没有全部看过,大概第一部分是 10Mb/s 以太网(其中有关于 MAC 的规范),第二部分是 100BASE-T 100Mb/s 基带网络介绍,第三部分是 1000 Mb/s 基带网络介绍,第四部分是 10 Gb/s 基带网络介绍。但是,并不是说每部分都是独立的。
IEEE802.3什么是 MAC MAC(Media Access Control,MAC)即媒体访问控制。该部分有两个概念:MAC 可以指的是一个硬件控制器,也可以指 MAC 通信协议。该协议位于 OSI 七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC 硬件大约就是下面的样子了:
MAC
在发送数据的时候,MAC 协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC 协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至 LLC(逻辑链路控制)层。该层协议是以太网 MAC,由 IEEE-802. 3 以太网标准定义。最新的 MAC 同时支持 10Mbps 和100Mbps 两种速率。 以太网数据链路层其实包含 MAC(介质访问控制)子层和 LLC(逻辑链路控制)子层。一块以太网卡 MAC 芯片的作用不但要实现 MAC 子层和 LLC 子层的功能,还要提供符合规范的 PCI 界面以实现和主机的数据交换。 MAC 从 PCI 总线收到 IP 数据包或者其他网络层协议的数据包后,将之拆分并重新打包成最大 1518Byte、最小 64Byte 的帧。这个帧里面包括了目标 MAC 地址、自己的源 MAC 地址和数据包里面的协议类型(比如IP数据包的类型用 80 表示),最后还有一个DWORD(4Byte)的 CRC 码。 可是目标的 MAC 地址是哪里来的呢?这牵扯到一个 ARP 协议(介乎于网络层和数据链路层的一个协议)。第一次传送某个目的 IP 地址的数据的时候,先会发出一个 ARP 包,其 MAC 的目标地址是广播地址,里面说到:“谁是 xxx.xxx.xxx.xxx 这个 IP 地址的主人?”因为是广播包,所有这个局域网的主机都收到了这个 ARP 请求。收到请求的主机将这个 IP 地址和自己的相比较,如果不相同就不予理会,如果相同就发出 ARP 响应包。这个 IP 地址的主机收到这个 ARP 请求包后回复的 ARP 响应里说到:“我是这个 IP 地址的主人”。这个包里面就包括了他的 MAC 地址。以后的给这个IP地址的帧的目标 MAC 地址就被确定了。(其它的协议如 IPX/SPX 也有相应的协议完成这些操作) IP 地址和 MAC 地址之间的关联关系保存在主机系统里面,叫做 ARP 表。由驱动程序和操作系统完成。在 Windows 及 Linux 里面可以用 arp -a 的命令查看 ARP 表。
在这里插入图片描述
收到数据帧的时候也是一样,做完 CRC 校验以后,如果没有 CRC 效验错误,就把帧头去掉,把数据包拿出来通过标准的接口传递给驱动和上层的协议栈。最终正确的达到我们的应用程序。什么是 MII MII(Media Independent Interface)即媒体独立接口,MII 接口是 MAC 与 PHY 连接的标准接口。它是 IEEE-802.3 定义的以太网行业标准。MII 接口提供了 MAC 与 PHY 之间、PHY 与 STA(Station Management)之间的互联技术,该接口支持 10Mb/s 与 100Mb/s 的数据传输速率,数据传输的位宽为 4 位。“媒体独立” 表明在不对 MAC 硬件重新设计或替换的情况下,任何类型的 PHY 设备都可以正常工作。802.3 协议最多支持 32 个 PHY,但有一定的限制:要符合协议要求的 connector 特性。MII 接口如下图所示:
MII
提到 MII,就有可能涉及到 RS,PLS,STA 等名词术语,下面讲一下他们之间对应的关系。 所谓 RS 即 Reconciliation sublayer,它的主要功能主要是提供一种 MII 和 MAC/PLS 之间的信号映射机制。它们(RS与MII)之间的关系如下图:
RS_MII
MII 的 Management Interface 是与 STA(Station Management)相连的。 关于本节,具体可参考 IEEE 以太网标准 802.3 的 22.3 Signal timing characteristics 节,其中包含时钟信号等更详细内容。
MII 接口主要包括四个部分。一是从 MAC 层到 PHY 层的发送数据接口,二是从 PHY 层到 MAC 层的接收数据接口,三是从PHY 层到 MAC 层的状态指示信号,四是 MAC 层和 PHY 层之间传送控制和状态信息的 MDIO 接口。
MII_MAC_PHY
MII 包括一个数据接口,以及一个 MAC 和 PHY 之间的管理接口:数据接口: 包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII 数据接口总共需要 16 个信号,包括TX_ER(transmit coding error): TX_ER 同步于 TX_CLK,在数据传输过程中,如果 TX_ER 有效超过一个时钟周期,并且此时TX_EN 是有效的,则数据通道中传输的数据是无效的,没用的。注:当 TX_ER 有效并不影响工作在 10Mb/s 的 PHY 或者 TX_EN 无效时的数据传输。在 MII 接口的连线中,如果 TX_ER 信号线没有用到,必须将它下拉接地。TXD<3:0>(transmit data): TXD 由 RS 驱动,同步于 TX_CLK,在 TX_CLK 的时钟周期内,并且TX_EN 有效,TXD 上的数据被 PHY 接收,否则 TXD 的数据对 PHY 没有任何影响。TX_EN: 发送使能。TX_EN 由 Reconciliation 子层根据 TX_CLK 上升沿同步进行转换。TX_CLK(transmit clock): TX_CLK (Transmit Clock) 是一个连续的时钟信号(即系统启动,该信号就一直存在),它是 TX_EN、TXD、TX_ER(信号方向为从 RS 到 PHY)的参考时钟,TX_CLK 由 PHY 驱动 TX_CLK 的时钟频率是数据传输速率的 25%,偏差 ±100ppm。例如,100Mb/s 模式下,TX_CLK 时钟频率为 25MHz,占空比在 35% 至 65% 之间。COL(collision detected): COL 不需要同步于参考时钟。The behavior of the COL signal is unspecified when the duplex mode bit0.8 inthe control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半双工模式信号有效,全双工模式信号无效。RXD<3:0>(receive data): RXD由RS驱动,同步于 RX_CLK,在 RX_CLK 的时钟周期内,并且 RX_DV 有效,RXD 上的数据被RS 接收,否则 RXD 的数据对 RS 没有任何影响。While RX_DV is de-asserted, the PHY may provide a False Carrier indication by asserting the RX_ER signal while driving the value <1110> onto RXD<3:0>。RX_ER(receive error): RX_ER 同步于 RX_CLK,其在 RX 通道中的作用类似于 TX_ER 对于 TX 通道数据传输的影响。RX_CLK: 它与 TX_CLK 具有相同的要求,所不同的是它是 RX_DV、RXD、RX_ER(信号方向是从 PHY 到 RS)的参考时钟。RX_CLK 同样是由 PHY 驱动,PHY 可能从接收到的数据中提取时钟 RX_CLK,也有可能从一个名义上的参考时钟(e.g., the TX_CLK reference)来驱动RX_CLK。CRS(carrier sense): CRS 不需要同步于参考时钟,只要通道存在发送或者接收过程,CRS 就需要有效。The behavior of the CRS signal is unspecified when the duplex mode bit0.8 inthe control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation,即半双工模式信号有效,全双工模式信号无效。RX_DV(Receive Data Valid): RXD_DV 同步于 RX_CLK,被 PHY 驱动,它的作用如同于发送通道中的 TX_EN,不同的是在时序上稍有一点差别:为了让数据能够成功被RS接收,要求RXD_DV有效的时间必须覆盖整个 FRAME 的过程,即starting no later than the Start Frame Delimiter (SFD) and excluding any End-of-Frame delimiter。
MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。MII 管理接口: 是个双信号接口,通过管理接口,MAC 就能监视和控制 PHY。其管理是使用 SMI(Serial Management Interface) 总线通过读写 PHY 的寄存器来完成的。一个是时钟信号(***MDC (management data clock)***)。另一个是数据信号(***MDIO (management data input/output)***)。MDC: 由站管理实体向 PHY 提供,作为在 MDIO 信号上传送信息的定时参考。 MDC 是一种非周期性的信号,没有最高或最低时间。 无论 TX_CLK 和 RX_CLK 的标称周期如何,MDC 的最小高低时间应为 160 ns,MDC 的最小周期为 400 ns。MDIO: 是 PHY 和 STA 之间的双向信号。 它用于在 PHY 和 STA 之间传输控制信息和状态。 控制信息由 STA 同步地针对 MDC 驱动并且由 PHY 同步地采样。 状态信息由 PHY 针对 MDC 同步驱动并由 STA 同步采样。 PHY 里面的部分寄存器是 IEEE 定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC 通过 SMI 总线不断的读取PHY 的状态寄存器以得知目前 PHY 的状态。例如连接速度、双工的能力等。当然也可以通过 SMI 设置 PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。不论是物理连接的MII总线和 SMI 总线还是 PHY 的状态寄存器和控制寄存器都是由IEEE的规范的。因此不同公司的 MAC 和 PHY 一样可以协调工作。当然为了配合不同公司的 PHY 的自己特有的一些功能,驱动需要做相应的修改。 MII 支持 10Mbps 和 100Mbps 的操作,一个接口由 14 根线组成,它的支持还是比较灵活的。但是有一个缺点是因为它一个端口用的信号线太多,如果一个 8 端口的交换机要用到 112 根线,16 端口就要用到 224 根线,到 32 端口的话就要用到 448 根线。一般按照这个接口做交换机是不太现实的。所以现代的交换机的制作都会用到其它的一些从 MII 简化出来的标准,比如 RMII、SMII、GMII等。RMII(Reduced Media Independant Interface) 简化媒体独立接口是标准的以太网接口之一,比 MII 有更少的 I/O 传输。RMII 口是用两根线来传输数据的,MII 口是用 4 根线来传输数据的,GMII 是用 8 根线来传输数据的。MII/RMII 只是一种接口,对于10Mbps 线速,MII 的时钟速率是 2.5MHz 就可以了,RMII 则需要 5MHz;对于 100Mbps 线速,MII 需要的时钟速率是 25MHz,RMII 则是 50MHz。
MII/RMII 用于传输以太网包,在 MII/RMII 接口是4/2bit的,在以太网的PHY里需要做串并转换,编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。以太网帧的格式为:前导符+开始位+目的mac地址+源mac地址+类型/长度+数据+padding(optional)+32bitCRC。如果有vlan,则要在类型/长度后面加上2个字节的vlan tag,其中12bit来表示vlan id,另外4bit表示数据的优先级!GMII(Gigabit MII) GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。
GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。GMII接口数据结构符合IEEE以太网标准,该接口定义见IEEE 802.3-2000。发送器: 在千兆速率下,向PHY提供GTXCLK信号、TXD、TXEN、TXER信号与此时钟信号同步。否则在10/100Mbps速率下,PHY提供TXCLK时钟信号,其它信号与此信号同步。其工作频率为25MHz(100M网络)或2.5MHz(10M网络)。GTXCLK——吉比特TX…信号的时钟信号(125MHz)TXCLK——10/100Mbps信号时钟TXD[7…0]——被发送数据TXEN——发送器使能信号TXER——发送器错误(用于破坏一个数据包)接收器:RXCLK——接收时钟信号(从收到的数据中提取,因此与GTXCLK无关联)RXD[7…0]——接收数据RXDV——接收数据有效指示RXER——接收数据出错指示COL——冲突检测(仅用于半双工状态)管理配置: 管理配置接口控制PHY的特性。该接口有32个寄存器地址,每个地址16位。其中前16个已经在“IEEE 802.3,2000-22.2.4 Management Functions”中规定了用途,其余的则由各器件自己指定。MDC——配置接口时钟MDIO——配置接口I/O什么是PHY PHY(Physical Layer,PHY)是 IEEE802.3 中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC 或 CPU)通过 SMI(Serial Manage Interface)对 PHY 的行为、状态进行管理和控制,而具体管理和控制动作是通过读写 PHY 内部的寄存器实现的。一个 PHY 的基本结构如下图:
PHY
PHY 是物理接口收发器,它实现 OSI 模型的物理层。IEEE-802.3 标准定义了以太网 PHY。包括 MII/GMII (介质独立接口) 子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。它符合 IEEE-802.3k 中用于 10BaseT(第14条) 和 100BaseTX(第24条和第25条) 的规范。 PHY 寄存器在 IEEE802.3 标准的 22.2.4 Management functions 节有介绍,但不涉及所有的寄存器,个别寄存器需要到其它章节中看,当然,文档里面也提到该在哪里找到哪个寄存器。
PHY寄存器 PHY 寄存器的地址空间为 5 位,从 0 到 31 最多可以定义 32 个寄存器(随着芯片功能不断增加,很多 PHY 芯片采用分页技术来扩展地址空间以定义更多的寄存器),IEEE802.3 定义了地址为 0-15 这 16 个寄存器的功能,地址16 – 31的寄存器留给芯片制造商自由定义,如下表所示。
PHY_REG (1)官方介绍请参考 IEEE802.3 标准的 22.2.4 Management functions 节。
(2)上图的 B 和 E 表示了,在特定接口下,寄存器是基本的还是扩展的。例如:MII 接口下只有 0 和 1 寄存器是基本的,其它的是扩展的。注意:所为扩展是指留给 IEEE 以后的扩展特性用,不是给 PHY 厂商的扩展,PHY 厂商自定义的只能是 16~31 号寄存器
(3)在 IEEE 标准文档及某些 PHY 手册中,某寄存器的比特(bit)用 X.y 表示,如 0.15 表示第 0 寄存器的第 15 位。
Control Register (Register 0) 寄存器 0 是 PHY 控制寄存器,通过 Control Register 可以对 PHY 的主要工作状态进行设置。应该保证控制寄存器每个位的默认值,以便在没有管理干预的情况下,上电或复位时 PHY 的初始状态为正常操作状态。Control Register 的每一位完成的功能见下。
PHY_CTRL_REG Reset: 通过将位 0.15 设置为逻辑 1 来完成复位 PHY。 该操作应将状态和控制寄存器设置为其默认状态。 因此,此操作可能会改变PHY 的内部状态以及与 PHY 关联的物理链路的状态。复位过程中 Bit15 保持为 1,复位完成之后该位应该自动清零。 在复位过程完成之前,PHY 不需要接受对控制寄存器的写入操作,并且在复位过程完成之前写入 0.15 以外的控制寄存器位可能不起作用。 复位过程应在0.15 位设置的 0.5 s 内完成。
(1)一般要改变端口的工作模式(如速率、双工、流控或协商信息等)时,在设置完相应位置的寄存器之后,需要通过 Reset 位复位 PHY 来使配置生效。
(2)该比特位的默认值为 0。
Loopback: 当位 0.14 被设置为逻辑 1 时,PHY 应置于环回操作模式。 当位 0.14 置位时,PHY 接收电路应与网络介质隔离,并且MII 或 GMII 处的 TX_EN 断言不应导致网络介质上的数据传输。 当位 0.14 置位时,PHY 应接受来自 MII 或 GMII 发送数据路径的数据,并将其返回给 MII 或 GMII 接收数据路径,以响应TX_EN 的断言。 当位 0.14 置位时,从断言 TX_EN 到断言 RX_DV 的延迟应小于 512 BT。 当位 0.14 置位时,除非设置了位 0.7,否则 COL 信号应始终保持无效。 清 0.14 位为零允许正常操作。
Loopback 是一个调试以及故障诊断中常用的功能,Bit14 置 1 之后,PHY 和外部 MDI 的连接在逻辑上将被断开,从 MAC 经过 MII/GMII(也可能是其他的 MAC/PHY 接口)发送过来的数据将不会被发送到 MDI 上,而是在 PHY 内部(一般在 PCS)回环到本端口的 MII/GMII 接收通道上,通过 Loopback 功能可以检查 MII/GMII 以及PHY接口部分是否工作正常,对于端口不通的情况可用于故障定位。
(1)需要注意的是,很多时候 PHY 设置 Loopback 后端口可能就 Link down 了,MAC 无法向该端口发帧,这时就需要通过设置端口Force Link up 才能使用 Loopback 功能。
(2)该比特位的默认值为 0。
Speed Selection: Bit13 和 Bit6 两位联合实现 对端口的速率控制功能。链接速度可以通过自动协商过程或手动速度选择来选择。 通过将位0.12清零来禁用自动协商时,允许手动速度选择。
当禁用自动协商并将位0.6清除为逻辑0时,将位0.13设置为逻辑1将PHY配置为100 Mb / s操作,并将位0.13清除为逻辑0将PHY配置为10 Mb / s操作 。当禁用自动协商并将位0.6设置为逻辑1时,将位0.13清零为逻辑0会选择1000 Mb / s的操作。 将位0.6和0.13设置为逻辑1的组合保留用于未来的标准化。当使能自动协商时,可以读取或写入位0.6和0.13,但位0.6和位0.13的状态对链路配置没有影响,位0.6和位0.13不需要反映当它被读取时链接。 如果 PHY 通过比特 1.15:9 和比特 15.15:12 报告它不能工作在所有速度时,则比特0.6和0.13的值应该与PHY可以操作的速度相对应。并且任何试图将该位设置为无效的操作均将被忽略。 (1)对Speed Selection的修改设置,往往需要复位端口才能配置生效。因此在设置该位置的时候需要检查自动协商的设置并通过Bit15复位端口。
(2)位0.6和0.13的默认值是根据位1.15:9和15.15:12所指示的PHY可以操作的***最高数据速率***的编码组合。
Auto-Negotiation Enable: 自动协商过程应通过将位0.12设置为逻辑1来启用。 如果位0.12设置为逻辑1,则位0.13、0.8和0.6不应对链路配置和除了自动协商协议规定之外的站操作产生影响。 如果将位0.12清零为逻辑0,则无论链路配置和自动协商过程的先前状态如何,位0.13、0.8和0.6都将确定链路配置。
如果PHY通过位1.3报告它缺乏执行自动协商的能力,则PHY应在位0.12返回零值。 如果PHY通过位1.3报告它缺乏执行自动协商的能力,则位0.12应该始终写为0,并且任何尝试将1写入位0.12都应该被忽略。
必须注意的是,对于1000BASE-T接口,自动协商必须打开。
Power Down: 通过将位0.11设置为逻辑1,可以将PHY置于低功耗状态。 清0.11位为零允许正常操作。 PHY在掉电状态下的具体行为是特定实现的。 处于掉电状态时,PHY应响应管理事务。 在转换到掉电状态期间和处于掉电状态期间,PHY不应在MII或GMII上产生寄生信号。
当位0.11或位0.10被设置为逻辑1时,PHY不需要满足RX_CLK和TX_CLK信号功能要求。 在位0.11和0.10清零后,PHY应在0.5 s内满足22.2.2中定义的RX_CLK和TX_CLK信号功能要求。
(1)Power Down模式一般在软件shut down端口的时候使用,需要注意的是端口从Power Down模式恢复,需要复位端口以保证端口可靠的连接。
(2)该位的默认值为 0。
Isolate: 通过将位0.10设置为逻辑1,PHY可能被迫将其数据路径与MII或GMII电隔离。 清零位0.10允许正常操作。 当PHY与MII或GMII隔离时,它不会响应TXD数据包和TX_EN,TX_ER、GTX_CLK的输入。并且它的TX_CLK,RX_CLK,RX_DV,RX_ER,RXD数据包、COL和CRS输出均应为高阻态。 当PHY与MII或GMII隔离时,它将响应管理事务(MDC/MDIO接口的信号)。
(1)IEEE802.3没有对Isolate 时MDI接口的状态进行规范,此时MDI端可能还在正常运行。Isolate在实际应用中并没有用到。
(2)由于目前很多百兆的PHY芯片其MAC接口主流的都是SMII/S3MII,8个端口的接口是相互关联的,一个端口设置Isolate可能会影响其他端口的正常使用,因此在使用中注意不要随意更改bit10的状态。
Restart Auto-Negotiation: 如果PHY通过位1.3报告它缺乏执行自动协商的能力,或者如果自动协商被禁用,则PHY应在位0.9返回零值。 如果PHY通过位1.3报告它缺乏执行自动协商的能力,或者如果禁用了自动协商,则应将位0.9始终写为0,并且任何尝试将1写入位0.9应被忽略。
Bit9置1将重新启动端口的自动协商进程,当然前提是Auto-Negotiation Enable是使能的。
一般在修改端口的自动协商能力信息之后通过Bit9置1重新启动自动协商来使端口按照新的配置建立link。
Duplex Mode: 可以通过自动协商过程或手动双面选择来选择双工模式。 通过将位0.12清零来禁用自动协商时,允许手动双面选择。
当禁用自动协商时,将位0.8设置为逻辑1将PHY配置为全双工操作,并将位0.8清零以将逻辑0配置为用于半双工操作的PHY。当启用自动协商时,可以读取或写入位0.8,但位0.8的状态对链路配置没有影响。 如果PHY通过位1.15:9和15.15:12报告它只能在一个双工模式下工作,则位0.8的值应该与PHY可以工作的模式相对应,并且任何尝试改变将该位0.8修改为无效指的操作应被忽略。 对Duplex Mode的修改配置也需要复位端口才能生效。
Collision Test: 冲突信号(COL)测试开关。在需要对COL信号进行测试时,可以通过Bit7置1,这时PHY将输出一个COL脉冲以供测试。实际测试操作中也可以将端口配置为半双工状态,通过发帧冲突来测试COL信号,因此该配置实用价值不大。Unidirectional enable: 如果PHY通过比特1.7报告它不具备编码和传输来自媒体独立接口的数据的能力,而不管PHY是否确定已建立有效链路,则PHY应在比特0.5中返回零值,并且 任何尝试写一个到位0.5应该被忽略。Status register 寄存器1是PHY状态寄存器,主要包含PHY的状态信息,大多数bit的值都是由芯片厂家确定的,每一个bit的功能在表3种已有详细说明。
PHY_STA_REG
寄存器中各位的详细说明如下:100BASE-T4 ability: 当读为逻辑1时,位1.15指示PHY有能力使用100BASE-T4信令规范执行链路发送和接收。 当读为逻辑0时,位1.15表示PHY缺乏使用100BASE-T4信令规范执行链路发送和接收的能力。100BASE-X full duplex ability: 当读为逻辑1时,位1.14指示PHY有能力使用100BASE-X信令规范执行全双工链路传输和接收。 当作为逻辑0读取时,bit1.14表示PHY缺乏使用100BASE-X信令规范执行全双工链路传输和接收的能力。100BASE-X half duplex ability: 当读为逻辑1时,位1.13指示PHY有能力使用100BASE-X信令规范执行半双工链路传输和接收。 当读为逻辑0时,位1.13指示PHY缺乏使用100BASE-X信令规范执行半双工链路传输和接收的能力。其他同类型的值意义基本与上面几个相同:指示PHY所具有的工作模式能力,不再一一说明。Unidirectional ability: 当读为逻辑1时,位1.7指示PHY具有编码和传输来自媒体独立接口的数据的能力,而不管PHY是否确定已建立有效链路。 当读为逻辑0时,位1.7指示PHY只有在PHY确定已建立有效链路时才能从媒体独立接口传输数据。MF preamble suppression ability: 当读为逻辑1时,位1.6指示PHY能够接受管理帧,而不管它们是否在22.2.4.5.2中描述的前导码模式之前。 当读为逻辑0时,位1.6指示PHY不能接受管理帧,除非它们之前是22.2.4.5.2中描述的前导码模式。Auto-Negotiation Complete: 当读为逻辑1时,位1.5指示自动协商过程已完成,并且由自动协商协议(条款28或条款37)实施的扩展寄存器的内容是有效的。 当读为逻辑0时,位1.5指示自动协商过程尚未完成,并且扩展寄存器的内容由自动协商协议的当前状态定义,或者为手动配置写入。 如果自动协商通过清除位0.12禁用,则PHY应在位1.5返回零值。 如果PHY缺乏执行自动协商的能力,它还应在位1.5返回零值。 在调试以及异常故障处理时,可以通过该位寄存器的状态判断AN是否成功,从而进一步的检查AN相关的设置是否正确,或者芯片的AN功能是否正常等。
Remote Fault: 当读为逻辑1时,位1.4表示检测到远程故障状态。 故障类型以及故障检测的标准和方法是PHY特定的。 远程故障位必须使用锁存功能来实现,以便发生远程故障将导致远程故障位置位,并保持置位状态直至被清除。 每当通过管理接口读取寄存器1时,远程故障位应清零,并且还应通过PHY复位清零。
远端错误指示位。Bit4=1代表连接对端(Link Partner)出错,至于出错的具体类型以及错误检测机制在规范中并没有定义,由PHY的制造商自由发挥,一般的厂商都会在其他的寄存器(Register16-31由厂商自行定义)指示比较详细的错误类型。在与端口相关的故障查证中,Remote Fault是一个重要的指示信息,通过互联双方的Remote Fault信息(可能要加上其他的具体错误指示),可以帮助定位故障原因。Auto-Negotiation ability: 当读为逻辑1时,位1.3指示PHY有能力执行自动协商。 当读为逻辑0时,位1.3指示PHY缺乏执行自动协商的能力。Link Status: 当读为逻辑1时,位1.2指示PHY已经确定已建立有效链路。 当作为逻辑0读取时,位1.2指示该链接无效。 确定链路有效性的标准是PHY特定的。 链路状态位应该使用锁存功能来实现,以便发生链路故障情况将导致链路状态位清零并保持清零,直到通过管理接口读取。 此状态指示旨在支持在30.5.1.1.4,aMediaAvailable中定义的管理属性。
实际应用中一般都是通过Bit2来判断端口的状态。而且,一般的MAC芯片也是通过轮询PHY的这个寄存器值来判断端口的Link状态的(这个过程可能有不同的名称,比如BCM叫做Link Scan,而Marvell叫做PHY Polling。)如前所述,在AN Enable的情况下,Link Status的信息只有在Auto-Negotiation Complete指示已经完成的情况下才是正确可靠的,否则有可能出错。Jabber Detect: 当作为逻辑1读取时,位1.1指示已经检测到爆音条件。 此状态指示旨在支持30.5.1.1.6中定义的管理属性,aJabber和30.5.1.3.1 nJabber中定义的MAU通知。 检测Jabber条件的标准是PHY特定的。 Jabber检测位应该使用锁存功能来实现,以便发生Jabber条件将导致Jabber检测位置位,并保持置位状态直至被清除。 每次通过管理接口读取寄存器1时,Jabber检测位应清零,并且还应通过PHY复位清零。
IEEE802.3对Jabber的解释是“A condition wherein a station transmits for a period of time longer than the maximum permissible packet length, usually due to a fault condition”。这一位指示的是Link Partner发送的时间超过了规定的最大长度。值得注意的是,Jabber Detect只有在10BASE-T模式下才有意义,100和1000M模式是没有定义Jabber这一功能的。PHY Identifier Register 寄存器2和3存放PHY芯片的型号代码,寄存器2(PHY ID1)为高16位,而寄存器3(PHY ID2)为低16位。由芯片制造商自行定义,实际应用中软件通过读取这两个寄存器的内容可以识别PHY的型号和版本。
PHY标识符应由由IEEE分配给PHY制造商的组织唯一标识符(OUI)的(只需要使用第3至第24位,共22位),加上6位制造商的型号以及4位制造商的修订版编号组成。 PHY标识符旨在提供足够的信息来支持30.1.2中所要求的oResourceTypeID对象。
OUI的第三位分配给位2.15,OUI的第四位分配给位2.14,依此类推。 位2.0包含OUI的第十八位。 位3.15包含OUI的第十九位,位3.10包含OUI的第二十四位。 位3.9包含制造商型号的MSB。 位3.4包含制造商型号的LSB。 位3.3包含制造商版本号的MSB,位3.0包含制造商版本号的LSB。具体如下图所示:
PHY_ID_REGAuto-Negotiation Advertisement Register (Register 4) (R/W) 寄存器4是自动协商的能力通告寄存器,在AN Enable的前提下(见寄存器0),端口根据该寄存器的相关配置将自动协商信息通过FLP在MDI上进行通告。当AN配置为Disable状态的时候,寄存器4的配置将不起作用,端口的工作模式由控制寄存器中的配置决定。
该寄存器包含PHY的通告能力,它们将在自动协商期间传送给其链接伙伴。 基本页的位定义在IEEE标准的28.2.1.2中定义。 上电时,在自动协商开始之前,该寄存器应具有以下默认配置:Selector Field (4.4:0): 被设置为适当的代码,如IEEE标准的附件28A中所规定。Reserved(4.14): 被设置为逻辑0。Technology Ability Field(4.11:5): 根据MII状态寄存器(寄存器1)(1.15:11)中设置的值或等效值设置。 另见28.2.1.2.3和附件28D。
PHY_REG_4Link codeword encoding(基本链路码字) 在FLP Burst内传输的基本链路代码字(基本页面)应该传达如图28-7所示的编码。 自动协商功能可以使用下一页功能支持其他页面。 下一页交换中使用的链接代码字的编码在28.2.3.4中定义。 在FLP Burst中,D0应该是第一个传输的位。
这里写图片描述Next Page function 下一页功能使用标准的自动协商仲裁机制来允许交换任意的数据。 数据由可选的下一页信息携带,其遵循用于基本链接码字的传输和确认过程。 定义了四种类型的下一页编码:消息页面,未格式化页面,扩展消息页面和扩展的未格式化页面。
关于该部分,具体见IEEE标准的28.2.3.4 Next Page function。
在IEEE标准中,Auto-Negotiation Advertisement Register中的各部分全部是在独立章节中进行介绍的。具体如下:Selector Field: 选择器字段(S [4:0])是一个5位宽的字段,编码32个可能的消息。 链路码字中的选择器字段S [4:0]应用于识别自动协商发送的消息的类型。 下表列出了可能发送的消息的类型。 随着新消息的发展,该表格将相应更新。
Selector Field
未指定的组合保留供将来使用。 不会传输选择器字段的预留组合。***我们所接触的以太网PHY遵从IEEE802.3规范,Selector Field=0001,该区域不可随意更改(很多PHY将此区域设计为只读寄存器,以免被修改)***。Technology Ability Field: 技术能力字段(A [6:0])是一个7位宽的字段,其中包含指示选择器字段值特定的支持技术的信息。 这些位被映射到各个技术,以便能够针对单个选择器字段值并行通告能力。 附录28B.2和附件28D描述了IEEE 802.3选择器的技术能力字段编码。 链接代码字中可能会公布多种技术。 设备应支持其宣传的技术的数据服务能力。
Technology Ability FieldExtended Next Page: 扩展下一页(XNP)被编码在基本链路码字的位D12中。 扩展下一页位指示本地设备在设置为逻辑1时支持扩展下一页的传输,并指示本地设备在设置为逻辑0时不支持扩展下一页。 Extended Next Page的使用与协商的数据速率,媒体或链接技术是正交的。 扩展下一页位按照28.2.3.4中的扩展下一页功能规范使用。Next Page: 无论选择器字段值还是链接码字编码,下一页(NP)都在D15位编码。 支持附加链接码字编码的传输和接收是可选的。 如果不支持Next Page功能,NP位应始终设置为逻辑0。 如果设备实现下一页功能并希望进行下一页交换,则应将NP位设置为逻辑1。 设备可以实现下一页功能,并通过将NP位设置为逻辑0来选择不参与下一页交换。 下一页功能在28.2.3.4中定义。Remote Fault: 远程故障(RF)编码在基本链路码字的位D13中。 默认值是逻辑零。 远程故障位为传输简单的故障信息提供了一种标准的传输机制。 当自动协商通告寄存器(寄存器4)中的RF位设置为逻辑1时,发送的基本链路码字中的RF位被设置为逻辑1。 当接收到的基本链路代码字中的RF位被设置为逻辑1时,如果存在MII管理功能,则MII状态寄存器(寄存器1)中的远程故障位将被设置为逻辑1。Auto-Negotiation Link Partner ability register (Register 5) (RO) 寄存器5保存的是本端PHY接收到的对端PHY所通告的端口能力,寄存器5的结构和寄存器4基本一致。Auto-Negotiation Expansion Register (Register 6) (RO) 寄存器6保存了PHY自动协商过程的异常信息。从这个寄存其中我们可以获取到Link Partner子否支持自动协商以及自动协商下一页有没有收到的信息。
Auto-Negotiation Expansion RegisterAuto-Negotiation Next Page transmit register (Register 7) (R/W) 自动协商下一页发送寄存器包含在支持下一页功能时要发送的下一页链接码字。 (见表28-6)内容在28.2.3.4中定义。 上电时,该寄存器应包含默认值2001H,该值表示消息代码设置为Null消息的消息页面。 该值可以由设备希望传输的任何有效的下一页消息代码替换。 写入该寄存器应将mr_next_page_loaded设置为true。
Register 7Auto-Negotiation Link Partner Received Next Page register (Register 8) (RO)Register 8未完待续。。。附件无参考文档IEEE Standard for Ethernet网络版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190748.html原文链接:https://javaforall.cn本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。 原始发表:2022年9月22日 ,如有侵权请联系 cloudcommunity@tencent.com 删除前往查看单片机本文分享自 作者个人站点/博客 前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!单片机评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0目录结构什么是 MAC什么是 MIIRMII(Reduced Media Independant Interface)GMII(Gigabit MII)什么是PHYPHY寄存器Control Register (Register 0)Status registerPHY Identifier RegisterAuto-Negotiation Advertisement Register (Register 4) (R/W)Auto-Negotiation Link Partner ability register (Register 5) (RO)Auto-Negotiation Expansion Register (Register 6) (RO)Auto-Negotiation Next Page transmit register (Register 7) (R/W)Auto-Negotiation Link Partner Received Next Page register (Register 8) (RO)附件参考文档领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00
数据链路层:以太网的MAC地址_mac子层和mac地址-CSDN博客
>数据链路层:以太网的MAC地址_mac子层和mac地址-CSDN博客
数据链路层:以太网的MAC地址
最新推荐文章于 2024-03-13 15:48:54 发布
网工小菜鸟°
最新推荐文章于 2024-03-13 15:48:54 发布
阅读量623
收藏
点赞数
分类专栏:
计算机网络
文章标签:
网络
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_61480669/article/details/130521739
版权
计算机网络
专栏收录该内容
16 篇文章
0 订阅
订阅专栏
MAC层的硬件地址
MAC子层主要负责把物理层的“0”、“1”比特流组建成帧、进行错误校验并在链路层实现站点标识。在以太网中,链路层站点是指MAc地址,也叫硬件地址或物理地址。MAC地址共48bit,由6个字节组成,通常用十六进制的形式表示,每4bit写成一位十六进制数;MAC地址由钱前24bit的组织唯一标识符(OUI)和后24bit的扩展标识符(厂商分配)两部分组成。 以太网帧格式中的MAc地址,除了单播MAC地址外,还有组播和广播MAc地址。
MAC帧格式
绝大部分以太帧使用的都是DIx Ethernet V2格式,只有承载特殊协议信息的以太帧才使用IEEE802.3格式。 以太网DIX Ethernet V2帧字段如图:以太网DIX Ethernet V2帧字段含义解释如下: 目的MAC地址(DMAC)︰确定帧的接收设备; 源MAC地址(SMAC)︰确定帧的发送设备; 协议类型(Type):区分不同网络层协议,如0*0800代表网络层是IP封装; 数据(Data):用户数据字段; 帧校验序列(FCS):用于帧内字节差错的循环冗余校验。
思维导图
优惠劵
网工小菜鸟°
关注
关注
0
点赞
踩
0
收藏
觉得还不错?
一键收藏
知道了
0
评论
数据链路层:以太网的MAC地址
MAC地址共48bit,由6个字节组成,通常用十六进制的形式表示,每4bit写成一位十六进制数;MAC地址由钱前24bit的组织唯一标识符(OUI)和后24bit的扩展标识符(厂商分配)两部分组成。绝大部分以太帧使用的都是DIx Ethernet V2格式,只有承载特殊协议信息的以太帧才使用IEEE802.3格式。以太网帧格式中的MAc地址,除了单播MAC地址外,还有组播和广播MAc地址。帧校验序列(FCS):用于帧内字节差错的循环冗余校验。目的MAC地址(DMAC)︰确定帧的接收设备;
复制链接
扫一扫
专栏目录
实验一 链路层协议分析
小阿宁的猫猫
10-18
1432
文中小鲨鱼是指Wireshark软件。
本文参考教材是四川轻化工大学陈年老师所编著的"TCP/IP协议分析教程与实验"。
1.DIX ethernet v2帧格式分析。
2.IEEE 802 帧格式分析。
3.ppp帧的观察。
4.环回接口。
5.思考题。
计算机网络 数据链路层 实现的功能详解
06-22
# 数据链路层主要研究的三个基本问题 ????封装成帧:源mac,目的mac、帧开始符、帧结束符、帧校验序列 ????透明传输:文本传输、可执行文件传输的界定符 ????差错检验:发送端 环冗余检验CRC FCS帧校验序列 接收端亦CRC运算# 点到点信道的数据链路 ????P2P封装成帧:PPP协议的特点;更换默认HDLC协议传输 ????P2P透明传输:同步帧单位、零比特填充;异步字符单位、字节填充;CRC计算FCS# 以太网特性 ????最短帧大小64字节及其测算过程 ????冲突解决退避算法 ????长度小于64字节时填充字段 ????以太网信道利用率# 广播信道的数据链路????广播信道的局域网????以太网标准????CSMA/CD协议:带冲突检测的载波侦听多路访问协议。????以太网最短帧:保证有错误的反馈时间。????冲突解决方法:退避算法????以太网帧格式????以太网信道利用率????网卡的作用????查看和更改MAC地址# 网络设备特性对比 ????集线器、网桥、交换机与路由器# 生成树协议STP ????有效处理广播风暴的机理
参与评论
您还未登录,请先
登录
后发表或查看评论
MAC地址的分类和基本规范
qq_35778554的博客
05-19
5224
一般来说,全球范围内,MAC地址都是唯一的,因此可以用来确定网络中的设备身份,但也存在着在不同的网络中,有着相同MAC地址的设备的情况。MAC地址是网络适配器(网卡)的硬件地址,是一个唯一的标识符,用于在网络中识别和定位设备,它位于OSI模型的第二层,即数据链路层。MAC地址是用来在局域网中直接通信的,它与设备的物理结构相关,是由设备的制造商决定的,因此在同一局域网内通信时使用MAC地址是更为快速和可靠的,因为它们不需要传输到网络层,也不需要通过路由器进行转发。其目的地址的所有字节都是FF。
以太网 以太网地址(MAC地址)
Hades_Ling的CSDN博客
12-02
2926
MAC地址也称为物理地址、硬件地址、链路地址
- MAC地址在网络设备制造生产时就已经写入了硬件内部,与IP地址不一样,MAC地址非手动强制修改,MAC地址将不会改变。MAC地址通常表示为12个16进制数,每2个16进制之间用冒号隔开:74-D8-3E-7A-AD-09
- 前6位16进制(`74-D8-3E`-7A-AD-09)为供应商地址代码、后6位16进制(74-D8-3E-`7A-AD-09`)为网卡唯一地址代码
浅谈对MAC地址的理解
qq_43262059的博客
05-19
2880
MAC子层即媒体接入控制层,属于OSI模型中数据链路层下层子层。它定义了数据帧怎样在介质上进行传输。
在局域网中,硬件地址又称为物理地址或MAC地址(因为这种地址用在MAC帧中)。
局域网使用的是广播信道。因此,媒体接入控制(或称介质访问控制),需要解决的是如何使多用户能合理而方便地共享通信介质,负责局域网内寻址和介质争用的问题。
首先先来了解“地址”这件事,在谢希仁所编著的《计算机网络》一书中,提及到:严格地讲,局域网的“地址”应当是每个站的“名字”或标识符。
怎么去理解呢?
他是这样解释的:IEEE80
读懂MAC地址
qq_33471732的博客
04-14
3805
总之,MAC地址是一种用于标识计算机网络设备的唯一地址,它由48个二进制数字组成,由设备制造商在生产过程中分配。MAC地址被分成两个部分:OUI和设备标识符,前24个比特用于标识制造商,后24个比特用于标识设备。全球唯一的MAC地址由IEEE(Institute of Electrical and Electronics Engineers)分配,而本地唯一的MAC地址由网络管理员分配。OUI由前24个比特组成,用于标识制造商,而设备标识符由后24个比特组成,用于标识设备。
网卡MAC地址规则
识途老码
03-02
2312
网卡MAC地址规则
17、以太帧结构
杨宏超的博客
07-20
2443
经过第十五节学习完以太网的基础知识,我们知道了以太网几乎是局域网领域中占统治和垄断地位的组网技术,这一节我们就详细剖开以太网帧的结构,介绍每一部分都代表什么意思,并且我们用ensp软件搭建一个实验环境,使用wireshark进行抓包,分析帧的内容。
在正式开始之前,我们有必要回顾一下,帧是怎样形成的:要发送的数据从TCP/IP的协议栈上的应用层产生,向下经过传输层,加上传输层的首部,再向下经过网络层,套上网络层的首部,然后到达数据链路层,加上首部和尾部,就形成了一个数据帧,首部和尾部就是帧头和帧尾。
前
以太网帧格式 以及 认识MAC地址(局域网的通信原理)
challenglistic的博客
09-11
5643
认识MAC帧格式和MAC地址的作用
以太网以及MAC地址概述
yfs的博客
07-12
700
在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。
CH3数据链路层.ppt
01-02
介绍计算机网络数据链路层的三个基本问题 PPP协议的工作原理及帧格式 局域网的概念(特点、优点、分类、传输媒体、媒体共享技术) ...以太网的MAC帧结构和MAC地址 以太网的扩展方式 虚拟局域网的概念
计算机网络原理第3章数据链路层选择题.docx
05-30
第三章 数据链路层 一. 选择题 (GBN)协议 1. (09年考研35题)数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是(C...
计算机网络课件ppt(概述+物理层+数据链路层+网络层+运输层+应用层)
12-21
数据链路层错误检测和纠错机制。 网络层: 网络层的作用和功能,如路由和转发。IP协议的基本原理和工作方式。子网划分、子网掩码和IP地址的分类。路由协议,如RIP、OSPF、BGP等。 运输层: 运输层的作用和功能,如...
7-2019053753-胡靖-数据链路层和网络层协议分析1
08-08
2、协议 以太网上使用的ARP协议格式 实验环境主机一台,Macbook一台,软路由做主路由,wifi路由器设置为AP模式做有线中继让所有设备位于软路由的网段
车载诊断协议DoIP系列 —— AL IPv6地址分配&通用DoIP报头结构
Soly_kun的博客
03-10
210
### 本文大体如下:
### 1、系列文章目的
### 2、AL IPv6地址分配
### 3、通用DoIP报头结构
trunk
2301_79947226的博客
03-10
447
当两台交换机之间需要互相传送多个 VLAN 的数据时,就需要使用 trunk 端口。Trunk 端口会将属于不同 VLAN 的数据进行打标记(通常是 IEEE 802.1Q 协议中定义的 VLAN 标识符),从而使得在传输过程中能够正确区分和处理不同 VLAN 的数据。在华为企业级网络模拟平台(eNSP)中,“trunk” 是指用于在交换机之间传送多个 VLAN 数据的端口。在 eNSP 中,您可以通过配置交换机的接口将其设置为 trunk 端口,从而实现跨交换机的 VLAN 数据传输和通信。
【MODBUS】Java实现的Modbus协议类库——推荐j2mod库
最新发布
开源物联网项目商业化作者
03-13
527
Jamod是另一个开源的Modbus Java库。这个库的设计是完全面向对象的,基于抽象,应该支持易于理解、可重用性和可扩展性。它支持Modbus RTU和Modbus TCP,并且提供了主站和从站的功能。这是jamod Modbus库的一个分支,取自1.2.1版本,根据Apache 2许可证发布,包含在该项目的SVN存储库中。j2mod项目的目标是基于Java编程语言生成一个功能更全面的Modbus(tm)通信库。这是一个积极开发的项目,接受具有Modbus主站和从站开发经验的专业软件工程师提交的文件。
【网络层】IPv6引进的主要变化(湖科大慕课自学笔记)
2301_77185537的博客
03-08
457
我们知道因特网使用的是TCP/IP四层体系结构,其中网际层的网际协议IP是因特网的核心协议,目前常用的是版本4(IPv4):IPv6引进的主要变化。下一代网际协议IPv6。:IPv6的诞生背景。
计算机网络-数据链路层
m0_61876562的博客
03-10
1478
到达对端时再将这些小包, 会按顺序重组, 拼装到⼀起返回给传输层(用到IP协议头中的13位片偏移);⼀旦这些小包中任意⼀个小包丢失, 接收端的重组就会失败,但是IP层不会负责重新传输数据。2、MTU对UDP协议的影响回顾⼀下UDP协议:⼀旦UDP携带的数据超过1472(1500(MTU) - 20(IP⾸部) - 8(UDP⾸部)), 那么就会在网络层分成多个IP数据报.这多个IP数据报有任意⼀个丢失, 都会引起接收端网络层重组失败. 那么这就意味着, 如果UDP数据。
ip协议 不同数据链路层
09-17
不同的数据链路层指的是在网络中不同的物理媒介和数据链路层协议,比如以太网、无线局域网(WLAN)、令牌环等。 IP协议的任务是将数据分割成小的数据包并添加IP头部,其中包括源IP地址和目标IP地址。这样,数据包就...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
网工小菜鸟°
CSDN认证博客专家
CSDN认证企业博客
码龄3年
暂无认证
48
原创
115万+
周排名
9万+
总排名
1万+
访问
等级
496
积分
9
粉丝
14
获赞
3
评论
38
收藏
私信
关注
热门文章
数据链路层:滑动窗口协议
2603
Linux中常用的文本编辑器
1643
计算机网络的组成
796
数据链路层:CSMA/CA协议
755
基础网络设备
650
分类专栏
HCIP-Datacom
26篇
OpenEuler
6篇
计算机网络
16篇
最新评论
物理层基本概念及常见的传输介质
CSDN-Ada助手:
恭喜您写出了这篇非常有价值的博客!您对物理层基本概念及常见的传输介质的掌握非常到位,让读者能够更深入地了解这方面的知识。接下来,建议您可以深入探讨一下物理层的通信模式和传输速率等相关内容,这样可以让读者更加全面地了解物理层。再次感谢您的分享,期待您的下一篇博客!
CSDN 会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply4 看奖励名单。
计算机网络体系结构
CSDN-Ada助手:
非常感谢用户的创作,这篇关于计算机网络体系结构的博客让我对计算机网络有了更深入的了解。恭喜用户持续创作,希望用户可以继续分享自己的知识和经验,让更多人受益。下一步的创作建议是可以结合实际案例,深入探讨计算机网络在不同场景下的应用与优化。期待用户的下一篇精彩作品。
CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3,我们会奖励持续创作和学习的博主,请看:https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply3
计算机网络的组成
CSDN-Ada助手:
非常感谢您分享这篇有价值的博客,很详细地介绍了计算机网络的组成。您的文章让我对通信子网和资源子网的概念有了更深刻的理解。除此之外,我认为在学习计算机网络时,了解网络拓扑结构、网络安全和网络管理等方面的知识也非常重要。希望您能继续分享您的见解和经验,期待您的下一篇博客!
如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2
计算机网络
CSDN-Ada助手:
不知道 网络 技能树是否可以帮到你:https://edu.csdn.net/skill/network?utm_source=AI_act_network
计算机网络
CSDN-Ada助手:
恭喜你这篇博客进入【CSDN每天最佳新人】榜单,全部的排名请看 https://bbs.csdn.net/topics/614690738。
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
BGP基础
ICMPv6与NDP
IPv6基础
2023年48篇
目录
目录
分类专栏
HCIP-Datacom
26篇
OpenEuler
6篇
计算机网络
16篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
以太网的MAC层_以太网mac层-CSDN博客
>以太网的MAC层_以太网mac层-CSDN博客
以太网的MAC层
丶chuchu丶
已于 2022-06-26 00:16:29 修改
阅读量4.7k
收藏
54
点赞数
16
分类专栏:
网络
文章标签:
网络
于 2022-06-26 00:16:02 首次发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_56620669/article/details/125464556
版权
网络
专栏收录该内容
8 篇文章
0 订阅
订阅专栏
以太网是一种计算机局域网技术,由IEEE 802.3制定了以太网的技术标准。
它是一种有线系统,现在一般使用双绞线或者光纤进行数据传输。
IEEE 802.3将以太网的数据链路层分为两层:逻辑链路控制(LLC)和介质访问控制(MAC)
本篇重点介绍以太网的MAC层。
目录
一、MAC地址
MAC地址格式
MAC地址的识别
单播帧
多播帧
广播帧
随机MAC地址
二、以太网交换机
传输过程
自学习算法
生成树协议STP
三、虚拟局域网VLAN
一、MAC地址
每台电脑都有一个网卡,一个网卡就配有一个MAC地址
MAC地址用来确定网络设备位置的地址
每个网卡的MAC地址都是唯一的,有且仅有一个,如果你电脑有无线网卡,你电脑就有两个MAC地址
交换机和路由器会有更多的网络接口,也就有更多的MAC地址
利用 ipconfig /all 就能看到自己主机的IP地址
MAC地址格式
IEEE 802.3规定MAC地址为48位(6字节)的地址。
前三位由IEEE统一分配,后三位厂家自行决定
第一个字节的第一个比特位就表示它是单播地址还是多播地址(一般奇数就是多播)
比如 07-E0-12-F6-2A-D8 ,看这里的7,是一个奇数,所以是多播
单播就是A一对一发给B
多播就是A发给B,也发给C,或者更多
还有一个传输类型是广播,广播就是发一个数据,局域网上的所有主机都会收到
MAC地址的识别
这里模拟一个场景:比如很多主机连接到一个信道上
要实现两个主机的通信,比如A发送给B
A将数据传出,整个信道上的主机都能接受到数据
每台主机会根据自己的MAC地址与帧上的MAC地址匹配,不符合就丢弃
这里就衍生出三种帧:
单播帧
单播帧就是一对一,将目标MAC地址和自己的地址封装成帧,每个主机依次接受匹配
多播帧
多播就是一对多,一般主机会有一个多播组列表
当接受到一个多播帧后,对照这个列表就知道这个是否匹配
广播帧
广播就是所有人都要接受,目的地址会改为全F,当主机接受到全F,就知道是广播帧
随机MAC地址
早些年前,有一套系统可以通过MAC地址来跟踪人的行动
所以苹果率先采用了扫描网络时的随机MAC地址技术
目前大多数设备都已经支持此技术
二、以太网交换机
以太网交换机是基于以太网传输数据的交换机,通常有多个接口,采用全双工方式
以太网交换机具有并行性,多对主机能同时通信
传输过程
主机A要将数据发给主机B,会先根据ARP协议获取主机B的MAC地址获取后,将目标地址、源地址、数据等分装成帧传输给以太网交换机以太网交换机收到帧后,会在帧交换表中查找目标MAC地址对应的接口号,再通过该接口发送
帧的转发方式也有两种:
存储转发:在转发前接受整个帧,进行错误校验直接交换:采用交叉矩阵,不等全部接受,也不检查,直接将帧发送给目的地址
自学习算法
上述过程有个问题:用于对应MAC地址和接口号的帧交换表是哪里来的呢?
其实以太网交换机的帧交换表一开始是空的,通过自学习算法逐渐建立了这样一个帧交换表
下面演示一遍自学习过程:
比如主机A要将数据发送给主机B
数据从A进入交换机1,交换机1的帧交换表记住了A对应接口1此时交换表上没有主机B的数据,所以开始盲目转发给其他接口,也叫泛洪接口2的C接受到,发现MAC地址对不上,就丢弃此帧接口3的B接收到,发现MAC地址对上了,接受该帧顺着接口4,帧来到交换机2,交换机2的帧交换表也记住了A对应接口2交换机2的帧交换表没有B的数据,进行泛洪操作一圈下来DEF都不符,所以都丢弃
这就是一个完整过程。
注意:帧交换表上的数据会有有效时间,到期自动删除
生成树协议STP
这样的网络结构,如果断了一条,此局域网就不能通信了
所以采用冗余链路将他们连接在一起
但是这样就形成了网络环路,会引发广播风暴,即广播帧会在交换机之间反复转发
反复转发不仅消耗主机的资源,而且会使帧交换表混乱
所以这时就有了一个生成树协议STP,在保留冗余链路下,避免了环路的问题。
比如这样一个环路,主机A要将数据传给主机E
根据STP会指定一些链路阻塞,形成一个数据传输的通道:
这样就规划了一条最合适的道路来传输数据。
三、虚拟局域网VLAN
上面提到过,广播风暴就是因为交换机之间反复传输导致的
如果用交换机连接许多个广播域,形成了一个广域网后,如果一个广播域内部有了网络风暴或其他安全问题,就导致了这个问题顺着中间交换机来到其他广播域。
这样安全问题就严重了,所以需要分割广播域,有两种办法
首先就是不用中间交换机连接局域网,用路由器
路由器会自动隔离广播域,但是成本高。
我们还可以用虚拟局域网VLAN来划分,如下图:
一个VLAN内的主机不能与另一个VLAN内的主机通信。
谢谢你能看到这ヽ( ̄ω ̄( ̄ω ̄〃)ゝ
优惠劵
丶chuchu丶
关注
关注
16
点赞
踩
54
收藏
觉得还不错?
一键收藏
打赏
知道了
0
评论
以太网的MAC层
每台电脑都有一个网卡,一个网卡就配有一个MAC地址MAC地址用来确定网络设备位置的地址每个网卡的MAC地址都是唯一的,有且仅有一个,如果你电脑有无线网卡,你电脑就有两个MAC地址交换机和路由器会有更多的网络接口,也就有更多的MAC地址利用 ipconfig /all 就能看到自己主机的IP地址IEEE 802.3规定MAC地址为48位(6字节)的地址。前三位由IEEE统一分配,后三位厂家自行决定第一个字节的第一个比特位就表示它是单播地址还是多播地址(一般奇数就是多播)比如 07-E0-12-F6-2A-D8
复制链接
扫一扫
专栏目录
以太网MAC协议
10-18
详细介绍了以太网MAC层的数据格式、前导码、FCS等的值,以及串行发送顺序等底层知识,对用FPGA自己实现MII接口,了解传输过程非常有用
数据链路层的子层MAC层(图文详解)
是小D吖!的博客
06-23
2万+
数据链路层的子层MAC层MAC层MAC层的硬件地址单站地址,组地址,广播地址全球管理与本地管理适配器检查MAC地址MAC帧的格式
MAC层
MAC不是物理层!MAC不是物理层!MAC不是物理层重要的事情讲三遍。MAC层是数据链路层的两个子层之一。
MAC层的硬件地址
在局域网中,硬件地址又称为物理地址,或 MAC 地址。802 标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。但鉴于大家都早已习惯了将这种 48 位的“名字”称为“地址”,所以也采用这种习惯用法,尽管这种说法并不太严格。
注
参与评论
您还未登录,请先
登录
后发表或查看评论
以太网MAC层基础知识学习
t_home的博客
05-31
4892
1、MAC层的硬件地址
MAC media access control or message authentication code
在局域网中,硬件地址又称为物理地址或者MAC地址(因为物理地址用于MAC帧中)。I3E 802标准中规定了一种48位的全球地址,此地址固化在适配器的ROM中(所以称为物理地址)。无线LAN、蓝牙、以太网、FDDI、ATM等设备都使用相同规格的MAC地址。...
基于FPGA的以太网MAC层交换机设计与实现.pdf
07-13
基于FPGA的以太网MAC层交换机设计与实现.pdf
lte mac层协议
06-01
lte mac层标准协议学习,由助于新手了解mac层相关的东西
5G通信协议(MAC 层简介)
热门推荐
daijingxin的博客
10-05
2万+
目录1.MAC层结构2.MAC层的功能2.1 通道的映射2.2 复用/解复用2.3 HARQ2.3.1 下行
1.MAC层结构
MAC子层位于网络结构中的数据链路层。
在L2层包括了MAC、RRC、PDCP、SDAP四个子层。
2.MAC层的功能
MAC层的服务和功能:
逻辑信道与传输信道之间的映射
复用、解复用:将来自一个或多个逻辑信道的MAC SDU复用到一个传输块并传递给PHY;将从物理层传来的传输块解复用成多个MAC SDU并传递给一个或多个逻辑信道。
报告调度信息
通过HARQ进行错误纠正(
计算机网络笔记12 以太网的MAC层
Lora青蛙的博客
06-02
1454
本文详细记录以太网的MAC层的笔记。
mac地址厂商对应表_科普一下:什么叫MAC地址学习,记录什么内容
weixin_39842937的博客
12-04
974
概述MAC地址学习虽然说起来比较简单,但是在工作中,还是经常看小伙伴不能正确的应用,遇到问题时也比较迷茫,不知道如何分析问题。究其原因,可能还是对MAC地址学习的工作原理了解的不够,所以我今天写一篇文章,给还迷糊的小伙伴在普及一下,如果是已经了解的同学,可以当做复习。MAC地址简介在OSI七层模型中,每一层都有不同标识符,用来区分不同的设备,这样它们之间才能对等的进行通信。而MAC地址是数据链路层...
以太网详解二
肥嘟嘟的左卫门
09-15
4432
结构
从硬件的角度看,以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY(Physical Layer,PHY)两大部分构成。如下图所示
但是,在实际的设计中,以上三部分并不一定独立分开的。 由于,PHY整合了大量模拟硬件,而MAC是典型的全数字器件。考虑到芯片面积及模拟/数字混合架构的原因,通常,将MAC集成进微控制器而将PHY留在片外。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合。可分为下列几种类型:
CPU集成MAC与PHY。
MAC层
zrh_CSDN的博客
07-15
3077
MAC层的主要功能:
在不同UE之间做调度;
逻辑信道到传输信道的映射;
混合自动重传请求(HARQ)错误修正;
传输格式的选择。
MAC层的调度:LTE使用共享信道承载上下行的业务,调度是指为不同用户分配共享信道上的时域资源和频域资源。
MAC调度器需要考虑不同的因素:公平性、数据量、UE的信道条件、不同业务的QoS要求。
两种调度模式:
动态调度:对数据报大小和到达时刻没有约束,...
万兆以太网物理层编码芯片设计
12-09
万兆以太网物理层编码芯片设计费瑞霞-朱恩-周忻-赵文虎-王志功 东南大学射频与光电集成电路研究所-南京 摘要 提出了一种并行处理的编解码方案/采用这种方案-设计了万兆以太网标准的物理编码子层发送端芯片/芯片由编码8扰码和变速箱'部分组成/考虑到测试问题-该芯片内置了伪随机码数据源/这种方案的优点是逻辑简单8速度快/芯片采用**工艺-用全定制方式实现/芯片引脚分布时参照规格/关键词 编码 并行处理方法 扰码器 变速箱工艺-以全定制方式设计/"系统结构 万兆以太网在**模型中处于物理层.物理层包括从上至下物理编码子层、物理媒质连接子层、2+8物理媒质关联子层、电路实现时-A;3层。又分成了'个小模
物联网mac层技术综述培训文件
07-06
物联网mac层技术综述培训文件
MAC_TEST.rar_以太网 mac_物理层
09-21
以太网开发测试的模块代码,整合了物理层协议代码,对于不同的物理层可以针对性的修改即可实现移植
802.11Mac层流程
08-15
NS2中802.11Mac层函数注释以及Mac层各函数运行流程图
http://www.doc88.com/p-285604930007.html
万兆以太网MAC层控制器设计与实现
02-24
万兆以太网MAC层控制器设计与实现,万兆以太网MAC层控制器设计与实现
以太网MAC层协议研究与FPGA实现
05-24
以太网MAC层协议研究与FPGA实现
通信与网络中的基于FPGA的以太网MAC子层协议设计实现
12-05
摘要: 本文介绍了基于现场可编程门阵列(FPGA) 的以太网MAC 子层协议的硬件实现方法. 硬件结构上由控制模 块、发送模块和接收模块3个部分组成,发送模块和接收模块采用状态机控制数据发送和接收的过程,完成数据的封装...
以太网MAC和PHY关系
05-28
详细描述了以太网mac层和PHY层的关系,适合新手上手了解协议分层
基于RGMII的以太网MAC的FPGA实现代码
01-10
基于RGMII的以太网MAC的FPGA实现代码,整个工程采用Verilog HDL实现,包括测试用例以及功能验证TestBench
以太网mac层的具体功能
最新发布
06-03
以太网MAC层主要负责以下功能:
1. 媒体接入控制(MAC):控制多个设备在共享媒体上的访问,以避免冲突和碰撞。
2. 帧的封装与解封装:将上层交付的数据加上MAC头和MAC尾,构成MAC帧,并在接收端将MAC帧解封装,提取出数据。
3. 帧的传输与接收:控制帧的传输和接收,将MAC帧从发送端传输到接收端。
4. 帧的检错与重传:在传输过程中,对数据进行校验和检错,并在发生错误时进行重传。
5. 物理寻址:通过MAC地址进行物理寻址,确保数据发送到正确的设备。
6. 逻辑寻址:通过IP地址进行逻辑寻址,将数据发送到正确的网络上。
7. 流量控制:控制数据的发送速率,避免网络拥塞。
总之,MAC层是实现数据链接的关键,它提供了一个可靠的数据传输机制,确保数据的准确传输。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
丶chuchu丶
CSDN认证博客专家
CSDN认证企业博客
码龄3年
盐城工学院
51
原创
29万+
周排名
174万+
总排名
4万+
访问
等级
1021
积分
795
粉丝
320
获赞
114
评论
265
收藏
私信
关注
热门文章
Java文件操作
4788
以太网的MAC层
4771
Flappy Bird游戏 C语言实现
2641
程序的编译
2573
Java项目--网页版音乐播放器(Spring Boot 后端逻辑)
2555
分类专栏
java_learning
18篇
数据库
1篇
C_learning
13篇
网络
8篇
Linux
1篇
数据结构
9篇
前端
1篇
游戏
1篇
最新评论
创建优先级队列
tao87118:
你好,想请教一下,这个小根堆只是对于单个数据排序没有问题,那比如说我{0,1}, {1,1}, {0,2}, {1,2}, {0,3},,这样入队后,可能出来顺序就是{0,1}, {0,3} {0,2}, {1,2},, {1,1},第一个元素是优先级,因为它只是对比优先级了,没有考虑顺序了,那这种怎么解决了
Java文件操作
丶chuchu丶:
哈哈,这都发现了
Java文件操作
小菜菜也想变强:
你的idea背景是金克斯
TCP与UDP协议的那些事
独一无二的哈密瓜:
tcp和udp学习了
Java文件操作
呋喃吖:
文件操作好
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Java项目--网页版音乐播放器(JQuery前端逻辑)
Java项目--网页版音乐播放器(Spring Boot 后端逻辑)
Spring的那些事
2022年26篇
2021年25篇
目录
目录
分类专栏
java_learning
18篇
数据库
1篇
C_learning
13篇
网络
8篇
Linux
1篇
数据结构
9篇
前端
1篇
游戏
1篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
打赏作者
丶chuchu丶
你的鼓励将是我创作的最大动力
¥1
¥2
¥4
¥6
¥10
¥20
扫码支付:¥1
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值