MAC地址
Media Access Control, 介质访问控制)地址
-
组成(48bit->6Byte)
- 前24位叫做组织唯一标志符(OUI,Organizationally Unique Identifier),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家
- 后24位是由厂家自己分配的,称为扩展标识符(UAA,Universally Administered Address),同一个厂家生产的网卡中MAC地址后24位是不同的
-
功能
- 对应于OSI参考模型的第二层数据链路层
工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库,交换机根据收到的数据帧中的“目的MAC地址”字段来转发数据帧
-
MAC地址用于在网络中唯一标示一个网卡
一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址
-
唯一性
- 客观上是全球唯一的,因为是厂家在生产网卡时直接烧写;
- 理论上可以修改,但需要保证局域网内唯一
同一个局域网里如果有两个phy芯片的mac地址一样,系统会报出mac地址冲突的异常,此时两个phy都不能正常传输数据
好像是交换机有个位标识,标识这是本地局域的,还是全球唯一的
和IP地址区别
- 分配不同:IP是基于网络拓扑结构,MAC是基于制造商;
- 长度不同:IP是32为,MAC是48位
- 协议层不同:IP是网络层,MAC是数据链路层
有了MAC为什么还需要IP
-
历史角度
早期的以太网只有交换机,没有路由器,以太网内通过MAC地址通信 -
MAC本身
MAC地址是制造商提供,只能表示网卡,并不表示用户在网络中的位置; -
局域网角度
局域网下IP是动态分配的,所以与设备不总是对应(比如设备下线之后,该IP会分配到其他设备上)的,而MAC地址和设备是一一对应的; -
如果不使用IP地址,那么就需要维护一个极其庞大的MAC地址表,在查找目的机器的时候,就需要向全世界发送数据包,可想而知会造成多大的网络流量
有了IP为什么还需要MAC
-
信息传递
信息传递时候,需要知道的其实是两个地址:终点地址、下一跳的地址。IP地址本质上是终点地址,它在跳过路由器的时候不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变。这时MAC地址起到了记录下一跳的信息的作用。 -
网络体系的分层
MAC地址和IP地址两个地址,用于分别表示物理地址和逻辑地址是有好处的。这样分层可以使网络层与数据链路层的协议更灵活地替换 -
历史原因
早期的以太网只有集线器,没有交换机,所以发出去的包能被以太网内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与自己MAC地址相匹配的包