前言
我们常见的IPv4和IPv6都是由二进制位数组成的,虽然我们常见的IP都是由十进制来表示的,但是我们还是要知道如何进行进制位数的转换
一、计算机的数值
我们日常了解的百兆网络的单位是比特率bps(单位是:位/秒,bit/s)。比如我们说的百兆网卡的传输速度是100兆也即是100Mbps/s,在实际应用中我们所用的传输单位是byte/s。
单位:byte是字节,而bit是二进制的单元。
1024 byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 TB
1024 TB = 1 PB
1024 PB = 1 EB
1024 EB = 1 ZB
1024 ZB = 1 YB
##**这里了解一下KiB、MiB与KB、MB的区别**
KiB与MiB是以2为底数的指数,KB和MB是以10为底数的指数
1、数制
数制就是计数的方法,指用一组固定的符号和统一的规则表示数值的方法
二进制:由两个数码0,1组成
八进制:由数码0、1、2、3、4、5、6、7组成
十进制:由数码0、1、2、3、4、5、6、7、8、9组成
十六进制:由十六个数码:数字0~9加上字母A-F组成(A~F分别表示十进制数10~15)
2、数位
数位是指数字符号在一个数中所处的位置
3、基数
基数是指在某种进位计数制中,数位上所能使用的数字符号的个数
4、位权
位权是指在某种进位计数制中,数位所代表的大小,即处在某一位上的“1”所表示的数值的大小
计算机的数值有我们日常用的十进制数(Decimal number)、计算机语言二进制数(Binary number)、八进制数(Octal number )和十六进制(Hexadecimal number)
进制转换方法
1、权值的计算
二进制: (1010)B = 1*2³+0*2²+1*2¹+0*2º
八进制: (2536)O = 2*8³+5*8²+3*8¹+6*8º
十六进制:(3C7)H = 3*16²+12*16¹+7*16º
2、取余数
3、二进制、八进制与十六进制的转换
以二进制为例:高位 7 6 5 4 3 2 1 0 低位
权位 7 6 5 4 3 2 1 0
二进制<------------------>八进制<----------------->十六进制
(101011)2 (53)8 (2B)16
5、进制对照表:
十进制(D) | 二进制(B) | 八进制(O) | 十六进制(H) |
---|---|---|---|
0 | 0000 | 00(000) | 0 |
1 | 0001 | 01 (001) | 1 |
2 | 0010 | 02 (010) | 2 |
3 | 0011 | 03(011) | 3 |
4 | 0100 | 04(100) | 4 |
5 | 0101 | 05 (101) | 5 |
6 | 0110 | 06 (110) | 6 |
7 | 01111 | 07(111) | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
##八位常见二进制
10000000-------------128
11000000-------------192
11100000-------------224
11110000-------------240
11111000-------------248
11111100-------------252
11111110-------------254
11111111-------------255
二、子网划分
1、IP地址
IPv4是由32位二进制数组成分成四组,例如:11100000.10101001.00000001.00000010
便于配置通常表示成十进制形式,例如:192.168.2.0
IPv6是由128位组成,一般用冒号分隔,通常用十六进制表示
IPv4有两部分组成(192.168.1.163为例)
网络部分 + 主机部分
网络部分:192.168.1 + 主机部分:163
网络地址:192.168.1.0
广播地址:192.168.1.255
2、IP地址的分类
IP地址大致可以分为A、B、C、D、E五类
A类地址范围:1.0.0.1~126.255.255.254
A类地址=网络部分+主机部分+主机部分+主机部分 #默认子网掩码为255.0.0.0 -8
#默认子网掩码为/8,即255..0.0.0
B类地址范围:128.0.0.1~191.255.255.254
B类地址=网络部分+网络部分+主机部分+主机部分 #默认子网掩码为255.255.0.0 -16
#默认子网掩码为/16,即255.255.0.0
C类地址范围:192.0.0.1~223.255.255.254
C类地址=网络部分+网络部分+网络部分+主机部分 #默认子网掩码为255.255.255.0 -24
#默认子网掩码为/24,即255.255.255.0
D类地址范围:224.0.0.1~239.255.254 用于组播地址通信
组播:一对列
单播:一对一
广播:一对多
E类地址范围:224.0.0.1~239.255.255.254
用于科学研究的保留地址
##其中以127开头的IP地址都代表本机(其中广播地址127.255.255.255除外),127.0.0.1为本机的回环地址(网络回环地址)
169.254.0.0~169.254.255.255 DHCP服务时效时分配的地址
3、子网划分
(划分的各段之间不能进行通信)
网段组成:网络地址,可用IP,广播地址
列:192.168.2.199 /24
网络地址:192.168.2.0
广播地址:192.168.2.255
可用IP:192.168.2.1~192.168.2.254 #掐头去尾:0做网络地址,255做广播地址
子网掩码有32个二进制位,对应IP地址的网络部分用1表示,对应IP地址的主机用0表示
IP地址和子网掩码通过运算可以得到网络地址
其中0和任何数相与都等于0;1和任何数相与都等于这个数本身,具体换算如下:
序列号:192.168.1.189 /26
11100000.10101000.00000001.10111101 #用二进制表示IP地址
11111111.11111111.11111111.11000000 #子网掩码(255.255.255.192)
----------------------------------------------------------------
11100000.10101000.00000001.10000000 #网络地址(192.168.1.128)
11100000.10101000.00000001.10111111 #广播地址(192.168.1.191)
子网掩码数与主机数的关系:
子网数 = 2 ^ n #比如11000000从前往后数n个1
可容纳主机数 = 2 ^ m #比如11000000从后往前数m个0
可用主机数 = 可容纳主机数 - 2 (减掉的是网络号和广播号)
我们还可以通过IP地址的类型来判断N的值:
A类地址:子网掩码 - 8
B类地址:子网掩码 - 16
C类地址:子网掩码 - 24 #N = 32 - 子网掩码
以C类地址为例(192.168.1.0),常见的子网掩码和个数与IP数的关系
/24 | /25 | /26 | /27 | /28 | /29 | /30 | |
---|---|---|---|---|---|---|---|
子网掩码 | 0 | 128 | 192 | 224 | 240 | 248 | 252 |
子网个数 | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
IP个数 | 256 | 128 | 64 | 32 | 16 | 8 | 4 |
可用IP数 | 254 | 126 | 62 | 30 | 14 | 6 | 2 |
总结
常见进制主要是:二进制(B)、十进制(D)、八进制(O)、十六进制(H)
认识进制的转换方法:权值计算、取余、加法减法换算;进制转换表和常见的八位二进制需要记忆;
子网划分中需要了解:IP地址的分类,其中最常见的A、B、C三类地址;网络地址、广播地址、子网掩码的划分与换算。
思考
IP地址为:172.16.0.200 /23 ,求这个IP地址的子网数和主机数
套用公式:172属于B类IP地址,因为23超过B类默认掩码16位但不满C类的24位掩码,则可以向主机部分借用7位1补齐第三段掩码,则子网个数=2⁷=128,主机IP数=2⁹=512,可用IP数=IP-2=510