IP地址的规划和设计方法(一)

一,IP地址的概念和划分地址新技术的研究

(1)标准分类的IP地址

第一阶段是在IPv4协议制定的初期,时间大致在1981年左右。那时候网络的规模比较小,用户一般是通过终端,

经过大型计算机或中小型计算机接入ARPANET。

IP地址是由网络号与主机号组成的,长度是32bit,用点分十进制方法表示,这样就构成了标准分类的IP地址。常

用的A类、B类、C类IP地址采用包括“网络号-主机号”的两层结构层次(RFC1812)。A类地址的网络号长度是7bit,

实际允许分配A类地址的网络只能有126个。B类地址的网络号长度是14bit,因此允许被分配B类地址的只能有16384

个。

(2)划分子网的三级地址结构

第二阶段是在标准分类的IP地址基础上,增加子网号的三级地址机构。

人们认为A类与B类IP地址设计不合理,对IP地址的匮乏表示强烈的担忧。1991年研究人员提出了子网subnet和

掩码mask的概念。构成子网就是将一个大的网络划分成几个较小的子网络,将传统的“网络号-主机号”的两级结构,

变为“网络号-子网号-主机号”的三级结构。

(3)构成超网的无类域间路由(CIDR)技术

第三个阶段是1993年提出了无类域间路由(ClasslessInterDomainRouting,CIDR)技术(RFC1519)

无类域间路由的出现是希望解决Internet扩展中存在的两个问题:

a)32位IP地址空间可能在第40亿台主机接入Internet前就耗尽。

b)随着越来越多的网络地址出现,主干网的路由表增大,路由器负荷增加,服务质量下降。

无类域间路由CIDR技术也被称为超网技术。构成超网的目的是将现有的IP地址合并成较大的、具有更多主机地

址的路由域。例如,可以将一个组织所属的C类网络合并到一个更多的地址范围的大的路由域中。

(4)网络地址转换(NAT)技术

第四个阶段是1996年提出的网络地址转换(NAT)技术(RFC2993、RFC3022)。

网络地址转换设计的基本思路:为每一个公司分配一个或少量的IP地址,用于传输Internet的流量。在公司内部的

每一台主机分配一个不能够在Internet上使用的保留的专用IP地址(RFC1918)。

专用IP地址是Internet管理机构预留的,任何组织使用都不需要向Internet管理机构申请,所以网络管理人员都应

该知道这些地址是为专用网络内部使用的。这类地址在专用网络内部中是唯一的,但是在Internet中并不是唯一的。

专用IP地址用于内部网络的通信,如果需要访问外部Internet主机,必须由运行网络地址转换的主机或路由器将内

部的专用IP地址转换成全局IP地址。

二,标准分类的IP地址

IPv4的地址长度为32bit,用点分十进制(dotteddecimal)表示。通常采用x.x.x.x的方式来表示,每个x为8bit,每

个x的值为0~255,例如,202.113.29.119。

标准分类的IP地址:

(1)A类地址

A类地址网格号(netID)的第一位为0,其余的各位可以分配。因此A类地址共被分为大小相同的128块,每一块的

netID不同。

第一块覆盖的地址为:0.0.0.0~0.255.255.255(netID=0)

第二块覆盖的地址为:1.0.0.0~0.255.255.255(netID=1)

第一块覆盖的地址为:0.0.0.0~0.255.255.255(netID=0)

第二块覆盖的地址为:1.0.0.0~0.255.255.255(netID=1)

……

最后一块覆盖的地址为:127.0.0.0~0.255.255.255(netID=127)

但是,第一块和最后一块地址留作特殊用途,另外netID=10的10.0.0.0~10.255.255.255用于专用地址,其余的

125块可指派给一些机构。因此能够得到A类地址的机构只有125个。每一个A类网络可以分配的主机号hostID可以是2

的24方-2=16777214个,主机号为全0和全1的两个地址保留用于特殊目的。

(2)B类地址

B类地址的网络号长度为14位,网络号总数为16384。B类地址的主机号长度为为16位,因此每个B类网络可以有

2的16次方=65536个主机号。但是,主机号为全0和全1的两个地址保留用于特殊目的,因此实际上一个B类IP地址允

许分配的主机号位65534个。

(3)C类地址

C类IP地址网络号长度为21位,主机号长度为8位。因为网络号长度为21位,因此允许有2的21次方=2097152个

不同的C类网络。由于主机号长度为8位,因此每个C类网络的主机号数最多为2的8、次方=256个。同样,主机号为全

0和全1的两个地址保留用于特殊目的,因此实际上一个C类IP地址允许分配的主机号为254个。

(4)特殊地址形式

