登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 软考学苑 > 网络工程师 > 上午基础知识 >> 正文
正文
计算机网络: IP地址寻址
来源:尚大教育-软考学院 作者:辉辉 时间;2013-05-08 11:45:19 点击数: 尚大软考交流群:376154208
  5.1 IP地址寻址  5.1.1IP地址  IP地址是一个四字节32位长的地址码。一个典型的IP地址为200.1.25.7(以点分十进制表示)。  IP地址可以用点分十进制数表示,也可以用二
<尚大教育,教育至上,人才为大:sdedu.cc>

  5.1 IP地址寻址

  5.1.1IP地址

  IP地址是一个四字节32位长的地址码。一个典型的IP地址为200.1.25.7(以点分十进制表示)。

  IP地址可以用点分十进制数表示,也可以用二进制数来表示:

  200.1.25.7

  11001000 00000001 00011001 00000111

  IP地址被封装在数据包的IP报头中,供路由器在网间寻址的时候使用。

  因此,网络中的每个主机,既有自己的MAC地址,也有自己的IP地址。MAC地址用于网段内寻址,IP地址则用于网段间寻址。

  IP地址分为A、B、C、D、E共5类地址,其中前三类是我们经常涉及的IP地址。

  分辨一个IP是哪类地址可以从其第一个字节来区别。如图5.2所示。

  A类地址的第一个字节在1到126之间,B类地址的第一个字节在128到191之间,C类地址的第一个字节在192到223之间。例如200.1.25.7,是一个C类IP地址。155.22.100.25是一个B类IP地址。

  A、B、C类地址是我们常用来为主机分配的IP地址。D类地址用于组播组的地址标识。E类地址是Internet Engineering Task Force (IETF)组织保留的IP地址,用于该组织自己的研究。

  一个IP地址分为两部分:网络地址码部分和主机码部分。A类IP地址用第一个字节表示网络地址编码,低三个字节表示主机编码。B类地址用第一、二两个字节表示网络地址编码,后两个字节表示主机编码。C类地址用前三个字节表示网络地址编码,最后一个字节表示主机编码。

  把一个主机的IP地址的主机码置为全0得到的地址码,就是这台主机所在网络的网络地址。例如200.1.25.7是一个C类IP地址。将其主机码部分(最后一个字节)置为全0,200.1.25.7.0就是200.1.25.7主机所在网络的网络地址。155.22.100.25是一个B类IP地址。将其主机码部分(最后两个字节)置为全0,155.22.0.0就是200.1.25.7主机所在网络的网络地址。

  图5.1中的6台主机都在192.168.20.0网络上。

  我们知道MAC地址是固化在网卡中的,由网卡的制造厂家随机生成。IP地址是怎么得到的呢?IP地址是由InterNIC (Network Information Center of Chantilly, VA) 分配的,它在美国IP地址注册机构(Internet Assigned Number Authority) 的授权下操作。我们通常是从ISP(互联网服务提供商)处购买IP地址,ISP可以分配它所购买的一部分IP地址给你。

  A类地址通常分配给非常大型的网络,因为A类地址的主机位有三个字节的主机编码位,提供多达1600万个IP地址给主机(224-2)。也就是说61.0.0.0这个网络,可以容纳多达1600万个主机。全球一共只有126个A类网络地址,目前已经没有A类地址可以分配了。当你使用IE浏览器查询一个国外网站的时候,留心观察左下方的地址栏,可以看到一些网站分配了A类IP地址。

  B类地址通常分配给大机构和大型企业,每个B类网络地址可提供6万5千多个IP主机地址(216-2)。全球一共有16384个B类网络地址。

  C类地址用于小型网络,大约有200万个C类地址。C类地址只有一个字节用来表示这个网络中的主机,因此每个C类网络地址只能提供254个IP主机地址(28-2)。

  你可能注意到了,A类地址第一个字节最大为126,而B类地址的第一个字节最小为128。第一个字节为127的IP地址,即不属于A类也不属于B类。第一个字节为127的IP地址实际上被保留用作回返测试,即主机把数据发送给自己。例如127.0.0.1是一个常用的用作回返测试的IP地址。

  由图5.4可见,有两类地址不能分配给主机:网络地址和广播地址。

  广播地址是主机码置为全1的IP地址。例如198.150.11.255是198.150.11.0网络中的广播地址。在图中的网络里,198.150.11.0 网络中的主机只能在198.150.11.1到198.150.11.254范围内分配,198.150.11.0和198.150.11.255不能分配给主机。

  有些IP地址不必从IP地址注册机构Internet Assigned Numbers Authority (IANA)处申请得到,这类地址的范围由图5.5给出。

  RFC1918文件分别在A、B、C类地址中指定了三块作为内部IP地址。这些内部IP地址可以随便在局域网中使用,但是不能用在互联网中。

  IP地址是在80年代开始由TCP/IP协议使用的。不幸的是TCP/IP协议的设计者没有预见到这个协议会如此广泛地在全球使用。二十年后的今天,4个字节编码的IP地址不久就要被使用完了。

  A类和B类地址占了整个IP地址空间的百分之七十五,却只能分配给1万7千个机构使用。只有占整个IP地址空间的百分之十二点五的C类地址可以留给新的网络使用。

  新的IP版本已经开发出来,被称为IPv6。而旧的IP版本被称为IPv4。IPv6中的IP地址使用16个字节的地址编码,将可以提供3.4x1038个IP地址,拥有足够的地址空间迎接未来的商业需要。

  由于现有的数以千万计的网络设备不支持IPv6,所以如何平滑的从IPv4迁移到IPv6仍然是个难题。不过,在IP地址空间即将耗尽的压力下,人们最终会该用IPv6的IP地址描述主机地址和网络地址。 5.1.2ARP协议

 

  我们知道,主机在发送一个数据之前,需要为这个数据封装报头。在报头中,最重要的东西就是地址。在数据帧的三个报头中,需要封装进目标MAC地址、目标IP地址和目标port地址。

  要发送数据,应用程序要么给出目标主机的IP地址,要么给出目标主机的主机名或域名,否则就无法指明数据该发送给谁了。

  但是,如何给出目标主机的MAC地址呢?目标主机的MAC地址是一个随机数,且固化在对方主机的网卡上。事实上,应用程序在发送数据的时候,只知道目标主机的IP地址,无法知道目标主机的MAC地址。

  ARP协议的程序可以完成用目标主机的IP地址查到它的MAC地址的功能。

  当主机176.10.16.1需要向主机176.10.16.6发送数据时,它的ARP程序就会发出ARP请求广播报文,询问网络中哪台主机是176.10.16.6主机,并请它应答自己的查寻。

  网络中的所有主机都会收到这个查询请求广播,但是只有176.10.16.6主机会响应这个查询请求,向源主机发送ARP应答报文,把自己的MAC地址FE:ED:31:A2:22:A3传送给源主机。于是,源主机便得到了目标主机的MAC地址。

  这时,源主机掌握了目标主机的IP地址和MAC地址,就可以封装数据报的IP报头和帧报头了。

  为了下次再向主机176.10.16.6发送数据时不再向网络查询了,ARP程序会将这次查询的结果保存起来。ARP程序保存网络中其它主机MAC地址的表称为ARP表。如图5.7所示。

  图5.7 主机中的ARP表

  当别人给ARP程序一个IP地址,要求它查询出这个IP地址对应的主机的MAC地址时,ARP程序总是先查自己的ARP表,如果ARP表中有这个IP对应的MAC地址,则能够轻松、快速地给出所要的MAC地址。如果ARP表中没有,则需要通过ARP广播和ARP应答的机制来获取对方的MAC地址。

  下面看看ARP程序是如何工作的?

  ARP程序在局域网中是一个非常重要的程序。没有ARP程序,我们就无法得到目标主机的MAC地址,也就无法封装帧报头。

  说明这种通过IP地址获得MAC地址方法的协议被称为ARP协议。从本节后,我们将逐步学习很多协议。协议是为某个程序或某个硬件的设计做出的约定。一个协议一般要说明三个东西:你要做的程序或硬件要完成什么功能;实现这个功能的方法;实现这个功能所需要通讯的数据格式。比如ARP协议,规定了ARP程序完成通过IP地址获得MAC地址的功能。规定了通过广播报查询目标主机,并由目标主机应答源主机的方法。最后,ARP协议还规定了ARP请求报文和ARP应答报文的格式。

  ARP程序在哪里?由谁编写的呢?

  在主机中的ARP程序是操作系统的一部分。Windows2000、UNIX、LINUX这样的操作系统中都有ARP程序。当然,Windows2000中的ARP程序是微软公司的工程师们编写的。

  在Windows2000机器上,可以在“命令提示符”窗口用Ipconfig/all命令查看到本机的MAC地址。

  图5.8 在Windows2000机器上查看ARP表  5.1.3IP地址表现网络地址

 

  IP地址是一个层次化的地址,既能表示主机的地址,也表现出这个主机所在网络的网络地址。

  在图5.9中有三个C类地址的网络192.168.10.0、192.168.11.0和192.168.12.0,它们由路由器互联在一起,可以通过路由器交换数据。

  从4.1.1中我们知道,C类地址的前3个字节是网络地址编码。网络地址的主机地址码部分置0。192.168.10.0、192.168.11.0和192.168.12.0这三个网络地址的最后一个字节都是0,它们不表示任何主机,表示的是一个网络的地址编码。

  当主机192.168.10.2需要与主机192.168.11.19通讯时,通过比较目标主机IP地址的网络地址编码部分,它便知道对方与自己不在一个网段上。与主机192.168.11.19的通讯需要通过路由器转发才能到达。

  每个网络都必须有自己的网络地址。事实上,我们都是先获得网络的网络IP地址,然后才用这个网络IP地址为这个网络上的各个主机分配主机IP地址的。

<尚大教育,教育至上,人才为大:sdedu.cc>
 
   各省软考办 
 
来顶一下
返回首页
返回首页
上一篇:计算机网络:子网划分
下一篇:计算机网络:网络寻址
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年05月27-28日软考考试还有
尚大软考交流群:376154208
软考各地考务机构
历年真题汇总




各省市软考报名简章