计算机网络 - MAC地址和IP地址详解

我们都知道,IP地址在互联网中是用于标识主机的逻辑地址,而MAC地址则是用于标识网卡的物理地址。那他们之间的区别是什么呢?为什么需要两种地址?只有IP地址 不行吗?

IP地址是网络层和以上各层使用的地址,是逻辑地址(称IP地址为逻辑地址是 因为IP地址是用软件实现的)。

MAC地址是数据链路层使用的地址,是物理地址(MAC地址已固化在网卡上的ROM中)。

        在发送数据时,数据从高层下到低层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给数据链路层,就被封装成MAC帧。MAC帧在传送时使用的源地址和目的地址都是MAC地址,这两个MAC地址都写在MAC帧的首部中。 

        连接在通信链路上的设备(主机或路由器)在收到MAC帧时,根据MAC帧首部中的MAC地址决定收下或丢弃。只有在剥去MAC帧的首部和尾部后把MAC层的数据上交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。

        总之,IP地址放在IP数据报的首部,而MAC地址则放在MAC帧的首部。在图4-15中, 当IP数据报插入到数据链路层的MAC帧以后,整个的IP数据报就成为MAC帧的数据, 因而在数据链路层看不见数据报的IP地址

IP地址(逻辑地址)

IP(Internet Protocol address)是互联网协议地址的简称。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。

IP协议分两种版本:

  • IPv4是目前最广泛使用的IP协议版本,它使用32位二进制数来表示一个IP地址,通常以点分十进制形式来显示,例如192.168.1.1
    • 一个IPv4地址由两部分组成:网络号主机号

    • 网络号表示该设备所属的网络,
    • 主机号表示该设备在该网络中的编号。
    • 不同长度的网络号可以划分出不同等级的网络,例如A类、B类、C类等。为了方便表示不同长度的网络号,IPv4引入了子网掩码(subnet mask)的概念,它是一个32位二进制数,其中与网络号对应的位为1,与主机号对应的位为0。例如255.255.255.0就是一个子网掩码,表示前24位为网络号,后8位为主机号。

  • IPv6是为了解决IPv4地址耗尽问题而设计的新一代IP协议版本,它使用128位二进制数来表示一个IP地址,通常以冒分十六进制形式来显示,例如2001:db8::1
    • 一个IPv6地址由两部分组成:前缀接口标识符

    • 前缀表示该设备所属的网络或子网,
    • 接口标识符表示该设备在该网络或子网中的编号。
    • IPv6没有固定长度的网络号或主机号,而是使用前缀长度(prefix length)来表示前缀占用多少位。例如2001:db8::1/64就表示前64位为前缀,后64位为接口标识符。

 

MAC地址(物理地址、硬件地址)

MAC(Media Access Control address)是媒体访问控制地址的简称。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。

一般情况下,用户主机会包含两个网卡,有线网卡和无线网卡。每个网卡有一个全球唯一的MAC地址。而交换机和路由器往往有更多的网络接口,所以有更多的MAC地址。综上,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

地址解析协议 - ARP

ARP通过机器的IP地址,找到其相应的MAC地址。

我们知道,网络层使用的是IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用链路层的MAC地址。IP地址和下面链路层的MAC地址之间由于格式不同而不存在简单的映射关系(例如,IP地址有32位,而链路层的MAC地址是48位)。此外,在一个网络上可能经常会有新的主机加入进来,或撤走一些主机。更换网络适配器也会使主机的 MAC地址改变(请注意,主机的MAC地址实际上就是其网络适配器(网卡)的MAC地址)。ARP解决这个问题的方法是在主机的ARP高速缓存中存放一个从IP地址到MAC地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。

每一台主机都设有一个ARP高速缓存(ARP cache),里面存有本局域网上的各主机和路 由器的IP地址到MAC地址的映射表,这些都是该主机目前知道的一些MAC地址。

为什么使用两种地址?

由于全世界存在着各式各样的网络,它们使用不同的MAC地址。要使这些异构网络能够互相通信就必须进行非常复杂的MAC地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。即使是对分布在全世界的以太网MAC地址进行寻址,也是极其困难的。

然而IP编址把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个IP地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP来找到MAC地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。

因此,在虚拟的IP网络上用IP地址进行通信给广大的计算机用户带来了很大的方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值