特殊的IP地址包括:直接广播(directedbroadcasting)地址、受限广播(limitedbroadcasting)地址、“这个网络

上的特定主机”地址和回送地址(loopbackaddress)。

a)直接广播地址

在A类、B类、C类IP地址中,如果主机号是全1(二进制),那么这个主机号为直接广播地址,它是用来使路由器将

一个分组以广播方式发送给特定网络上的所有主机。

在A类、B类、C类IP地址中,如果主机号是全1(二进制),那么这个主机号为直接广播地址,它是用来使路由器将

一个分组以广播方式发送给特定网络上的所有主机。例如,主机要以广播方式发送一个分组给特定网络(网络地址为

201.161.20.0)上的所有主机,那么需要使用直接广播地址,这个直接广播地址为201.161.20.255。

b)受限广播地址

2位全为1的广播地址(255.255.255.255)为受限广播地址,用来将一个分组以广播方式发送给本网络中的所有

主机。路由器则阻挡该分组通过,将其广播功能限制在本网内部。

c)“这个网络上的特定主机地址”

当一个主机或一个路由器向本网络的某个特定的主机发送一个分组,那么它就需要使用“这个网络上的特定主

机”地址。“这个网络上的特定主机”的网络号位全0(二进制),主机号为确定的值。这样的分组被限定在本网内部,由主

机号对应的主机接收。例如,主机要向本网络中的某个主机(IP地址为201.161.20.18)发送一个分组,那么需要使

用“这个网络上是特定主机地址”,这个地址为0.0.0.18。

d)回送地址

A类地址中的127.0.0.0是回送地址,它是一个保留地址。回送地址是用于网络软件测试和本地进程间通信。

TCP/IP协议规定:含网络号为127的分组不能出现在如何网络上;主机和路由器不能为该地址广播任何寻址信

息。“Ping”应用程序可以发送一个将回送地址作为目的地址的分组,以测试IP软件是否接收或发送一个分组。一个客

户进程可以使用回送地址来发送一个分组给本机的另一个进程,用来测试本地进程之间的通信情况。

三,划分子网的三级网络结构

(1)子网的基本概

标准分类的IP地址存在着两个主要的问题:IP地址的有效利用率问题和路由器的工作效率问题。为了解决这个问

题,人们提出了子网(subnet)的概念。RFC940对子网的概念和划分子网的标准做出了说明。

提出子网概念的基本思路是:允许将网络划分成多个部分供内部使用,但是对于外部网络,仍然像一个网络一样。

子网的划分有利于优化网络性能,改善网络管理。

(2)划分子网的地址结构

IP地址是层次型结构的,它的长度是32位。标准的A类、B类、C类IP地址是包括网络号(netID)与主机号

(hostID)的两层层次结构。划分子网技术的要点是:

a)三级层次是IP地址:netID——subnetID——hostID;

b)同一个子网中所有主机必须使用相同的子网号subnetID

c)子网的概念可以应用于A类、B类、C类中任意一类的IP地址中;

d)子网之间的距离必须很近;

e)分配子网是一个组织和单位内部的事,它既不要向ICANN申请,也不需要改变任何外部

的数据库;

f)在Internet的文献中,一个子网也称为一个IP网络或一个网络。

a)三级层次是IP地址:netID——subnetID——hostID;

b)同一个子网中所有主机必须使用相同的子网号subnetID

c)子网的概念可以应用于A类、B类、C类中任意一类的IP地址中;

d)子网之间的距离必须很近;

e)分配子网是一个组织和单位内部的事,它既不要向ICANN申请,也不需要改变任何外部

的数据库;

f)在Internet的文献中,一个子网也称为一个IP网络或一个网络。

(3)子网掩码的概念

当三级层次的IP地址提出后,一个很现实的问题是:如何从一个IP地址中提取出子网号。

人们提出了子网掩码或掩码的概念。子网掩码有时叫做子网屏蔽码。掩码的概念同样适用于没有进行子网划分的

A类、B类、C类地址。

A类,B类和C类地址掩码:

如果路由器处理的是一个标准的IP地址,那么它只要判断IP地址的前两位值,如果是10,那它肯定是一个B类地

址。B类地址的网络号长度为16位,那么该IP地址的前16表示的是网络号,后16位表示的是主机号。如果路由器在处

理划分子网之后的三层结构IP地址时,需要给它IP地址和子网掩码。它需要通过标准地址的前三位判断该地址的A类、

B类或C类地址,同时根据子网掩码判断出子网号。标准的B类地址的16位的网络号是不变的,如果需要划分出64个子

网,那么就可以借用原16位主机号的6位,该子网的主机号就变成了10位。子网掩码用点分十进制表示为

255.255.252.0,另一种表示方法是用“/”加上网络号+子网号的长度,即“网络号/22”表示。

