ip、子网掩码

1. ip

ip地址是一个32位的二进制数,通常被分割成4部分(每部分为8位二进制)。其表示方法为“点分十进制”,a.b.c.d的形式,如192.168.199.1。我们以1为例,虽然他展示给我们是1,但其实是二进制的00000001。由于每一部分,如d所在部分都是8位二进制,故所有的可能性共有 2 8 = 256 2^8=256 28=256种,因此ip的每部分都在0-255之间。

2. 子网掩码

此处大部分描述来自:https://www.zhihu.com/question/56895036/answer/150953183
从前有一个地主,有256间房子,地主家的门牌号码是“192.168.1”,那么他家第一间房子的门牌号码是192.168.1.0,第二间是192.168.1.1,…第256间的编号是192.168.1.255。地主老了,需要把256间房子分给4个儿子,平均分配,每个儿子可以分64间。请来一位先生主持公道,先生这么来操作:
192.168.1.0-192.168.1.63 分给大儿子
192.168.1.64-192.168.1.127 分给二儿子
192.168.1.128 -192.168.1.191 分给三儿子
192.168.1.192-192.168.1.255 分给四儿子
那如何来描述四个儿子的子网网段呢?
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
/26是什么鬼?
255.255.255.192的二进制是多少?
“11111111-11111111-11111111-11”大家数数一共多少个1?不用数了,是26个1,为了简化子网掩码的表示,用/26代替255.255.255.192。
按位与运算我们来看大儿子的网段192.168.1.0/26是如何得到的?
以大儿子的房间为例(192.168.1.0-192.168.1.63):
192.168.1.0的二进制为:
11000000.10101000.00000001.00000000
192.168.1.63的二进制为:
11000000.10101000.00000001.00111111
两个二进制首尾地址完全相同的是多少?11000000.10101000.00000001.00数数一共多少位?26位!那么用这个“192.168.1.0/26”就可以表示大儿子所有房间(相同的有26位,说明不同的有末尾的6位, 2 6 = 64 2^6=64 26=64,故从192.168.1.0到192.168.1.63,共有64种可能性)。
对照房间的门牌号码“192.168.1.199”,很显然属于四儿子的。一个主机192.168.1.199/26 能否和直连主机192.168.1.200/24 通信?可以的,因为都是四儿子的房间。
一个主机192.168.1.199/26 能否和直连主机192.168.1.1/24 通信? 不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信!
192.168.1.0/26中/26可以理解成子网掩码,他将前三部分进行了省略
通过子网掩码,就可以判断两个IP在不在一个局域网内部。
子网掩码可以看出有多少位是网络号,有多少位是主机号,涉及ip知识,暂不做解释

猜你喜欢

转载自blog.csdn.net/weixin_43178406/article/details/105834732