引言

IP地址是互联网通信中至关重要的组成部分。虽然在前一章节我们讲解了IP一些基础知识,但在我们日常生活中,我们经常听到公有IP地址和私有IP地址这两个术语。那么,公有IP地址和私有IP地址有何区别呢?

在本文中,我们将深入探讨公有IP地址和私有IP地址的概念以及它们在网络通信中的作用。我们还将了解公有IP地址和私有IP地址的管理机构以及它们在路由控制中的作用。

公有 IP 地址与私有 IP 地址

在 A、B、C 分类地址范围内,实际上包含了公有 IP 地址和私有 IP 地址两种类型。

在我们日常生活中,办公室、家庭和学校所使用的IP地址通常都是私有IP地址。这是因为私有IP地址允许组织内的IT人员自行管理和分配,并且可以在不同组织之间重复使用。因此,你学校的某个私有IP地址和我学校的私有IP地址可能是相同的。然而,在同一个学校内部,私有IP地址是不能重复的,就像每个小区都有自己的楼号和门牌号一样。你可以在你的小区家中住在1栋101号,我也可以在我的小区住在1栋101号,这没有任何问题。

但是一旦离开了小区,就需要使用越山路679号(公有IP地址),这是由国家统一分配的,不能让两个不同的小区都使用越山路679号。

因此,公有IP地址是由组织统一分配的。假设你想建立一个博客网站,你需要申请购买一个公有IP地址,这样全世界的人才能够访问你的网站。并且,公有IP地址基本上需要在整个互联网范围内保持唯一。

公有 IP 地址由谁管理呢?



ICANN)进行管理。在ICANN内部,国际互联网编号分配机构(IANA)是负责分配互联网IP地址的部门之一。IANA按照区域的方式进行层层分配,确保公有IP地址能够有效地分配给不同的地区和组织。内部的IT人员通常负责管理和分配私有IP地址,而公有IP地址的管理则是由ICANN和其下属机构负责。

在IP地址管理方面,ARIN负责管理北美地区的公有IP地址,LACNIC负责管理拉丁美洲和一些加勒比群岛的公有IP地址,RIPE NCC负责管理欧洲、中东和中亚的公有IP地址,AfriNIC负责管理非洲地区的公有IP地址,而APNIC负责管理亚太地区的公有IP地址。这些组织是由互联网名称与数字地址分配机构(ICANN)授权负责分配和管理公有IP地址的。

在全球范围内,公有IP地址的管理由互联网名称与数字地址分配机构(ICANN)负责,而在中国,这项任务由中国互联网络信息中心(CNNIC)承担。作为中国国内唯一指定的全局IP地址管理组织,CNNIC负责协调和分配中国境内的公有IP地址资源。

IP 地址与路由控制

IP地址的网络地址部分用于路由控制,它在发送IP数据包时起着重要的作用。路由控制表记录了网络地址与下一跳路由器的关系,这些表分布在主机和路由器上。

当发送IP数据包时,首先要确定目标地址,然后在路由控制表中查找具有相同网络地址的记录。根据匹配的记录,将IP数据包转发给相应的下一跳路由器。如果路由控制表中存在多条相同网络地址的记录,选择最长匹配,也就是具有相同位数最多的网络地址。

让我们以下图的网络链路为例进行说明:

  1. 当主机A要发送一个IP包时,它的源地址是10.1.1.30,目标地址是10.1.2.10。由于主机A的路由表中没有与目标地址10.1.2.10匹配的网络地址,所以包被转发到默认路由器(路由器1)。
  2. 路由器1收到IP包后,它的路由表中匹配到与目标地址相同的网络地址记录,发现匹配成功,所以将IP数据包转发到了10.1.0.2这台路由器2。
  3. 路由器2收到IP包后,同样比对自身的路由表,发现匹配成功,所以将IP包从路由器2的10.1.2.1接口发送出去。最终,经过交换机的转发,IP数据包被传送到目标主机。

那如果我发送的网络号在路由表里都没有呢,那就比如我要去国外的网站的话,咱们的路由器表怎么可能存着呢?

当发生路由失败时,发送方通常会采取一些措施来处理这种情况。以下是几种常见的处理方式:

  • 发送方可以选择将IP包发送到默认网关。默认网关是在路由表中指定的用于处理没有匹配项的情况的特殊路由器。如果设置了默认网关,发送方将向该网关发送IP包,并由该网关负责进一步的转发。
  • 发送方可以尝试使用其他路由表来查找匹配项。如果发送方有多个路由表可供选择,它可以尝试在其他路由表中查找匹配项,并根据匹配结果选择下一跳路由器。
  • 发送方可以发送ICMP路由不可达消息。当发送方无法确定下一跳路由器时,它可以发送一条ICMP路由不可达消息给源地址,告知源地址无法到达目标地址。源地址可以根据这个消息来采取进一步的措施,例如更改目标地址或尝试其他路径。

本地网关在处理你的数据包时,可能会根据路由控制表中的信息来确定下一跳路由器。路由控制表中保存了网络地址和下一跳路由器的映射关系。如果路由控制表中没有与目标地址匹配的项,本地网关可能会使用默认网关来处理数据包。默认网关是指当找不到匹配项时,数据包将被发送到的预设的下一跳路由器。

总结

