如果重新设计网络,有没有可能合并IP地址跟MAC地址?
2019独角兽企业重金招聘Python工程师标准>>>
前阵子看网络基础相关的书籍,冒过一个疑问,为什么要有MAC地址跟IP地址?两者可否合二为一?
现在的逻辑是这样子:在数据传输过程中,路由器查看这个数据包的IP地址,跟路由表中记录的“IP集合:下一跳的mac地址”做对照,确定了要往哪边扔;网卡在接收数据的时候,也会看看这个数据包中记录的目标MAC地址是不是自己,只接收自己的。
MAC地址是数据链路层使用到的,IP地址是网络层使用到的。MAC地址是硬件的物理属性,在网卡上固定不变,IP地址是逻辑属性。
所以,因为网络分层的设计,很自然的就想到要使用两个不同的“地址”。那么,这里有没有可能让两个层次使用同一个东西呢?数据链路层也可以直接采用IP就够了?这就相当于是一个可变的MAC地址,毕竟接收端可能是笔记本,会到处跑。
假设只采用IP,那么为了保证数据正确到达某台电脑,IP地址就需要跟某个接收端绑定,一旦发生变化,就需要接收端告诉网络,我是某某IP,这个还好,毕竟现在路由在转发数据包时,也是根据mac跟IP绑定来转发,有定时刷新机制。这样子路由表里头就是IP集合跟下一步要转发的目标路由IP的映射关系,这里说的IP,就不是当前网络世界的虚拟属性了,它就既有物理属性又有逻辑属性,代表了网络层的逻辑属性,又代表了物理网卡。没有mac地址跟ip地址的映射,想想是不是简化了很多?
假设只采用mac地址,由于mac地址的值跟它所处网络位置是没有关联的,不像IP地址那样前几位相同的往某个路由转发就好,所以如果只用mac地址,就需要路由器记录着的映射关系是:下一步路由mac地址:该路由内的所有接收端mac地址,路由转发时,需要遍历比较所有的接收端mac地址,确定下一步的走向。明显,会导致逻辑变得非常复杂,性能也很低下。假设处于一个小的局域网内,那么只使用mac地址,没有问题,但涉及到很广阔的网络,就不行了。
如果把IP跟MAC合二为一,那么就相当于网卡上的mac地址是一个动态变化的值,它来自运营商分配的IP。有问题吗?目前以我的理解应该可以。不知道高手怎么看?
我看到网络上的很多回答,都有预设前提的错误,譬如:有一本书介绍必须有mac时,就先预设了“主机通过mac地址标识”,而没有从根本上考虑,也许主机使用IP地址标识的,mac地址根本不存在。
以上只是胡思乱想。
也许IP+MAC组合是因为历史原因,IP可以统一所有的各种物理网络,而MAC可能只是物理网络的一种。
分层是有好处的,有句名言:计算机领域的任何难问题,都可以通过增加一个分层解决。用在这里挺合适的。
转载于:https://my.oschina.net/newchaos/blog/1552123
如果重新设计网络,有没有可能合并IP地址跟MAC地址?相关推荐
- 【网络篇】第二篇——IP协议与MAC地址详解
IP协议 理解源IP地址和目的IP地址 网段划分 IP地址的数量限制 私有IP地址和公网IP地址 路由 NAT(网络地址转换) 编辑NAT IP转换过程 NAPT MAC地址 理解源MAC地址和目的 ...
- 网络基础——IP地址子网掩码MAC地址DNS(详解)
目录 一.DNS和IP地址关系: 二.IP地址和MAC地址的区别: 三.IP地址 (internet protocol Address) (1)概念及特点: (2)网络设备获取IP地址的方式 (3) ...
- ip地址和mac地址的区别以及tpc/ip四层网络协议
IP地址划分时基于地理区域,换了不同地方,即便是同一台硬件设备,IP地址一定不一样,可以理解为和地理位置有关:而MAC地址不依赖于地理区域,换了不同地方,只要还是同一台硬件设备,MAC地址就不会变,它 ...
- 编程获取ip地址与mac地址的对应关系_[读书笔记]CSAPP:25[VB]网络编程1
视频地址: [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com 课件地址: ...
- 【网络】IP地址和MAC地址
一.IP地址和MAC地址 1.MAC地址 MAC(Media Access Control,介质访问控制)地址,或称为物理地址,也叫硬件地址,用来定义网络设备的位置,MAC地址是网卡出厂时(每个厂提前 ...
- TCP/IP协议专栏——MAC地址详解——网络入门和工程维护必看
以太帧格式 前导同步符:共8字节,由7个字节的前同步信号和一个分界符开始字节构成. DA/SA:共6个字节,前3个字节代表供应商代码,后3个字节代表厂商序列号. TPID:标记协议标识符,2个字节,值 ...
- 网络原理——IP地址与mac地址
目录 IP地址 IP地址 IP地址的组成 子网掩码 mac地址 冲突域与广播域 数据传输流程 IP地址 IP地址 互联网协议地址.每一个联网的主机都会分配一个IP地址.为32位二进制数,用4个'.'均 ...
- 网络基础知识—IP地址、MAC地址、PORT端口
网络中的地址管理 IP地址 IP地址是在IP协议中用于标识网络中不同主机的地址,在本地局域网上是唯一的: IP协议的两个版本:IPV4和IPV6 IPV4:IP地址是一个4字节,32位的整数(uint ...
- 24c04硬件地址位_一文读懂IP地址和MAC地址有什么区别和联系
IP地址和MAC地址虽然都叫地址,然而实际上却没有什么联系.先来看看什么是IP地址.MAC地址,在来谈谈他们之前的区别. 定义 一.MAC地址 MAC(Media Access Control或者Me ...
- 计算机网络——IP地址与MAC地址
1.1.1 认识IP地址 IP地址用于在TCP/IP通信协议中标记每台计算机的地址,通常使用十进制来表示,但在计算机内部,IP地址是一个32位的二进制数值. IP地址 网络号 表示其所属的网络段编号. ...
最新文章
- 从Android访问PC端的port (reverse port forwarding)
- mysql存储过程number类型_MySQL存储过程的基本函数(三)
- Linux-Learning
- Java 中静态代码块 static的作用及用法
- k8s service服务发现详解:ipvs代理模式、服务类型
- C++判断是否为素数、求一个数的因数、质因数分解
- 三宝机器人怎么充电_巨人通力导致吉祥三宝+36号故障怪现象的又一因素
- Java将对象保存到文件中/从文件中读取对象
- jso java_Javaweb学习之JSON使用
- 用 Vue 做一个简单的购物app
- 【026】国务院督查组莅临翼辉信息参观调研
- 机器学习方向上还有没有创新点呢?
- luogu1725 琪露诺
- 描述十二个异性追求者的拓展
- java 调停者模式_[Java教程]《JAVA与模式》之调停者模式
- Human Pose Estimation姿态估计调研
- 制作一个货币汇率转换器
- java 限制输入两位数_Java 控制数字输入、控制输入长度的方法 | 学步园
- CSharp + OpenCvSharp实现医学图像拼接
- 计算机应用基础试题库,2017年计算机应用基础模拟试题「题库」
热门文章
- 基于stm32的c语言程序设计,基于stm32的电子密码锁设计 main.c 代码奉上,做课设的直接用...
- oracle输出对齐方式,sql*plus 中输出格式控制技巧
- java查找一个数等于一组数中哪些数字相加的和_快速入门二分查找
- php 中英文截取 php,PHP 中英文截取无乱码
- rhel7 mysql无法运行_redhat7下mysql5.7.12重启电脑后起不来问题
- Linux字符串转码utf8,Linux C/C++ 字符集转换,UTF-8,GB2312
- java类作为多层级的数据实体_API json多层数据实体类封装(利用泛型技术)
- 将10个成绩排序java程序_快速排序——成绩排序
- linux 挂载raid_linux初学者-磁盘阵列篇
- 新职业英语计算机unit5,新职业英语2Unit5.ppt