为啥要通过IP地址寻址而不通过硬件地址寻址?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥要通过IP地址寻址而不通过硬件地址寻址?相关的知识,希望对你有一定的参考价值。

所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。

 有人会以为,一台计算机只能有一个IP地址,这种观点是错误的。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。

综上所述,如果用硬件地址的话,可能会出现地理位置判断错误的;而用IP地址寻址的话,会更准确,更方便。。。。
参考技术A IP地址是国际internet 机构组织所采用的传输协议
该协议的IP地址分配是有一定原则规定的 分A B C D E 类别 每个类别有不同是分配机制和分配地理范围 并且IP地址是采用逻辑地或者称相对地址 也就是说按照地理位置的划分 每个国家或者区域采用一定的IP范围 方便管理和查询
而你所说的硬件地址是指网卡地址 也就是绝对地址或者说是物理地址 是不能随地理位置的改变而改变 每个网卡的编号是世界唯一的 但却不受地理位置的限制而改变 就是说 你的网卡在世界的任何一个地方都不会变 这样很难确定所在的地理位置---管理不方便也不安全
所以要把逻辑地址和物理地址采用某种策略结合使用,,才能最准确的达到寻址的目的~!
参考技术B 就是为了好记呀,没有什么,硬件地址太难记了

给定地址段为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为____到____

此题解题背景默认为8080型CPU,地址总线为16根。(8080-16,8086-20,8088-20,80286-24,80386-32)

16根地址总线寻址能力:(2 ** 16) / 1024 = 65536(B) = 64(KB), 可以表示的存储单元个数为 0 ~ 2^n-1 个, 即 0 ~ 65535。

这里的 65535 为十进制数,转换为十六进制数为 0xffff (或 ffffH),具体转换方法可以用 Python3 函数 hex(65535)。

再来看CPU内存单元物理地址的划分方法:基础地址(段地址[SA] X 16)+ 偏移地址[EA] = 物理地址

此题中已经假设地址总线为16位,所以偏移地址变化范围是 0 ~ 65535,即 0000H ~ FFFFH

因为给定段地址为0001H,则CPU的寻址范围 (0001H + 0000H * 16)~ (0001H + FFFFH * 16),

0001H * 16 为 0001H 左移一位,即 0010H,0000H + 0010H = 0010H, FFFFH + 0010H = 1000FH。

所以 CPU 寻址范围为 0010H 到 1000FH。

以上是关于为啥要通过IP地址寻址而不通过硬件地址寻址?的主要内容,如果未能解决你的问题,请参考以下文章

什么是ip寻址

路由寻址--子网划分/CIDR

网络寻址

IP寻址过程一

IP地址和MAC地址及ARP寻址

IP地址和MAC地址及ARP寻址