在某种情况下,在子网划分时子网号长度可以是不同的。IP地址协议允许使用变长子网的划分。

子网号为7的子网掩码:

四,无类域间路由(CIDR)技术

(1)无类域间路由技术的基本概念

从无类域间路由的命名就可以看出,CIDR的研究思路是:将剩余的IP地址不是按照标准的地址分类规则分配,

而是以可变大型的块方法进行分配。ISP、大学、机关与公司在确定IP地址结构时,不是限制于标准分类的IP地址结

构,而是根据对IP地址管理和路由器的需要来灵活地决定。无类域间路由技术的特点主要有以下两点:

a)CIDR使用区别于传统标准分类的IP地址和划分子网概念的“网络前缀

(network-prefix)”,代替“网络号+主机号”,形成新的无分类的二级地址结构,即IP地址表示为<网络前缀>,<主机号>。

b)CIDR将网络前缀相同的连续的IP地址组成一个“CIDR地址块”。

(network-prefix)”,代替“网络号+主机号”,形成新的无分类的二级地址结构,即IP地址表示为<网络前缀>,<主机号>。

b)CIDR将网络前缀相同的连续的IP地址组成一个“CIDR地址块”。

一个CIDR地址块是由块起始地址和块地址数来表示的。地址块的起始地址是指地址块中地址数值最小的一个。

例如,当200.16.23.0/20表示的是一个地址块时,它的起始地址是200.16.23.0,地址块中的地址数是2的12次方。因

为在这个地址块中,网络前缀表示对应20位的网络号是确定的,可以由获得这个地址块的机构分配的主机数有2的12

次方个,也就是说这个机构可以分配的地址数有2的12次方个。

(2)在A类、B类和C类IP地址中,如果主机号为全1,那么这个地址为广播地址。在无类域间路由中,广播地址也

采用相同的原则。例如网络156.25.0.0/16中的广播地址应该是将16位的主机号置1,即156.25.255.255;网络

156.25.0.0/24的广播地址应该是将8位的主机号置1,即156.25.0.255;网络156.25.0.0/28的广播地址是将4位的主机

号置1,即156.25.0.15;网络195.1.22.64/27的广播地址具有考虑5位的主机号置1。由于64的二进制数为01000000,

后5位的主机号置1之后为01011111(为十进制位95),那么网络195.1.22.64/27的广播地址为195.1.22.95。

(3)网络前缀越短,其地址块所包含的地址数越多。

五,专用IP地址和内部网络地址划分方法

(1)全局IP地址与专用IP地址

RFC1518对A类、B类、C类地址中全局IP地址和专用IP地址的范围做出了规定。全局IP地址与专用IP地址的区别

主要表现在以下几点:

a)使用IP地址的网络可以分为两种情况:一种是要将网络之间连到Internet;另一种是也需要运行TCP/IP协议,

但是它是内部网络,并不直接连接到Internet,但网络内部用户访问Internet是受到严格控制的。

b)使用全局IP地址是需要申请的,而专用IP地址是不需要申请的。

预留地址如表3-2所示:

c)全局IP地址必须保证在Internet上是唯一的;专用IP地址在某一个网络内部是唯一的,但是在Internet中并不是

唯一的。IPv4为内部网络预留的专用IP地址有三组。第一组是A类地址的一个地址块,这个地址中的地址空间为

10.0.0.0~10.255.255.255;第二组是B类地址的16个地址块(172.16~172.31);第三组是C类地址的256个地址块

(192.168.0~192.168.255)

(2)NAT方法的局限性

a)NAT违反了IP地址结构模型的设计原则。IP地址结构模型的基础是每个IP地址均标识了一个网络的连接。

Internet的软件设计就是建立在这个前提之上的,而NAT使得有很多主机可能在使用相同的IP地址,如10.0.0.1。

b)NAT使得IP协议从面向无连接变成了面向连接。NAT必须维护专用IP地址与公用IP地址以及端口号的映射关

系。在TCP/IP协议体系中,如果一个路由器出现故障,不会影响TCP/IP协议的执行。因为只有几秒钟收不到应答,

发送进程就会进入超时重传处理。而当存在NAT时,最初设计的TCP/IP协议将发生变化,Internet可能变得非常脆

弱。

c)NAT违反了基本的网络分层结构模型的设计原则。因为在传统的网络分层结构模型中,第N层是不能够修改第

N+1层的报头内容的。NAT破坏了这个这种各层独立的原则。

d)有些应用是将IP地址插入到正文的内容中,例如标准的FTP协议与IPPhone协议H.323。如果NAT与这一类协议

一起工作,那么NAT协议一定需要做适当的修正。同时,网络的传输层也可能使用TCP与UDP协议之外的其他协议,

