引言

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. MySql InnoDB 存储引擎表优化

    一.InnoDB 表存储优化 1.OPTIMIZE TABLE 适时的使用 OPTIMIZE TABLE 语句来重组表,压缩浪费的表空间.这是在其它优化技术不可用的情况下最直接的方法.OPTIMIZE ...

  2. 【Netty】01 - NIO

    一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道 ...

  3. redis集群报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.

    之前在x86架构的服务器部署redis集群,未遇到题中问题:然而在ARM架构的服务器部署redis集群,第一次遇到如此问题.虽然问题已经解决,但不清楚问题的具体原因,在此做个记录. 性能测试过程中,通 ...

  4. 屏蔽CSDN百度广告

    最近在查询一些技术问题访问到CSDN时一直弹一些令人作恶的广告,说个特别的广告,脱发广告,特别有针对性程序员同胞们的共性问题,不过还是特别恶心,百度了一下,大家也特别反感,CSDN你真这么缺钱?废话不 ...

  5. Unity的IGenerateNativePluginsForAssemblies:深入解析与实用案例

    Unity IGenerateNativePluginsForAssemblies Unity是一款非常流行的游戏引擎,它支持多种平台,包括Windows.Mac.Linux.Android.iOS等 ...

  6. LeetCode 周赛(2023/07/08)渐入佳境

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问. 往期回顾:LeetCode 单周赛第 351 场 · 一场关于子数 ...

  7. [Java基础]String,StringBuffer,StringBuilder的区别

    String 和 StringBuffer/StringBuilder应该分开来看 java.lang.String源码中的注释说明 java.lang.StringBuffer源码中的注释说明 ja ...

  8. 跟运维学 Linux - 01

    跟运维学 Linux - 01 运维的诞生 运维工程师有很多叫法:系统运维.Linux 工程师.系统管理员... 网管可以说是运维工程师最早的雏形.在个人电脑未普及时,大家去网吧玩游戏. 玩家:&qu ...

  9. volatile是如何保证有序性的?

    为什么需要保证有序性? 有如下代码,在int i = a;执行了的情况下,i的值最终会为几? public class NoVolatileExample { int a = 0; boolean f ...

  10. 在windows平台使用Visual Studio 2017编译动态库并使用

    使用VS stdio制作顺序表的库文件 .lib与.dll 区别 lib是编译时需要的 dll是运行时需要的 1.新建头文件和源文件 SeqList.h // SeqList.h #ifndef SE ...