网络基础之IP地址与子网划分
- 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地址与子网划分的更多相关文章
- IP2——IP地址和子网划分学习笔记之《子网掩码详解》
2018-05-04 16:21:21 在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...
- IP地址与子网划分
IP地址与子网划分 目录 IP地址与子网划分 一.IP地址(Internet Protocol Address) 1.IP地址的表示 2.IP地址的组成 3.IP地址的分类 (1)A类IP地址 (2) ...
- IP地址和子网划分学习笔记之《IP地址详解》
2018-05-03 18:47:37 在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...
- IP地址和子网划分学习笔记之《预备知识:进制计数》
一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...
- linux 网络基础之IP地址
IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议. IP地址类型分为:公有地址.私有地址. 公有地址 公有地址(Publ ...
- 【转载】IP地址和子网划分学习笔记之《子网掩码详解》
原文地址: https://blog.51cto.com/6930123/2112748 一.子网掩码 IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相 ...
- 第5章 IP地址和子网划分(3)_子网划分
6.子网划分 6.1 地址浪费 (1)IPv4公网地址资源日益紧张,为减少浪费,使IP地址能够充分利用,就要用到子网划分技术. (2)传统上一个C类地址,如212.2.3.0/24,其可用的地址范围为 ...
- 网络基础之IP地址和子网掩码
IP地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算 ...
- 如何对IP地址进行子网划分?
在网络行业,子网划分是必须掌握的的基础知识点,下图是IP地址分类: 子网划分主要掌握的是划分思路,接下来我以192.168.1.72/27的IP划分做为例子: CIDR:无类域间路由. 可以看出192 ...
随机推荐
- phpexcel导入excel处理大数据
先下载对应phpExcel 的包就行了https://github.com/PHPOffice/PHPExcel下载完成 把那个Classes 这个文件夹里面的 文件跟文件夹拿出来就好了.直接写到PH ...
- String、StringBuffer与StringBuilder
String.StringBuffer与StringBuilder之间区别 最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBui ...
- HTML的第一课
今天是第一天学习HTML,老师讲的内容不是很多,内容也比较简单.但是标签的数量很多,在做作业时十分不熟练,很多标签需要重新看它的意思.而且有很多标签在一起用的时候容易搞混.学的标签中有很多地方是通用的 ...
- Vue 实例中的生命周期钩子
Vue 框架的入口就是 Vue 实例,其实就是框架中的 view model ,它包含页面中的业务处理逻辑.数据模型等,它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻 ...
- for循环 + setTimeout 结合的烂大街的面试题
零.背景 最近在翻看以前的老书<node.js开发指南>,恰好碰到for循环 + setTimeout的经典例子,于是重新梳理了思路并记录下. 一.写在前面,setTimeout和setI ...
- Windows下JNI的使用教程
JNI的使用大致有以下4个步骤: 一.在Java中写native方法 二.用javah命令生成C/C++头文件 三.写对应的C/C++程序实现头文件中声明的方法,并编译成库文件 四.在Java中加载这 ...
- 创建springbootdemo后运行报MongoSocketOpenException错误解决方法
在类SpringbootdemoApplication上右键Run as选择Spring Boot App后Console输出报错日志如下: com.mongodb.MongoSocketOpenEx ...
- Cannot convert 0 of type class java.lang.Integer to class java.lang.Boolean
org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp thre ...
- Chome——扩展程序,获取更多扩展程序报错
修改/替换hosts文件 地址:c:/windows/system32/drivers/etc hosts:可从网上搜索下载或网盘下载(链接: http://pan.baidu.com/s/1bpu6 ...
- 用JS制作一个信息管理平台
首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...