IP地址是互联网通信中的重要组成部分,其中公有IP地址和私有IP地址是常见的术语。私有IP地址允许组织内自行管理和分配,可以在不同组织间重复使用。公有IP地址由组织统一分配,需要在整个互联网范围内保持唯一,由互联网名称与数字地址分配机构(ICANN)进行管理。在全球范围内,公有IP地址的管理由ICANN负责,而在中国由CNNIC承担。IP地址在路由控制中起重要作用,通过路由表进行转发。如果路由表中没有匹配项,可以使用默认网关、尝试其他路由表或发送ICMP路由不可达消息来处理。

探秘公有IP地址与私有IP地址的区别及其在路由控制中的作用的更多相关文章

  1. oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)

    结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...

  2. 正式表达式判断私有 IP 地址

    正式表达式判断私有 IP 地址   ^1(((0|27)(.(([1-9]?|1[0-9])[0-9]|2([0-4][0-9]|5[0-5])))|(72.(1[6-9]|2[0-9]|3[01]) ...

  3. 私有IP地址共有三个范围段

    在现在的网络中,IP地址分为公网IP和私有IP地址.公网IP是在Internet使用的IP地址,而私有IP地址是在局域网中使用的IP地址. 由于我们目前使用的IP V4协议的限制,现在IP地址的数量是 ...

  4. TCP/IP学习笔记14--IP地址 之 全局地址,私有地址

    只要明天还在,我就不会悲哀,冬雪终会悄悄融化,春雷定将滚滚而来.----<只要明天还在>,汪国真 全局地址,私有地址 , 一种为解决IP地址不足而产生的技术. 起初 ,互联网中的任何一台主 ...

  5. 私有ip地址知多少?

    1.私有ip的由来 在现在的网络中,ip地址分为公网ip地址和私有ip地址.公网ip是在Internet中使用的ip地址,而私有ip地址是在局域网中使用,在Internet上不使用. 由于我们目前使用 ...

  6. 公有IP和私有IP的区别

    什么是IP? 在网络中,每台计算机都有一个唯一的地址,方便别人找到它,这个地址称为IP地址 IP地址是一个网络编码,用来确定网络中的一个节点,是由32位的二进制组成 IP地址的组成? IP地址由网络部 ...

  7. 公网IP和私有IP的区别和用途

    在Internet网络上有上千百万台主机,为了能够将这些主机区分开来,于是就给每台主机都分别配了一个专门的地址,称为IP地址. 通过IP地址就可以访问到每一台主机.IP地址由4部分数字组成,ghost ...

  8. 解析私有IP地址和公网IP地址

    局域网私有IP地址上外网的原理 IP地址分为两部分,网络号和主机号,这种分法应用在私有和公有IP地址上.一个局域网中,为了该局域网的安全,我们应用了私有IP地址,为了和Internet中的其他主机进行 ...

  9. 私有IP地址范围

    私有IP地址范围 有一部分的地址专门是用于内网的地址,包括: A类中 10.0.0.0/8 B类中 172.16.0.0/12 ~ 172.31.0.0/12 C类中 192.168.0.0/16 这 ...

  10. 【网络基础】【TCP/IP】私有IP地址段

    私有IP地址段 Class A:10.0.0.0    - 10.255.255.255 Class B:172.16.0.0  - 172.31.255.255 Class C:192.168.0. ...

随机推荐

  1. V8是如何执行JavaScript代码的?

    前言 一般来讲,电脑是不能直接运行我们的javascript代码的,它需要一个翻译程序将人类能够理解的编程语言 JavaScript,翻译成机器能够理解的机器语言.目前市面上有很多种 JavaScri ...

  2. ASP.NET Core 6框架揭秘实例演示[37]:重定向的N种实现方式

    在HTTP的语义中,重定向一般指的是服务端通过返回一个状态码为3XX的响应促使客户端像另一个地址再次发起请求,本章将此称为"客户端重定向".既然有客户端重定向,自然就有服务端重定向 ...

  3. 【AGC】Connect API报错submit failed的相关问题

    ​[关键字] AGC.Connect API.Publishing API [问题描述] 开发者反馈在使用AGC的Connect API提交发布时,报出了[cds]submit failed, add ...

  4. 老生常谈:值类型 V.S. 引用类型

    我在面试的时候经常会问一个问题:"谈谈值类型和引用的区别".对于这个问题,绝大部分人都只会给我两个简洁的答案:"值类型分配在栈中,引用类型分配在堆中",&quo ...

  5. iis7以上 ssl 证书导入

    证书导入 开始 -〉运行 -〉MMC: 启动控制台程序,选择菜单"文件"中的"添加/删除管理单元"-> "添加",从"可用的 ...

  6. ERP导出(自定义格式表格)R报表开发代码

    按照正常流程新建程序,画面修改上传,程序下载修改 导入JAVA包,在global.import下 IMPORT com IMPORT JAVA java.net.URL IMPORT JAVA org ...

  7. 从数据库中读取数据并写入到Excle电子表格之1

    //获取数据 using (SqlDataReader reader = Alian_SQL_Helper.SQL_Helper .ExecuteReader( "select CC_Aut ...

  8. Centos安装ELK

    目录 安装Elastic Search 安装 Java 安装Elastic Search 修改配置 开放端口 访问地址 相关命令 安装elasticsearch-head插件 安装Git 安装node ...

  9. JAVA代码下载TXT文件(本地和服务器上的代码都可以)

    // 读取服务器文件内容(TXT文件测试可以) public static List<String> showTxt(String filePath) throws IOException ...

  10. 【Jenkins】 GitLab Gitee GitHub 部署

    Jenkins GitLab Gitee GitHub 部署 环境 Jenkins Git Maven Jenkins 部署可参考文章:https://www.cnblogs.com/cxt618/p ...