网络规划中的IP地址分配

在网络规划中,IP地址方案的设计至关重要,好的IP地址方案不仅可以减少网络负荷,还能为以后的网络扩展打下良好的基础。本文就网络规划中IP地址方案设计进行一些讨论,并给出一个IP地址方案设计实例。

一、IP地址和子网掩码

  IP地址用于在网络上标识唯一一台机器。根据RFC791的定义,IP地址由32位二进制数组成(四个字节),表示为用圆点分成每组3位的12位十进制数字(xxx.xxx.xxx.xxx)每个3位数代表8位二进制数(一个字节)。由于1个字节所能表示的最大数为255,因此IP地址中每个字节可含有0~255之间的值。但0和255有特殊含义,255代表广播地址:IP地址中0用于指定网络地址号(若0在地址末端)或结点地址(若0在地址开始)。例如, 192?168?32?0指网络192.168.32.0,而0.0.0.62指网络上结点地址为62的计算机。

  根据IP地址中表示网络地址字节数的不同将IP地址划分为三类,A类,B类,C类。A类用于超大型网络(百万结点),B类用于中等规模的网络(上千结点),C类用于小网络(最多254个结点)。A类地址用第一个字节代表网络地址,后三个字代表结点地址。B类地址用前两个字节代表网络地址,后两个字节表示结点地址。C类地址则用前三个字节表示网络地址,第四个字节表示结点地址。见表1。

  网络设备根据IP地址的第一个字节来确定网络类型。A类网络第一个字节的第一个二进制位为0;B类网络第一个字节的前两个二进制位为10;C类网络第一个字节的前三位二进制位为110,见表2。换成十进制可见A类网络地址从1~127,B类网络地址从128~191,C类网络地址从192~223。224~239间的数有时称为D类,239以上的网络号保留。

  子网掩码用于找出IP地址中网络及结点地址部分。子网掩码长32位,其中1表示网络部分,0表示结点地址部分。A类,B类,C类网络的子网掩码见表3,如一个结点IP地址为192.168.202.195,子网掩码255.255.255.0,表示其网络地址为192.168.202,结点地址为195。

  有时为了方便网络管理,需要将网络划分为若干个网段。为此,必须打破传统的8位界限,从结点地址空间中“抢来”几位作为网络地址。具体说来,建立子网掩码需要以下两步:
  1、确定运行IP的网段数
  2、确定子网掩码

  首先,确定运行IP的网段数。例如,你的网络上有五个网段,但只让三个网段上的用户访问Internet,则只有这三个网段需要配置IP。在确定了IP网段数后,再确定从结点地址空间中截取几位才能为每个网段创建一个子网络号。方法是计算这些位数的组合值。比如,取两位,有四种组合(00、01、10、11),取三位有八种组合(000、001、010、011、100、101、110、111)。需要注意的是,在这些组中须除去全0和全1的组合。因为在IP协议中规定了全0和全1的组合代表了网络地址和广播地址,所以如果我们需要将C类网络(192.168.123.0)划分为4个网段,需要截取结点地址的前3位作为网络地址,与之对应的子网掩码就是255.255.255.244(11111111.11111111.
11111111.11100000),将此子网掩码用到地址192.168.123.0上得到的值见表4。

  可见,采用以上子网络方案,每个子网络有30个结点地址。通过从结点地址空间中截取几位作为网络地址的方法,可将网络划分为若干网段,方便了网络管理。 二、设计IP地址方案实例

  在网络规划的过程中,绘制一幅准确的网络图是不可缺少的。准确的网络文档对于日后的升级和分析问题是不可或缺的帮助。好的网络图应包含连接不同网段的各种网络设备的信息,比如路由器、网桥、网关的位置、IP地址,并用相应的网络地址标注各网段。若网络很小,只有一个网段,可同时画出其它关键网络设备(如服务器),包括网络地址。如图所示这是一幅简单的网络图,其中五个网段经服务器互连(这里由服务器提供路由功能),一个用于主干网连接其它网段。   在设计IP地址方案之前,应考虑以下几个问题:
  ?是否将网络连入Internet
  ?是否将网络划分为若干网段以方便网络管理
  ?是采用静态IP地址分配还是动态IP地址分配

  如果不计划连到Internet上,则可用RFC1918中定义的非Internet连接的网络地址,称为“专用Internet地址分配”。RFC1918规定了不想连入Internet的IP地址分配指导原则。由Internet地址授权机构(IANA)控制IP地址分配方案中,留出了三类网络号,给不连到Internet上的专用网用,分别用于A,B和C类IP网,具体如下:
  10.0.0.0~10.255.255.255
  172.16.0.0~172.131.255.255
  192.168.0.0~192.168.255.255

  IANA保证这些网络号不会分配给连到Internet上的任何网络,因此任何人都可以自由的选择这些网络地址作为自己的网络地址。表5是采用保留IP地址的网络地址分配方案。

  如果计划将网络连入Internet,则需要向ISP申请一个网络地址。这里,我们假定得到了一个C类网络地址192.168.168.0。根据网络图所示,整个网络划分为5个网段,每个网段都使用IP,因此必须用至少能建5个子网的子网掩码。这里,我们采用的子网掩码是255.255.255.244。网络的IP地址分配方案如表6所示。

  不难看出,采用子网掩码255.255.255.224将网络划分为5个网段后,每个网段可用的IP地址数为30个。如果某个网段的结点数超过了30个,可采用动态IP地址分配协议(DHCIP)加以解决。

