一个执着于技术的公众号

在网际层中,利用 IP 地址将数据传输到目的地。为了能够使数据正确地发送到目标主机上,网络上的 IP 地址必须有一定的规则来识别主机的位置。

IP地址的基本构成

为了便于寻址,了解目标主机的位置,每个 IP 地址包括两个标识码(ID),即网络 ID 和主机 ID。同一个物理网络上的所有主机都使用同一个网络 ID,网络上的一个主机(包括网络上的工作站、服务器和路由器等)有一个主机 ID 与其对应。

网络 ID 和主机 ID 含义如下:

  • 网络 ID:用于识别主机所在的网络,网络 ID 的位数直接决定了可以分配的网络数量。

  • 主机 ID:用于识别该网络中的主机,主机 ID 的位数则决定了网络中最大的主机数量。

IP地址的分类和格式

大型网络包含大量的主机,而小型网络包含少量的主机。根据用户需求不同,一个网络包含的主机数量也会不同。为了满足不同场景的需要,网络必须使用一种方式来判断 IP 地址中哪一部分是网络 ID,哪一部分是主机 ID。

IP 地址为 32 位地址,被分为 4 个 8 位段。为了方便对 IP 地址的管理,将 IP 地址基本分为三大类。

每类地址的分类与含义如下:

  • A 类:前 8 位表示网络 ID,后 24 位表示主机 ID;该地址分配给政府机关单位使用。

  • B 类:前 16 位表示网络 ID,后 16 位表示主机 ID;该地址分配给中等规模的企业使用。

  • C 类:前 24 位表示网络 ID,后 8 位表示主机 ID;该地址分配给任何需要的人使用。

除了上述的 A、B、C 三类地址以外,还有两类隐藏地址,即 D 类地址和E类地址:

  • D 类:不分网络 ID 和主机 ID;该地址用于多播。

  • E 类:不分网络 ID 和主机 ID;该地址用于实验。

如何判断IP地址的分类?

IP 地址被分类以后,如何判断一个 IP 地址是 A 类、B 类还是 C 类地址呢?为了更好地进行区分,将每类地址的开头部分设置为固定数值,如图所示。

从上图中可以看出,每类 IP 地址都是以 32 位的二进制格式显示的,每类地址的区别如下:

  • A类:网络 ID 的第一位以 0 开始的地址。

  • B类:网络 ID 的第一位以 10 开始的地址。

  • C类:网络ID的第一位以 110 开始的地址。

  • D类:地址以 1110 开始的地址。

  • E类:地址以 11110 开始的地址。

不同分类的IP地址的范围

由于每类地址的开头是固定的,因此每类地址都有自己的范围:

  • A类:IP 地址范围为 0.0.0.0~127.255.255.255。

  • B类:IP 地址范围为 128.0.0.0~191.255.255.255。

  • C类:IP 地址范围为 192.0.0.0~223.255.255.255。

  • D类:IP 地址范围为 224.0.0.0~239.255.255.255。

  • E类:IP 地址范围为 240.0.0.0~255.255.255.254。

特殊 IP 地址

在进行 IP 地址分配时,有一些 IP 地址具有特殊含义,不会分配给互联网的主机。例如,保留了一些 IP 地址范围,用于私有网络,这些地址被称为私有地址。再如,保留一部分地址用于测试,被称为保留地址。

A 类、B 类、C 类地址的地址范围及含义如下:

1) A类地址

  • 私有地址范围为 10.0.0.0~10.255.255.255。

  • 保留地址范围为 127.0.0.0~127.255.255.255。

2) B类地址

  • 私有地址范围为 172.16.0.0~172.31.255.255。

  • 保留地址为 169.254.X.X。

3) C类地址

  • 私有地址范围为 192.168.0.0~192.168.255.255。

子网划分

数据在网络中进行传输是通过识别 IP 地址中的网络 ID,从而将数据发送到正确的网络中,然后再根据主机 ID 将数据发送到目标主机上。

如果一个网络中包含了百万台主机,数据通过网关找到对应的网络后,很难快速地发送到目标主机上。为了能够在大型网络中实现更高效的数据传输,需要进行子网划分,将网络划分为更小的网络。

子网划分是将 IP 地址的主机 ID 部分划分为子网 ID 和主机 ID。其中,子网 ID 用来寻找网络内的子网,主机 ID 用来寻找子网中的主机。

子网掩码则是用来指明地址中多少位用于子网 ID,保留多少位用于实际的主机 ID。

来自:

https://mp.weixin.qq.com/s/NXiBwnwVo-Y6GDXMALQCcg

结语

如果您看完本文后有所收获, 还希望您随手点个在看 、或者分享转发。您的支持是我坚持分享的最大动力!

往期精彩

◆  必看 | Linux系列学习书籍免费送

◆  利用expect批量修改Linux服务器密码

◆  nginx+Keepalived 实现高可用集群

◆  干货 | LVM快照学习

◆  一文带你读懂nginx反向代理

◆  抓包工具tcpdump用法说明

◆  零成本 | 手把手教你搭建个人博客

◆  实战 | Hadoo大数据集群搭建

【深度好文】终于有人把云计算、大数据和AI讲明白了

◆  亿级web系统负载均衡几种实现方式

◆  一文带你读懂zookeeper在大数据生态的应用

好文和朋友一起看~

最新文章

  1. 【Linux】重定向与管道
  2. UNITY 移动到指定位置的写法
  3. 使用AVFoundation仅仅生成缩略图,不进行播放视频(本地和网络文件都可以创建视频缩略图)
  4. ios containerViewController
  5. js实现图片上传及预览---------------------->>兼容ie6-8 火狐以及谷歌
  6. Hadoop Failed to set permissions of path
  7. JQuery easyui (4)Tooltip (提示组件) 组件
  8. 无法启动此程序因为计算机中丢失msvcr71
  9. Marriage is Stable
  10. Lintcode212 Space Replacement solution 题解
  11. html文档知识补充
  12. 目标检测算法之YOLOv1与v2
  13. js 中导出excel 较长数字串会变成科学计数法
  14. 基于NEO的私链(Private Blockchain)
  15. 第9月第15天 设计模式 adapter mvc
  16. Tcp超时修改
  17. Thinkphp动态切换主题
  18. 第三百六十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作
  19. window下安装mongodb3.6
  20. Java中常用到的文件操作那些事(二)——使用POI解析Excel的两种常用方式对比

热门文章

  1. SpringBoot Jpa 双数据源mysql + oracle + liquibase+参考源码
  2. kafka-linux-install
  3. Redis 集群的主从复制模型是怎样的?
  4. HTML 5中的DataList是什么?
  5. spring 支持哪些 ORM 框架?
  6. Pandas基础笔记
  7. CPU架构:CPU架构详细介绍
  8. 无需Flash实现图片裁剪——HTML5中级进阶
  9. spark配置双master时一直处于standby的情况
  10. 浅谈arguments属性callee