计算机IP地址的介绍

电子常识

2637人已加入

描述

IP地址就是给英特网上的每一个主机(或路由器)的每一个接口分配一个全世界唯一的32位的标识符。

IP地址的编址方法的三个历史阶段:

1.分类的IP地址
2.子网的划分
3.构成超网

IP地址的特点

(1)每一个IP地址都由网络号和主机号两部分组成。从这个意义上来说,IP地址是一种分等级的地址结构。分两个等级的好处是:
第一:
IP地址管理机构在分配IP地址时,只分配网络号(第一级),而剩下的主机号(第二级)则由得到该网络的单位自行分配。这样就方便了IP地址的管理。
第二:
路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减小,从而减小了路由表所占的存储空间以及查找路由表的时间。

(2)实际上IP地址时标志一个主机(或路由器)和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个响应的IP地址,其网络号必须是不同的。这种主机称为多归属主机。由于一个路由器至少连接到两个网络,因此一个路由器至少应当有两个不同的IP地址。

(3)按照英特网的观点,一个网络是指具有相同网络号net-id的主机集合,因此,用转发器或网桥连接起来的若干局域网仍为一个网络,因为这些局域网都具有相同的网络号。具有不同网络号的局域网必须使用路由器互连。

(4)在IP地址中,所有分配到网络号的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的。

(1)在同一局域网上的主机或路由器的IP地租中的网络号必须是一样的。
(2)用网桥(它只在链路层工作)互连的网段依然是一个局域网,只能有一个网络号
(3)路由器总是具有两个或两个以上的IP地址,即路由器的每一个接口都有一个不同网络号的IP地址。

IP地址和硬件地址的区别

从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(之所以称IP地址是逻辑地址是因为IP地址是使用软件实现的)
在发送数据时,数据从高层下到低层,然后才到通信链路上传输。使用IP地址的IP数据报交给数据链路层,就被封装为MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在MAC帧首部。
下面这张图可以帮我理解:


IP地址放在IP数据报的首部,而硬件地址则放在MAC帧首部。在网络层和网络层以上使用的是IP地址。而数据链路层及以下使用的是硬件地址。如上图所示:当IP数据报放入数据链路层的MAC帧以后,整个IP数据报就成为MAC帧的数据,因而在数据链路层看不见数据报的IP地址。

(1)在IP层抽象的互联网上只能看见IP数据报。虽然IP数据报要经过多个路由器,但在它的首部中的源地址和目的地址始不变。

(2)虽然在IP数据报 首部有源站IP地址,但是路由器只根据目的站的IP地址的网络号进行路由器选择

(3)在局域网的链路层,只能看见MAC帧。IP数据报被封装在MAC帧中。MAC帧在不同网络上传送时,其MAC帧首部中的源地址和目的地址都要发生变化。

(4)尽管互连在一起的网络的硬件地址,体系各不相同,但IP层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能够使用这些统一的,抽象的IP地址研究主机和主机或路由之间的通信。

地址解析协议

网络层使用的是IP地址,但实际网络在链路上传送数据帧时,最终还是必须使用该网络的硬件地址。但是IP地址和下面的网络硬件地址之间由于格式不同而不存在简单的映射关系。此外,在一个网络上可能经常会有新的主机加进来,或撤走一些主机。更换网络适配器也会使主机的硬件地址改变。地址解析协议ARP解决这个问题的方法是在在主机ARP告诉缓存区中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新。

每一个主机都设有一个ARP 告诉缓存表,里面有本局域网上各主机和路由器的IP地址到硬件地址的映射表。这些都是该主机目前知道的一些地址。举例说明,主机怎样知道IP地址对应的硬件地址:
当主机A要向本局域网上的某个主机B发送IP数据报时,就先在其ARP告诉缓存中查看有无主机B的IP地址,如果有,就在ARP查出对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。

注意:ARP是解决同一局域网上的主机或路由器IP地址和硬件的映射问题。如果所要找的主机和源主机不在同一局域网上,那么源主机就无法解析出目的主机的硬件地址。这时,源主机将与其通信的路由器的IP地址对应的硬件地址解析出来,以便能够将IP数据报传送到路由器上,最终那一跳路由器用地址解析协议找到目的主机的硬件地址,最终将IP数据报交给目的主机。
从IP地址到硬件地址的解析时自动进行的,主机的用户对这种地址解析过程是不清楚的,只要主机或路由亲和本网络上行另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动将这个IP地址解析为链路层所需要的硬件地址。
归纳使用地址解析协议ARP的四种情况:

1.发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。
2.发送方式主机,要把IP数据报发送到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作就交给路由器完成。
3.发送发是路由器,要把IP数据报转发到本网络上的一个主机。这时用ARP找到目的主机的硬件地址。
4.发送方是路由器,要把IP数据报转发到另一个网络上的主机。这时用ARP找到本网络上的另一个路由器的硬件地址。剩下的工作交给这个路由器完成。

问题:既然在网络链路上传送的帧最终是按照硬件地址找到目的主机的,那么为什么我们不直接使用硬件地址通信,而是使用抽象的IP地址调用ARP来寻找相应的IP地址?

答:由于全世界存在各式各样的网络,它使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行复杂的硬件转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的。但是统一的IP地址就解决了这个问题。连接在英特网上的主机只需要拥有统一的IP地址。它们之间的通信就像连接在同一个网络上那样简单方便,因为调用ARP的复杂过程都是哟普能计算机软件自动完成的,并不需要用户参与。

IP层转发分组的流程:

分组转发算法如下:
(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
(2)若N就是与此路由器直接相连的某个网络地址,则直接进行交付,不需要再经过其他的路由器,直接把数据报交付给主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据帧封装为MAC帧,再发送此帧。)否则就进行间接交付,进行(3)操作。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给所指明的下一跳路由器,否则执行(4)。
(4)若路由表中有到达网络N的路由,则把数据传送给路由表中所指明的下一跳路由器,否则执行(5)
(5)若路由表中有一个默认路由,则把数据报传送给路由表 中所指明的默认路由器,否则执行(6)
(6)报告转发分组出错

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分