版权归原作者所有,如有侵权,请联系我们

[科普中国]-扩展地址

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

物理地址扩展

物理地址扩展(Physical Address Extension,缩写为PAE),又释实体位置延伸,是x86处理器的一个功能,让中央处理器在32位操作系统下存取超过4GB的实体内存。

PAE为IntelPentium Pro及以上级别的CPU(包括除了总线频率为400MHz的这个版本的奔腾M之外的所有新型号奔腾系列处理器)所支持,其他兼容的处理器,如速龙(Athlon)和AMD的较新型号的CPU也支持PAE。

x86的处理器增加了额外的地址线以选择那些增加了的内存,所以实体内存的大小从32位增加到了36位。最大的实体内存由4GB增加到了64GB。

32位的虚拟地址(线性地址)则没有变,所以一般的应用软件可以继续使用地址为32位的指令;如果用平面内存模式的话,这些软件的地址空间也被限制为4GB。操作系统用页表将这4GB的地址空间映射到大小为64GB的实体内存,而这个映射对各个进程一般是不一样的。这样一来,即使不能为单单一个程序所用,那些增加了的物理内存仍然可以发挥作用。

对于需要超过4GB内存的应用软件来说,除了一般的PAE支持,还需要操作系统提供另外的特殊的技术。在Windows上,这种技术叫做Address Windowing Extensions(AWE)。而在类Unix的系统上则有多种技术在使用,例如使用mmap()按需要把一部分文件映射到地址空间;但是,这还没有成为一个标准。

有关术语页表结构在传统的32位的保护模式中,x86处理器使用一种两级的转换方案。在这种方案中,控制暂存器CR3指向一个长4KiB的页目录(page directory);页目录又分为1024个每个4KB的页表(page table);最后页表又分为1024个每个长4KB的页。

启用PAE(通过设置控制暂存器CR4的第5位来启用)会改变上面的方案。默认情况下,每页的大小是4KB的。页表和页目录中的表项都从32位扩为64位(8字节)以使用附加的地址位。但是,页表和页目录的总大小不变。所以,页表和页目录现在都只有512个表项。因为这变成了原来方案的一半,所以另外的一个级加了进来:CR3现在指向的是页目录指针表,即一个包含4个页目录指针的表。

页目录里的表项的第7位叫做PS(Page Size)。如果这个位设为1,则页目录的表项不再指向页表,而是指向一个2MB的页。页目录里还有另外一个叫NX位元的标志位。它是第63位,表示No eXecute。因为页表项中最低的12位,要么是这种标识位,要么是和操作系统相关的数据,所以最多可有52位在将来用于在2字节,即4pebibyte的物理内存中寻址。

现在,x86架构只使用该52位中的36位。对于在长模式(long mode)中的x86-64处理器,PAE是必须的;其中AMD64使用了52位中的40位或48位1,而Intel64将最多使用46位。

CPU对PAE模式的支持可以通过CPUID标志PAE来识别。

地址窗口扩展地址窗口扩展(Address Windowing Extensions,缩写AWE)是一项Microsoft Windows应用程序接口,它允许32位应用软件访问超出其虚拟地址空间限制(4GB)的物理内存。在地址窗口扩展下将应用程序的虚拟地址空间映射到物理内存的过程被称为“加窗”(windowing),并类似其他环境的覆盖概念。AWE对于需要操作极大数据集的数据密集型应用程序(例如数据库管理系统,科学和工程学软件)有益。

应用程序保留虚拟地址空间的区域或“窗口”,并分配物理内存的一个或多个区域。使用地址窗口扩展API,应用可以将虚拟窗口映射到任何一个物理区域。应用程序可以保留多个虚拟地址空间,并将其映射到物理内存的任何分配区域,只需虚拟地址空间中保留的字节数与物理内存区域相匹配。应用程序必须有“锁定内存页”的特权才能使用地址窗口扩展。