文章录入:dnbm    责任编辑:dnbm

(0)

相关推荐

  • 网络规划中的IP地址分配

    在网络规划中,IP地址方案的设计至关重要,好的IP地址方案不仅可以减少网络负荷,还能为以后的网络扩展打下良好的基础.本文就网络规划中IP地址方案设计进行一些讨论,并给出一个IP地址方案设计实例. 一.IP地址和子网掩码 IP地址用于在网络上标识唯一一台机器.根据RFC791的定义,IP地址由32位二进制数组成(四个字节),表示为用圆点分成每组3位的12位十进制数字(xxx.xxx.xxx.xxx)每个3位数代表8位二进制数(一个字节).由于1个字节所能表示的最大数为255,因此IP地址中每个字节

  • 轻松获得网通、电信、铁通IP地址分配段的方法

    有时搞一些跨网段的工程和应用,需要尽量准确的知道电信.网通.铁通等电信运营商的IP地址段分配情况,可网上的资料不但很少,而且经常都是N个月前的过期资料-- APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的!下面就让我们看看如何在Linux下获得一些电信运营商的IP地址分配情况: shell> wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz  she

  • Python统计日志中每个IP出现次数的方法

    本文实例讲述了Python统计日志中每个IP出现次数的方法.分享给大家供大家参考.具体如下: 这脚本可用于多种日志类型,本人测试MDaemon的all日志文件大小1.23G左右,分析用时2~3分钟 代码很简单,很适合运维人员,有不足的地方请大家指出哦 #-*- coding:utf-8 -*- import re,time def mail_log(file_path): global count log=open(file_path,'r') C=r'\.'.join([r'\d{1,3}']

  • c语言中单引号和双引号的区别(顺利解决从字符串中提取IP地址的困惑)

    问题:从c++文件中将std:string转换为char*后,返回包含IP地址的char*,需要将该字符串char*中的IP地址提取出来: 解决办法:1. 解决思路:IP地址最长为12字符+3句点=15字符,一般性表示为192.168.111.111:可以从第一个字符开始解析,当不是'.'时,将所有字符保存下来,然后把所有保存下来的字符转换为16进制就可以了: 2. 程序如下: 复制代码 代码如下: typedef struct {    char addr_ipv4[4];} IPADDR_I

  • Python实现从log日志中提取ip的方法【正则提取】

    本文实例讲述了Python实现从log日志中提取ip的方法.分享给大家供大家参考,具体如下: log日志内容如下(myjob.log): 124.90.53.68 - - [05/Feb/2018 11:37:07] "GET /favicon.ico HTTP/1.1" 404 - 61.148.245.145 - - [05/Feb/2018 12:37:44] "GET / HTTP/1.1" 200 - 61.148.245.145 - - [05/Feb/

  • python3 requests中使用ip代理池随机生成ip的实例

    啥也不说了,直接上代码吧! # encoding:utf-8 import requests # 导入requests模块用于访问测试自己的ip import random pro = ['1.119.129.2:8080', '115.174.66.148', '113.200.214.164'] # 在(http://www.xicidaili.com/wt/)上面收集的ip用于测试 # 没有使用字典的原因是 因为字典中的键是唯一的 http 和https 只能存在一个 所以不建议使用字典

  • Ubuntu 18.04 LTS中配置IP地址的完整步骤

    前言 在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同.和旧版本的不同之处在于,Ubuntu 18.04 使用 Netplan 来配置 IP 地址,Netplan 是一个新的命令行网络配置工具.其实在 Ubuntu 17.10 的时候 Ubuntu 开发者就已经介绍过 Netplan 了.接下来要介绍的新的 IP 配置方法不会再用到 /etc/network/interfaces 这个文件,取而代之的是一个 YAML 文件.默认的 Netplan 配

  • python使用xlrd模块读取xlsx文件中的ip方法

    程序中经常需要使用excel文件,批量读取文件中的数据 python读取excel文件可以使用xlrd模块 pip install xlrd安装模块 示例: #coding=utf8 import xlrd from os import path import sys filename='ip.xlsx' if not path.isfile(filename): print "err: not exists or not file ip.xlsx " sys.exit() getfi

  • Python异步爬虫requests和aiohttp中代理IP的使用

    爬虫要想爬的好,IP代理少不了..现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证.下面就两种常用的模块来讲一下代理IP的使用方式.话不多说,直接开始. requests中代理IP的使用: requests中使用代理IP只需要添加一个proxies参数即可.proxies的参数值是一个字典,key是代理协议(http/https),value就是ip和端口号,具体格式如下. try: response = requests.get('https://httpbin

  • 教你使用Python从文件中提取IP地址

    目录 算法 : 代码 输出 : 代码: 输出 : 补充:python提取一段字符串中的ip地址 总结 让我们看看如何使用 Python 从文件中提取 IP 地址. 算法 : 为正则表达式导入 re 模块. 使用 open() 函数打开文件. 读取文件中的所有行并将它们存储在列表中. 声明 IP 地址的模式.正则表达式模式是: r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' 对于列表中的每个元素,使用 search() 函数搜索模式,将 IP 地址存储在列表中. 显

随机推荐