一文弄懂Linux虚拟机网络配置

计算机网路基础

1969年ARPANET阿帕网开始联机因此1969年被称为Internet元年

网络分类

  • 局域网Local Area NetworkLAN是指范围在几百米到十几公里内办公楼群或校园内的计算机相互连接所构成的计算机网络。
  • 城域网Metropolitan Area NetworkMAN所采用的技术基本上与局域网相类似只是规模上要大一些。城域网既可以覆盖相距不远的几栋办公楼也可以覆盖一个城。
  • 广域网Wide Area NetworkWAN通常跨接很大的物理范围如一个国家。

除了上述的划分网络还可以按照所有者分为公网、私网是两种Internet的接入方式。公网接入方式上网的计算机得到的IP地址是Internet上的非保留地址公网的计算机和Internet上的其他计算机可随意互相访问。私网则反之。

非保留地址就是不是局域网的地址。比如我们平时经常会见到的192.168.xx…这种就属于保留地址。可能在不同的地方是相似的。

我们的服务器就是用的公网如果是局部之间的文件传输或者互相访问就会去使用私网。因为ip地址毕竟是有限的我们将公网私网混合着用可以将ip地址使用率达到最大值。

接下来我们说说ip地址

IP是英文Internet Protocol的缩写意思是“网络之间互连的协议”也就是为计算机网络相互连接进行通信而设计的协议

IP地址类型分为

  • 公有地址
  • 私有地址

公有地址(也可以叫做外网地址)
公有地址Public address由Inter NICInternet Network Information Center因特网信息中心负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。

私有地址
私有地址Private address属于非注册地址专门为组织机构内部使用。以下列出留用的内部私有地址

  • A类 10.0.0.0–10.255.255.255
  • B类 172.16.0.0–172.31.255.255
  • C类 192.168.0.0–192.168.255.255

私有地址的作用就是分散我们的计算机让很多计算机可以共用一个公有地址

但是有的时候两台同一局域网下的电脑公网ip也会不一样这种情况是因为

  • 路由器公网出口没有指定公网IP而是绑定了一个地址池公网IP随机获得
  • 其中一台或者这两台设备都在路由器上做了NAT转换的公网IP不同

我们不难推断出10段的私有地址可容纳的主机数是最多的。这个A类移动联通的公共WIFI可能用的多因为用户多。我们使用的是流量的话可以发现我们的收集ip可能就是这个10段的。

以下为公有地址的A、B、C类

在这里插入图片描述

接下来我们来看一个例子

我们每天都会访问各种各样的网站比如淘宝百度等等。不免会思考我们的设备是如何连接上这些网址的呢?要想搞清楚这个问题首先就得先搞清楚内网ip和外网ip的联系。

假设我们想要访问百度。如果我们正使用着校园网那么首先我们需要先通过校园网的路由器把我们的内网ip转为校园网的外网ip。然后通过这个外网ip先连接上电信的网关最后在连接上百度的网关。百度把你请求的信息回传到你的校园网网关校园网网关再把信息传给你(整个网络呈网状结构它会自动找到一条通往百度的路径——基于深度优先搜索或者广度优先搜索)。

这个过程就跟网购差不多。比如你现在在学校里订购了一本书淘宝那边接收到你的订单准备好物品就开始给你发货了。他发现你的收货地址在湖南于是它可能从杭州出发先去了福建的中转站然后再到江西的中转站突然发现江西到湖南的中转站不通于是它只能再绕到广东的中转站最后再到湖南中转站。这些中转站就相当于公网上的各个网关。到了湖南中转站快递小哥再把包裹送到你的校门(这就是最后一级网关)。这时快递小哥就走了校门处的管理人员在根据的你的宿舍信息把包裹拿给你。(局域网内部的信息交流由校园网这个网关来处理)。

