linux中虚拟地址和物理地址怎样映射

linux中虚拟地址和物理地址怎样映射,第1张

虚拟就是虚拟的,不是实际真是的物理地址。你可以认为,这两个地址之间没关系。

这个虚拟是通过系统和硬件的双重工作,做的一种点对点的映射(当然实际内存分配是按照页来处理)。

也就是软件不需要考虑内存数据的物理地址,只需要用虚拟地址做数据存储处理就行了。

这样一个好处是,软件不需要自己做内存分配,也不需要考虑别的软件的内存占用问题。 *** 作系统会根据当前的内存使用情况,动态的分配内存空间。虚拟内存地址还一个好处是因为是虚拟的,所以内存并不一定非要在物理内存中。可以存放在任何位置,比如把暂时不用的数据放进硬盘上的虚拟内存,腾出真实的物理内存交给程序运行而提高多程序时运行的效率。而且因为每个软件的虚拟内存地址都是从 0 开始,每个软件的寻址都是独立而且顺序的。程序编写和运行时,都好像是机器里面只有自己一个程序在运行,程序开发起来也很容易。软件不需要考虑内存分配的问题,也不需要担心内存不足和两个程序抢同一片内存导致系统整个崩溃的情况。

通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能。

一、Windows下实现端口映射

1. 查询端口映射情况

2. 查询某一个IP的所有端口映射情况

3. 增加一个端口映射

4. 删除一个端口映射

二、Linux下端口映射

1. 允许数据包转发

2. 设置端口映射

内网 外网 是相对Server4来说的。

Server1和Server2为内网环境的两台服务器;

Server3为外网环境下的一台服务器;

Server4为一台双网卡主机,分别连接192.168.50.0/24和172.16.2.0/24两个网络。

配置实验环境

用Python在Server1上搭建一个简单的HTTP服务

Server2、Server3同理

在client上访问Server1的资源

在client上访问Server2的资源

在client上访问Server3的资源

可以看到,外网的client是无法访问内网Server1,Server2的资源的。

临时配置

永久配置

如果需要永久配置,则将以上命令追加到/etc/rc.local文件。

在client上访问Server1的资源

在client上访问Server2的资源

在client上访问Server3的资源

Windows的IP信息如下

配置并查看端口映射情况

检查效果

在client节点上

END


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8183913.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存