计算机网络之MAC和IP地址
MAC地址
在局域网中,硬件地址,又称为物理地址或MAC地址。
目前现在的局域网中实际上使用的都是6字节的MAC地址,所以每一个以太网设备都具有唯一的MAC地址。
MAC地址的格式
假设传输使用的是IP数据,V2的MAC帧较为简单,由五个字段组成,前面的两个字段分别为6字节的目的地址和源地址,第3个字段是类型,主要用来标识上一层用的是什么协议,第四个字段是数据字段,最后的一个字段是4字节的帧检验序列FCS,主要是检验整个MAC帧,但是不包括物理层插入的八字节的前同步码和帧开始符号。

从图上也能看到传输媒体时实际要比实际传送多8个字节,其中它也由两个字段构成,第一个字段时前7个字节的前同步码,作用是使接收端的适配器在接收MAC帧,实现位对齐,第二个字段是帧开始符号,即告诉适配器需要接收MAC信息帧了。
MAC只负责某一区间之间的通信传输,和IP不太一样,IP数据包是需要发送到最终目的地址,而MAC负责主机到源地址的上一级路由,以此不断在区间传输,然后最终可以送到最终目的地址。
IP协议
网络协议IP是TCP/IP体系中两个最主要的协议之一,也是互联网重要的标准协议之一
配套协议有:
地址解析协议ARP
网际控制报文协议ICMP
网际组管理协议ICMP
IP协议与其配套协议的图如下,各层都有对应的一些协议

将网络连接起来需要一些中间设备,包括转发器、网桥、桥接器、交换机、路由器、网关。
IP地址
IP地址在整个互联网范围内是唯一的,可以记作:
IP 地址 ::= {<网络号>, <主机号>}
假设IP地址是32位,需要假设需要n位网络位,则剩余需要(32 - n)位。
IP地址可以分成五类地址:
A类地址
B类地址
C类地址
D类地址
E类地址

C类地址可以表示的主机数:
2
8
−
2
=
254
2^8 - 2 = 254
28−2=254
之所以减2的是因为主机号全为1代表该网络下的全部主机,全为0代表的是某个网络
地址解析协议ARP
ARP协议:已经知道IP地址,可以找出其对应的硬件地址MAC地址。
RARP协议:可以根据硬件地址的主机可以通过RARP协议找出其IP地址。
ARP原理:可以在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表(ARP高速缓存(ARP cache))
ARP主要是ARP请求和ARP响应:主机会通过广播发送ARP请求,同一个链路的设备收到ARP请求,会拆开ARP请求包的内容,如果ARP请求的目标IP地址和自己的IP地址一致,这个设备就可以将这个MAC地址塞入ARP响应包返回给主机。
RARP协议:这时候需要架设一台RARP服务器,将这个设备接入到网络
比如一个设备想知道这个的IP地址,我的MAC地址是XXX,请告诉我,我的IP地址应该是什么?
RARP服务器接到这个消息后返回MAC地址为XXX的设备,IP地址为XXX给这个设备。
IP数据报的格式
IP数据报由首部和数据两部分组成,由首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
IPV4:

IPV6的报文格式

