IP地址分类以及子网划分「建议收藏」

IP地址分类以及子网划分「建议收藏」IP地址:是网络层的概念,IP地址长度为32位,分为四个8位,用点分十进制来表示,每部分范围0~255(0~255.0~255.0~255.0~255)。一个可有2的32次方个IP地址。1、IP地址的分类最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B

大家好,又见面了,我是你们的朋友全栈君。

IP地址:是网络层的概念,IP地址长度为32位,分为四个8位,用点分十进制来表示,每部分范围0~255(0~255 . 0~255 . 0~255 . 0~255)。一个可有2的32次方个IP地址。
在这里插入图片描述


1、IP地址的分类

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

1. A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。一般用于大型网络。

2. B类IP地址 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。一般用于中型网络。

3. C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。一般用于小型网络。

4. D类地址用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。224.0.0.0到239.255.255.255用于多点广播 。

5. E类IP地址 以“llll0”开始,为将来使用保留。240.0.0.0到255.255.255.254
在这里插入图片描述网络号和主机号加起来是32位(即4字节),正好表示一个ip地址,我们可以根据网络号来判断ip地址是属于哪一类。你可以认为网络号表示主机当前处于哪一个网段,而主机号则表示这个网段下具体的某一台主机。也就是说,通过ip地址的网络号和主机号可以找到某一个网段下的具体的某一台主机。

1、特殊的主机号:

  • 主机号全0表示当前网络段,不可分配位特定主机
  • 主机号全1表示广播地址,向当前网络段所有主机发消息,也是不能分配给主机的

上述的“0”和“1“指的是二进制状态下的0和1,对应的是(以A类地址举例)1.0.0.0和1.255.255.255。

2、特殊的网络号:

  • A类地址网络段全0(00000000)表示特殊网络,不能使用
  • A类地址网络段后七位全为1(01111111换成十进制也就是127)表示回环地址,也是不能使用的。如:127.0.0.1可以代表本机IP地址,ping 127.0.0.1 可以测试本机TCP/IP是否正常
  • B类地址网络段(10000000.00000000 : 128.0)不能使用
  • C类地址网络段(192.0.0)不能使用

在这里插入图片描述
私有地址:
在这里插入图片描述
在现在的网络中,IP地址分为公网IP地址和私有IP地址。公网IP是在Internet使用的IP地址,而私有IP地址则是在局域网中使用的IP地址。

问题:如何判断一个IP地址属于哪一类?
取点分十进制的头一段转化为8位的二进制即可。(或者看地址范围也行)
如:
125.125.3.60 其中125转化为01111101,第一位二进制是0,所以是A类地址
163.70.31.23 其中163转化为10100011,前两位二进制是10,所以是B类地址
210.36.127.11其中210转化为11010010,前三位二进制是110,所以是C类地址

2、IP地址的子网划分

问题:如果一个公司有256名员工,一人一个计算机,申请哪种网络段呢?(在没有NAT技术的情况下)
如果分配C类地址则只能分配254个主机号,不能满足需求,但是分配B类地址的话又会造成极大的地址空间浪费。于是我们提出了子网划分的概念。

子网划分是通过借用IP地址的若干位主机地址来充当子网地址(从左面第一位不是网络号的位开始借,而且借位必须是连续的不能跳跃),从而将原网络划分为若干子网而实现的。 划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。

这样P地址就被分为:网络号、子网号、主机号。
在这里插入图片描述
比如:一个C类网络段193.10.10.0,在主机号的八位中取第一位来当子网号,则子网号为0可取到的主机号范围193.10.10.1~193.10.10.126(0或者127不取,取0代表网段,取127是广播),共126个;子网号为1可取的主机号范围193.10.10.129~193.10.10.254(128和255不去,取128代表网段,取255是广播)。我们把子网分配给只有100人左右的公司的话,就可以减少IP地址的浪费。