当保留内存超过4GB时,地址窗口扩展依赖于物理地址扩展的支持。地址窗口扩展在Windows 2000中作为一个取代PSE36方法的新API被引入。PSE36方法自Windows NT 4.0企业版引入,用于访问超过4GB内存,在Windows 2000中已不支持2。第一批使用地址窗口扩展的应用程序是Oracle8.1.6和Microsoft SQL Server2000。

如果/3GB引导标识被使用以重新分配32位虚拟空间(2GB内核空间和2GB用户空间改为3GB用户空间),地址窗口扩展将只能访问16GB物理内存。此限制是因为只有1GB内存保留给内核,而没有足够的内存用于映射超过16GB内存的页表项。通过地址窗口扩展可寻址的最大内存量也因Windows许可方案而额外限制。例如,Windows 2000 Advanced Server限制为8GB,Windows 2000 Data Center Server则支持64GB。3

2004年在Dr. Dobb's Journal发布的一篇文章称注意到使用地址窗口扩展分配的内存将不会被写入页面文件,并建议AWE区域因此可作为保护敏感的应用程序数据(如加密密钥)的一种方式。

IPv4扩展地址技术CIDR无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

在域名系统出现之后的第一个十年里,基于分类网络进行地址分配和路由IP数据包的设计就已明显显得可扩充性不足 (参见RFC 1517)。为了解决这个问题,互联网工程工作小组在1993年发布了一新系列的标准——RFC 1518和RFC 1519——以定义新的分配IP地址块和路由IPv4数据包的方法。

一个IP地址包含两部分:标识网络的前缀和紧接着的在这个网络内的主机地址。在之前的分类网络中,IP地址的分配把IP地址的32位按每8位为一段分开。这使得前缀必须为8,16或者24位。因此,可分配的最小的地址块有256(24位前缀,8位主机地址,28=256)个地址,而这对大多数企业来说太少了。大一点的地址块包含65536(16位前缀,16位主机,216=65536)个地址,而这对大公司来说都太多了。这导致不能充分使用IP地址和在路由上的不便,因为大量的需要单独路由的小型网络(C类网络)因在地域上分得很开而很难进行聚合路由,于是给路由设备增加了很多负担。

无类别域间路由是基于可变长子网掩码(VLSM)来进行任意长度的前缀的分配的。在RFC 950(1985)中有关于可变长子网掩码的说明。CIDR包括:

指定任意长度的前缀的可变长子网掩码技术。遵从CIDR规则的地址有一个后缀说明前缀的位数,例如:192.168.0.0/16。这使得对日益缺乏的IPv4地址的使用更加有效。

将多个连续的前缀聚合成超网,以及,在互联网中,只要有可能,就显示为一个聚合的网络,因此在总体上可以减少路由表的表项数目。聚合使得互联网的路由表不用分为多级,并通过VLSM逆转“划分子网”的过程。

根据机构的实际需要和短期预期需要而不是分类网络中所限定的过大或过小的地址块来管理IP地址的分配的过程。

DHCPDHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:

1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。

2. DHCP应当可以给用户分配永久固定的IP地址。

3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。

4. DHCP服务器应当向现有的BOOTP客户端提供服务。

NAT网络地址转换(Network Address Translation)简称为NAT,是将IP数据包包头中的IP地址转换为另一个IP地址的协议。当IP数据包通过路由器或者安全网关时,路由器或者安全网关会把IP数据包的源IP地址和/或者目的IP地址进行转换。在实际应用中,NAT主要用于私有网络访问外部网络或外部网络访问私有网络的情况。NAT有以下优点:

通过使用少量的公有IP地址代表多数的私有IP地址,缓解了可用IP地址空间枯竭的速度。

NAT可以隐藏私有网络,达到保护私有网络的目的。

私有网络一般使用私有地址,RFC1918规定的三类私有地址如下:

A类:10.0.0.0 - 10.255.255.255(10.0.0.0/8)

B类:172.16.0.0 - 172.31.255.255(172.16.0.0/12)

C类:192.168.0.0 - 192.168.255.255(192.168.0.0/16)

上述三个范围的IP地址不会在因特网上被分配,因而可以不必向ISP(Internet Service Provider)或注册中心申请,而在公司或企业内部自由使用。