关于MAC
以太LAN网中发送的分组称做帧,包含7个字段
MAC帧格式
| 前同步码 | SFD | DA | SA | 长度或类型 | 数据域 | CRC |
| 7字节,物理层加入 | 帧首定界符,1字节 | 目的地址,6字节 | 源地址,6字节 | 2字节 | 46-1500字节 | 4字节 |
前同步码:
802.3协议的帧的第一个字段
长度:7个字节,56比特
内容:交替出现的0和1
作用:提醒接收系统有帧到来,使帧与输入定时同步,由物理层添加进MAC帧
SFD:又叫帧首定界符
长度:1个字节
内容:10101011
作用:作为帧开始的信号,SFD提醒接收站,这是最后一次进行同步的机会,最后俩个比特提醒接收方,接下来的字段是目的地址,由物理层加入帧
DA:目的地址
长度:6个字节
内容:要发往地方的物理地址
SA:源地址
长度:6个字节
内容:发送方的物理地址
长度或类型:
长度:2个字节
作用:最初以太网将此字段用作类型字段,定义使用改MAC帧的上层协议,IEEE标准定义为长度字段,用来指明在数据字段中包含的字节数目
数据域:
长度:46-1500字节
CRC
长度:4个字节
内容:差错检验信息
作用:差错校验
数据域限制最小长度46字节是为了CSMA/CD,
标准定义一个帧的最大长度是1518字节(不算前同步码和SFD)
如果首部和尾巴加起来算18字节,那么一个帧的最小负荷是46字节,如果上层的分组小于46字节,需要用填充来填补差距
一个MAC地址6个字节的物理地址,分为三类MAC地址,单播,组播,广播,
一个MAC帧的源地址只能是单播地址,任何一个帧只可能来自一个站点,目的地址有可能是单播地址,多播地址,广播地址
1:单播MAC地址
一个MAC帧的源地址只能是单播地址,任何一个帧只可能来自一个站点,如果目的地址的第一个字节的最低位是0,那么就是单播地址
2:广播MAC地址
广播地址是多播的地址的特殊情况,它的接收是局域网中的所有站.48个1组成FF:FF:FF:FF:FF:FF
3:多播MAC地址
如果目的地址的第一个字节的最低位是1,那么就是单播地址,多播地址指明接收者是一组地址
地址在发送到线路上时与书写方式不同,从左到右逐字节发送,对于每一个字节来说,最先发送的总是最低位,大端模式(高位字节在内存的低地址端),比如
47:88:32:11:22:12
发送的字节如下,从左到右逐字节发送,对每个字节,从右到左,逐位发送
1110 0010 1000 1000 0010 0011
7 4 8 8 2 3
关于MAC的更多相关文章
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- JAVA for mac 的学习之路
要学习一门新技术,首先得下载相关的工具. 一 . 下载相关工具 1. 下载 jdk formac 下载地址为:http://www.oracle.com/technetwork/java/javase ...
- docker for mac 学习记录
docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- mac下安装及配置tomcat
mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...
- Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)
Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...
- Mac OS、Ubuntu 安装及使用 Consul
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...
- MAC Osx PHP安装指导
php.ini的位置 Mac OS X中没有默认的php.ini文件,但是有对应的模版文件php.ini.default,位于/private/etc/php.ini.default 或者说 /etc ...
- MAC下 mysql不能插入中文和中文乱码的问题总结
MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...
- Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)
忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...
随机推荐
- Git 基础
取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法.第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库.第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来. 在工作目录中初 ...
- Vim找不到配色文件的解决方法
Vim新出了8.0,又成功的勾起了我的好奇心. 重新从零开始配置,结果第一步设置配色主题就没过,好丢人-- 提示找不到evening.vim配色文件,于是上网查了一下,有说改环境变量的,又说改这个改那 ...
- 怎样用vs 2008 编译C程序
在大学里都习惯了vc6.0,但是它的集成度并不好,刚试着用vs2008,简单说一下用vs2008编译c的方法吧 首先,在file中新建工程project ,确定之后,会出现新工程(new projec ...
- kbengine0.4.20源代码分析(一)
基于kbengine 0.4.2 MMOPG服务端是一种高品质的工程项目,品读开源的kbe是一种乐趣.本文档我带童鞋们一起领略一下.囿于我知识面和经验方面所限,文中所述之处难免有错误存在,还请读童鞋们 ...
- ECMAScript 6的解构赋值 ( destructuring assignment)
var provinceValues=["010","020","028","0755","023" ...
- Android 手机蓝牙接收文件夹
网上很多都没用用,只能自己研究了 /mnt/emmc/downloads/bluetooth
- kali ssh服务开启登录
vi /etc/ssh/sshd_config 将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes 2. 将PermitRootLog ...
- jquery 让滚动条处于div底部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 承接Unity3D外包公司 — 技术分享
Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,虽然目 ...
- Temporary-Post-Used-For-Style-Detection-Title-16761156
Temporary-Post-Used-For-Style-Detection-Content-16761156 =-=-=-=-=Powered by Blogilo