网络基础之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 ...
随机推荐
- php数组和正则表达式的替换拆分匹配所有
正则表达式 $s = "a1s2d3f1g5f";//echo preg_replace("/\d/","#",$s); //替换 //$ ...
- [H5]range对象的createRange方法
range对象的extractContents()方法: extractContents() 方法删除文档内容,并以 DocumentFragment 对象的形式返回它; DocumentFragme ...
- select、poll、epoll简介
epoll跟select都能提供多路I/O复用的解决方案.在现在的Linux内核里有都能够支持,其中epoll是Linux所特有,而select则应该是POSIX所规定,一般操作系统均有实现 sele ...
- Swift语言中与C/C++和Java不同的语法(二)
这一部分,主要讲Swift中创新的可选型(optionals) 一.概要 可选型是Swift创新的一种新的类型,首先看一下可选型的应用场景: var errorCode : Int = 404 这时候 ...
- 80C51学习 闪烁灯
//引入头文件 #include <reg52.h> typedef unsigned char u8; typedef unsigned int u16; //位定义 sbit LED= ...
- SpringMVC详解(五)------参数绑定
参数绑定,简单来说就是客户端发送请求,而请求中包含一些数据,那么这些数据怎么到达 Controller ?这在实际项目开发中也是用到的最多的,那么 SpringMVC 的参数绑定是怎么实现的呢?下面我 ...
- 一个想法照进现实-《IT连》创业项目:聊聊最近两三事
今天打算写一篇断流水式的作文,哈,不按常规的写格式文了. 话说创业到现在,也快近半年了,时间那是飘的一个字:快! 从设想的很多很远,到被人不断告知要单点突破:从美好的远景,到现实艰难的执行:创业更像是 ...
- [js高手之路]HTML标签解释成DOM节点
最近在封装一个开源框架,已经写了500行, 已经具备jquery的大多数常用功能.跟jquery的使用方法完全一样,jquery的选择器,几乎都能支持,为什么说这事,跟这篇文章的主题有毛关系呢?因为这 ...
- Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!
Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ...
- hr用法
定义和用法 <hr> 标签在 HTML 页面中创建一条水平线. 水平分隔线(horizontal rule)可以在视觉上将文档分隔成各个部分. HTML 与 XHTML 之间的差异 在 H ...