【Linux】IP地址和MAC地址

一、MAC地址

MAC地址是用来识别数据链路层中相连的节点。它的长度为48位比特位,也就是6字节。

MAC地址是具有唯一性的,它的唯一性是在网卡硬件生产时就已经制定,所以一个网卡一个MAC地址。这就意味着,一台主机如果有多个网卡,那么就有多个MAC地址。

二、IP地址

  • IP协议有两个版本,一个IPV4,一个IPV6,通常说的IP默认是指IPV4。

  • 它主要是用来标记网路中不同主机的地址。

  • 对于IPV4来说,IP地址是一个4字节,32位的整数。

*通常IP地址采用点分十进制的字符串来表示IP地址,就比如192.168.1.1,每个位的范围都是【0,255】,每个点区分一个字节。

三、MAC地址和IP地址

IP地址的作用是告诉我们,我们从哪里来,要去的目的地是哪里。相当于一个导向的作用。尤其是目的ip,通常是不会改变的,协助我们进行路由选择。

MAC地址的作用是告诉我们,上次是从哪里来的,下一步要去哪里。

就比如一个例子:就好像唐憎要去西天取经,那么他是从大唐来的,目的地是西天。这就好比是一个IP地址的源IP和目的IP。而他一路上会不断的前进,会经过女儿国,火焰山,狮驼岭。每一步要走的地方都会有所不同,最终是去往西天。这其中的每一步,就是MAC地址,告诉我们下一步要去哪里。而IP地址就是一个导向的作用,协助我们一步步该往哪里走才能到达最终的目的地。

四、本地局域网通信

首先,应用层发送消息你好,传输层进行封装,网络层进行源IP和目的IP封装,数据链路层进行数据帧处理,然后物理层将其再封装,发送到以太网里,以太网找到路由器,进行解包将有效载荷传给上一层的路由器。
在这里插入图片描述
而路由器将收到的消息进行解包,剩下的有效载荷就是这部分
在这里插入图片描述

然后路由器是属于网络层的,它自然可以看的懂网络层的协议,也就能读懂报头的内容,知道目的IP是谁,这个消息应该发送给谁,

然后路由器将其穿给目的IP的局域网内,也就是令牌环,

然后令牌环进行封装,发送到目的IP对应得网卡,网卡接收消息就会进行报头有效载荷分离,然后一步步传到对方得应用层,对方就能收到消息。

在这个过程中,我们可以发现,即使双方的局域网不同,但依然能够通过路由器将消息发送给对方,这就体现了协议栈的分层结构的强大解耦能力,也就是低耦合,层和层之间不会因为对方的改变而使得自己层也要做出改变,我只关心自己的报头消息,无需关心我的下一层是谁,下一层要做什么,具体下一层的封装是由下一层来决定,我不需要关心。

而同层之间,使用相同的协议,也就相当于用了同一份源代码,自然能够看的懂同一层的发来的消息,而我最初发送时封装的报头,最后必然是我的同层看到我发的报头,这就是高内聚

这让我们看到了协议栈的设计是如此的巧妙强大。

一个局域网,要通过路由器将数据发送出去,把数据交给路由器的这个过程,不就是一个局域网的通信吗?路由器再将数据发给对方,这不也是一个局域网的通信吗?
所以,路由器它就必须要横跨这两个网络,对于对方自己而言,都只是在自己的局域网里进行通信,同时网络的不同,并没有影响到双方的通信,本质就是IP协议,网络层屏蔽了底层的网络差异,而网络层工作的路由器,正是屏蔽这种差异化的工具!而路由器工作靠的就是IP协议,只需要关心源IP和目的IP,底层网络的封装交给底层网络去进行。
路由的过程,我们就可以抽象的理解成
发送方到达路由器的时候,脱衣服,路由器经过处理,再发给目的IP的网络进行穿衣服。

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: LinuxMAC地址是指网络接口控制器(NIC)的物理地址,通常由48位二进制数字表示。它是一个唯一的标识符,用于在网络上识别设备。在Linux系统中,可以使用ifconfig命令来查看和配置MAC地址MacMAC地址也是指网络接口控制器(NIC)的物理地址,通常由48位二进制数字表示。它也是一个唯一的标识符,用于在网络上识别设备。在Mac系统中,可以使用终端命令ifconfig来查看和配置MAC地址。 ### 回答2: MAC地址(Media Access Control Address)是网络设备(如网卡)的唯一识别标识,用于在局域网中标识设备的物理地址。它是一个由12个十六进制数(0-9及A-F)组成的地址,通常以冒号分隔,例如00:11:22:33:44:55。 Linux是一种基于UNIX的操作系统,它支持多种网络协议和设备。在Linux系统中,可以通过一些命令来获取和管理MAC地址。其中,ifconfig命令可以显示和设置网络接口的信息,包括MAC地址。使用ifconfig命令可以轻松地查看当前系统中所有接口的MAC地址。 通过在终端输入ifconfig命令,可以列出当前系统的网络接口信息。其中包括接口名称(如eth0)、IP地址、网络掩码等。在接口的描述中,可以找到和MAC地址相关的信息。通常以HWaddr字段来标识MAC地址,在冒号后面就是具体的MAC地址。 另外,Linux系统中也可以通过修改网络配置文件来更改MAC地址。对于某些需要更换MAC地址的应用场景(如虚拟机环境),可以通过手动修改配置文件的方式进行操作。 总结来说,Linux系统中的MAC地址是用来标识网络设备的唯一物理地址。通过ifconfig命令可以轻松查看MAC地址,同时也可以通过修改配置文件的方式来更改MAC地址。这对于一些特定需求的用户来说是非常方便的。 ### 回答3: 在Linux中,每个网络接口都有一个唯一的MAC地址MAC地址(Media Access Control Address)是一个全球唯一的标识符,用于识别计算机网络中的网络接口卡(NIC)。它是一个由12个十六进制字符(0-9,A-F)组成的字符串,通常以冒号分隔。 Linux操作系统通过ifconfig命令可以查看并配置网络接口的MAC地址。使用ifconfig命令加上网络接口的名称作为参数,例如eth0或wlan0,即可显示该接口的MAC地址信息。 在Linux中,MAC地址存储在网络接口的硬件上,并通常在出厂时被固定在硬件上。这意味着,即使在更换操作系统或重新安装驱动程序后,网络接口的MAC地址仍然不会改变。然而,有一些网络接口卡支持修改MAC地址的功能,用户可以通过一些工具和命令来实现这一点,如ifconfig的hw(硬件)参数。 MAC地址在网络通信中起到非常重要的作用。它用于在本地局域网中唯一标识每个网络设备,以便数据包可以正确传送到目标设备。此外,在某些情况下,网络管理员可以根据MAC地址控制网络访问权限,以提高网络安全性。 总之,Linux操作系统中的MAC地址是一个全球唯一的标识符,用于识别网络接口卡。它可以通过ifconfig命令查看和配置,并在网络通信中起到重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ck837

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值