注意点

  1. 外网ip具有世界范围的唯一性而内网ip只在局域网内部具有唯一性。并且一个局域网里所有电脑的内网IP是互不相同的但共用一个外网IP(这个不绝对我们前面说过)。就像我们前面所说的你所在学校的校名在整个世界上只有一个但是你学校里面的A栋大楼3层3号教室只有在你的校园内部才具有唯一性。别的学校也有A栋大楼3层3号教室。你只能跟快递小哥说请帮我把包裹送到xx大学而不能说请帮我把包裹送到A栋大楼3层3号教室。

  2. 在局域网中每台电脑都可以自己分配自己的IP但是这个IP只在局域网中有效。而如果你将电脑连接到互联网你的网络提供商的服务器会为你分配一个IP地址这个IP地址才是你在外网的IP。两个IP同时存在一个对内一个对外。

  3. 互联网上的IP(即外网IP)地址统一由一个叫“IANA”(InternetAssigned NumbersAuthority互联网网络号分配机构)的组织来管理。由于分配不合理以及IPv4协议本身存在的局限现在互联网的IP地址资源越来越紧张。IANA将A、B、C类IP地址的一部分保留下来留作局域网使用。

接下来我们看看几个网络有关的硬件

首先第一个是网卡

在这里插入图片描述
网卡是一个网络组件属于硬件范畴主要负责计算机之间数据的封装和解封。

一台计算机想要和其他的计算机通讯(也就是将数据传输过去)就必须有网卡。网卡会把数据打包(我们平时说的抓包即使网卡这里的打的包)然后再把数据传输过去这个传播的介质有无线的也有有线的(例如光纤等就是有线的)。传到另外一台计算机的时候其身上的网卡会将数据包进行解封得到的数据传给操作系统再交给对应的软件。

跟网卡相关的一个概念我们也需要知道就是 — MAC地址

MAC地址网卡的物理地址网卡设备的编号默认情况是全球唯一的16进制。
在这里插入图片描述
与IP地址的区别

  • 长度不同。IP地址为32位(我们前面看到的是十进制的ip地址本来应该是二进制的)MAC地址为48位。
  • 分配依据不同。
  • 网络寻址方式不同。OSI参考模型ip地址是基于第三层工作网络层mac地址是第二层数据链路层

然后我们来看看网线

在这里插入图片描述

网线是连接局域网必不可少的。在局域网中常见的网线主要有双绞线RJ45接口、铜轴电缆、光缆三种。

从传输数据的宽度来说(由大到小)

  1. 光纤
  2. 铜轴电缆
  3. 双绞线

从数据传输的损耗来讲(由小到大)

  1. 光纤
  2. 铜轴电缆
  3. 双绞线

接下来我们看看交换机
在这里插入图片描述
交换机Switch意为“开关”是一种用于电光信号转发的网络设备交换机它可以为接入交换机的任意两个网络节点提供独享的电信号通路。

交换机的主要功能就是把数据包发送到正确的位置。
在这里插入图片描述
它就相当于邮递员根据数据包中的目标mac地址找到它对应的物理端口
在这里插入图片描述
一台交换机有很多个端口他们都有自己的编号计算机的网卡通过网线(或其他方式)连接到交换机的网口上这个端口就是一个确定的物理地址我们只要知道某个网卡的mac地址在哪个端口上我们就能正确的把数据包发给他。
在交换机中有一张端口与mac地址的映射关系表
在这里插入图片描述
交换机维护这张映射关系表想要与某个mac地址通信时只需要来查询一下这个mac地址在哪个端口上然后从对应的端口发送出去就行了。
在这里插入图片描述
每一个数据包都有两个mac地址一个是发送方的mac称为源mac另一个是接收方的mac地址称为接收mac。交换机收到一包数据之后首先要把这包数据的源mac与接收端口进行绑定然后交换机要根据目标mac进行查找从哪个端口把数据包发出去。这时候就会出现两种情况

  • 如果在mac地址表中查询到了关联的端口则直接从关联端口发出
  • 如果没有查询到。则向除了接收端口之外的所有端口群发。这种行为称为泛洪。

如果目标mac地址在这个网络中则它一定能够收到群发的数据包。如此运行一段时间后通过交换机的mac数据表就可以找到网络中的所有网卡设备。
由此我们知道交换机只会关心网络中的mac地址而不会关心ip地址

交换机的前身是集线器

