知识产权与互联网/IP地址
互联网协议地址(IP地址)是分配给每个参与使用互联网协议进行通信的计算机网络设备(例如计算机、智能手机、热点)的数字标签。[1] 该地址有两个主要功能:主机或网络接口标识和位置寻址。其作用被描述如下:“一个名字表明我们寻找什么。一个地址表明它在哪里。一条路线表明如何到达那里。”[1]
互联网协议的设计者将IP地址定义为用二进制表示的整数,长度为32位[1],这个系统被称为IPv4,至今仍在使用。然而,由于互联网的巨大增长和预计可用IPv4地址的枯竭,一个新的地址系统被称为IPv6,使用长度为128位的二进制整数地址,[2]自2000年代中期以来,它与IPv4一起在全球范围内部署。
虽然IP地址在技术上是二进制数,但它们通常以更便于人类阅读的表示方式存储和显示,如十进制,例如172.16.254.1(对于IPv4)和2001:db8:0:1234:0:567:8:1(对于IPv6)。
互联网号码分配机构(IANA)在全球范围内管理IP地址空间分配,并维护五个区域互联网注册机构(RIR)以将IP地址块分配给互联网服务提供商和其他实体。
互联网协议(IP)的两个版本正在使用:IP版本4和IP版本6。每个版本都不同地定义了IP地址。由于其普遍性,通用术语IP地址通常仍然指IPv4定义的地址。IPv4和IPv6之间的版本序列差距源于1979年将数字5分配给实验性互联网流协议,尽管它从未被称为IPv5。
在IPv4中,一个地址由32位组成,这将地址空间限制为4,294,967,296(232)个可能的唯一地址。IPv4为特殊目的保留了一些地址,例如私有网络(约1800万个地址)或组播地址(约2.7亿个地址)。
IPv4地址通常以“点分十进制”符号表示,它由四个十进制数字组成,每个数字范围为0到255,用句点或点隔开,例如172.16.254.1。每个部分代表地址的8位(字节)组。在某些技术写作情况下,IPv4地址可能以各种十六进制、八进制或二进制表示方式呈现。
在互联网协议开发的早期阶段,[3]网络管理员将IP地址解释为两个部分:网络号部分和主机号部分。地址中最高位的字节(最重要的八位)被指定为网络号,其余位称为剩余字段或主机标识符,用于在网络中对主机进行编号。
这种早期方法很快被证明不足,因为随着更多网络的开发,这些网络独立于现有网络,这些现有网络已经由网络号指定。1981年,互联网地址规范随着类化网络架构的引入而修订。[1]
类化网络设计允许分配更多数量的单个网络并进行细粒度的子网设计。IP地址中最重要字节的前三位被定义为地址的类别。为通用单播寻址定义了三个类别(A、B和C)。根据推导出的类别,网络标识基于整个地址的字节边界段。每个类别在网络标识符中使用连续的额外字节,从而减少了较高类别(B和C)中可能的宿主数量。下表概述了这种现已过时的系统。
类别 | 地址中的前导位(二进制) | 第一个字节的范围(十进制) | 网络ID格式 | 主机ID格式 | 网络数量 | 每个网络的地址数量 |
---|---|---|---|---|---|---|
A | 0 | 0 - 127 | a | b.c.d | 27 = 128 | 224 = 16,777,216 |
B | 10 | 128–191 | a.b | c.d | 214 = 16,384 | 216 = 65,536 |
C | 110 | 192–223 | a.b.c | d | 221 = 2,097,152 | 28 = 256 |
类化网络设计在互联网的启动阶段发挥了作用,但它缺乏在1990年代网络快速扩展面前的可扩展性。1993年,地址空间的类别系统被无类别域间路由(CIDR)取代,它采用可变长度子网掩码(VLSM)来允许基于任意长度前缀的分配和路由。
如今,类化网络概念的残余只在有限范围内发挥作用,例如某些网络软件和硬件组件(例如网络掩码)的默认配置参数,以及网络管理员讨论中使用的技术术语。
早期的网络设计,当设想与所有互联网主机进行全球端到端连接的通信时,旨在将IP地址唯一地分配给特定计算机或设备。然而,人们发现这并非总是必要的,因为私有网络的发展以及对公共地址空间的节约。
未连接到互联网的计算机,例如仅通过TCP/IP相互通信的工厂机器,不需要具有全局唯一的IP地址。RFC 1918保留了三个用于私有网络的IPv4地址范围。这些地址不会在互联网上路由,因此它们的用法无需与IP地址注册机构协调。
如今,当需要时,这些私有网络通常通过网络地址转换(NAT)连接到互联网。
开始 | 结束 | 地址数量 | |
---|---|---|---|
24位块(/8前缀,1 × A) | 10.0.0.0 | 10.255.255.255 | 16,777,216 |
20位块(/12前缀,16 × B) | 172.16.0.0 | 172.31.255.255 | 1,048,576 |
16位块(/16前缀,256 × C) | 192.168.0.0 | 192.168.255.255 | 65,536 |
任何用户都可以使用任何保留的块。通常,网络管理员会将一个块划分为子网;例如,许多家用路由器自动使用192.168.1.1到192.168.1.255的默认地址范围(在CIDR符号中为192.168.1.0/24)。
自2011年2月3日IANA和RIR分配给最终用户和互联网服务提供商的可用未分配IPv4地址供应已完全耗尽,当时最后5个A类块被分配给了5个RIR。[4] 亚太网络信息中心(APNIC)是第一个在2011年4月15日耗尽其区域池的RIR,除了保留少量地址空间用于向IPv6过渡之外。[5]
尽管有节约技术,IPv4地址空间的快速枯竭促使互联网工程任务组(IETF)探索扩展互联网寻址能力的新技术。永久的解决方案被认为是互联网协议本身的重新设计。这种下一代互联网协议,旨在补充并最终取代IPv4,最终在1995年被命名为互联网协议版本6(IPv6)。[2] 地址大小从32位增加到128位或16个字节。即使有慷慨的网络块分配,这也被认为足以满足可预见的未来。从数学上讲,新的地址空间提供了高达~3.403×1038 个唯一地址(2128)的潜力。
新设计并非旨在独立提供足够的地址数量,而是为了在路由节点高效聚合子网路由前缀。因此,路由表大小更小,最小的单个分配是一个包含 264 个主机的子网,这相当于整个 IPv4 互联网大小的平方。在这种情况下,任何 IPv6 网络段的实际地址利用率都会很低。新设计还提供了将网络段的地址基础设施(即对该段可用空间的本地管理)与用于为网络路由外部流量的地址前缀分离的机会。如果全局连接或路由策略发生变化,IPv6 拥有自动更改整个网络路由前缀的功能,而无需进行内部重新设计或重新编号。
大量的 IPv6 地址允许为特定目的分配大型块,并在适当的情况下进行聚合以实现高效路由。在拥有大型地址空间的情况下,不需要像无类域间路由 (CIDR) 中那样使用复杂的地址节省方法。
许多现代台式机和企业服务器操作系统包含对 IPv6 协议的原生支持,但它尚未在其他设备中得到广泛部署,例如家庭网络路由器、语音 over IP (VoIP) 设备和其他网络外设。
就像 IPv4 为私有或内部网络保留地址一样,IPv6 中也为私有地址预留了地址块。在 IPv6 中,这些被称为唯一本地地址 (ULA)。RFC 4193 为此块预留了路由前缀 fc00::/7,该块被分为两个 /8 块,具有不同的隐含策略。这些地址包含一个 40 位的伪随机数,最大限度地降低了站点合并或数据包错误路由时地址冲突的风险。[6]
以 fe80: 开头的地址称为链路本地地址,分配给接口,仅用于子网内的通信。这些地址由操作系统为每个网络接口自动生成。这为任何 IPv6 主机提供了即时且自动的网络连接,这意味着,如果多个主机连接到公共集线器或交换机,它们可以通过其链路本地 IPv6 地址进行通信。此功能用于 IPv6 网络管理的较低层(例如邻居发现协议)。
所有私有地址前缀都不可在公共互联网上路由。
在 IPv4 和 IPv6 中,IP 网络都可以划分为子网。为此,IP 地址在逻辑上被识别为由两个部分组成:网络前缀和主机标识符(在 IPv6 中重新命名为接口标识符)。子网掩码或 CIDR 前缀决定 IP 地址如何划分为网络和主机部分。
术语子网掩码仅在 IPv4 中使用。然而,这两个 IP 版本都使用无类域间路由 (CIDR) 的概念和符号。在这种情况下,IP 地址后跟一个斜杠和用于网络部分的位数(以十进制表示),也称为路由前缀。例如,IPv4 地址及其子网掩码可能分别为 192.0.2.1 和 255.255.255.0;同一个 IP 地址和子网的 CIDR 符号为 192.0.2.1/24,因为 IP 地址的前 24 位(准确地说为 192.000.002)表示网络和子网。
互联网协议地址在主机启动时被新分配,或者通过其硬件或软件的固定配置被永久分配。持久配置也称为使用静态 IP 地址。相反,如果计算机的 IP 地址每次都被重新分配,则称为使用动态 IP 地址。
静态 IP 地址由管理员手动分配给计算机。具体步骤因平台而异。这与动态 IP 地址形成对比,动态 IP 地址由计算机接口或主机软件本身分配,例如 Zeroconf,或者由服务器使用动态主机配置协议 (DHCP) 分配。即使使用 DHCP 分配的 IP 地址可能在很长一段时间内保持不变,但它们通常会发生变化。在某些情况下,网络管理员可以实施动态分配的静态 IP 地址。在这种情况下,使用 DHCP 服务器,但它被专门配置为始终将相同的 IP 地址分配给特定计算机。这允许集中配置静态 IP 地址,而无需通过手动过程专门配置网络上的每台计算机。
在没有或无法使用静态或有状态 (DHCP) 地址配置的情况下,操作系统可以使用无状态自动配置方法(例如 Zeroconf)将 IP 地址分配给网络接口。
动态 IP 地址最常由 DHCP 服务器在 LAN 和宽带网络上分配。它们被使用,因为它们避免了为网络上的每个设备分配特定静态地址的管理负担。如果只有一部分设备会在特定时间在线,它还允许许多设备共享网络上的有限地址空间。在大多数当前的台式机操作系统中,默认情况下会启用动态 IP 配置,因此用户不需要手动输入任何设置来连接到具有 DHCP 服务器的网络。DHCP 不是用于分配动态 IP 地址的唯一技术。拨号和某些宽带网络使用点到点协议 (PPP) 的动态地址功能。
粘性动态 IP 地址是一个非正式术语,由有线和 DSL 互联网接入用户用来描述动态分配的 IP 地址,该地址很少改变。这些地址通常使用 DHCP 分配。由于调制解调器通常长时间开机,因此地址租约通常设置为较长时间,并且只是简单地续订。如果调制解调器在下次地址租约到期之前关闭并再次开机,它很可能收到相同的 IP 地址。
RFC 3330 为 IPv4 网络的链路本地寻址的特殊用途定义了一个地址块 169.254.0.0/16。在 IPv6 中,每个接口,无论是使用静态地址分配还是动态地址分配,都会自动收到一个本地链路地址,位于块 fe80::/10 中。
这些地址仅在主机连接到的链路上有效,例如本地网络段或点到点连接。这些地址不可路由,与私有地址一样,不能作为遍历互联网的数据包的源地址或目标地址。
当链路本地 IPv4 地址块被保留时,没有地址自动配置机制的标准存在。为了填补这一空白,微软创建了一个名为自动私有 IP 地址 (APIPA) 的实现。由于微软的市场力量,APIPA 已被部署在数百万台机器上,并已成为行业中的事实标准。许多年后,IETF 为此功能定义了一个正式标准,RFC 3927,名为IPv4 链路本地地址的动态配置。
某些基础设施情况必须使用静态地址,例如在查找将域名解析为 IP 地址的域名系统 (DNS) 主机时。静态地址也很方便,但并非绝对必要,用于定位企业内部的服务器。从 DNS 服务器获取的地址带有生存时间 (TTL) 或缓存时间,在此之后应查找以确认该地址没有改变。即使是静态 IP 地址也会发生变化,通常是网络管理的结果 (RFC 2072)。
公共地址
[edit | edit source]在日常用语中,公网 IP 地址与全局可路由的单播 IP 地址是同义词。IPv4 和 IPv6 都定义了为私有网络和链路本地寻址保留的地址范围。术语公网 IP 地址通常用于排除这些类型的地址。
IP 地址的修改
[edit | edit source]IP 阻断和防火墙
[edit | edit source]防火墙保护网络免遭未经授权的访问,在当今互联网的各个级别都很常见,它们根据请求访问的计算机的 IP 地址控制对网络的访问。无论使用黑名单还是白名单,被阻止的 IP 地址都是客户端感知的 IP 地址,这意味着如果客户端使用代理服务器或网络地址转换,阻止一个 IP 地址可能会阻止许多独立的计算机。
IP 地址转换
[edit | edit source]多个客户端设备可能看起来共享 IP 地址:要么是因为它们位于共享主机 Web 服务器上,要么是因为 IPv4 网络地址转换 (NAT) 或代理服务器代表其客户充当中间代理,在这种情况下,真实的源 IP 地址可能被隐藏在接收请求的服务器中。一种常见的做法是让 NAT 隐藏私有网络中的大量 IP 地址。只有 NAT 的“外部”接口需要具有互联网可路由地址。[7]
最常见的是,NAT 设备将外部的 TCP 或 UDP 端口号映射到内部的单个私有地址。就像电话号码可以有特定于站点的分机号一样,端口号是特定于站点的 IP 地址扩展。
在小型家庭网络中,NAT 功能通常发生在住宅网关设备中,通常是作为“路由器”销售的设备。在这种情况下,连接到路由器的计算机将拥有“私有”IP 地址,而路由器将拥有“公共”地址来与互联网通信。这种类型的路由器允许多台计算机共享一个公共 IP 地址。
参考文献
[edit | edit source]- ↑ a b c d Information Sciences Institute, University of Southern California (1981). "RFC 791 - Internet Protocol". Internet Engineering Task Force. Archived from the original on September 10, 2015. Retrieved November 1, 2019.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ↑ a b Deering, S.; Hinden, R. (2017). "RFC 8200 - Internet Protocol, Version 6 (IPv6) Specification". Internet Engineering Task Force. Archived from the original on November 21, 2018. Retrieved November 1, 2019.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ↑ Postel, Jon (1980). "RFC 760 - DoD standard Internet Protocol". Internet Engineering Task Force. Retrieved November 1, 2019.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ↑ Smith, Lucie; Lipner, Ian (February 3, 2011). "Free Pool of IPv4 Address Space Depleted". Number Resource Organization. Archived from the original on November 6, 2018. Retrieved February 3, 2011.
- ↑ "APNIC IPv4 Address Pool Reaches Final /8". Asia-Pacific Network Information Centre. April 15, 2011. Archived from the original on March 29, 2016. Retrieved November 1, 2019.
- ↑ Hinden, R.; Haberman, B. (2005). "RFC 4193 - Unique Local IPv6 Unicast Addresses". Internet Engineering Task Force. Archived from the original on September 12, 2018. Retrieved November 1, 2019.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ↑ Comer, Douglas (2000). 与 TCP/IP 互连:原理、协议和体系结构 (第 4 版). 新泽西州上鞍河:普伦蒂斯·霍尔。第 394 页。 ISBN 0130183806.
- IP 在 Curlie
- "理解 IP 地址:关于 IP 地址的一切" (PDF). 存档于 原文 (PDF) 于 2010 年 8 月 21 日。