ip地址分类和子网掩码学习笔记
关于ip的一些学习心得
ip的概念其实很好理解,也很形象,就像一个门牌号一样,让人困惑的其实不是ip的概念本身,而是在日常计算机网络使用中,碰到很多有特殊意义的ip地址,例如,127.0.0.1,192.168.1.1,255.255.255.0等,为什么输入127.0.0.1是指向本地?为什么看自己本机ip一般都是192.168.1.x,为什么新买来的路由器一般是在浏览器输入192.168.1.1进入设置,没明白的时候觉得这些ip并不简单,让人捉摸不定,里面一定有很复杂的关系。
其实,这里面并没有很复杂的逻辑关系,简单点来说就是人们规定的,划分那个ip做什么用,有什么用途,都是人根据实际设计实现计算机通信的时候统一规定的,形成了一种规范。比如地址分类,他就是人规定的分类规则,“制定规则->解决问题”就是这样一个思路,造成了很多规则,这些规则也就成了我们要学习的知识,但如果只是硬背规则,不知道规则的来源和要解决什么问题,规则就总容易被忘记。
比如很简单的ip地址的写法:
x.x.x.x 4个数字用点连起来就是ip的写法,为什么要这么写?这个很简单不考虑为什么也能记住,但是如果也去尝试想想为什么会怎样呢,例如想到“人规定的,为了人阅读方便”,就像我们平时记忆手机号码的时候一样,即使没加点,我们也会不自觉的按 131停顿xxxx停顿xxxx 来记或报一个手机号码,所以这个ip格式还蛮符合人的思维模式的,加了几个点无非也是个很长的号码而已,这样的话总比硬生生的记住ip是用4串数字用点号连起来表达好吧。
再比如ip地址的分类,这个其实也很符合人的思维模式,把数字从1开始从小到大按段划分,第一段分给A,第二段分给B,第三段分给C....,就像人切蛋糕分给吃蛋糕的人一样,不会东切一块西切一块的。
ip地址也是按段划分出了ABCDE这几个类,A类地址一般给政府机构,B类一般给大中型公司,C类地址可以给任何人,这个为什么要这么划分,也很符合人的思维模式,好比分蛋糕的时候总要先分给领导,再分给组织,再分给个人一样,这样拿到一个ip地址的时候,也能从这个ip是大是小推断下这个ip地址的“地位”了。
来具体看下A,B,C类ip地址的区别,如下:
------------------------------------------------------------------------------------------------------------------------
A类地址的第1个字节为网络地址,后3个字节为主机地址.
A : 0 XXXXXXX . ( XXXXXXXXX . XXXXXXXXX . XXXXXXXXX )
ps : 重要的先献给zf等大机构 当然要多分点主机啦 网络号范围:【 1---126 】
-----------------------------------------------------------------------------------------------------------------------
B类地址第1,2个字节为网络地址,后两个字节为主机地址
B : 10XXXXXX . XXXXXX. ( XXXXXX . XXXXXX )
ps : 这次多分一些给公司,网络号自然也要增加,主机号位数也对应的调低一点 网络号范围:【 128.0---191.255 】
B类地址第1,2,3个字节为网络地址,最后1个字节为主机地址
-----------------------------------------------------------------------------------------------------------------------
C : 110xxxxx . xxxxxx . xxxxxxxx . (xxxxxxxx)
ps : 分给任何人,网络号继续增加, 主机号位数继续降低。 网络号范围:【 192.0.0---223.255.255 】
D和E就没有主机位了。
-----------------------------------------------------------------------------------------------------------------------
但是,划分这些规则的人也不是圣人,有很多事情并不能提前预见,这样就会出现新的要解决的问题,例如ip不够用,ip浪费,经常会用到一些操作,能不能给个通用ip单独用在一个地方等等。
碰到了新的问题,就会想新的办法,然后制定新的规则,这就是后面碰到的一些特殊ip。
例如在每个ip类别中划出特殊的一段做虚拟私有ip,来解决ip不足的问题,192是C类地址,经常会分配给家庭或小公司,所以我们经常看到自己的ip是192.168.x.x就来自于这里了。
有了虚拟ip,就可以使用一堆虚拟ip共用同一个公共实体ip了,但要借助虚拟ip转实体ip技术如NAT (Network Addresss Translation)。
子网掩码
学习子网掩码时,有这样一个容易让人进入的误区,那就是以为子网掩码增加了可用ip数,其实这话不对,但也不完全错,首先,子网掩码提高了实体ip的利用率,他并没有使ip的总数量增加,反倒是前面说的虚拟ip变相的增加了可用ip总数(包括虚拟ip在内),然后因为子网掩码提高了ip的利用率,使得原本容易被浪费的ip也被利用上了,从这个层面来说又的确增加了可用ip数,但只是从利用率上才能这么理解。
子网掩码可以表示一个ip的网络位是多少,但是A,B,C等类别的ip从定义里就可以看出网络位有多少位了,例如按定义,A类的网络位有8位 ,子网掩码是255.0.0.0,B类是16位,子网掩码是255.255.0.0,C类是24位,子网掩码是255.0.0.0,从定义里都能知道网络位数,干嘛还有子网掩码呢,因为这些只是默认的情况,默认的这些情况会造成ip浪费,所以要在主机位里追加划分子网,这样属于主机位的位数就不再是主机位了,可能变成了网络位,这个时候就可以用子网掩码来表示新的网络位和主机位的情况,当然,你也可以按默认的走。
所以,子网掩码的出现是为了解决ip利用率而出现的,要解决这个问题,就要在默认的ip类别里原来的主机位里划分新的子网,这个时候就要用一个新的规则来表示这个ip的网络位数,这样看起来就明白了子网掩码通常的两个作用了。