• IP地址
  • Ipv4地址格式:点分十进制
  • IP地址的分类
  • A类
  • B类
  • C类:
  • D类:组播
  • E类:
  • 公共IP地址
  • 私有IP地址
  • 特殊地址
  • 保留地址
  • 子网掩码
  • 什么是子网掩码
  • CIDR表示法
  • 子网划分
  • 为啥要划分子网
  • 划分超网
  • 跨路由通信
  • 路由分类
  • 路由表的构成
  • DHCP的工作过程

IP地址

  他们唯一标识IP网络中的每一台设备,包括每台主机(计算机,网络设备,外围设备)必须具有唯一的地址。

IP地址由两部分组成:

网络号

作用:标识网络

每个网段非配一个网络ID

主机号

作用:标识单个主机

有组织分配给各个设备

Ipv4地址格式:点分十进制

IP地址的分类

1 网络主机数=2^(主机ID位数)-2=2^(32-网络ID位数)-2

2 网络数=2^可变网络ID位数

A类:

  0 000 0000 - 0 111 1111: 1-127

  网络数: 126, 127

  每个网络中的主机数: 2^24-2

  默认子网掩码: 255.0.0.0

  私网地址: 10.0.0.0

  前8位网络ID,24位主机ID

  0XXXXXXX.A.B.C

  1-126.A.B.C

  主机数=2^24-2=16777214

B类:

  10 00 0000 - 10 11 1111: 128-191

  网络数: 2^14

  每个网络中的主机数: 2^16-2

  默认子网掩码: 255.255.0.0

  私网地址: 172.16.0.0-172.31.0.0

  前16位网络ID,16位主机ID

  10XXXXXX.XXXXXXXX.B.C

  10000000

  10111111

  128-191.A.B.C

  网络数:2^14

  主机数=2^16-2=65534

C类:

  110 0 0000 - 110 1 1111: 192-223

  网络数: 2^21

  每个网络中的主机数: 2^8-2

  默认子网掩码: 255.255.255.0

  私网地址: 192.168.0.0-192.168.255.0

  前24位网络ID,8位主机ID

  110XXXXX.XXXXXXXX.XXXXXXXX.C

  11000000

  11011111

  192-223.A.B.C

  主机数=2^8-2=254

  网络数=2^21=2M

D类:组播

  1110 0000 - 1110 1111: 224-239

E类:

  240-255

公共IP地址

什么是公网IP地址

互联网组织分配的地址,世界唯一。

私有IP地址

什么是私有IP地址。

用在局域网。

特殊地址

0.0.0.0

  0.0.0.0不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。(未知地址)

255.255.255.255

  限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机

127.0.0.1~127.255.255.254

  本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为"127.0.0.1"的 数据包。

224.0.0.0到239.255.255.255

  组播地址, 224.0.0.1特指所有主机, 224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序。

169.254.x.x

  如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址。

保留地址

子网掩码

什么是子网掩码

  子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

CIDR表示法

CIDR表示法就是使用一个数字来表示子网掩码的位数,在划分子网中起着重要的作用,是很们很容易区分网络号和主机号而不必在通过子网掩码一步一步的计算查看。格式:IP/cidr

例如:192.168.111.124/23

表示有23位子网掩码,进而计算出网段:192.168.110.0/23

子网划分

为啥要划分子网

  当我们对一个网络进行子网划分时,基本上就是将它分成小的网络。比如,当一组IP地址指定给一个公司时,公司可能将该网络"分割成"小的网络,每个部门一个。这样,技术部门和管理部门都可以有属于它们的小网络。通过划分子网,我们可以按照我们的需要将网络分割成小网络。这样也有助于降低流量和隐藏网络的复杂性。

接下来,我们以一些实例来说明如何划分子网:

172.200.249.200/22 划分16子网,求:

每个子网络netmask

每个子网络的主机数

最小子网的netid

最大子网的IP范围

首先,我们得到的是一个有子网掩码位数的ip地址,因此,我们要先找到这个ip的网络号,如何求呢?

我们可以将ip和子网掩码位数化作二进制

10101100-11001000-11111001-11001000     IP地址

11111111-11111111-11111100-00000000 子网掩码

所以,我们可以得到网络号是:172.200.248.0/22