那么NAT协议必须知道并且做相应的修改。由于NAT的存在,使得P2P应用实现出现困难,因为P2P的文件共享与语

言共享都是建立在IP协议的基础上的。

e)NAT同时存在对高层协议和安全性的影响问题。RFC2993对NAT存在的问题进行了讨论。NAT的反对者认为这

种临时性的缓解IP地址短缺的方案推迟了IPv6的迁移的进程,而并没有解决深层次问题,他们认为是不可取的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-07 07:15:00

IP地址的规划和设计方法(一)的相关文章

IP地址的规划和设计方法(三)

九,内部网络专用IP地址规划与网络地址转换NAT方法 (1)内部网络的专用IP地址选择的依据 RFC1918在讨论内部网络的专用IP地址规划方法时任务,使用专用地址规划一个内部网络地址系统时,首选的方 案是使用A类地址中的专用IP地址块.理由主要有两个" a)该地址覆盖从10.0.0.0到10.255.255.255的地空间,由用户分配的子网号和主机号的 总长度为24位,可以满足各种专用网络的需要. b)A类专用地址特征比较明显,从20世纪80年代之后,10.0.0.0的地址已经不再使用了. 因

IP地址的规划和设计方法(二)

五,IP地址规划方法 (1)IP地址规划的基本步骤 网络地址规划需要按以下6步进行: a)判断用户对网络与主机数的需求: b)计算满足用户需求的基本网络地址结构: c)计算地址掩码: d)计算网络地址: e)计算网络广播地址: f)计算网络主机地址. (2)地址规划的基本方法 a)步骤一:判断网络与主机数量的需求 根据网络总体设计中物理拓扑设计是参数,确定以下两个主要数据: 1)网络中最多可能使用的子网数量Nnet: 2)网络中最大网段已有的和可能扩展的主机数量Nhost. b)步骤二:计算满足

Oracle 使用本地IP地址连接异常的解决方法

前几天的安装的Oracle测试环境,今天发现不能使用本地IP连接,连接提示错误 "Oracle the network adapter could not establish the connection" 这个问题折腾我时间比较长,网上很多资料都不太适合我的情况.不过最后还是被找到了 花了很多时间在其他方面没有锁定问题根源. 1 开始以为是防火墙 server client端都排除 2 oracle client端问题 (ubuntu 安装的client端) 3 最后用程序测试发现还

linux下设置ip地址 gw网关,dns的方法

本文介绍下,在linux中设置IP地址.网关.dns的方法,有需要的朋友作个参考吧. 设置linux网络的方法有两种:第一种:使用命令修改(直接即时生效) 复制代码代码示例: ip and netmask:# ifconfig eth0 192.168.30.197 netmask 255.255.255.0gateway:# route add default gw 192.168.30.1 eth0 dns:# vi etc/resolv.confnameserver 202.131.80.

IP地址查询接口及调用方法

1.查询地址 搜狐IP地址查询接口(IP):http://pv.sohu.com/cityjson 1616 IP地址查询接口(IP+地址):http://w.1616.net/chaxun/iptolocal.php 126(地址): http://ip.ws.126.net/ipquery 2.使用 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>//ie指定编码,默认是gbk <

PHP对IP地址和子网掩码的处理方法

ip2long IP地址转换成整型.long2ip 整型数据转换成IP. 子网掩码转换成掩码长度方式:$slash_notation = strlen(preg_replace("/0/", "", decbin(ip2long($subnet_mask))));$bits=strpos(decbin(ip2long($mask)),"0"); 子网掩码位长转换成子网掩码形式:$mask = 0xffffffff << (32 - $

[转] python 获取本机ip地址的两种实现方法

#!/usr/bin/python import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:2

JAVA IP地址转成长整型方法

代码例如以下: /** * IP转成整型 * @param ip * @return */ public static Long ip2int(String ip) { Long num = 0L; if (ip == null){ return num; } try{ ip = ip.replaceAll("[^0-9\\.]", ""); //去除字符串前的空字符 String[] ips = ip.split("\\."); if (ips

怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结

最近一直在看全国计算机三级网络技术这本书,看到第二章的时候,不免会遇到计算机中最常用的进制转换问题.什么IP地址,什么子网掩码,什么网路地址,什么广播地址都会用到二进制和十进制的相互转化,而且最常用的是8位二进制数一组的转化,这就来总结相互转化最快的方法. 首先来认识标准分类的IP地址: IP地址是由网络号与主机号组成的,长度是32bit,用点分十进制方法表示,这样就构成了标准分类的IP地址.常用的A类.B类.C类IP地址采用包括"网络号-主机号"两层结构.通常采用x.x.x.x的方式