有了IP地址,为什么还要MAC地址

glouze 2009-07-08 11:31:21
如题,在以太网帧的首部目的地址和源地址中,写入IP地址的值,不是也可以吗~~~

这样也可以避免ARP占用流量,还有ARP攻击这些了
...全文
2382 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengzhengyong 2012-05-04
  • 打赏
  • 举报
回复
mac地址好比人的身份证号
IP地址好比你住的地方的地址信息,由邮政局统一管理。
呜呜呜呜 2010-10-12
  • 打赏
  • 举报
回复
问题虽然提出好久了,我能明白楼主的意思,不过没看到靠谱的回答。其实在协议层ip协议用的只不不过是广泛而已,并不是唯一的,还有好的其他的协议如IPX。
刚刚凉 2009-07-09
  • 打赏
  • 举报
回复
ip 是网络层 mac是 数据链路层
副组长 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 glouze 的回复:]
引用 6 楼 gordon3000 的回复:
你已经有了手机号,为什么还要一个身份证号呢?




你无情你无耻你无理取闹~~~~~
[/Quote]

怎么能这么说呢,这个比喻其实是非常贴切的。你的身份证号是你唯一标识号,只要有这个号码就能找的到你。但是你的朋友为什么不用身份证找你而是用手机号呢?方便不是。但是你要是犯了罪,警察用你手机号找你,你换了号怎么办?那不就得用你的身份证号才能逮到你了?IP 也是这样,虽然能换,但是你要是散布无情你无耻你无理取闹言论,警察照样顺着电线就追你家去。 :)
Dobzhansky 2009-07-09
  • 打赏
  • 举报
回复
ethernet

tcp / ip

是独立的,

分别有自己的地址
Eleven 2009-07-09
  • 打赏
  • 举报
回复
《用TCP_IP进行网际互联》这本书也不错的
Wenxy1 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 glouze 的回复:]
引用 13 楼 tkminigame 的回复:
物理层是怎么把一个数据传到另一个MAC地址的?程序通常只知道对方的IP,那么mac地址是通过数据链路比如交换机之类的包装的吗?

不知道是不是你要问的~~

物理层给每一台主机都发一份数据,然后这些主机根据“收信人”是不是自己来选择是接收还是丢弃(比如悄无声息的丢弃~(囧)).
IP数据报到链路层后,由ARP协议根据IP地址找到MAC地址,然后封装到以太网首部中~~


[/Quote]

我分析过linux的网卡驱动和协议栈,windows的原理应当和linux一样。
封装MAC/解包MAC都是在网卡驱动程序里进行的.每一个网卡有且只有一个接收队列,一个发送队列。
Wenxy1 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 glouze 的回复:]
晕,我知道IP地址和MAC地址是用来做什么的~~
我不是想问,它们是怎样工作的,而是为什么要这样?协议为什么要这样写?~~~


[/Quote]

为什么这样,你问十W个why?不如去看书《TCP/IP详详》, RFC文档。

IP用来选路,MAC用来选主机(或者主机中的某个网卡。)
port用来选进程。
stormxs 2009-07-09
  • 打赏
  • 举报
回复
学习下
microyzy 2009-07-09
  • 打赏
  • 举报
回复
MAC地址是物理层的地址,而且只是以太网的物理地址,这世界上有很多种物理网络,不同的物理网络,寻址方式很可能是不同的,别的可能根本不使用MAC地址。这个可以去查查物理网络方面的知识。

IP地址大伙儿都知道了,属于TCP/IP协议族,而且大家也都知道它在网络分层结构中的位置。分层的好处是什么呢?那就是当你使用比较高层、远离物理层的协议,例如IP协议、TCp协议和其他机器通信时,你不需要关心,也不需要担心对方在哪里,会通过哪些不同类型的网络。而如果你在物理层编程,就要关心更多东西,比如不同的网络包的转换、最大传输单元等等。。。

至于为什么存在那么多不同的网络,我想这已经不是技术范畴的事情了。

以上,个人理解。
gotooker 2009-07-09
  • 打赏
  • 举报
回复
以我现在的知识只能回答不知道。。。
pang2042 2009-07-09
  • 打赏
  • 举报
回复
MAC是物理地址,底层传输的时候用的,IP地址已经到协议层了
jiayan811110 2009-07-09
  • 打赏
  • 举报
回复
没错 mac是终极验证码
glouze 2009-07-09
  • 打赏
  • 举报
回复
晕,我知道IP地址和MAC地址是用来做什么的~~
我不是想问,它们是怎样工作的,而是为什么要这样?协议为什么要这样写?~~~

Wenxy1 2009-07-09
  • 打赏
  • 举报
回复
MAC地址给网卡驱动程序用的。
网卡驱动程序在非混杂模式下,只接收本网卡MAC相同的帧。
FireBirdCN 2009-07-09
  • 打赏
  • 举报
回复
给路由用的
oysoft 2009-07-09
  • 打赏
  • 举报
回复
IP是跟通信协议相关的。
[Quote=引用 17 楼 greatws 的回复:]
IP协议只是以太网协议中的一个协议之一,他对主机的标识使用IP地址的。
以太网协议还有很多,其中很多都是用MAC地址进行标识的,IP协议也不例外,要把IP地址用ARP协议获得下一跳的MAC地址才能通信。
[/Quote]
udknight 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gordon3000 的回复:]
你已经有了手机号,为什么还要一个身份证号呢?
[/Quote]
经典
greatws 2009-07-09
  • 打赏
  • 举报
回复
IP协议只是以太网协议中的一个协议之一,他对主机的标识使用IP地址的。
以太网协议还有很多,其中很多都是用MAC地址进行标识的,IP协议也不例外,要把IP地址用ARP协议获得下一跳的MAC地址才能通信。
blackcat242 2009-07-09
  • 打赏
  • 举报
回复
层次不一样的,ip是给上层协议用的,短小;mac是物理地址,就好像你访问一个网站,总不能输入这么长的mac吧
加载更多回复(15)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