关于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安装完成之后,会弹出来 ...
随机推荐
- Linux 下如何安装软件
一.解析Linux应用软件安装包 通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. 2) rpm包 ...
- less和sass
sass 总体来说应用是和less差不多的,但是也有所不同 sass是用“$”符号来命名 然后加值来先引入后使用的方式. 同时也应该注意到的是sass有两种后缀名文件:一种后缀名为sa ...
- SqlServer阅读收集
1.根据字段名,查找相关表--INFORMATION_SCHEMA.COLUMNS SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME ...
- jsr133
1:介绍 java虚拟机支持多线程运行.线程代表的就是Thread class.对用户来说创建线程的唯一办法就是创建一个Thread对象:每一个线程都和一个Thread对象关联.Thread对象调用s ...
- C# 获取当前操作系统是32位还是64位
注:判断整型的长度的方式,只有在AnyCPU编译模式下才有用.因此更好的办法是获取真的地址总线位宽(使用WMI,windows management instruementation). .NET 2 ...
- Beta版本冲刺——day7
No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 站立式会议 今日计划表 人员 工作 ...
- Validation failed for one or more entities.
验证失败后用DbEntityValidationException 查找出错的字段 try { // Your code... // Could also be before try if you k ...
- 如何区分Babel中的stage-0,stage-1,stage-2以及stage-3(一)
大家知道,将ES6代码编译为ES5时,我们常用到Babel这个编译工具.大家参考一些网上的文章或者官方文档,里面常会建议大家在.babelrc中输入如下代码: { "presets" ...
- 虚拟现实外包公司— VR开发编辑器意义重大 印证VR不仅服务于用户
三大引擎制造商 Unity Technologies .Epic Games 和Crytek 讨论在自家产品中添加附件,方便开发商在虚拟现实中创作游戏.这会对许多人造成影响,特别是早已进入虚拟现实的先 ...
- http load 的使用以及参数解释
http load 的使用以及参数解释 1.参数含义 参数 全称 含义 -p -parallel 并发的用户进程数.-f -fetches ...