一台计算机有48为虚拟地址和32位物理地址是怎么回事

一台计算机有48为虚拟地址和32位物理地址是怎么回事,第1张

任何时候,计算机上都存在一个程序能够产生的地址集合,我们称之为地址范围。这个范围的大小由CPU的位数决定,例如一个32位的CPU,它的地址范围是0~0xFFFFFFFF (4G),而对于一个64位的CPU,它的地址范围为0~0xFFFFFFFFFFFFFFFF (16E).这个范围就是我们的程序能够产生的地址范围,我们把这个地址范围称为虚拟地址空间,该空间中的某一个地址我们称之为虚拟地址。与虚拟地址空间和虚拟地址相对应的则是物理地址空间和物理地址,大多数时候我们的系统所具备的物理地址空间只是虚拟地址空间的一个子集。这里举一个最简单的例子直观地说明这两者,对于一台内存为256M的32bit x86主机来说,它的虚拟地址空间范围是0~0xFFFFFFFF(4G),而物理地址空间范围是0x00000000~0x0FFFFFFF(256M)。

在没有使用虚拟存储器的机器上,地址被直接送到内存总线上,使具有相同地址的物理存储器被读写而在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到存储器管理单元MMU,把虚拟地址映射为物理地址。

大多数使用虚拟存储器的系统都使用一种称为分页(paging)机制。虚拟地址空间划分成称为页(page)的单位,而相应的物理地址空间也被进行划分,单位是页帧(frame).页和页帧的大小必须相同。在这个例子中我们有一台可以生成32位地址的机器,它的虚拟地址范围从0~0xFFFFFFFF(4G),而这台机器只有256M的物理地址,因此他可以运行4G的程序,但该程序不能一次性调入内存运行。这台机器必须有一个达到可以存放4G程序的外部存储器(例如磁盘或是FLASH),以保证程序片段在需要时可以被调用。在这个例子中,页的大小为4K,页帧大小与页相同--这点是必须保证的,因为内存和外围存储器之间的传输总是以页为单位的。对应4G的虚拟地址和256M的物理存储器,他们分别包含了1M个页和64K个页帧。

大学操作系统课~

首先地址是计算机用于访问具体硬件设备的映射名称,是CPU用于访问具体设备如内存、闪存、寄存器时用到的。CPU根据虚拟地址再通过虚拟地址和物理地址的映射来找到最终的物理地址来进行访问。

那为什么要分开成虚拟地址和物理地址呢?

之所以是这样,是因为现代操作系统都提供了一种内缉孩光绞叱悸癸溪含娄存管理的抽像,即虚拟内存(virtual memory)。进程使用虚拟内存中的地址,由操作系统协助相关硬件,把它“转换”成真正的物理地址。这个“转换”,是所有问题讨论的关键。 有了这样的抽像,一个程序,就可以使用比真实物理地址大得多的地址空间。甚至多个进程可以使用相同的地址。不奇怪,因为转换后的物理地址并非相同的。32位的物理地址通过映射变成48位的虚拟地址,通过分页机制就将内存由2^32变为2^48,大大增加了内存地址空间。

可以参考参考资料中的概念,了解了物理地址和虚拟地址的概念,再去学习一下分页机制,你就了解了为什么一台计算机有32位的物理地址却有48位虚拟地址。

电脑中硬件涉及到的地址有两类,分别是IP地址与MAC地址。

IP地址指的是逻辑地址,并不唯一,可以根据实际情况进行更改;

MAC地址指的是硬件地址,具有全球唯一性,并不可以进行更改(软件仿冒并不属于更改)。

那么,究竟是什么IP地址呢?电脑为何会需要设置IP地址?

IP地址的定义

我们先来看看IP地址的定义:

IP地址指的是互联网协议地址,全称为IP Address。IP地址将会给网络上的设备、主机电脑分配逻辑上的一个标识符,用以区分不同地域的设备。IP地址工作在网络协议中的网络层,MAC地址则工作在数据链路层。

当前主流使用的是IPv4这个版本,由32位的二进制数组成。通常由四段组成,例如我们比较常见的路由器网关地址192.168.1.1。

IP地址的用途