接下来,我们开始划分子网,我们需要十六个子网,也就是需要2^4个,我们就要向主机号借四位才足够我们的子网的网络地址:

10101100-11001000-11111000-00000000     IP地址

11111111-11111111-11111111-11000000 子网掩码

此时,我们的子网掩码是255.255.255.192

我们现在每个子网的主机数为2的(32-26)平方-2个主机,即62个主机

最小子网的网络号:172.200.248.0/22

最大子网的IP范围:172.200.251.193/26 ~ 172.200.251.254/26

接下来,我们再看一个示例:

10.0.0.0/8 划分32子网,第10个子网是河南省,对此子网划分64个子网

每个子网络netmask

每个子网络的主机数

最小子网的netid

最大子网的IP范围

由上面的示例我们可以得到第十个子网的10.72.0.0/13,即:

00001010-01001000-00000000-00000000 IP

11111111-11111000-00000000-00000000 子网掩码

我们要对此网络再划分64个子网,也就是说向主机位借6位才行,所以子网掩码应该是:

11111111-11111111-11100000-00000000

255.255.224.0

我们可以得到每个子网的主机数为:2^(32-19)-2=8190主机数

最小的子网的网络号:

00001010-01001000-00000000-00000000 IP

11111111-11111111-11100000-00000000 子网掩码

即:

10.72.0.0/19

最大子网的范围:10.79.224.1/19~10.79.2225.254/19

划分超网

  超网(supernetting)是与子网类似的概念--IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络--超网。

  超网创建用来解决路由列表超出现有软件和管理人力的问题以及提供B类网络地址空间耗尽的解决办法。超网允许一个路由列表入口表示一个网络集合,就如一个区域代码表示一个区域的电话号码的集合一样。

跨路由通信

路由分类

主机路由

目标主机是一个具体的到达主机的IP号

网络路由

目标主机是一个网段而不是一个具体的主机IP

默认路由

默认路由就是离源主机最近的路由器,由于它只有两端,一端连接主机,一端连接其他路由器,因此,所有源主机发送的报文只从默认路由通往外网。

路由表的构成

路由表是由多个路由记录组成的

每一个路由记录最关键的有四项内容

目标地址

子网掩码

接口

网关(gateway)

主机地址

网络地址

未知地址

netmask

接口interface ,发往目标,从哪个接口发出去

下一个路由器的邻近本路由器的接口的IP

我们以上表为例,看看每个路由表里的内容是什么:

路由器R1:

目标netID

netmask

interface

gateway

10.1.0.0

255.255.0.0

1

 

10.2.0.0

255.255.0.0

2

 

10.3.0.0

255.255.0.0

2

10.2.0.2

10.4.0.0

255.255.0.0

2

10.2.0.2

路由器R2:

目标netID

netmask

interface

gateway

10.1.0.0

255.255.0.0

3

10.2.0.1

10.2.0.0

255.255.0.0

3

 

10.3.0.0

255.255.0.0

4

 

10.4.0.0

255.255.0.0

4

10.3.0.2

路由器R3:

目标netID

netmask

interface

gateway

10.1.0.0

255.255.0.0

5

10.3.0.1

10.2.0.0

255.255.0.0

5

10.3.0.1

10.3.0.0

255.255.0.0

5

 

10.4.0.0

255.255.0.0

6

 

由于路由器具有相互学习,所以,我们新装上的路由器会相互之间发报文,将自己没有但是相临的路由器有的路由表内容进行学习,添加到自己的表中,以便使用。

DHCP的工作过程

第一步,客户端发DHCP广播报文,请求一个IP地址

第二步,当所有的DHCP服务器得到此报文后,也会发一个DHCP报文,告诉客户端,可以给它分配一个IP地址,并将客户端MAC地址记录下来

第三步,当客户端收到报文后,会向其中一个DHCP服务器发出确认报文,告诉它,需要一个IP地址。

第四步,DHCP服务器发一个DHCP广播,内容包括:

IP netmask gateway dns 租期

在给客户端分配的ip地址等信息中,租期一般是一天,客户端一般会在租期的最后八分之一的时间从新申请ip的使用,如果不成功,就会使用一个169.254.x.x的IP地址。

