码迷,mamicode.com
首页 > 其他好文 > 详细

IP地址及子网掩码的学习

时间:2018-03-06 15:11:22      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:ip

IP地址及子网掩码的学习

目录:

1)ip地址
2)子网掩码

一.ip地址:

ip地址是32bits的一组二级制数字(只包含0和1),由此可唯一标记一台机器
ip地址有两部分组成:网络ID和主机ID

ABC类IP地址

根据网络ID的位数和主机ID的组成个数可以大致分为以下几类:

A类  网络ID 8位,主机ID 24位  网络ID以0开头         
    换算成 十进制: 0.0.0.0.~127.255.255.255
B类  网络ID 16位  主机ID16位   网络ID以10开头
    换算成 十进制: 128.0.0.0~191.255.255.255
C类  网络ID 24位  主机ID 8位    网络ID以110开头
    换算成 十进制: 172.0.0.0~223.255.255.255
D类  组播地址 网络ID以1110开头
E类  网络ID以1111开头 
其中的D类和E类简单了解一下即可 生活当中基本接触不到

技术分享图片

公有IP和私有IP

根据网络的用途又可分为公有IP和私有IP:

publicIP:这种IP地址可以直接连接至Internet
privateIP:这种ip地址不能直接连接到internet,主要用于规划局域网内的规划

私有IP分别在ABC三类当中各保留一段作为私有ip网段
classA: 10.0.0.0 -- 10.255.255.255
classB: 172.16.0.0 --- 172.31.255.255
classC:192.168.0.0 -- 192.168.255.255

这三段中的ip的地址是无法上网的,只能限于内部网络使用

二.子网掩码

子网掩码的产生

在最初的网络里,网络根据ip地址分为的三种类型 而 形成的三个网域 
这三个网域内的各个机器可以进行方便的访问 但是这一个网域内的机器数目太过庞大 也
不便于管理 为了将网域分为更小的范围 
人们想出来了一种解决方案,正是靠子网掩码来将一个大网域划分为更多的小网域

子网掩码解决划分网域的途径

子网掩码的计算:

根据IP的网络ID和主机ID就可以得出子网掩码
将网络ID所在的位置全部化为1 将主机ID所在的位数全部化为0

子网切分

将主机ID借一位到网络ID上,就可实现切分为两个子网

技术分享图片
技术分享图片

这里有一个公式:子网切分数= 2^借位数

CIDR

为了方便表示IP和子网掩码 大佬们想到了一个简单的方法:IP/子网掩码位数 (CIDR表示法)
举例 :IP为192.168.0.0 子网掩码为255.255.255.0 用CIDR法表示
            step1:先将子网掩码由二进制转换为十进制
                    11111111.11111111.11111111.00000000
            setp2:CIDR表示为:192.168.0.0/24

超网划分:

在某些情况下,我们需要将多个小网络合并成一个大网络,每个网络主机ID变多,
网络ID变少,原来的主机ID位向网络ID位借位。其目的是节约路由器的记录数

举例:
220.78.10101000.0   168
220.78.10101001.0   169
220.78.10101010.0   170
220.78.10101011.0   171
220.78.10101100.0   172
220.78.10101101.0   173
220.78.10101110.0   174
220.78.10101111.0   175

这8个IP地址就可以合并为一个ip来节省路由器的资源,加快访问速速

220.78.168.0/21  

子网切分练习题

1)

IP地址:172.16.100.200
子网掩码:255.255.224.0

a.用CIDR表示:

step1:将子网掩码由二进制转换为十进制
            255.255.224.0
            11111111.11111111.11100000.00000000
step2:CIDR表示为
            172.16.100.200/19

b.网络ID是多少

step1:将IP地址由二进制转换为十进制
            10101100.00010000.01100100.11001000
step2:将二进制的IP地址与二进制的子网掩码进行运算 子网掩码为1时保留原IP位 否则为0
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 0 0 1 0 0. 1 1 0 0 1 0 0 0
            1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 1 1 1 0 0 0 0 0. 0 0 0 0 0 0 0 0
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 0 0 0 0 0. 0 0 0 0 0 0 0 0
step3:将二进制的结果转换为十进制
            172.16.96.0/19

c.网络主机数有多少

num=2^(32-19)-2

d.网络主机的范围是多少

step1:将长度为子网掩码为1的数IP记录下来(即网络ID)
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 x x x x x . x x x x x x x x
            1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 1 1 1 
step2:将x全部变为0即最小值 将x全部变为1即最大值
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 0 0 0 0 0.0
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 x 1 1 1 1 .255
step3:将二进制的结果转换为十进制(ip的最后一组不能为0和255)
            最小值:172.16.96.1
            最大值:172.16.177.254

2)

IP地址:114.203.188.10/20

a.子网掩码

由CIDR表示法可以得到子网掩码为1的个数为20
step1:用二进制表示为
1 1 1 1 1 1 1 1.1 1 1 1 1 1 1 1.1 1 1 1 0 0 0 0.0 0 0 0 0 0 0 0
step2:转换为十进制为
255.255.240.0

b.网络ID

114.203.188.10
255.255.240.0

step1:将ip和子网掩码有十进制转换为二进制
                IP:114.203.10111100.0
                子网掩码:255.255.1111000.0

step2:将ip和子网掩码进行运算,得出结果:
            114.203.10110000.0

step3:将二进制的结果转换为十进制
            114.203.176.0/20

c.主机数

2^(32-20)-2

d.网络主机范围

step1:将ip和子网掩码进行运算 x全部变为0为最小值,x全部变为1为最大值
                但是ip的最后一位不能为0或255
            114.203.1011x x x x. x x x x x x x x 
            255.255.1111
step2:
            最小值:114.203.10110 0 0 0 .0 0 0 0 0 0 0 1
            最大值:114.203.11111 1 1 1 .1 1 1 1 1 1 1 0
step3:
            将二进制的结果转换为十进制
114.203.176.1--114.203.191.254

IP地址及子网掩码的学习

标签:ip

原文地址:http://blog.51cto.com/13572413/2083419

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!