互联网人类早期。一个宿舍只有一个网口那怎么满足四五个人甚至七八个小伙伴打星际、CS、魔兽、下载AVI文件抄论文等需求呢最简单的办法就是使用这种集线器也叫HUB(可以说他是一层交换机)。简单讲它相当于把一根网线分成多根使用并且让这些网线连接的设备组成一个局域网。但是集线器有不少缺点它工作在OSI参考模型第一层即物理层。

集线器采用的是共享带宽的工作方式设备越多就越可能造成网络拥堵现象老大和老二传文件占满了带宽其他小伙伴的网络体验就会很差

再有集线器的数据发送是非双工传输模式。什么概念呢大家可以想象一下独木桥同一时间只能过一个人。两边都有人要过桥的话就只能等一个人先过去另一个再过效率很低。

相比集线器广播数据的方式交换机(二层交换机)会按照内存里的地址表把数据直接发送到目的地址。如果没有则会通过广播来查找“握手”成功后再把它存放到地址表方便下次寻找和使用。找不到的话就先放到缓存慢慢找。另外集线是共享带宽而交换机它每一个端口上的设备都能独享全部的带宽。也就是说如果老大给老二传文件占满了百兆带宽老三给老四传文件依然可以享受百兆带宽相当于这8个端口每个都是独立的百兆带宽。

最后我们里看看路由器
在这里插入图片描述

路由器Router又称网关设备Gateway是用于连接多个逻辑上分开、相对独立的网络。

路由器有两种接口

  • LAN口可以有多个用来接家庭网络设备例如笔记本、手机、台式机其中手机和笔记本是通过WIFI连接到路由器的设备
  • WAN口只有一个用来接入运行商网络以连接到互联网中

在这里插入图片描述

如果把路由器的WAN口忽略只用LAN口其实路由器就是一台交换机

在这里插入图片描述

那如果考虑到WAN口呢这里我们就要引入一个概念 — 网关

那么网关是干什么的呢这里我们就要先明白一个概念 — 子网是如何划分的
我们把ip地址和子网掩码按位相与。我们常用的子网掩码255.255.255.0前三个字节也就是前24位全为1后8位全为0。所以按位相与的结果一定是这个ip地址的前三个字节不变而最后一个字节为0
在这里插入图片描述
我们把ip地址与子网掩码相与之后的结果相同的两个ip认为是在同一个子网中
也就是说在下面这一种情况下两个ip地址一定是在同一个子网之中
在这里插入图片描述
因为子网掩码都是连续的1和连续的0所以我们通常用1的数量来表示子网掩码。
在这里插入图片描述
我们一般使用IP/掩码来表示子网例如上图的192.168.1.0/24这一个子网中就有255个ip地址
如果我们想要扩大子网中ip地址的数量我们只需要把子网掩码调小
如果我们想要较少子网中ip地址的数量我们只需要把子网掩码调大
在这里插入图片描述

知道我们的子网概念之后那么我们的子网有什么意义呢
tcp/ip协议规定不同的子网之间是不能直接进行通信的如果要通信需要通过网关来进行转发。

网关上有两张网卡分别配置了属于两个子网的ip地址可以在两个网络之间转发数据包这样我们就拥有了一个连接两个子网的网络

在这里插入图片描述

我们举一个简单的例子
子网1中的计算机a发送数据包时首先计算机a会根据目标ip是否跟自己属于同一子网

  • 如果是同一个子网则直接从网卡发出
  • 如果不是同一个子网则需要把数据包的目标MAC地址改为网关MAC地址然后发送给网关

在这里插入图片描述
网关拿到这一包数据之后再通过路由表查询到这一包数据属于子网2网关这个时候会完成以下两个动作

  • 修改目标MAC地址为计算机b的MAC地址
  • 修改源MAC为自己的MAC

然后从子网2的网卡发出。

以上出现的多次根据目标判断数据包如何发送的行为我们就称之为路由

路由器有一个WAN口接入互联网多个LAN口接入本地网络他们就分别属于两个不同的子网所以从内网访问互联网就是跨网络的行为这时候就需要路由器来担任网关的角色他的行为就叫路由
在这里插入图片描述

网络连接模式

我常见的网络连接模式有以下三种

  • Host-Only仅主机模式
  • Bridged桥接模式
  • NAT地址转换模式