由于DHCP工作是基于广播的,如果与服务器之间隔有路由,需要在客户端设置中继代理。代理服务器会向DHCP 服务器转发(单播)代理服务器再把回来的消息发给客户端。

网络基础之IP地址与子网划分的更多相关文章

  1. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

  2. IP地址与子网划分

    IP地址与子网划分 目录 IP地址与子网划分 一.IP地址(Internet Protocol Address) 1.IP地址的表示 2.IP地址的组成 3.IP地址的分类 (1)A类IP地址 (2) ...

  3. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  4. IP地址和子网划分学习笔记之《预备知识:进制计数》

    一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...

  5. linux 网络基础之IP地址

    IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议. IP地址类型分为:公有地址.私有地址. 公有地址 公有地址(Publ ...

  6. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》

    原文地址: https://blog.51cto.com/6930123/2112748 一.子网掩码 IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相 ...

  7. 第5章 IP地址和子网划分(3)_子网划分

    6.子网划分 6.1 地址浪费 (1)IPv4公网地址资源日益紧张,为减少浪费,使IP地址能够充分利用,就要用到子网划分技术. (2)传统上一个C类地址,如212.2.3.0/24,其可用的地址范围为 ...

  8. 网络基础之IP地址和子网掩码

    IP地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算 ...

  9. 如何对IP地址进行子网划分?

    在网络行业,子网划分是必须掌握的的基础知识点,下图是IP地址分类: 子网划分主要掌握的是划分思路,接下来我以192.168.1.72/27的IP划分做为例子: CIDR:无类域间路由. 可以看出192 ...

随机推荐

  1. 浅析Java RTTI 和 反射的概念

    一.概念: RTTI(Run-Time Type Identification,运行时类型识别)的含义就是在运行时识别一个对象的类型,其对应的类是Class对象,怎么理解这个Class对象呢?如果说类 ...

  2. Struts2之初识

    Struts2教程 第一章 初识Struts2 主页:http://struts.apache.org/ 优势:用户请求,模块处理,页面展现.适用于企业级开发,便于维护. 配置:web.xml中添加的 ...

  3. Vue2.0父子组件之间和兄弟组件之间的数据交互

    熟悉了Vue.js的同级组件之间通信,写此文章,以便记录. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点,请在官网上进行查看,不再赘述. 使用NPM及相关命令行工具初始化的Vue工程,目录结 ...

  4. Yii2 在模块modules间跳转时,url自动加模块名

    如目的地址product/detail, 当前模块是admin, 访问时如果目的url'product/detail',会变成'admin/product/detail'. 解决方法:url改成'/p ...

  5. Spring(四)-- JdbcTemplate、声明式事务

    1.Spring提供的一个操作数据库的技术JdbcTemplate,是对Jdbc的封装.语法风格非常接近DBUtils.   JdbcTemplate可以直接操作数据库,加快效率,而且学这个JdbcT ...

  6. Java温故而知新-冒泡法排序

    冒泡法排序是各种初学者在学习数组与循环结构时都会练习的一种简单排序算法. 冒泡法的精髓在于比较相邻的两个元素,较大的元素会不断的排到队伍后面去,就像水里的泡泡一样不断向上跑. 想像一下倒在一个透明玻璃 ...

  7. 2017年9月3日 Spring及Mybatis中连接数据库的不同方式

    连接数据库用spring和mybatis中使用的方法可以不同,mybaits可以不用写数据库的配置文件 Spring的连接方法 <!-- 读取属性文件(.properties)的内容 --> ...

  8. macaca 测试web(2)

    还是以博客园登录为例, 可以查看上一篇上一篇 这次只测试登录,使用ddt的数据驱动,这里我博客也有记录 地址 其实我在uiautomator +python 实现安卓自动化 一文当中我已经使用过ddt ...

  9. 递归的二叉查找树Java实现

    package practice; public class TestMain { public static void main(String[] args) { int[] ao = {50,18 ...

  10. c89和c99中/运算符和%运算符为负数时的区别

    运算式 -8 / 5 = -1.6,在C89中取值为 -1 或 -2,C99的出现,CPU对除法的结果向零取整,上述运算式结果为 -1. 在C89和C99中都要确保 (a / b) * b + a % ...