【TCP/IP】IP地址分类和特殊IP地址

IP地址是因特网技术中的一个很是重要的概念,IP地址在IP层实现了底层网络地址的统一,使因特网的网络层地址具备全局惟一性和一致性。IP地址含有位置信息,反映了主机的网络链接,使因特网进行寻址和路由选择的依据。网络

 

IP地址概述

地址是标识对象所处位置的标识符。传输中的信息带有源地址和目的地址,分别标识通讯的源结点和目的结点,即信源和信宿。目的地址是传输设备为信息进行寻址的依据。oop

不一样的物理网络技术(底层网络技术)一般具备不一样的编址方式,这种差别主要表现:不一样的地址结构、不一样的地址长度测试

在一个物理网络中,每一个结点都至少有一个机器可识别的地址,该地址叫做物理地址。物理地址又称为硬件地址、MAC地址或第二层地址。物理地址有两个特色:不一致性、不惟一性。spa

  • 不一致性是指不一样的物理网络技术采用不一样的编址方式;
  • 不唯一性是指不一样的物理网络中的结点的物理地址可能重复。

为了保证寻址的正确性,必须确保一个网络中结点地址的唯一性。另外,不一样物理网络在地址编址方式上的不统一会给寻址带来极大的不便。在进行网络互联时首先要解决的问题是物理网络地址的统一问题。3d

因特网是在网络级进行互联的,所以,因特网在网络层(IP层)完成地址的统一工做,将不一样物理网络的地址统一到具备全球唯一性的IP地址上,IP层所用到的地址叫做因特网地址,又叫IP地址。代理

因特网采用一种全局通用的地址格式,为全网的每个网络和每一台主机都分配一个IP地址,以此屏蔽物理网络地址的差别。对象

因特网沿用了ARPANET的思想,仍然采用层次型地址。因特网由网络联结而成,网络由主机联结而成。这种地址体现了网络的层次结构,便于进行寻址。IP地址由网络号和主机号构成。表示为:blog

IP-address ::= {<Network-number>, <Host-number>}接口

网络号(Network-number) 主机号(Host-number)

其中:网络号的长度决定了整个因特网中能容纳多少网络,主机号的长度决定每一个网络能容纳多少台主机。队列

因特网的IP协议提供了一种全因特网通用的地址格式(保证一致性),并在统一管理下进行IP地址的分配(保证唯一性),确保一个地址对应一台因特网主机(或路由器)。 因为IP地址标识了一个主机的位置(所属的网络),当将一台主机从一个网络移到另外一个网络时必须改变这台主机的IP地址。(通常来讲)

IPv4规定,因特网地址长度为32比特(IPv6规定地址长度为128比特)。IPv4的地址空间为2^32,即4 294 967 296个IP地址。IP地址通常用点分十进制数表示,例如202.119.84.120。这四个用点分隔的段分别对应四个字节。IP地址也能够用二进制(11001010 01110111 01010100 01111000)或十六进制表示(0XCA775478)。IP地址的二进制表示在讨论地址类别和掩码时常常会用到,而十六进制表示在IPv4中不多使用。

 

分类IP地址

传统的因特网采用分类地址。IP定义了五类IP地址:A类、B类、C类、D类和E类。以下图所示:

各种网络所占地址空间的比例以下图所示:

A、B和C是三个基本的类,分别表明不一样规模的网络:

  • A类地址:1个字节的网络号,3个字节的主机号,用于少许的大型网络;
  • B类地址:2个字节的网络号,2个字节的主机号,用于中等规模的网络;
  • C类地址:3个字节的网络号,1个字节的主机号,用于小规模的网络。

A类地址

第一个字节的最高位固定为0,另外7比特可变的网络号能够标识128个网络(0~127),0通常不用,127用做环回地址。因此共有126个可用的A类网络。A类地址的24比特主机号能够标识1677216台主机(2^24 =1677216)。另外,主机号为全0时用于表示网络地址,主机号为全1时用于表示广播地址。这两个主机号不能用来标识主机。因此,每一个A类网络最多能够容纳1 677 214台主机。A类地址的第一个字节的取值范围为0~127。

B类地址

第一个字节的最高2比特固定为10,另外14比特可变的网络号能够标识214=16384个网络。16比特主机号能够标识65 536台主机,(216=65536)。因为主机号不能为全0和全1,因此,每一个B类网络最多能够容纳65534台主机。B类地址的第一个字节的取值范围为128~191。

C类地址

第一个字节的最高3比特固定为110,另外21比特可变的网络号能够标识221=2097152个网络。8比特主机号能够标识256台主机(28=256),因为主机号不能为全0和全1。因此,每一个C类网络最多能够容纳254台主机。C类地址的第一个字节的取值范围为192~223。

D类地址

D类地址用于组播(multicasting),所以,D类地址又称为组播地址。D类地址的范围为224.0.0.0~239.255.255.255,每一个地址对应一个组,发往某一组播地址的数据将被该组中的全部成员接收。D类地址不能分配给主机。D类地址的第一个字节的取值范围为224~239。

有些D类地址已经分配用于特殊用途:

224.0.0.0 是保留地址、224.0.0.1 是指本子网中的全部系统、224.0.0.2 是指本子网中的全部路由器、224.0.0.9 是指运行RIPv2路由协议的路由器、224.0.0.11是指移动IP中的移动代理。

另外,还有一些D类地址留给了网络会议:

224.0.1.11 用于IETF-1-AUDIO、224.0.1.12 用于IETF-1-VIDEO