打开vmware虚拟机我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0桥接模式、VMnet1仅主机模式、VMnet8NAT模式那么这些都是有什么作用呢其实我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机VMnet1表示的是用于仅主机模式下的虚拟交换机VMnet8表示的是用于NAT模式下的虚拟交换机。

同时在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡如果将这两块卸载了可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”可重新将虚拟网卡还原。

在这里插入图片描述

小伙伴看到这里肯定有疑问为什么在真机上没有VMware Network Adapter VMnet0虚拟网卡呢那么接下来我们就一起来看一下这是为什么

Bridged桥接模式

什么是桥接模式桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下类似于把物理主机虚拟为一个交换机所有桥接设置的虚拟机连接到这个交换机的一个接口上物理主机也同样插在这个交换机当中所以所有桥接下的网卡与网卡都是交换模式的相互可以访问而不干扰。在桥接模式下虚拟机ip地址需要与主机在同一个网段如果需要联网则网关与DNS需要与主机网卡一致。其网络结构如下图所示

在这里插入图片描述
接下来我们就来实际操作如何设置桥接模式。

首先安装完系统之后在开启系统之前点击“编辑虚拟机设置”来设置网卡模式。

在这里插入图片描述
点击“网络适配器”选择“桥接模式”然后“确定”

在这里插入图片描述

在进入系统之前我们先确认一下主机的ip地址、网关、DNS等信息。

在这里插入图片描述
然后进入系统编辑网卡配置文件命令为vi /etc/sysconfig/network-scripts/ifcfg-eth0

在这里插入图片描述
添加内容如下

在这里插入图片描述
编辑完成保存退出然后重启虚拟机网卡使用ping命令ping外网ip测试能否联网。

修改 IP 地址后可能会遇到的问题

  • 物理机能 ping 通虚拟机但是虚拟机 ping 不通物理机,一般都是因为物理机的防火墙问题,把防火墙关闭就行
  • 虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有问题
  • 虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设置是否正确
  • 如果以上全部设置完还是不行需要关闭 NetworkManager 服务
    • systemctl stop NetworkManager 关闭
    • systemctl disable NetworkManager 禁用
      如果检查发现 systemctl status network 有问题 需要检查 ifcfg-ens33

在这里插入图片描述
能ping通外网ip证明桥接模式设置成功。

桥接模式配置简单但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话那桥接模式就不太适用了。如果真是这种情况的话我们该如何解决呢接下来我们就来认识vmware的另一种网络模式NAT模式。

NAT地址转换模式

刚刚我们说到如果你的网络ip资源紧缺但是你又希望你的虚拟机能够联网这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器使得虚拟机可以联网。其网络结构如下图所示
在这里插入图片描述

在NAT模式中主机网卡直接与虚拟NAT设备相连然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上这样就实现了虚拟机联网。那么我们会觉得很奇怪为什么需要虚拟网卡VMware Network Adapter VMnet8呢原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中我们可以加以验证。

首先设置虚拟机中NAT模式的选项打开vmware点击“编辑”下的“虚拟网络编辑器”设置NAT参数及DHCP参数。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将虚拟机的网络连接模式修改成NAT模式点击“编辑虚拟机设置”。
在这里插入图片描述
点击“网络适配器”选择“NAT模式”

在这里插入图片描述
然后开机启动系统编辑网卡配置文件命令为vi /etc/sysconfig/network-scripts/ifcfg-eth0

在这里插入图片描述

具体配置如下
在这里插入图片描述
编辑完成保存退出然后重启虚拟机网卡动态获取ip地址使用ping命令ping外网ip测试能否联网。

在这里插入图片描述

之前我们说过VMware Network Adapter VMnet8虚拟网卡的作用那我们现在就来测试一下。

将VMware Network Adapter VMnet8虚拟网卡禁用然后从虚拟机ping外网看看是否能ping通

在这里插入图片描述

在这里插入图片描述

如此看来虚拟机能联通外网确实不是通过VMware Network Adapter VMnet8虚拟网卡那么为什么要有这块虚拟网卡呢

之前我们就说VMware Network Adapter VMnet8的作用是主机与虚拟机之间的通信接下来我们就用远程连接工具来测试一下。

