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

news2024/11/15 2:02:11

文章目录

  • 计算机网路基础
  • 网络连接模式
    • Bridged(桥接模式)
    • NAT(地址转换模式)
    • Host-Only(仅主机模式)
  • Linux常用网络相关命令
    • ifconfig:配置网络接口
    • ping:测试主机之间网络连通性
    • 修改ip地址
    • hostname:主机名称
    • netstat:查看网络的连接信息
    • traceroute:查找当前主机与目标主机之间所有的网关
    • arp:地址解析协议
    • tcpdump:抓包,抓取数据表
  • 附:计算机是如何通信的

计算机网路基础

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

网络分类

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

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

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

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

接下来我们说说ip地址

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

IP地址类型分为:

  • 公有地址
  • 私有地址

公有地址(也可以叫做外网地址)
公有地址(Public address)由Inter NIC(Internet 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(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的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		(-t:tcp协议,-n:将字母转化成数字,-l:列出状态为监听,-p:显示进程相关信息)
netstat  -an		(-a:表示全部,-n:将字母转化为数字)

参数解释:

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

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

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

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

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

语法格式:

traceroute  主机地址

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

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

arp:地址解析协议

地址解析协议,即ARP(Address 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给收到了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/172183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Threejs 导入动态模型 - 兔子岛

Threejs 动画模型GLTF加载器(GLTFLoader) glTF(gl传输格式)是一种开放格式的规范 (open format specification), 用于更高效地传输、加载3D内容。该类文件以JSON(.gltf)…

产品心理学:福格行为模型详解与应用

​Fogg说人的行为由动机,能力和触发条件这三要素组成,这三个同时都满足时行为才会发生。用一个等式来简化就是: BMAT 其中B是Behavior行为,M是Motivation 动机,A是Ability能力,T是Triggers触发。 行为的发…

“华为杯”研究生数学建模竞赛2004年-【华为杯】B题:实用下料的数学模型(附优秀论文)

赛题描述 “下料问题(cutting stock problem)”是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的应用. 这里的“实用下料问题”则是在某企业的实际条件限制下的单一材料的下料问题。 一个好的下料方案首先…

JavaEE4-Spring使用

目录 1.存储Bean对象到Spring容器中 1.1.创建Bean 1.2.将Bean注册到Spring容器中 1.2.1.第一次存储Bean(可选,如果是第二次及以后,此步骤忽略) 1.2.2.添加Bean标签 2.从Spring容器中获取并使用Bean对象 2.1.创建Spring上下…

ADC架构_Flash

ADC架构_Flash 比较器做1位ADC Vin > Vref Vout High&#xff08;1&#xff09; Vin < Vref Vout Low&#xff08;0&#xff09; 比较器是组建集成ADC的内部基本而又关键的模块&#xff1b;在比较器应用在ADC中一般要求很高的分辨率&#xff0c;也就是很小的差分输…

Spring Security 认证研究

2 Spring Security 认证研究 2.1 Spring Security介绍 认证功能几乎是每个项目都要具备的功能&#xff0c;并且它与业务无关&#xff0c;市面上有很多认证框架&#xff0c;如&#xff1a;Apache Shiro、CAS、Spring Security等。由于本项目基于Spring Cloud技术构建&#xff…

java数组2023014

数组&#xff1a;首先数组也是一种类型 Java的数组要求所有的数组元素具有相同的数据类型。因此&#xff0c;在 一个数组中&#xff0c;数组元素的类型是唯一的&#xff0c;即一个数组里只能存储一种数据类型的数据&#xff0c;不能存储多种数据类型的数据。 注意&#xff1a; …

MySQL数据库约束(主键约束,外键约束详解)

关系型数据库的一个重要功能:需要保证数据的"完整性",可以通过人工的方式来观察确认数据的正确性,这种方式是可行的,但是不合适,因为人为控制的方式势必会存在疏忽,导致一些错误没有被检查出来,所以MySQL数据库定义了一些约束来帮助程序员更好的检查数据的正确系!一,…

git cherry-pick 教程

对于多分支的代码库&#xff0c;将代码从一个分支转移到另一个分支是常见需求。 这时分两种情况。一种情况是&#xff0c;你需要另一个分支的所有代码变动&#xff0c;那么就采用合并&#xff08;git merge&#xff09;。另一种情况是&#xff0c;你只需要部分代码变动&#x…

目标检测-yolov1的详细理解(代码和原理)

目标检测算法&#xff0c;主要分为两类&#xff1a; 一类是以R-CNN为代表的两阶段检测算法&#xff0c;将目标检测任务分为边界框回归和物体分类两个模块二是yolo系列算法&#xff0c;是将目标检测任务看作是回归任务。 原理 yolov1将图像划分为S*S的网格&#xff0c;如果检测…

计网必会:应用层结构体系

文章目录什么是应用层应用层原理P2P模式C/S模式进程的通信原理客户和服务器进程进程发生运输服务类型TCP服务UDP服务服务选择什么是应用层 应用层原理 P2P模式 两台主机相互通信互为服务器&#xff0c;互为主机&#xff0c;可以发现&#xff0c;这样的模式下&#xff0c;如果是…

【Java寒假打卡】JavaWeb-TomCat发布动态资源

【Java寒假打卡】JavaWeb-TomCat发布动态资源Servlet的介绍实现步骤Servlet的执行流程Servlet的介绍 Servlet是运行在Java服务器端的程序&#xff0c;用于接受和响应来自客户端基于HTTP协议的请求如果想实现Servlet的功能&#xff0c;可以通过实现javax.servlet.Servlet接口或…

三、QML开发之qml 语言基础

QML就是用来编辑和生成Quick界面的语言&#xff0c;所以在开发界面之前一定要了解基础的QML语言基础知识&#xff0c;接下来从介绍qml语法如何编写&#xff0c;变量和属性 对象的简要说明&#xff0c;通过本节的学习能够达到简单的加载图片 和设置lable标签存放位置&#xff0c…

【零基础】学python数据结构与算法笔记14-动态规划

文章目录前言88.动态规划介绍89.钢条切割问题90.钢条切割问题&#xff1a;自顶向下实现91.钢条切割问题&#xff1a;自底向上实现92.钢条切割问题&#xff1a;重构解93.最长公共子序列最长公共子序列&#xff1a;实现总结前言 学习python数据结构与算法&#xff0c;学习常用的…

CSS+JS 弹窗

弹窗 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>弹窗</title><style type"text/css">.alert {display: none;justify-content: center;align-items: center;width: 100%;height: 100vh;backgro…

输入一个url后发生了什么 js性能优化

文章目录从一道题开始&#xff1a;输入一个url后发生了什么&#xff1f;1.请求协议可聊点1&#xff1a;http协议相关> 追问: http与TCP可聊点2&#xff1a; https协议相关> 追问&#xff1a;http与https2.域名解析3.web服务器4.服务(2、3)涉及到 网络优化5.浏览器渲染6.脚…

【Zookeeper】关于windows安装问题整理汇总

文章目录常规安装&#xff1a;1、windows配置zoo.cfg之后&#xff0c;提示&#xff1a;JAVA_HOME is not set.1.1 本地没有安装JDK或者没有配置JAVA_HOME解决方案&#xff0c;参考JDK安装下载办法1.2 本地配置的JDK但是环境变量JDK路劲不叫名字“JAVA_HOME”解决方案&#xff1…

docker容器将系统盘空间占满的解决办法

最近遇到一个问题&#xff0c;线上服务器的系统盘空间被占满了&#xff0c;导致服务不能正常运行了。docker启动时会报出下面这个错误no space left on device排查用到的命令&#xff0c;显示当前路径下占用空间超过1G的文件或文件夹du -h --max-depth1|grep G|sort -n经过一番…

SAP FICO 详细解析新总账功能 - 平行分类账配置

平行分类账配置 其作用简单来说就是&#xff0c;同时一笔记账&#xff0c;会产生多个账套的凭证。 【配置流程】 1、定义总账会计核算的分类账 账套可以有多个&#xff0c;但是主分类账有且只有一个。 表FAGLFLEXT就是存储所有财务分类账发生额数据的汇总表。 勾选多个“主…

CSS知识梳理

CSS的三大特性 一 . 层叠性 : 相同选择器给设置相同的样式&#xff0c;此时一个样式就会覆盖&#xff08;层叠&#xff09;另一个冲突的样式。层叠性主要解决样式冲突的问题 层叠性原则 : 样式冲突&#xff0c;遵循的原则是就近原则&#xff0c;哪个样式离结构近&#xff0c…