IPV4和IPV6格式对比:
优势:
更大的地址空间
扩展的地址层次结构
灵活的首部格式
改进的选项
允许协议继续扩充
支持资源的预分配
IPV6首部改成8字节对齐
改进:
取消了首部检验和字段。这样可以加快路由器处理数据报的速度,在数据链路层和网络层都需要校验
取消了标识、标志和片偏移字段,这些功能已经包含在分片扩展首部中
取消选项字段,用扩展首部来选项功能
齐
改进:
取消了首部检验和字段。这样可以加快路由器处理数据报的速度,在数据链路层和网络层都需要校验
取消了标识、标志和片偏移字段,这些功能已经包含在分片扩展首部中
取消选项字段,用扩展首部来选项功能
计算机网络之MAC和IP地址的更多相关文章
- 重学计算机网络(二) - 曾记否,查IP地址
先献上几个梗 1.1.1.1 不是测试用的,原来一直没分配,现在被用来做一个DNS了,宣传是比谷歌等公司的dns服务 更保护用户隐私. IP地址255.255.255.255,代表有限广播,它的目标是 ...
- 计算机网络-4-1-2-分类的IP地址
有关IP最重要的文档就是互联网的正式标准RFC 791 IP地址及其表示方法 整个互联网就是一个单一,抽象的网络,IP地址就是给互联网上的每一台主机(或者路由器)的每一个接口分配一个在全世界范围内都是 ...
- 计算机网络【3】—— IP地址分类与子网划分
一.IP地址分类
- mac下ip地址重定向
在终端临时使用最高权限用vim编辑/etc下的hosts文件,若提示Password: 输入开机登录密码并回车: yanguobindeMacBook-Pro:~ yanguobin$ sudo vi ...
- linux 下查看硬件信息(mac,IP地址,硬盘型号,序列号等)
一.查看网卡mac地址 #安装lshw [root@server ~]# yum install lshw #使用方法 [root@rsync-server ~]# lshw -c network * ...
- mac ping ip地址
Mac下有个类似于Windows下CMD的模式叫做终端,但是这个模式和Windows下的CMD有着很大的差别. 工具/原料 Mac电脑一台 方法/步骤 首先通过菜单栏的搜索功能找到“终端”,也可以 ...
- 计算机网络之IP地址与MAC地址
IP地址 IP地址(Internet Protocol Address): 缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址. 它为互联网 ...
- IP地址和硬件地址 ARP协议
ip地址使用在网络层以上,是一个逻辑地址,物理地址是数据链路层和物理层使用的 在发送数据的时候,数据是从上层往下层发送的,通过tcp报文->ip数据报->mac数据帧 IP地址放在数据报的 ...
- IP 地址分类
1.1 网络IP地址分类 网络通讯过程中数据封装与解封过程(网际互联通讯过程) TCP/IP模型 1)应用层 总结记录一些常见网络协议以及对应的端口号(FTP HTTP telnet) 2)主机到主机 ...
- 网络编程概述和IP地址的获取方法
java网络通信概述 一.网络通信步骤: 主机1 主机2 QQ-------QQ FEIQ-----FEIQ 1.找到对方IP. 2.找到对方端口号.数据要发送到对方的应用程序上.为了标识这些应用程序 ...
随机推荐
- redis为什么是单核单线程
1)以前一直有个误区,以为:高性能服务器 一定是多线程来实现的 原因很简单因为误区二导致的:多线程 一定比 单线程 效率高,其实不然! 在说这个事前希望大家都能对 CPU . 内存 . 硬盘的速度都有 ...
- Java中简单易懂的HashMap面试题(面试必备)
这篇文章仅限小编个人的理解,小编不是Java方向的,只是对Java有很高的学习兴趣 如果有什么不对的地方还望大佬指点 HashMap的底层是数组+链表,(很多人应该都知道了) JDK1.7的是数组+链 ...
- 【javascript】chormeV8源码阅读之 GC(垃圾回收)过程 笔记
1.为何需要垃圾回收 在V8引擎逐行执行JavaScript代码的过程中,当遇到函数的情况时,会为其创建一个函数执行上下文(Context)环境并添加到调用堆栈的栈顶,函数的作用域(handl ...
- HTTP 协议相关
一. HTTP常见请求头 1. Host (主机和端口号) 2. Connection (连接类型) 3.Upgrade-Insecure-Requests (升级为HTTPS请求) 4. User- ...
- CentOS7更改阿里源
阿里云yum源:1)备份当前yum源防止出现意外还可以还原回来cd /etc/yum.repos.d/cp /CentOS-Base.repo /CentOS-Base-repo.bak2)使用wge ...
- 软件工程日报——第十天(Android 开发中的异常处理问题)
Android 开发中的异常处理问题 在代码的编写工作当中,我们会遇到很多有关错误处理的内容.这个时候,你用的最多的应该是try-catch-finally,这样的句式.系统提供的这个句式极大方便我们 ...
- JWT用户认证体系
依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifa ...
- base64压缩
1 /** * 压缩图片 * base64 : 图片base64字符串 * w : 图片宽高最大值 * callback : 回调函数 * quality : 压缩系数0-1之间, 默认0.92 * ...
- Python学习笔记--第二阶段啦
初识对象 示例: 类的成员方法 上图中的self必须填写!!! 示例: 类和对象 有c和c++语言基础的话,就会发现其实是一样的道理,只是实现代码有差异 构造方法(init) 示例: 注意: 其他内置 ...
- 如何让excel不转换科学技术法
使用场景: 业务部门从系统导出数据给开发人员,打开后数字全部变为科学计数法 参考文章:https://www.zhihu.com/question/20096750