在这里插入图片描述

然后将VMware Network Adapter VMnet8启用之后发现远程工具可以连接上虚拟机了。

那么这就是NAT模式利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网而VMware Network Adapter VMnet8虚拟网卡是用来与虚拟机通信的。

Host-Only仅主机模式

Host-Only模式其实就是NAT模式去除了虚拟NAT设备然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的Host-Only模式将虚拟机与外网隔开使得虚拟机成为一个独立的系统只与主机相互通讯。其网络结构如下图所示
在这里插入图片描述
通过上图我们可以发现如果要使得虚拟机能联网我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡从而达到虚拟机联网的目的。接下来我们就来测试一下。

首先设置“虚拟网络编辑器”可以设置DHCP的起始范围。

在这里插入图片描述

设置虚拟机为Host-Only模式。
在这里插入图片描述
开机启动系统然后设置网卡文件。
在这里插入图片描述
保存退出然后重启网卡利用远程工具测试能否与主机通信。

在这里插入图片描述
在这里插入图片描述

主机与虚拟机之间可以通信现在设置虚拟机联通外网。

在这里插入图片描述
我们可以看到上图有一个提示强制将VMware Network Adapter VMnet1的ip设置成192.168.137.1那么接下来我们就要将虚拟机的DHCP的子网和起始地址进行修改点击“虚拟网络编辑器”

在这里插入图片描述

重新配置网卡将VMware Network Adapter VMnet1虚拟网卡作为虚拟机的路由。

在这里插入图片描述

重启网卡然后通过 远程工具测试能否联通外网以及与主机通信。

在这里插入图片描述
测试结果证明可以使得虚拟机连接外网。

Linux常用网络相关命令

ifconfig配置网络接口

ifconfig :network interfaces configuring 网络接口配置

基本语法

ifconfig 功能描述显示所有网络接口的配置信息

ping测试主机之间网络连通性

语法格式

ping 目的主机 功能描述测试当前服务器是否可以连接目的主机

该命令可以跨平台windows下也可以使用语法一致。区别在于Linux下默认一直发送windows下默认发送4个数据包

修改ip地址

1 查看 IP 配置文件

[root@hadoop100 桌面]#vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述
以下标红的项必须修改有值的按照下面的值修改没有该项的要增加。

TYPE="Ethernet" #网络类型通常是 Ethemet
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #IP 的配置方法[none|static|bootp|dhcp]引导时不 使用协议|静态分配 IP|BOOTP 协议|DHCP 协议
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="e83804c1-3257-4584-81bb-660665ac22f6" #随机 id
DEVICE="ens33" #接口名设备,网卡
ONBOOT="yes" #系统启动的时候网络接口是否有效yes/no
#IP 地址
IPADDR=192.168.1.100
#网关
GATEWAY=192.168.1.2
#域名解析器
DNS1=192.168.1.2

修改后如下图所示
在这里插入图片描述
编辑完后按键盘 esc 然后输入 :wq 回车即可

2执行 service network restart 重启网络
在这里插入图片描述

修改 IP 地址后可能会遇到的问题

  • 物理机能 ping 通虚拟机但是虚拟机 ping 不通物理机,一般都是因为物理机的防火墙问题,把防火墙关闭就行
  • 虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有问题
  • 虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设置是否正确
  • 如果以上全部设置完还是不行需要关闭 NetworkManager 服务
    • systemctl stop NetworkManager 关闭
    • systemctl disable NetworkManager 禁用
      如果检查发现 systemctl status network 有问题 需要检查 ifcfg-ens33

hostname主机名称

基本语法

hostname 功能描述查看当前服务器的主机名称

案例实操
1查看当前服务器主机名称

[root@hadoop100 桌面]# hostname 2如果感觉此主机名不合适我们

可以进行修改。通过编辑/etc/hostname 文件

[root@hadoop100 桌面]# vi /etc/hostname 

修改完成后重启生效。

netstat查看网络的连接信息

语法格式

netstat  -tnlp		-ttcp协议-n将字母转化成数字-l列出状态为监听-p显示进程相关信息
netstat  -an		-a表示全部-n将字母转化为数字

