关于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就来自于这里了。

  A级:10.0.0.1 - 10.255.255.254
  B级:172.16.0.1 - 172.31.255.254
  C级:192.168.0.1 - 192.168.255.254

有了虚拟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的网络位数,这样看起来就明白了子网掩码通常的两个作用了。

ip地址分类和子网掩码学习笔记的更多相关文章

  1. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

  2. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  3. IP地址和子网划分学习笔记之《预备知识:进制计数》

    一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...

  4. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》

    原文地址: https://blog.51cto.com/6930123/2112748 一.子网掩码 IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相 ...

  5. IP 地址分类和子网掩码

    IP 地址分类 IP 地址是由 4 组 8 位二进制表示的,格式为:xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.十进制表示的格式为:xxxx.xxxx.xxxx.xxxx, ...

  6. 3.IP地址分类_规划_子网掩码

    IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...

  7. IP地址分类、私有地址、子网、子网掩码

    IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...

  8. IP地址分类及私网IP

    5类IP地址: IP地址共有32位字节,其中A~C类IP地址由类标识号.网络地址和主机地址组成,A类标识最高位为0,网络地址为1字节,主机地址为3字节, B类标识最高位为10,网络地址为2字节,主机地 ...

  9. 如何计算IP地址及CIDR,子网掩码计算

    如何计算IP地址及CIDR 一. IP地址概念 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机.网络ID用来标识计算机所处的网段:主 机ID用来标 ...

随机推荐

  1. 20140320 roc曲线 sizeof

    1.roc曲线 http://www.zhizhihu.com/html/y2012/4076.html 2.using namespace std的缺点:程序中定义一个变量cout会被误认为是std ...

  2. 第四天:语句、表达式与if分支、循环语句

    表达式 代码风格 代码格式指南 PEP8 缩进4空格 一行不超过79 空行 赋值语句 基本 (x,y) = (5,10) x [x,y,z] = [1,2,3] x a,b,c = 'uhk' a 5 ...

  3. 【python】collections的使用

    老师布置了一个课后作业. 统计文本中字母出现的次数并找到最大的那一个 首先是读取文本吧.和c里的也差不多,打开,关闭,读取. path = f = f.close() 然后就用到了这个黑科技.coll ...

  4. 中文linux安装oracle界面乱码解决方案

    来自:http://blog.csdn.net/h249059945/article/details/12122853 在linux的中文操作系统下使用xmanager进行oracle进行安装的时候, ...

  5. 在CentOS6上安装mysql5.7报错

    报错截图: 处理方法: # yum install numactl perl -y

  6. Android开发 string.xml资源添加参数

    挖坑:参考:https://www.cnblogs.com/leelugen/p/6685905.html

  7. buff/cache内存占用过多

    通过free -m 查看到 buff/cache的值比较大,导致可使用的内存有120M左右了 通过下面的命令,清除缓存 echo 1 > /proc/sys/vm/drop_caches ech ...

  8. 【JZOJ6360】最大菱形和(rhombus)

    description analysis 容易想到把原矩阵翻转\(45°\),然后每个数再用\(0\)隔开 然后就变成了求最大子正方形,求完二维前缀和之后就很好做了 code #pragma GCC ...

  9. thinkphp url大小写

    系统默认的规范是根据URL里面的模块名.控制器名来定位到具体的控制器类的,从而执行控制器类的操作方法. 以URL访问 http://serverName/index.php/Home/Index/in ...

  10. go包flag系统包简单使用

    一.代码 package main import ( "flag" "fmt" ) //定义命令行参数,这个mode是内存地址,参数1是命令行名称,参数2是命令 ...