探秘公有IP地址与私有IP地址的区别及其在路由控制中的作用

简介: 本文将深入探讨公有IP地址和私有IP地址的区别和作用,并介绍了在路由控制中如何使用IP地址来确定下一跳路由器。了解这些概念和技术将有助于读者更好地理解互联网通信的原理和过程。

引言

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

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

公有 IP 地址与私有 IP 地址

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

image

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

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

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

image

公有 IP 地址由谁管理呢?

image

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数据包转发给相应的下一跳路由器。如果路由控制表中存在多条相同网络地址的记录,选择最长匹配,也就是具有相同位数最多的网络地址。

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

image

  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路由不可达消息来处理。

相关文章
|
存储 分布式计算 Hadoop
Hadoop 中 NameNode 和 DataNode 的角色
【8月更文挑战第12天】
1270 4
|
机器学习/深度学习 数据可视化 算法框架/工具
使用Python实现深度学习模型:视频处理与动作识别
【7月更文挑战第16天】 使用Python实现深度学习模型:视频处理与动作识别
752 17
|
机器学习/深度学习 人工智能 算法
「AI人工智能」什么是AI技术
**AI技术概览** 本文探讨人工智能(AI)的核心,包括知识图谱、问答系统和AI芯片。AI在硅光芯片、个性化推荐等领域展现趋势,前端开发与AI结合,涉及人机交互、数据可视化和模型训练。此外,文章讨论了监督学习的应用、深度学习工程师的市场需求,以及梯度消失等问题,提示了适宜的批量大小对随机梯度下降的影响。
2538 0
「AI人工智能」什么是AI技术
|
安全 编译器 C语言
C++零基础教程(C++中的打印)
C++零基础教程(C++中的打印)
884 0
|
Java API 开发者
springboot 多线程的使用原理与实战
在Spring Boot中实现多线程,主要依赖于Spring框架的@Async注解以及底层Java的并发框架。这里将深入剖析Spring Boot多线程的原理,包括@Async注解的工作方式、任务执行器的角色以及如何通过配置来调整线程行为。
1141 5
|
机器学习/深度学习 算法 数据安全/隐私保护
两万多字诠释python经典基础算法之100题【内含思路、程序和答案】【python小白必备】
本文为最最基础的python基础算法题目、思路和答案,适合python初学者使用,可以当作python入门算法工具书,虽然不具有高深的算法,但是都是企业级算法用的频率最多的,这也是学好高级算法的必经之路。希望收藏、关注、点赞哦。
|
JSON 数据格式 Python
Python生成JSON数据
Python生成JSON数据
230 0
|
存储 缓存 固态存储
Linux设备全览:从字符到块,揭秘每种设备的秘密
在Linux的世界里,设备是构成系统的基础,它们使得计算机能够与外界互动。Linux设备可以大致分为几种类型,每种类型都有其独特的特性和用途。🌌让我们一起探索这些设备类型及其特性。
|
Java Spring 容器
深入理解Spring的ImportBeanDefinitionRegistrar接口及其应用
本文深入解析Spring框架中的ImportBeanDefinitionRegistrar接口,探讨其在动态注册Bean定义中的作用、核心方法、应用场景及实例,帮助开发者实现更灵活的Spring配置管理。
774 0
深入理解Spring的ImportBeanDefinitionRegistrar接口及其应用
|
分布式计算 NoSQL Java
大数据学习资料和书籍推荐
大数据学习资料和书籍推荐
390 0