前言
提醒:
文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。
其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展及意见建议,欢迎评论区讨论交流。
文章目录
互联网
127.0.0.1 和 0.0.0.0
127.0.0.1
和 0.0.0.0
都是特殊的 IP 地址,但它们在网络中的作用和意义有所不同:
1. 127.0.0.1 (回环地址)
- 用途:
127.0.0.1
被称为回环地址 (Loopback Address),它指向本地计算机。这个地址通常用来在本机上进行网络通信测试和诊断。 - 功能:当你在本地计算机上发送数据到
127.0.0.1
,它实际上会在计算机内部回环,不会离开本机网络接口。它用于测试应用程序和网络服务是否在本机正常工作,而不涉及外部网络。 - 范围:
127.0.0.1
是整个127.0.0.0/8
地址范围的一部分,通常这个地址用于本机之间的通信。
2. 0.0.0.0 (未指定地址)
- 用途:
0.0.0.0
是一个“未指定”或“默认”地址,通常在网络配置中表示“没有特定的 IP 地址”。它有多个用途,具体取决于上下文。- 在 服务器 中,
0.0.0.0
表示绑定到所有可用的网络接口。即,当服务器监听0.0.0.0
时,它会接收来自任何网络接口(本地网络、Wi-Fi、外部网络等)的连接。 - 在 路由器配置 中,
0.0.0.0
也可以表示默认网关或没有指定路由的地址。 - 在 IP 分配 中,它有时表示“动态分配”或尚未分配的地址(如 DHCP 请求时,客户端可能会使用
0.0.0.0
作为源地址)。
- 在 服务器 中,
区别总结:
127.0.0.1
是一个回环地址,专用于本地机器的网络通信,通常用于测试。0.0.0.0
是一个未指定或默认地址,表示没有特定的网络接口或未分配的地址,常用于服务器监听或路由配置。
默认网关(Default Gateway)
默认网关(Default Gateway) 是在计算机网络中用来让设备访问其他网络(特别是互联网)时使用的一个路由设备的 IP 地址。它充当了网络设备与其他网络(如外部互联网或不同子网)之间的桥梁。
默认网关的作用:
-
跨网络通信:当一个设备(如计算机、手机或路由器)要与不在其本地网络中的设备通信时,它会将数据发送到默认网关。默认网关会根据目的地的 IP 地址决定如何将数据包转发到目的网络。
-
转发数据包:如果目标设备的 IP 地址不在设备所在的子网范围内,设备会将数据包发送到默认网关,默认网关再通过其路由表转发数据到正确的目标。
默认网关的常见配置:
- 在家庭网络中,通常情况下,路由器 会作为默认网关,所有家庭设备(如电脑、手机、打印机等)都将其路由器的 IP 地址设置为默认网关。路由器会通过互联网连接将数据转发到外部网络。
- 在公司或大规模网络中,默认网关可能是内部路由器或防火墙设备,它负责将公司内部网络与外部网络连接起来。
默认网关的配置示例:
- IP 地址:例如,家庭路由器的默认网关通常是
192.168.1.1
,这意味着所有设备访问外部网络时,都通过该路由器进行转发。 - 在 Windows 操作系统中,可以通过命令行
ipconfig
查看当前计算机的默认网关。 - 在 Linux/Unix 系统中,可以使用命令
ip route
或route -n
查看默认网关。
默认网关的工作原理:
- 设备通信:假设设备 A(IP:
192.168.1.10
)想访问设备 B(IP:10.0.0.20
),而设备 A 和设备 B 不在同一个子网内。 - 发送到默认网关:设备 A 会查看设备 B 的 IP 地址,发现
10.0.0.20
不在192.168.1.0/24
子网内,因此它会将数据包发送到配置的默认网关(假设网关 IP 为192.168.1.1
)。 - 网关转发数据:默认网关收到数据包后,根据路由表判断如何将数据包转发到目标网络
10.0.0.0/8
,最终到达设备 B。
重要事项:
- 没有默认网关:如果设备没有配置默认网关,它只能和同一子网内的设备通信,无法访问外部网络或互联网。
- 多个网关:某些复杂的网络中,可能会有多个网关,设备会选择最合适的网关进行数据转发,通常是通过路由策略来决定。
总结:
默认网关是用于设备与不同子网或外部网络通信的关键设备,通常是路由器,它帮助设备将数据包正确地发送到目的网络或互联网。
IPv6和IPv4
IPv6和IPv4的主要区别?子网掩码,二进制转化,地址分类,头部,安全有什么不同?
【硬核科普】IP地址是什么东西?IPV6和IPV4有什么区别?公网IP和私有IP又是什么?
IPv6 和 IPv4 是两种不同版本的互联网协议,它们在多个方面有所区别,主要包括地址长度、地址格式、路由机制、安全性等。下面是它们的主要区别:
1. 地址长度与地址格式
-
IPv4:
- 地址长度:32位,通常表示为四个十进制数字,每个数字表示 8 位(1 字节),并通过点分隔。例如:
192.168.1.1
。 - 总地址数量:IPv4 地址空间提供约 43 亿个(2^32)唯一的地址。随着互联网设备的增加,这些地址已经接近用尽。
- 地址长度:32位,通常表示为四个十进制数字,每个数字表示 8 位(1 字节),并通过点分隔。例如:
-
IPv6:
- 地址长度:128位,表示为八组四个十六进制数字,每组由冒号
:
分隔。例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334
。 - 总地址数量:IPv6 地址空间非常庞大,提供约 340 万亿亿(3.4×10^38)个地址。这为全球每个设备提供了几乎无限的唯一地址。
- 地址长度:128位,表示为八组四个十六进制数字,每组由冒号
2. 地址表示法
-
IPv4:
- 使用点分十进制表示法(如:
192.168.0.1
)。
- 使用点分十进制表示法(如:
-
IPv6:
- 使用十六进制表示法,每个十六进制数代表 4 个二进制位。
- 支持简写:如果连续的零段存在,可以缩写为
::
,但只允许出现一次。例如,2001:0db8::1
等于2001:0db8:0000:0000:0000:0000:0000:0001
。
3. 地址分配与路由
-
IPv4:
- 地址分配依赖于 NAT(网络地址转换) 来处理地址不足的问题,即多个设备共享一个公共 IP 地址。
- 路由表较为复杂,因为 IPv4 地址数量有限,网络中存在大量子网和路由器。
-
IPv6:
- IPv6 设计上能够为每个设备分配独立的全球唯一地址,不再需要 NAT。每个设备都可以有一个公网地址。
- 路由表更加简洁,设计上使得路由更加高效,且支持更大的地址空间。
4. 网络配置
-
IPv4:
- 需要手动配置或使用 DHCP(动态主机配置协议)来获取 IP 地址和其他配置信息。
-
IPv6:
- 支持自动地址配置(SLAAC,Stateless Address Autoconfiguration),设备可以通过网络自动获取一个唯一的 IPv6 地址,无需 DHCP。
- 虽然也可以使用 DHCPv6,但许多情况下设备通过 SLAAC 自动获取地址。
5. 安全性
-
IPv4:
- 安全性主要通过外部协议(如 IPsec)实现,IPv4 本身没有内建的加密机制。
-
IPv6:
- 安全性设计时就考虑到了,IPv6 协议本身原生支持 IPsec(用于加密和认证)。这意味着 IPv6 更容易实现端到端的加密通信,虽然在实际应用中,IPsec 并非强制启用。
6. 数据包头部
-
IPv4:
- IPv4 数据包头部结构较为复杂,包含多个可选字段,可能导致处理延迟。
-
IPv6:
- IPv6 的数据包头部结构简化,减少了冗余字段,虽然字段更多,但它删除了许多不常用的选项,优化了数据包的处理效率。
7. 广播(Broadcast)
-
IPv4:
- IPv4 支持广播,即数据包发送到子网中的所有设备。
-
IPv6:
- IPv6 不支持广播,取而代之的是使用 组播(Multicast) 来向一组特定的设备发送数据。这样可以提高网络效率,减少广播风暴。
8. 过渡机制
-
IPv4:
- IPv4 不支持向 IPv6 的过渡,因为它是设计时单独考虑的。
-
IPv6:
- IPv6 设计时考虑到了与 IPv4 兼容的过渡机制,如 双栈(Dual Stack) 技术,可以同时运行 IPv4 和 IPv6 网络,便于从 IPv4 过渡到 IPv6。
- 还支持隧道技术(如 6to4 隧道)和其他过渡协议。
9. 配置和部署的复杂性
-
IPv4:
- IPv4 部署普遍,但由于地址枯竭、NAT 和子网划分的复杂性,管理和配置逐渐变得困难。
-
IPv6:
- 虽然 IPv6 提供了更大的地址空间和更简单的配置,但由于设备和网络基础设施的兼容问题,IPv6 的部署相对较为缓慢。
总结:
- IPv6 的主要优势是提供了极大的地址空间、更简洁的头部结构、更强的安全性支持、以及去除广播等改进,旨在解决 IPv4 地址枯竭和网络复杂性问题。
- IPv4 目前仍广泛使用,但因地址不足和网络拥塞等问题,逐步过渡到 IPv6 是未来发展的趋势。
IPv6 是对 IPv4 的升级,它为不断增长的设备数量和网络需求提供了更好的解决方案,但其部署仍需要时间,尤其是在全球范围内。
IPv4地址和子网掩码
子网掩码 (Subnet Mask)
子网掩码(Subnet Mask)是用于划分IP地址网络部分与主机部分的一个工具。它帮助网络设备判断目标IP地址是否在同一子网内,从而决定数据包的转发方式。子网掩码本质上是一个与IP地址格式相同的二进制数,通过与IP地址进行按位与运算,确定网络部分和主机部分。
子网掩码的作用
-
区分网络部分和主机部分:子网掩码定义了IP地址中哪些位属于网络部分,哪些位属于主机部分。通常,子网掩码的二进制形式包含一连串的1(表示网络部分)和一连串的0(表示主机部分)。
-
确定子网范围:通过子网掩码,可以知道一个IP地址所在的子网范围。例如,子网掩码为
255.255.255.0
时,IP地址的前三个字节(即24位)表示网络,最后一个字节表示主机。 -
判断目标地址是否在同一子网:设备使用子网掩码和目标IP地址进行运算,确定目标是否在本子网内。如果在同一子网内,数据包可以直接发送;如果不在同一子网,则需要通过默认网关进行转发。
子网掩码的表示方法
子网掩码通常有两种表示方法:
-
点分十进制表示法(常见):例如
255.255.255.0
,即四个字节,每个字节使用点分十进制表示。 -
CIDR表示法(简洁):以IP地址后加斜杠(/)和数字表示网络位的数量。例如,
192.168.1.0/24
表示网络的前24位是网络部分,后面的位是主机部分。
常见子网掩码及其对应的网络位
子网掩码(点分十进制) | CIDR表示法 | 网络位数 | 可用主机数 |
---|---|---|---|
255.0.0.0 | /8 | 8位 | 16,777,214 |
255.255.0.0 | /16 | 16位 | 65,534 |
255.255.255.0 | /24 | 24位 | 254 |
255.255.255.255 | /32 | 32位 | 1 |
子网掩码的工作原理
子网掩码的工作原理基于二进制的位运算。子网掩码通过与目标IP地址进行按位与运算,来判断IP地址属于哪个子网。
例如,IP地址 192.168.1.10
和子网掩码 255.255.255.0
,按位与的过程如下:
- IP地址:
192.168.1.10
→ 二进制表示:11000000.10101000.00000001.00001010
- 子网掩码:
255.255.255.0
→ 二进制表示:11111111.11111111.11111111.00000000
按位与后得到的结果是: 11000000.10101000.00000001.00000000
,即 192.168.1.0
,表示设备所在的网络是 192.168.1.0/24
网络。
子网掩码实例
假设网络有一个IP地址 192.168.1.10
,子网掩码 255.255.255.0
,则网络部分是 192.168.1
,主机部分是 10
。这意味着在 192.168.1.0/24
网络中,所有IP地址的前三个字节相同,只有最后一个字节表示不同的主机。
- 网络地址:
192.168.1.0
(不能分配给主机) - 广播地址:
192.168.1.255
(用来广播数据包到该子网的所有设备) - 可用主机范围:
192.168.1.1
到192.168.1.254
(可分配给主机)
总结
- 子网掩码用于划分和定义一个IP地址的网络部分和主机部分。
- 它帮助设备判断目标IP是否在同一子网内,若不在同一子网,则通过默认网关转发数据。
- 子网掩码有点分十进制和CIDR两种表示方式,常见的子网掩码包括
255.255.255.0
、255.255.0.0
和255.0.0.0
等。