对于上面提出的问题,我们可以在B类地址的基础上,借几位主机号来当子网号,将子网分配给公司。

划分子网的好处:
1、节约IP地址,避免浪费。
2、限定广播的传播。
3、保证网络的安全。
4、有助于覆盖大型地理区域。

2.1 子网掩码

子网掩码是用来判断任意两台计算机的 IP 地址是否属于同一子网络的根据。
最为简单的理解就是两台计算机各自的 IP 地址与子网掩码进行 and 运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。
在这里插入图片描述

子网掩码和IP地址一样,也是32位。由连续的1和连续的0组成,表示网络号或者子网号的位是1,表示主机号的位数是0。
比如,没有划分子网的C类地址的子网掩码就是11111111.11111111.11111111.00000000,用点分十进制表示则为255.255.255.0,用CIDR斜线记法表示为/24

根据是否有划分子网,将子网掩码分为缺省子网掩码自定义子网掩码

1、缺省子网掩码
未做子网划分的IP地址:网络号+主机号

  • A类网络缺省子网掩码: 255.0.0.0,用CIDR表示为/8
  • B类网络缺省子网掩码: 255.255.0.0,用CIDR表示为/16
  • C类网络缺省子网掩码: 255.255.255.0,用CIDR表示为/24

2、自定义子网掩码
做子网划分后的IP地址:网络号+子网号+子网主机号
如:192.168.1.100/25,其子网掩码为11111111.11111111.11111111.10000000,点分十进制表示:255.255.255.128


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140038.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQLyog安装使用教程

    SQLyog安装使用教程SQLyog安装使用教程SQLyog操作简单,功能强大,能够帮助用户轻松管理自己的MYSQL数据库,文章目录SQLyog安装使用教程前言一、安装SQLyog总结前言我这里使用的是SQLyog-13.1.7-0.x64Community,这是目前最新的版本了,除此之外比笔者这里还有12.0.8版本的SQLyog(32位和64位都有),一共三个安装包都会放在云盘里面,需者自取;链接:https://pan.baidu.com/s/16IaaIXR8-l955CfeznDr-A提取码:qhge

    2022年5月28日
    73
  • phpstrom2019.3.3激活码破解方法

    phpstrom2019.3.3激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    80
  • Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压[通俗易懂]

    Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压[通俗易懂]很多时候我们需要把文件解压到当前目录,命令如下:tar-zxvfvscode-server-linux-x64.tar.gz-C./有时候很讨厌,因为tar.gz的包里就存在一个与压缩包同名的目录,这种情况的话需要先解压,再拷贝:tar-zxvfvscode-server-linux-x64.tar.gz-C./mvvscode-server-linux-x64/*….

    2022年5月11日
    73
  • 安装GPU加速的tensorflow 卸载tensorflow

    安装GPU加速的tensorflow 卸载tensorflow安装GPU加速的tensorflow卸载tensorflow 一:本次安装实验环境Ubuntu16.04+cuda9.0+cudnn7.0或Ubuntu16.04+cuda8.0+cudnn5.1什么是CUDA呢?简单的来讲它是为了实现GPU运算的平台。我们的tensorflow会调用cuda的接口,利用显卡帮助我们运算程序而CUDNN…

    2022年6月22日
    38
  • 对于java二维数组初始化的理解[通俗易懂]

    对于java二维数组初始化的理解[通俗易懂]1.初始化:在定义变量之后,系统为变量分配的空间内存储的值是不确定的,所以要对这个空间进行初始化以确保程序的安全性和确定性2.给二维数组元素赋值:b[0]={1,2,3}//Arrayconstantscanonlybeusedininitializers数组常量只能被用于初始化,初始化动作在编译时完成。b[0]=newint[]{1,2}//赋值newin…

    2022年5月25日
    36
  • @AllArgsConstructor注解作用「建议收藏」

    @AllArgsConstructor注解作用「建议收藏」它是lombok中的注解,作用在类上;使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数

    2025年10月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号