0
点赞
收藏
分享

微信扫一扫

计算机网络——MAC地址和IP地址

灯火南山 04-12 15:00 阅读 1

目录

前言

引入

MAC地址与IP地址

IP地址和MAC地址是什么?如何起作用的?

MAC地址如何表示与确定网卡在网络中的确定位置?

DHCP协议自动帮我们配置

操作系统是如何知道对方的MAC地址的?


前言

本博客是博主用于复习计算机网络的博客,如果疏忽出现错误,还望各位指正。

这篇博客是在B站掌芝士zzs这个UP主的视频的总结,讲的非常好。

可以先去看一篇视频,再来参考这篇笔记(或者说直接偷走)。

简单说网络1-计算机是如何通信的?IP地址与mac地址是什么?dhcp与arp又是什么?_哔哩哔哩_bilibili

引入

在家庭网络中有许多的网络设备,比如我们可以有

  • 两台计算机A和B
  • 一台手机
  • 一台电视机

他们都连接到了路由器上,并且路由器通过运营商线路接入了因特网。

在这个网络模型中有许多的应用场景,比如

  • 计算机A和计算机B之间可以互相发送文件
  • 手机可以通过APP控制电视机
  • 电视机访问计算机A上共享的影片
  • 计算机和手机访问互联网上的网站
  • 在家中通过VPN连接到公司内网进行工作

以上几种应用场景都脱离不了一件事,就是通过网络进行通信。

MAC地址与IP地址

如果我们想要跟对方进行通信,通常我们需要知道对方的IP地址。

但是在网络通信中还有一个非常重要的地址就是MAC地址。在网络通信中起到至关重要的作用。

IP地址和MAC地址是什么?如何起作用的?

在现实生活中,我们如果要给对方写信,除了信件内容以外,我们还需要填写信封,信封有两个重要信息,一个是收件地址,一个是收件人,收件地址表示这封信要寄到哪里,收件人表示信要寄给谁。

同样的道理,在网络世界中,我们要发信息给别人,也需要知道收件地址和收件人,他们就是MAC地址和IP地址,MAC地址就是收件地址,IP地址就是收件人。

我可以住在家里,也可以住在公司,也可以住在父母家……

如果你要给我写信,首先要知道我现在住在哪里。

在网络中也是这样的,如果把网络比喻为我们生活的城市,那网卡就是城市中的建筑,MAC地址就是这栋建筑的物理地址,而IP地址就是在这些建筑中的人。

与写信不同,在计算机网络中发送信息,我们只需要填写内容和对方的IP地址。

操作系统会根据目标IP自动查询ARP表,获取对方的MAC地址,补齐这封信从网卡发出。

虽然计算机、手机、电视机它们是不同类型的电子产品,但是他们的通信都是由内部的网卡设备所进行的。

所以我们统一用网卡来表示设备。每张网卡在出厂时都写入一个地址,就是MAC地址,这个地址是由六个字节构成的。

其中前三个数表示的是网络硬件厂商编号,由国际性电子技术与电子工程师协会分配。后三个字节代表的是该制造厂商所制造的网卡的序列号,所以MAC地址是全球唯一的地址。

虽然可以通过一些其他手段修改MAC地址,但不在我们的讨论范围。

MAC地址如何表示与确定网卡在网络中的确定位置?

比如我们的计算机A通过网线接入到交换机的端口1,那这个端口1就是网络中的具体位置。

就像我们的门牌号一样,交换机就知道了某个MAC地址在端口1上,从而就把MAC地址与端口进行了绑定。

我们的网卡接入网络后,如果要通信,需要给它配置另一个地址,就是IP地址。

IP地址有两种,IPV4地址和IPV6地址。

比如我们常用的192.168.1.X就是IPV4地址,由四位0到255的数字用小数点间隔构成。

目前IPV4技术可以使用的IP地址最多有42亿多个,看上去像是很难用尽,但由于早期编码和分配上的问题,很多区域的编码实际上被空出或不能使用。

随着互联网的快速成长,IPV4的42亿个地址最终于2011年2月3日用尽。

相应的科研组织已经研究出128位的IPV6的IP地址,数量最高可达3.4乘以10到38次方的。

届时每个人家具中的每件网络设备,甚至地球上每一粒沙子都可以拥有自己的IP地址。

DHCP协议自动帮我们配置

现在我们知道了网卡上需要配置好IP地址才可以工作。DHCP协议就在这时起作用。

将电脑插上网线或者手机连入到wifi操作系统,网络协议站会自动向外发送一包DHCP请求,请求为其分配IP地址。

路由器获取到DHCP请求后会为其分配该IP地址,并通过DHCP回复报文发送回去。

操作系统收到了DHCP回报后将其分配的IP地址配置到网卡上。

注意在一个局域网中,IP地址也是唯一的路由器不会分配重复的IP地址给不同的设备。

当然你也可以手动把DHCP关掉,这样你需要手动来配置一个网卡的IP地址。

但是你要保证你配置的IP地址不能与此网络中的其他地址重复,这样网卡就配置好了IP地址。

操作系统是如何知道对方的MAC地址的?

我们上面提到MAC地址是由操作系统来补齐的那操作系统是如何知道对方的MAC地址的?

实际上这一步是由ARP协议来完成的。

当计算机A想向计算机B发送消息时,操作系统并不会立即发出,查询本地缓存,如果没有对方的MAC地址,他会先发送一包ARP广播报文出去。问一下192.168.1.10的MAC地址是多少?(后面可以去看我的ARP抓包实验)

此时网络中的所有设备都收到了这一包请求报文(广播帧),除了192.168.1.10以外的设备都会丢弃这包请求报文,只有192.16 8.1点时会回复自己的MAC地址是多少。

计算机A收到了回复,知道了计算机B的MAC地址,它首先会把计算机B的MAC地址缓存起来,以便下次使用,然后把这封信补全,从网卡发送出去,交换机根据数据包中的目标MAC地址找到了计算机B所在的端口,从此端口发送出去,数据就被计算机B收到了。

举报

相关推荐

0 条评论