‘壹’ 什么是逻辑地址什么是物理地址它们之间有什么关系
逻辑地址(LogicalAddress)是指由程序产生的与段相关的偏移地址部分。有时我们也把逻辑地址称为虚拟地址
物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。
二者的关系如下:
只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。
逻辑地址与物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。这个值是由操作系统指定的。
‘贰’ 什么是逻辑地址,什么是物理地址,它们之间有什么关系
逻辑地址: 是指由程序产生的与段相关的偏移地址部分。又称绝对地址
物理地址:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。
二者关系:
逻辑地址和物理地址相对的。物理地址是唯一的,逻辑地址的相对的。
‘叁’ 为什么要进行逻辑地址与物理地址的转换工作
这个跟互联网的分层有关系,我拿“ OSI 七层网络模型“和 ”TCP/IP 四层网络模型”为例。
至于最基本的理论基础“ OSI 七层网络模型“和 ”TCP/IP 四层网络模型”我不赘述了,你可以事先熟悉一下,还有为什么要分层你也得了解一下。总之,你要对互联网实现端到端的通信解决方案有所认识。
正题:
你问的问题,具体牵扯到第三层网络层【寻址】的实现,你可以理解为网络定位。
那么为什么MAC地址(物理地址)48bit已经是全球唯一了,还要多出来一套逻辑地址?
因为,MAC地址虽然唯一,但分布无序,每个设备(路由器,PC等具有MAC地址的通讯节点)都有MAC地址,但是设备并没有按照一定的结构和次序去进行地理布局。两个MAC连号的设备可能一个在美洲,一个在亚洲。
如果路枯卖由器要实现全局的寻址定位的话,很可能他的路由表有2的40次方到48次方个条目,也就是MAC地址所涵盖的2的48次方个地址,这已经是天文数字了。
可想而知,这是不可能实现的,没有那么大的内存和cpu去维持这么庞大的路由表,并且路由器之间的路由信息交换所消耗的带宽也是天文数字,还有路由的收敛等等也成问题,那就实现不了你网络建设的目的了。
这样,如果我有一套经过认真计划的地址分配方案,由同一权威的机构,依据地理位置,需求等等进行另外一种寻址标示的分配,也就是逻辑地址的分配,就可以避免以上的问题,更充分的利用互联网,提高其效率。(分配机构如:IANA,地区级的INTERNET注册机构(IR),本地级的IR。你可以了解一下)
你再想想IPv4的寻址你就明白了,在骨干路由器上你可能看到10.x.x.x/xx的路由汇总来自美洲等等经过规划的安排。这样是不是很有效率呢?
其实IPv4的分址方案也有其弊端,这就是IPv6诞生的原因
具体你可以在网上搜“ipv4 ipv6”
PS 其实有一些路由器的本分权限是公开的,你可以登录到一些骨干路由器上看一看他们的路由表,如果你知道一点简单的命令的话。
你可以在网上搜“可通过Telnet直接访问的公开路由服务器”一文,上面有具体的地址,通过telnet可以登陆上去。(如果你不知道telnet的话,可以卜败祥。。。你懂的)
我估计你可能是网络初学者,你这样多学型搏多问多实践会提高很快的。
有很多知识是关联的,不要因为有一两个你不懂就知难而退,各个击破就好了。然后要抓住脉络,框架不要丢。
在网络模型这一块,理解模型互联网通信的解决方案的目的很重要,要明白动机,才能理解行为。
‘肆’ 为什么要进行逻辑地址到物理地址的转换
逻辑地址嘛毕竟还是可以伪装、出错的,但是物理地址都是唯一的
‘伍’ 为什么要把进程的地址空间分为逻辑地址空间和物理地址空间
首先要知道逻辑地址和物理地址的区别,这一点可以在网上搜一下或参考汇编语言的基本概念。
简单来说,使用逻辑地址的最主要原因是方便程序更合理地使用悔仿内存空间。比方说,物理空间就像许多小房间,由硬件决定了房间衫判序或前改号,1,2,3,4....但没有将它们划分成更灵活使用的地区号-小区名-楼号-楼层号-房间号,使用起来并不是很方便。逻辑地址就是为了进程更有效更方便地分配这些房间,人为地对空间进行了划分。
‘陆’ 程序运行时,为什么要将逻辑地址转换成物理地址
同一物理地址的逻辑地址是不唯一的。cpu执行程序时,是按确定的的物理地址去取程序代码的。
‘柒’ 为什么要进行逻辑地址到物理地址的转换
就像找人一样,我们的名字就是逻辑地址,当一个人知道我们的名字时,他并不知道我握者们长什么样,蠢圆无法再一群人中找到这个人,当我们知带皮塌道这个人脸上长了超级大的鼻子(也就是物理地址),我们就能找到这个人了
‘捌’ 程序运行时为什么要将指令的逻辑地址转换成物理地址
便于计算机查询
‘玖’ 什么是逻辑地址什么是物理地址它们之间有什么关系各用在何处
逻辑地址在工具书中的解释
:
1、在有地址变换功能的计算机中,访内指令给出的地址
(操作数)
叫逻辑地址,也叫相对地址。要经过寻址方式的计算或变换才得到内存储器中的物理地址。
2、把用户程序中使用的地址称为相对地址即逻辑地址。
网卡物理地址存储器中存储单元对应实际地址称物理地址,与逻辑地址相对应。
网络中的地址分为物理地址和逻辑地址两类,与网络层的IP地址传输层的端口号以及应用层的用户名相比较,局域网的MAC层地址是由硬件来处理的,叫做物理地址或硬件地址。IP地址传输层的端口号以及应用层的用户名是逻辑地址由软件来处理。MAC地址不等同于物理地址.
大多数局域网通过为网卡分配一个硬件地址来标识一个联网的计算机或其他设备.所谓物理地址是指固化在网卡EPROM中的地址,这个地址应该保证在全网是唯一的。IEEE注册委员会为每一个生产厂商分配物理地址的前三字节,即公司标识。后面三字节由厂商自行分配,一个厂商获得一个前三字节的地址可以生产的网卡数量是16777216块。而一块网卡对应一个物理地址。也就是说对应物理地址的前三字节就可以知道他的生产厂商。
例如固化在网卡中的地址为002514895423,那么这块网卡插到主机A中,主机A的物理地址就是002514895423,不管主机A是连接在局域网1上还是在局域网2上,也不管这台计算机移到什么位置,主机A的物理地址就是002514895423。它是不变的,而且不会和世界上任何一台计算机相同。当主机A发送一帧时,网卡执行发送程序时,直接将这个地址作为源地址写入该帧。当主机A接收一帧时,直接将这个地址与接收帧目的地址比较,以决定是否接收。物理地址一般记作00-25-14-89-54-23(主机A的地址是002514895423)。
‘拾’ 作业题:有了物理地址,为什么还要逻辑地址谁能讲的通俗一点
物理地址就是MAC地址,是网卡上自带的,唯一的地址,逻辑地址就是IP地址闭帆,是虚拟的,实际不存在的,它在网络中用来定燃羡义不同的网络,使其不会发生数据混乱.通俗的讲,电脑识别的是逻辑地址轿段雹(ip地址)而不是你的MAC地址,所以有了物理地址,还需要逻辑地址。