IP地址主要用于网络设备、服务器、用户终端入网设备的设置。通过IP地址来实现不同设备之间的数据通信,明确需要访问的具体设备。

例如,运营商的核心路由器、汇聚交换机、接入层设备等均需要设置IP地址;我们接触较多的网站服务器、DNS服务器等也需要设置IP地址;个人电脑、平板、手机也需要通过IP地址实现上网。

以我个人电脑为例,每个网卡均需要设置一个IP地址。无论是有线网卡、无线网卡,甚至是虚拟机的虚拟网卡均要设置IP地址。

IP地址的分类

IPv4地址在设计之初,仅供实验室进行使用,并未料想会如此的普及。因此,IPv4地址匮乏的事情一直困扰着人们。

于是出现了公网、私网地址的分类:

公网地址主要用于互联网核心设备、服务器等广域网的设备进行使用;

私网地址主要用于局域网设备使用,不同的局域网可以使用相同的私网地址。

这样,在一定程度上缓解了IP地址不足的问题。这里面就涉及到了NAT地址转换的技术,就不详细展开说明了。

IP地址未来的发展趋势

IPv4地址不足的问题已经相当严重,特别是5G网络发展所产生万物互联的基础,任何智能设备终端均需要IP地址来实现网络的接入。

IPv6便应运而生,IPv4使用的是32位地址,最多能够使用的地址为2^32;IPv6使用的是64为地址,最多能够使用的地址为2^128。大家不要小看了指数的叠加,IPv6的地址数足够涵盖地球上的所有设备。

2019年7月,中国IPv6发展论坛会议已经在京召开。国内三大运营商已经在核心设备上启用了IPv6地址,使用的是IPv6与IPv4同时运行的方式,个人用户端并未感受到差异而已。据统计,全国通过IPv6上网的活跃用户已达7亿左右(累计)。

一台电脑涉及的IP地址有:本地IP地址、网关IP地址、DNS地址、运营商NAT地址、公网IP地址。通过这些IP地址,我们才能够访问到互联网的某个网站,下文具体说一说。

1、IP地址

电脑的网卡有两种地址:MAC地址和IP地址。其中MAC地址48位,称为物理地址,固化在网卡的ROM中,很难更改,在局域网范围内有效;IP地址32位,成为逻辑地址,需要用户自行配置或者通过DHCP服务器获取。

2、本地IP地址

本地IP地址由IP地址、子网掩码、网关IP地址、DNS地址组成。

IP地址和子网掩码,用于判断IP地址的网络号和主机号。网络号用于标识某个主机属于哪个网络,主机号用于判断某台主机,比如192.168.6.123 255.255.255.0这台主机,网络号为192.168.6.0,主机号为192.168.6.123。

网关IP地址,每台终端与外界通信,首先需要经过网关IP地址对应的网络设备,相当于访问外网的“大门”,网关IP地址通常是路由器的IP地址,网关地址与本地IP地址属于同一个网段。

DNS地址,我们通常使用域名访问某个网站,需要将域名转换成IP地址,而DNS服务器可以完成这个转换,DNS地址对应的就是DNS服务器的IP地址。

3、NAT地址

目前,可分配的IPv4地址已经很少,大部分情况是私网IP地址,经过NAT地址转换之后,多个私网IP地址共享一个公网IP地址访问外网。

由于运营商手中可用的IPv4地址有限,所以现在家里使用的光猫通常只能获取一个运营商的内网地址,而不是公网IP地址。也就是,我们访问一个网站,需要经过两次NAT地址转换,第一次转换到运营商的内部IP地址,第二次运营商IP内部地址转换到公网IP地址,才能访问互联网资源。

我们家里的光猫普遍使用了路由模式,自动PPPOE拨号,然后连接无线路由器,那么还要经过一次NAT地址转换,也就是访问互联网资源需要经过3次NAT地址转换。因此,可以将光猫设置为“桥接模式”,减少依次NAT地址转换,提高网络的稳定性和效率。

以上就是一台电脑、手机等终端访问互联网资源,需要用到的IP地址,可以看到为了应对IPv4地址的紧张,需要经过两次NAT地址转换才能访问互联网,如果光猫设置为路由模式(默认设置),需要3次NAT地址转换。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/238562.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存