IP地址


IP地址时IP协议提供的一种地址格式,它为互联网上的网络设备分配一个用来通信的逻辑地址,目前分为IP v4和IP v6两种,v4的意思是version4,v6是同样的意思。

IP v4

IP v4是一个32位二进制数,不便于记忆,为了使用方便,使用“点分十进制”表示法,将这个二进制数每8位断开一次,每8位是一个字节,一个字节表示的十进制整数范围是0~255.

IP地址分类

公有地址:需要向因特网信息中心申请,在互联网上可以直接使用的IP地址。

私有地址:不需要注册,可以在组织内部网络随便使用。

IP地址格式

IP地址这个32位2进制数被分为两个部分,网络位 + 主机位,网络位表示设备同属于一个网络,主机位表示网络中不同的设备的唯一ID。

子网掩码

子网掩码的功能是将IP地址划分为网络ID和主机ID,IP地址按位与子网掩码就是网络ID。

IP v4地址被分为A、B、C、D、E五类,下面列出来A、B、C三类。

类别 最大网络数 IP地址范围 单个网段最大主机数 私有地址IP地址范围
A类 126(2^7-1-1) 1.0.0.0 - 127.255.255.255 16777214 10.0.0.0 - 10.255.255.255
B类 16384(2^14) 128.0.0.0 - 191.255.255.255 65534 172.16.0.0 - 172.31.255.255
C类 2097152(2^21) 192.0.0.0 - 223.255.255.255 254 192.168.0.0 - 192.168.255.255

A类

四个字节中,第一个字节是网络位,后面三个字节是主机位,且第一个字节中的最高位固定为0,这样的IP地址称为A类地址,所以变化为0000 0001 - 0111 1111共127个网络,因为127.0.0.1被称为回环地址,所以剩余126个网络,地址范围是1.0.0.0到127.255.255.255,二进制表示为00000001.00000000.00000000.00000000 - 01111111.11111111.11111111.11111111,其中每一个网络的第一个比如126.0.0.0称为网络ID,最后一个比如126.255.255.255称为广播地址,所以每一个网络中的主机数可以通过2563 - 2 = 1677716 - 2 = 1677714个,也就是后面三个字节放在一起24所有变化情况。在这126个网络中,其中10.0.0.0 - 10.255.255.255规划为私有IP地址。子网掩码为255.0.0.0,比如110.56.34.21和子网掩码按位与得到的是110.0.0.0即网络名。

B类

四个字节中,前两个字节是网络位,后面两个字节是主机位,且第一个字节中的最高两位分别是10,这样的IP地址称为B类地址,所以变化为128.0 - 191.255,相当于1000000 00000000到10111111 11111111,共214 = 16384个网络。B类地址的范围从128.0.0.0 - 191.255.255.255,二进制表示为10000000 00000000 00000000 00000000 - 10111111 11111111 11111111 11111111,同样,在每个网络中,最后一个是广播地址,第一个是网络ID,子网掩码是255.255.0.0,每个网络中主机个数等于2562 - 2 = 65535 - 2 = 65534。

C类

四个字节中,前三个字节是网络位,最后一个字节是主机位,且网络位中的第一个字节中的最高3为分别是110,这样的IP地址称为C类地址,所以变化为192.0.0 - 223.255.255,相当于11000000 00000000 00000000 - 11011111 11111111 11111111,所以总变化是221 = 2097152个网络(因为前三位是110),C类地址的范围从192.0.0.0 - 233.255.255.255,二进制表示为11000000 00000000 00000000 00000000 - 11011111 11111111 11111111 11111111,同样,每个网络的第一个地址是网络ID,最后一个地址是广播地址。相应的子网掩码是255.255.255.0,每个网络中的主机个数等于256 - 2 = 254。

举例:192.168.3.200,要配合子网掩码使用,假如子网掩码是255.255.255.0,说明它是C类地址,通过与子网掩码按位与得到网络ID是192.168.3.0,广播地址为192.168.3.255。

D类

同前三种,最高四位是1110,所以地址范围就是224.0.0.0到239.255.255.255,224.0.0.1特指所有主机,我也没懂是什么意思。

E类

实验用的地址。

特殊地址

0.0.0.0表示当前主机,255.255.255.255限制广播地址,路由器不会转发这个受限广播地址的数据报文,此地址只能用于本网广播,IP地址中以127开头的地址称为loopback回环地址,169.254.x.x,windows主机使用了动态获取IP,如果没有获得地址,windows会临时获得这样的地址。