E类地址

E类地址为保留地址,能够用于实验目的。E类地址的范围:240.0.0.0 ~ 255.255.255.254,E类地址的第一个字节的取值范围为240~255。 

在分类地址网络中每一个网络占用一个地址块。各种网络地址块的示例以下表所示:

各种网络地址块的示例
类别 起始地址 结束地址 网络地址 主机地址范围 广播地址
A类 86.0.0.0 86.255.255.255 86.0.0.0 86.0.01-86.255.255.254 86.255.255.255
B类 188.6.0.0 188.6.255.255 188.6.0.0 188.6.0.1-188.6.255.254 188.6.255.255
C类 206.8.2.0 206.8.2.255 206.8.2.0 206.8.2.1-206.8.2.254 206.8.2.255

每一个网络都要占用两个IP地址,一个用于标识网络,一个用于网络广播。每一个网络使用该网络地址块的起始地址做为网络地址,该地址仅做为网络的标识,主要用在网络路由中。网络地址块的结束地址被用做该网络的广播地址。

在因特网的地址中包含了网络信息。当一个路由器或网关连到多个网络上时,每一个网络都会给路由器或网关分配一个IP地址,设备有多少个网络链接,就有多少个IP地址。并且这些IP地址分别属于不一样的网络。一台主机也能够链接多个网络,这种主机叫做多宿主主机(Multi-homed Host)。多宿主主机拥有多个IP地址,每一个地址对应于一个物理链接。下图是一个多宿主主机的例子:

因特网地址的本质是标识主机的网络链接。

因特网地址是由中央管理机构进行分配的。一个组织加入因特网时,从因特网的网络信息中心InterNIC得到网络前缀,而后负责组织内部的地址分配。这样,既解决了全局惟一性问题,又分散了管理负担。

 

特殊IP地址

在IP地址中有一些并非来标注主机的,这些地址具备特殊的意义。这些地址包括网络地址、直接广播地址、受限广播地址、本网络地址、环回地址等。

网络地址

因特网上的每一个网络都有一个IP地址,其主机号部分为“0”。

网络地址的通常表达式为:

{<Network-number>,<Host-number>}={<Network-number>,0}

该地址用于标识网络,不能分配给主机,所以不能做为数据的源地址和目的地址。

  • A类网络的网络地址为:Network-number.0.0.0。例如,120.0.0.0;
  • B类网络的网络地址为:Network-number.0.0。例如,139.22.0.0;
  • C类网络的网络地址为:Network-number.0。例如,203.120.16.0。

直接广播地址

直接广播(Direct Broadcast Address):向某个网络上全部的主机发送报文。TCP/IP规定,主机号各位所有为“1”的IP地址用于广播,叫做广播地址。路由器在目标网络处将IP直接广播地址映射为物理网络的广播地址,以太网的广播地址为6个字节的全“1”二进制位,即:ff:ff:ff:ff:ff:ff 。

直接广播地址的通常表达式为:

{<Network-number>,<Host-number>}={<Network-number>, -1}

这里的“-1”表示全“1”。 

直接广播地址只能做为目的地址。

  • A类网络的直接广播地址为:Network-number.255.255.255。例如,120.255.255.255;
  • B类网络的直接广播地址为:Network-number.255.255。例如,139.22.255.255;
  • C类网络的直接广播地址为:Network-number.255。例如,203.120.16.255。

受限广播地址

直接广播要求发送方必须知道信宿网络的网络号。但有些主机在启动时,每每并不知道本网络的网络号,这时候若是想要向本网络广播,只能采用受限广播地址(Limited Broadcast Address)。

受限广播地址是在本网络内部进行广播的一种广播地址。TCP/IP规定,32比特全为“1”的IP地址用于本网络内的广播。

受限广播地址的通常表达式为:

{<Network-number>,<Host-umber>}={-1, -1}

其点分十进制表示为:255.255.255.255。

受限广播地址只能做为目的地址。

路由器隔离受限广播,不对受限广播分组进行转发。也就是说因特网不支持全网络范围的广播。

本网络地址

TCP/IP协议规定,网络号各位所有为“0”时表示的是本网络。本网络地址分为两种状况:本网络特定主机地址和本网络本主机地址。

本网络特定主机地址的通常表达式为:

{<Network-number>,<Host-number>}={0, <Host-number>}

本网络特定主机地址只能做为源地址。

本网络本主机地址的通常表达式为:

{<Network-number>,<Host-number>}={0, 0}

本网络本主机地址的点分十进制表示为:0.0.0.0。

本网络本主机地址只能做为源地址。

无盘工做站启动时没有IP地址,此时采用网络号和主机号都为“0”的本网络本主机地址做为源地址。 

环回地址

环回地址(Loopback Address)是用于网络软件测试以及本机进程之间通讯的特殊地址。 

A类网络地址127.X.X.X被用做环回地址。

环回地址的通常表达式为:

{<Network-number>,<Host-number>}={127, <any>}

习惯上采用127.0.0.1做为环回地址,命名为localhost。

当使用环回地址做为目标地址发送数据时,数据将不会被发送到网络上,而是在数据离开网络层时将其回送给本机的有关进程。

环回接口对IP数据报的处理过程,以下图所示:

在发送IP数据时,首先要判别该数据报的目的IP地址是否为环回地址,若是是环回地址,则直接将IP数据报放入IP输入队列实现环回。对于直接以本机地址做为目的地址的IP数据包也要会送给本机。对于广播或组播数据报,则在会送给本机的同时还要向网络发送。