看了忘,忘了看,如此反反复复,似乎裹足不前。最近深感总结重要性,必须要形成日志记录下来。一来总结,二来备忘。
一 分类网络
不谈历史,只谈现在的。目前网络地址被为 A、B、C、D、E 五类地址,其中D类为群播,E类地址用以保留。而其他三类均为单播地址。
每类地址都可以32位长度的二进制(0101)数来表示。32位当中,前面几位为前缀位,紧接着为网络号,剩下的位数是主号。每类网络地址的位各不一样。(网络地址位数包括前缀位)
Class 前缀位 网络号 剩余的位数 网络数 每个网络的主机数 A类地址 0 7 24 128 16,777,214 B类地址 10 14 16 16,384 65,534 C类地址 110 21 8 2,097,152 254 D类地址(群播) 1110 未定义 未定义 未定义 未定义 E类地址(保留) 1111 未定义 未定义 未定义 未定义
可用的主机地址总是2^N - 2(N是所用的位数,减2是因为第一个和最后一个地址都是无效的。一般来说,第一位是默认网关)。因此,对于用8位来表示主机号的C类地址来说,主机数就是254。
计算方式为:2的8次幂-2 = 254
这里第一个指主机号全为0,表示整个网段的地址(NetWork Ip)198.168.0.0,全为1表示为广播地址 (BroadCast IP)192.168.0.255.即网段内ip范围:192.168.0.1~192.168.0.254
按位来表示
A类地址
-
-
- 0 = 00000000.00000000.00000000.00000000 127.255.255.255 = 01111111.11111111.11111111.11111111
-
二进制 转为10进制
01111111 = 1*2^0+1*2^1+....+1*2^6 = 127
B类地址
-
-
- 0 = 10000000.00000000.00000000.00000000 191.255.255.255 = 10111111.11111111.11111111.11111111
-
二进制 转为10进制
10111111 = 1*2^0+1*2^1+....+1*2^7 = 191
C类地址
-
-
- 0 = 11000000.00000000.00000000.00000000 223.255.255.255 = 11011111.11111111.11111111.11111111
-
二进制 转为10进制
11011111 = 1*2^0+1*2^1+....+1*2^7 = 223
二 广播地址
广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。
在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。
三 Netmask(网络掩码也叫子网掩码-Subnet mask)用来进行划分子网的。
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。
子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络
默认的子网掩码为网络号全是1,主机号全是0的那个ip地址
分类 前缀码 开始地址 结束地址 对应CIDR修饰 默认子网掩码 A类地址 0 0.0.0.0 127.255.255.255 /8 255.0.0.0 B类地址 10 128.0.0.0 191.255.255.255 /16 255.255.0.0 C类地址 110 192.0.0.0 223.255.255.255 /24 255.255.255.0 D类地址 1110 224.0.0.0 239.255.255.255 /4 未定义 E类地址 1111 240.0.0.0 255.255.255.255 /4 未定义
所以C类地址中:
子网掩码:Netmask: 255.255.255.0 <==网域定义中,最重要的参数 网段地址(网络号):Network: 192.168.0.0 <==第一个 IP (主机号全是0) 广播地址:Broadcast: 192.168.0.255 <==最后一个 IP (主机号全是1)
可用以设定成为主机的 IP 数: 192.168.0.1 ~ 192.168.0.254
子网划分: 有时候会看到 172.16.0.0/23 这种写法,23代表着网络号占了23位。那怎么知道这个子网掩码,网段地址,广播地址?
10101100 00010000 0000000 0 00000000
------------------------- h -------h
这23位是网络号,后面9位是主机号
子网掩码:网络号全是1,主机号全是0 计算出来: 255.255.254.0
11111111.11111111.1111111 0.00000000 255.255.254.0
网段地址:主机号全是0, 计算出来:172.16.0.0
172 . 16 .0000000 0.00000000 172.16.0.0
广播地址:主机号全是1 计算出来:172.16.1.255
172 . 16 .0000000 1.11111111 172.16.1.255
请问 192.168.10.100/25 与 192.168.10.200/25 是否在同一个网域内?
首先是否在一个局域网(子网掩码是否相同)
192.168.10.100/25
11000000.10101000.00001010.0*1100100
网段192.168.10.0
广播地址:192.168.10.127
子网掩码:255.255.255.0
192.168.10.200/25
11000000.10101000.00001010.1*1001000
网段:192.168.10.128
广播地址:192.168.10.255
子网掩码:255.255.255.128
很明显子网掩码不一样不在同一个局域网里
CIDR (Classless Interdomain Routing)
无等级网域间路由
简单理解,更改了原有的网络号长度的方法,就是无等级网域间路由