• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 为什么以太网使用MAC地址来进行寻址?

为什么以太网使用MAC地址来进行寻址?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了写出以太网的寻址方式,以太网mac地址,以太网mac地址长度,以太网mac地址是什么,以太网mac地址怎么查等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么以太网使用MAC地址来进行寻址?
描述:

既然网络和网络之间是根据IP地址来进行寻址的,为什么以太网内部不是使用IP地址进行寻址,而使用MAC地址呢?
为什么如果交换机连接的两台电脑的IP地址不同,这两台计算机就无法通信,交换机不是工作在数据链路层吗,只根据MAC地址转发消息。为什么这两台计算机会无法通信呢?


解决方案1:

楼上说的很正确。TCP、IP和以太网是在三个个不同的层级,他们的作用不同。

如果要走TCP/IP,主机A和B都要遵守TCP/IP的规则。如果要走MAC地址,却用TCP/IP规则,怎么能通信成功呢?当然可以只用MAC地址来通信了,以太网就是利用MAC地址来区分主机的。题主不知道是如何用MAC地址来通信的?使用socket还是什么的?如果用socket话,在创建socket的时候,不是要指明协议吗?


从上图来看,即使在局域网中两台主机A和B,如果A和B之间需要用TCP/IP协议簇来通信,A发送的数据需要加上TCP报文头、IP报文头、以太网报文头,然后数据就被发送出去了。你要使用MAC地址来通信,是可以的。但是你使用的是TCP/IP协议簇,A发送的是数据是走的TCP/IP,B要获取数据也要走TCP/IP。

假设A在北京,B在武汉,A要给B寄一份信,地址上写了武汉市XX区XX路XX小区XX楼,那么信是可以送到武汉市XX区XX路XX小区的。但是XX小区还是有楼号、单元号和楼层号的。B还是收不到信。这里XX市XX区XX路XX小区可以看做是IP地址,因为它是全国唯一的,同时这个地址是整个小区统一使用的,邮局可以看做TCP/IP协议簇。邮局可以很轻易的把信送到这个小区来。此时如果小区有传达室,看门大爷看到信上B的名字就知道这封信是哪个楼、哪个单元和哪个楼层了。只就相当于以太网了。
如果A和B在同一个小区,不用写XX市XX区XX路XX小区,把信给小区的传达室,看门大爷只要知道信上的名字就可以把信送到B的手中了,因为没有走邮局,只是在本小区。

解决方案2:

MAC是物理地址,层次比TCP/IP协议所在的网络层要低,而且是网络的最底层。简单的来说,TCP/IP协议是可以进行寻址的,但是这基于TCP/IP协议之下,在网络层中还可以存在其他的协议(只是它们不火而已)。另外,即使使用TCP/IP协议做寻址,其最终也是被封装在MAC地址的包内的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 为什么以太网使用MAC地址来进行寻址?

相关文章

  • 2017-06-05 STM32驱动NANDFLASH某些位出错
  • 2017-06-05 Win7重装VS2005,老是报MSXML60Parserx64isnotinstalled手动装系统又报已装!
  • 2017-06-05 关于vxworks69的问题?
  • 2017-06-05 公司招聘题目:""象上面的工作你需要多少MONEY,多长时间完成?""
  • 2017-06-05 AltiumDesigner的原理图库,如何将引脚标号清零
  • 2017-06-05 USB设备请求的响应
  • 2017-06-05 求教!!我是全新的新手,需要在1个半月内完成嵌入式操作系统的移植和简单使用(CF卡读写和红外接口)!!!请教用uclinux还是ucos有希望
  • 2017-06-05 给初学wdm驱动的忠告
  • 2017-06-177段LED代码
  • 2017-06-05 proteus仿真51单片机复位电路电容和电阻的大小选取问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • windows资源管理器老重启windows下重置tcp/ip协议出现问题
    • 在线等待:ndis截获发送的数据的问题?
    • 有没有推荐的串口转以太网或SPI转以太网的芯片
    • 新人求助求助
    • 想买个心率传感器做二次开发,求大神们推荐指点啊。
    • ARM编程模型
    • 对使用STM32cube生成的HAL库CAN初始化函数HAL_CAN_Init的一个疑问
    • ubuntu关不到机怎么办?
    • LWIP+ENC28J60+组播可以接收组播数据,不能发送组播数据,怎么回事?
    • stm32按键电路设计问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有