IP地址的格式和分类的更多相关文章

  1. IP地址的格式和分类,你都清楚吗?

    一个执着于技术的公众号 在网际层中,利用 IP 地址将数据传输到目的地.为了能够使数据正确地发送到目标主机上,网络上的 IP 地址必须有一定的规则来识别主机的位置. IP地址的基本构成 为了便于寻址, ...

  2. server端获得到client端的IP地址的格式

    使用telnet,ping或其他client连接server端时,server端获得的client端的ip地址取决于client端使用的时ipv4还是ipv6地址. 例: client IPv4地址: ...

  3. 校验ip地址的格式

    /*输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false: */ function isIP(strIP) { if (isNull(strIP)) return false ...

  4. [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)

    http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)   1. ...

  5. 计算机网络学习笔记--网络层之IP地址与子网

    IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址 ...

  6. IP地址和CIDR

    IP地址(IPV4) IPV4的地址是一个32位的二进制数,由网络ID和主机ID两部分组成,用来在网络中唯一的标识一台计算机.IP地址通常用四组3位的十进制数表示,中间用.分割,例如:192.168. ...

  7. 网络协议 2 - IP 地址和 MAC 地址

    了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP 地址和 MAC 地址. 那么 IP 地址是怎么来的,又是怎么没的?MAC 地址与 IP 地址又有什么区别? 这回答上面问题前 ...

  8. IP地址结构(转载)

    分类寻址(网络号+主机号) 在最初定义Internet地址结构时,每个单播IP地址都有一个网络部分,用于识别接口使用的IP地址在哪个网络中可被发现:以及一个主机地址,用于识别由网络部分给出的网络中的特 ...

  9. 子网掩码与ip地址的关系

    1.什么是ip地址 在网络中,所有的设备都会被分配一个地址.这个地址就相当于某条路上的XX号XX房.其中[号]对应的号码是分配了整个子网的,而[房]对应的号码是分配给子网中的计算机的,这就是网络中的地 ...

随机推荐

  1. Python正则表达式,看完这篇文章就够了...#华为云·寻找黑马程序员#【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  2. C# 自然周,月,季度计算。

    /// <summary> /// 判断时间是否和服务器时间是一天 /// </summary> /// <param name="cs">&l ...

  3. Leader 让我做 CMS 帮助中心的技术选型,我撸了 VuePress 和 GitBook,然后选择...

    前言 因为自己平时经常写博客,也有博客网站,所以 Leader 叫我做一个 CMS 的帮助中心的技术选型,CMS 的帮助中心的功能:是通过文章来教用户如何使用我们的项目. 所以笔者要做一个静态网站的技 ...

  4. mq解决分布式事物问题【代码】

    上节课简单说了一下mq是怎么保证数据一致性的.下面直接上代码了. 所需环境:1.zookeepor注册中心   2.kafka的服务端和工具客户端(工具客户端也可以不要只是为了更方便的查看消息而已)  ...

  5. react-native Android release打包失败

    npm run build报错(android) react-native 0.5x在安卓环境 gradle 3.x版本下编译release版本的时候提示编译失败,但是debug模式下是没有问题的. ...

  6. 鲲鹏来了,在EulerOS试用.NETCore-3.1

    在EulerOS试用.NETCore-3.1 前言 EulerOS其实出来有一段时间了,一直在关注,单是仅仅也只是停留在观望的阶段,目前还没有接入的打算:正好看到园子里的兄弟分享了华为云免费试用的活动 ...

  7. Python基础第一课

    Python基础 安装软件并配置环境变量 1.第一句python --初学后缀名可以是任何数 --后期学习需要导入模块时不是py后缀名会报错 2.两种执行方式 Python解释器 py文件路径 Pyt ...

  8. 笔记||Python3之文件的读写

    [文件的读模式]            文件的对象:文件的读写通过文件操作对象进行. Python2  -----  File Python3  -----  TextIOWrapper       ...

  9. Seata 配置中心实现原理

    Seata 可以支持多个第三方配置中心,那么 Seata 是如何同时兼容那么多个配置中心的呢?下面我给大家详细介绍下 Seata 配置中心的实现原理. 配置中心属性加载 在 Seata 配置中心,有两 ...

  10. Orleans[NET Core 3.1] 学习笔记(二)Hello World

    项目结构 开始Orleans之前,我们都知道Orleans主要可以分为俩部分,Host和Client. 所以我们可以创建如下的项目结构: IGrain 一个包含Grain接口的库(.NET Stand ...