mac地址和ip地址要同时存在么?
刚再整理笔记的时候,突然想到了一个问题,网络中为什么要同时存在mac地址和ip地址呢?那现在就来随便扯扯吧。
这个问题其实是可以分成两个问题的:Q1:如果只有mac地址,没有ip地址可以么?
众所周知,根据mac可以唯一确定一个主机,那么按照这个的逻辑,mac就相当于人们的身份证号,是可以唯一标识的。那为什么还有有ip呢?我觉得可能是这样的。
1.mac地址是不分层次的,如果网络过于庞大的话,不分层次的管理是不切实际且十分繁琐的。(这个是管理层面的,类似于手机号于人的关系)
2.只有mac地址的话,使用不同协议的局域网交互时要不断地交换协议,效率太低,需要一个新的层次,也就是需要一个新的地址。
Q2:为何不能只有ip地址?
1.唯一身份认证的必要性。Mac地址是一台主机的唯一身份认证号码,没有了它,会发生诸如“盗用”等一系列网络问题,不便于网络和机器的组织和管理。
2.“LAN是为任意的网络层协议面设计的,而不只是为IP和因特网。如果适配器要得到分配的IP地址,而不是“中立的”mac地址,那么适配器将很不方便支持其他网络层协议(例如,IPX或者DECnet)。”
综上:mac是身份证,终身不变。ip好比手机号码,会频繁的修改。两者可以通过ARP协议来映射转换。你驶向你的朋友为什么不用身份证找你而是用手机号呢?方便不是。但是你要是犯了罪,警察用你手机号找你,你换了号怎么办?那不就得用你的身份证号才能逮到你了?IP 也是这样,虽然能换,但是你要是散布无情你无耻你无理取闹言论,警察照样顺着电线就追你家去。
mac地址和ip地址要同时存在么?的更多相关文章
- mac地址和ip地址、子网掩码和默认网关
MAC地址 MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中, ...
- MAC地址与IP地址的区别
介绍一下MAC地址的知识,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题. 一.基础知识 如今的网络是分层来实现的,就像是搭积木一样,先设计某个特定功能的模块,然后把模块拼起来 ...
- mac地址、IP地址和端口号
看了很多遍,才整理出来我对整个通信过程的理解,大致如下,后期会不断学习补充更正: 在利用TCP/IP协议族进行通信的时候,有三个比较关键的确认身份的信息:mac地址.IP地址和端口号. mac地址是在 ...
- 网络-数据包在路由转发过程中MAC地址和IP地址,变与不变
关于MAC地址和IP地址在传输过程中变与不变的问题: 结论:MAC地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的:而IP地址在传输过程中是不会改变的(除NAT的时候),总结为 路 ...
- 获取客户端网卡MAC地址和IP地址实现JS代码
获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载 获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascrip ...
- c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息
我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: us ...
- js获取本机mac地址,IP地址,计算机名
<!DOCTYPE HTML> <html> <head> <title>js获取本机mac地址,IP地址,计算机名</title> < ...
- c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处. c#中如何获取本机用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统 ...
- 网络编程学习笔记-MAC地址和IP地址的关系
简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址. 一.IP地址 对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址.IP地址由用点分隔开的4个8八位组构成, ...
随机推荐
- [ios2]判断retina 屏幕
判断是否retina屏幕 #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSize ...
- 【C#】Get the html code of a webpage
As for the title,the console program will show you a sample which can get the webpage-code.Enjoy it: ...
- Docker - Docker基础讲义
Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 虚拟化技术 硬件级虚拟化(hardware-level-virtualizatio ...
- input中的name,value以及label中的for
input具有很多属性,比较常用的有type,value,name,placeholder,multiple,checked等.对于其中的name.value.label相关以及标签外的文字,我一直是 ...
- 【01背包】HDU 2546 饭卡
Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) ...
- netty入门篇(1)
上一篇 nio简介 下一篇 netty中级篇(2) 一.为什么选择Netty Netty是最流行的框架之一.健壮性.功能.性能.可定制性和可扩展性在同类框架中首屈一指,因此被大规模使用,例如ROCK ...
- HDU 1724 Ellipse 自适应simpson积分
simpson公式是用于积分求解的比较简单的方法(有模板都简单…… 下面是simpson公式(很明显 这个公式的证明我并不会…… (盗图…… 因为一段函数基本不可能很规则 所以我们要用自适应积分的方法 ...
- Beego学习笔记——Logs
日志处理 这是一个用来处理日志的库,它的设计思路来自于database/sql,目前支持的引擎有file.console.net.smtp,可以通过如下方式进行安装: go get github.co ...
- python json.load 的奇葩错误
json.load() 可以参数是文件对象, 但是这种方式会遇到莫名其妙的错误: No JSON object could be decoded 有的朋友说的是utf-8编码有BOM和无BOM造成的. ...
- CodeForces 709A Juicer
简单题. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #inclu ...