`

IP地址与MAC地址(转载)

 
阅读更多
解析IP地址与MAC地址

一、IP地址
  对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址。IP地址由用点分隔开的4个8八位组构成,如192.168.0.1就是一个IP地址,这种写法叫点分十进制格式。IP地址由网络地址和主机地址两部分组成,分配给这两部分的位数随地址类(A类、B类、C类等)的不同而不同。网络地址用于路由选择,而主机地址用于在网络或子网内部寻找一个单独的主机。一个IP地址使得将来自源地址的数据通过路由而传送到目的地址变为可能。
二、MAC地址
  对于MAC地址,由于我们不直接和它接触,所以大家不一定很熟悉。在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,第二层为数据链路层(Data Link)。它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC(Media Access Control)层,即介质访问控制层。所谓介质(Media),是指传输信号所通过的多种物理环境。常用网络介质包括电缆(如:双绞线,同轴电缆,光纤),还有微波、激光、红外线等,有时也称介质为物理介质。MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。

三、MAC地址的长度、表示方法、分配方法及其唯一性
  MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(Istitute of Electrical and Electronics Engineers,电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。

四、IP地址与MAC地址在互连网中的作用
  既然每个以太网设备在出厂时都有一个唯一的MAC地址了,那为什么还需要为每台主机再分配一个IP地址呢?或者说为什么每台主机都分配唯一的IP地址了,为什么还要在网络设备(如网卡,集线器,路由器等)生产时内嵌一个唯一的MAC地址呢?主要原因有以下几点:(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。(3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。下面我们来通过一个例子看看IP地址和MAC地址是怎样结合来传送数据包的。

假设网络上要将一个数据包(名为PAC)由北京的一台主机(名称为A,IP地址为IP_A,MAC地址为MAC_A)发送到华盛顿的一台主机(名称为B,IP地址为IP_B,MAC地址为MAC_B)。这两台主机之间不可能是直接连接起来的,因而数据包在传递时必然要经过许多中间节点(如路由器,服务器等等),我们假定在传输过程中要经过C1、C2、C3(其MAC地址分别为M1,M2,M3)三个节点。A在将PAC发出之前,先发送一个ARP请求,找到其要到达IP_B所必须经历的第一个中间节点C1的MAC地址M1,然后在其数据包中封装(Encapsulation)这些地址:IP_A、IP_B,MAC_A和M1。当PAC传到C1后,再由ARP根据其目的IP地址IP_B,找到其要经历的第二个中间节点C2的MAC地址M2,然后再将带有M2的数据包传送到C2。如此类推,直到最后找到带有IP地址为IP_B的B主机的地址MAC_B,最终传送给主机B。在传输过程中,IP_A、IP_B和MAC_A不变,而中间节点的MAC地址通过ARP在不断改变(M1,M2,M3),直至目的地址MAC_B。

  综合上面所述,我们可以归纳出IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:

  1. 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。
  2. 长度不同。IP地址为32位,MAC地址为48位。

  3. 分配依据不同。IP地址的分配是基于网络拓朴,MAC地址的分配是基于制造商。

  4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。
分享到:
评论

相关推荐

    转载linuxC经典面试题十四.pdf

    2. IP到MAC地址转换:`arp`命令用于实现从IP地址到以太网MAC地址的转换。ARP(地址解析协议)是TCP/IP协议的一部分,用于将IP地址映射到硬件地址(MAC地址)。 3. `vi`编辑器操作: - 在命令模式下,`<o>`命令可以...

    H7118 GPRS DTU 使用说明书.pdf

    - DNS(Domain Name System):域名系统,用于将域名与IP地址相互映射,方便记忆的网络地址。 - MAC(Media Access Control):媒体访问控制,是指网络上设备接入介质的权限。 - GSM(Global System for Mobile ...

    转载VLAN学习手册

    2. **MAC地址划分**:基于设备的MAC地址来划分VLAN,更灵活,但配置复杂。 3. **协议类型划分**:根据数据帧的协议类型划分VLAN,如区分IPX、AppleTalk等不同网络协议的流量。 4. **策略划分**:基于用户策略,如...

    转载的简单的网络验证源码

    7. **IP和MAC地址绑定**:在网络层面,可以限制特定IP或MAC地址的访问权限,增加一层物理设备的验证。 8. **设备指纹**:通过对设备的软硬件特性进行分析,创建独特的设备标识,用于识别和验证设备。 9. **SSL/TLS...

    LwIP协议栈源码详解.pdf

    地址解析协议(ARP)用于将IP地址解析成物理网络地址,如以太网MAC地址。ARP表和查询部分涉及ARP协议的实现和数据结构。 #### 9. ARP层流程 这部分详细解析了ARP层在接收到ARP请求和响应时的处理流程。 #### 10. ...

    Qt教程及软件

    - **网络信息获取**:教导如何获取本机的网络信息,如IP地址、MAC地址等。 - **UDP与TCP编程**:深度讲解UDP广播和TCP客户端/服务器通信的实现。 #### 七、Qt系列开源软件 - **多文档编辑器、音乐播放器、局域网...

    基于winpcap发送数据包

    03、可以随机修改数据包的:源、目的MAC地址,IP地址,端口、数据内容等属性信息。 04、使用多线程发包,在XP下最多可以同时开2000个线程发包,发包速度快,流量大。在千兆网卡上可以超过15M/s的速度。 05、自动...

    高徳マップAPI日本語(1).docx

    接口的主要功能是为用户提供位置信息服务,通过分析手机客户端上传的网络接入类型、IMEI、IDFA(仅限iOS)、MAC地址、服务器IP等参数,提高定位的精度和可靠性。这些参数在定位过程中起着关键作用: 1. **key**:...

    啊D网络工具包(最新)

    * 在主机框里输入IP将会在全部的IP框中加入刚输入的地址!在IP框中输入IP也会把IP加入主机框中!减少了复制、粘贴的工作量! DTools 1.01 更新情况(2003.4.20) * 增加了网卡MAC地址查看功能! * 增加了肉鸡(IPC$)查找...

    琴岛局域网管理维护工具

    这里你可以设置客户机开机绑定多个服务器ip和mac地址,以及绑定路由器地址,主要用来防止arp病毒攻击,还有窗口查杀和进程查杀,功能包括可以设置向发现关闭被禁止的进程和窗口信息的客户机发出警告或者直接关闭!...

    C1000实验指导手册

    - **1.2 C1000系统基本配置**:包括设置设备的基本信息,如IP地址、用户名和密码等。 - **1.3 C1000网管接口配置**:涉及网络管理接口的配置方法,确保设备能够被远程管理。 #### 4.2 实验二:OLT配置和应用 - **...

Global site tag (gtag.js) - Google Analytics