参数解释

  • -ttcp协议
  • -n将字母转化成数字
  • -l列出状态为监听
  • -p显示进程相关信息
  • -a表示全部

TCP/IP协议需要使用这个命令

traceroute查找当前主机与目标主机之间所有的网关

路由器会给沿途各个路由器发送icmp数据包路由器可能会不给响应

该命令不是内置命令需要安装

语法格式

traceroute  主机地址

在这里插入图片描述
类似于查看快递的跟踪路由
在这里插入图片描述

扩展在windows下也有类似的命令tracert 主机地址
在这里插入图片描述

arp地址解析协议

地址解析协议即ARPAddress Resolution Protocol是根据IP地址获取MAC物理地址的协议。

在这里插入图片描述
当一个主机发送数据时首先查看本机MAC地址缓存中有没有目标主机的MAC地址 如果有就使用缓存中的结果如果没有ARP协议就会发出一个广播包该广播包要求查询目标主机IP地址对应的MAC地址拥有该IP地址的主机会发出回应回应中包括了目标主机的MAC地址这样发送方就得到了目标主机的MAC地址。如果目标主机不在本地子网中则ARP解析到的MAC地址是默认网关的MAC地址。

常用语法

arp -a		查看本地缓存mac表
arp -d 主机地址			删除指定的缓存记录

在这里插入图片描述

该命令在windows下同样适用。

tcpdump抓包抓取数据表

常用语法

tcpdump 协议 port 端口
tcpdump 协议 port 端口 host 地址
tcpdump -i 网卡设备名

查看22端口ssh的数据包
在这里插入图片描述
数据格式解读

  • 00:09:17.xxxx 监听数据的时分秒
  • IP使用的协议类型
  • 192.168.21.1数据包的一个方向来自
  • > 数据的流向
  • 192.168.21.136数据包的另外一个方向到达

附计算机是如何通信的

在生活中我们要给一个人写信除了信件内容之外我们还需要填写信封信封有两个重要信息

  • 收件地址
  • 收件人

收件地址表示这封信要寄到哪里收件人表示信要寄给谁。

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

  • MAC地址 —> 收件人
  • IP地址 —> 收件地址

我们知道MAC地址是全球唯一的那么我们为什么不使用它来进行通信呢

  • 首先MAC地址是可修改的
  • 再者就比如说你定了个快递在四川你的姓名和电话就是mac地址居住的地方就是ip地址只知道你的mac地址是没办法把东西送给你的。网络最大的功能是实现资源共享和数据传输mac地址可以帮助小范围的数据传输当网络规模扩大到几千万就需要ip地址定位到你的位置

总之一句话来说Mac地址表示我是谁IP地址表示我在网络中的位置

在计算机网络中发送信息我们只需要填写内容和对方的ip地址操作系统会根据目标ip自动查询arp表获取对方的MAC地址补齐这封信再从网卡发出
在这里插入图片描述

我们的网卡接入了网络之后如果要通信需要给他配置另一个地址IP地址但是我们的生活中是没有配置IP地址这一个过程的那为什么也可以使用呢

这是因为有一个DHCP协议自动帮我们配置了

当电脑插上网线或手机连入WIFI操作系统网络协议栈会自动向外发送一包DHCP请求请求为其分配IP地址路由器获取到DHCP请求之后会为其分配一个IP地址并通过DHCP回复报文发送回去操作系统收到了DHCP回包后将其分配的IP地址配置到网卡上
在这里插入图片描述

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

当然我们也可以手动把DHCP关掉手动去配置一个网卡的IP地址

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

实际上这一步是用arp协议来完成的

当计算机a想向计算机b发送消息时操作系统并不会立即发出他会先发送一包arp广播报文出去问一下目标MAC的地址是多少此时网络中的所有设备都收到了这一包请求报文除了目标设备之外其他设备都会丢弃这包请求报文只有目标设备会回复自己的MAC地址是多少计算机a受到了回复知道了计算机b的MAC地址他首先会把计算机b的MAC地址缓存起来以便下次使用然后把这封信补全从网卡发送出去。交换机根据数据包中的目标MAC地址找到了计算机b所在的端口从此端口发送出去数据就被计算机b给收到了

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux