百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

什么是IP地址?IPv4和IPv6有什么区别?

bigegpt 2024-08-08 11:56 2 浏览


网络上的每台机器都有唯一的标识符。计算机使用惟一标识符将数据发送到网络上的特定计算机,这与在邮件中发送信件的地址相同。今天的大多数网络,包括Internet上的所有计算机,都使用TCP/IP协议作为网络上通信的标准。在TCP/IP协议中,计算机的唯一标识符称为IP地址。

IP地址有两个标准:IP版本4 (IPv4)和IP版本6 (IPv6)。所有有IP地址的计算机都有IPv4地址,许多计算机也开始使用新的IPv6地址系统。以下是这两种地址类型的含义:

  • IPv4使用32个二进制位在网络上创建单个唯一地址。IPv4地址由四个数字表示,用点分隔。每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如:216.27.61.137。
  • IPv6使用128个二进制位在网络上创建一个唯一地址。IPv6地址由八组十六进制(以16为基数)数字表示,这些数字由冒号分隔,如2001:cdba:0000:0000:0000:0000:0000:3257:9652所示。为了节省空间,通常省略包含所有零的数字组,留下冒号分隔符来标记空白(如2001:cdba::3257:9652)。

在IPv4地址出现之初,互联网还没有像今天这样引起商业轰动,大多数网络都是私有的,并且与世界上其他网络隔绝。当互联网爆发式增长,只有32位来识别一个独特的互联网地址感觉有点不够用,这让人们担心我们的IP地址会用完。在IPv4下,有232种可能的组合,提供了将近43亿个唯一地址。IPv6将其提升到2128个可能的组合。

你的电脑如何得到它的IP地址?IP地址可以是动态的,也可以是静态的。静态地址是通过编辑计算机的网络设置来配置自己的地址。这种类型的地址很少见,如果在不了解TCP/IP的情况下使用它,可能会造成网络问题。动态地址是最常见的。它们由运行在网络上的服务动态主机配置协议(DHCP)分配。DHCP通常运行在网络硬件上,如路由器或专用的DHCP服务器。

动态IP地址是使用租赁系统发出的,这意味着IP地址只在有限的时间内有效。如果租约到期,计算机将自动请求新的租约。有时,这意味着计算机也将获得一个新的IP地址,特别是在计算机在租约之间断开网络连接的情况下。这个过程通常对用户是透明的,除非计算机警告网络上的IP地址冲突(两台具有相同IP地址的计算机)。地址冲突很少见,而今天的技术通常会自动修复问题。

IP类

在前面,您了解到IPv4地址表示四个8位二进制数字。这意味着每个数字可以是二进制的00000000到11111111,或者十进制的0到255(以10为基数)。换句话说,可以从0.0.0.0到255.255.255.255。但是,这个范围内的一些数字是为TCP/IP网络上的特定目的保留的。这些保留由TCP/IP寻址权威机构Internet Assigned Numbers authority (IANA)识别。四项具体保留包括:

  • 0.0.0.0——这表示默认网络,这是连接到TCP/IP网络的抽象概念。
  • 255.255.255.255——此地址是为网络广播或应发送到网络上所有计算机的消息保留的。
  • 127.0.0.1——这被称为环回地址,即您的计算机识别自身的方式,不管它是否有分配的IP地址。
  • 169.254.0.1到169.254.255.254——这是计算机从DHCP服务器获取地址失败时自动分配的专用IP地址(APIPA)范围。

其他IP地址保留用于子网类。子网是通过路由器连接到较大网络的较小计算机网络。子网可以有自己的地址系统,因此同一子网中的计算机可以快速通信,而无需通过更大的网络发送数据。以下是预留给子网的IP地址:

  • 10.0.0.0到10.255.255.255——这属于1.0.0.0到127.0.0.0的A类地址范围,其中第一位为0。
  • 172.16.0.0至172.31.255.255——这属于128.0.0.0至191.255.0.0的B类地址范围,其中前两位为10。
  • 192.168.0.0到192.168.255.255——这属于192.0.0.0到223.255.255.0的C类范围,其中前三位是110。
  • 多播(以前称为D类)——地址的前四位是1110,地址范围是224.0.0.0到239.255.255.255。
  • 预留作日后/实验用途(以前称为E类)——地址240.0.0.0至254.255.255.254。

前三个(在类A、B和C中)是最常用于创建子网的。稍后,我们将看到子网如何使用这些地址。IANA概述了Internet工程任务组(IETF)文档RFC5771中多播地址的具体用途。但是,自从1989年在其RFC1112文件中保留了该块之后,它还没有为E类地址指定用途或未来计划。在ipv6之前,互联网上充满了关于IANA是否应该发布E类以供一般使用的争论。

互联网地址和子网

以下是在ISP连接和计算机之间使用路由器(无线或有线)时,您在家中计算机上可能拥有的子网IP地址的示例:

  • IP地址:192.168.1.102
  • 子网掩码:255.255.255.0
  • 为网络标识保留24位(3个八位字节)
  • 为节点保留八位(一个八位字节)
  • 基于子网掩码的子网标识(第一个地址):192.168.1.0
  • 子网的保留广播地址(最后一个地址):192.168.1.255
  • 同一网络上的地址示例:192.168.1.1、192.168.1.103
  • 示例地址不在同一网络上:192.168.2.1、192.168.2.103

除了保留IP地址外,IANA还负责将IP地址块分配给某些实体,通常是商业或政府组织。您的Internet服务提供商(ISP)可能是这些实体中的一个,也可能是这些实体控制下更大的块的一部分。为了让您连接到Internet,您的ISP将为您分配一个地址。您可以在这里看到完整的IANA分配和IPv4地址保留列表。

如果只将一台计算机连接到Internet,则该计算机可以使用ISP提供的地址。然而,今天许多家庭使用路由器在多台计算机之间共享一个因特网连接。无线路由器近年来特别流行,避免了在房间之间铺设网络电缆的需要。

如果使用路由器共享Internet连接,路由器将直接从ISP获得IP地址。然后,它为连接到该路由器的所有计算机创建和管理子网。如果您的计算机地址属于前面列出的保留子网范围之一,您将通过路由器而不是直接连接到Internet。

子网上的IP地址有两部分:网络和节点。网络部分标识子网本身。节点,也称为主机,是连接到网络并需要唯一地址的单个计算机设备。每台计算机都知道如何使用子网掩码将IP地址的两部分分开。子网掩码看起来有点像IP地址,但实际上它只是一个过滤器,用于确定IP地址的哪一部分指定了网络和节点。

子网掩码由一系列1位和一系列0位组成。1位表示应该屏蔽IP地址中的网络位,只显示标识该网络上唯一节点的那些位。在IPv4标准中,最常用的子网掩码具有完整的1和0的八位元,如下所示:

  • 255.0.0.0.0=11111111.00000000.00000000.00000000=8位用于网络,24位用于节点
  • 255.255.0.0=11111111.11111111.00000000.00000000=16位用于网络,16位用于节点
  • 255.255.255.0=11111111.11111111.11111111.00000000=24位用于网络,8位用于节点。

建立大型网络的人员根据所需子网或节点的数量确定哪个子网掩码最有效。对于更多的子网,使用更多的位作为网络;对于每个子网的更多节点,使用更多的位作为节点。这可能意味着使用非标准的遮罩值。例如,如果要对网络使用10位,对节点使用22位,则子网掩码值将需要在第二个八位字节中使用11000000,从而导致子网掩码值为255.192.0.0。

关于子网中的IP地址,需要注意的另一个重要事项是保留第一个和最后一个地址。第一个地址标识子网本身,最后一个地址标识该子网上系统的广播地址。

将计算机添加到网络时,该计算机使用四步过程从DHCP获取IP地址:

  • 发现——计算机在网络上发送广播消息,希望发现一个DHCP服务提供商。
  • 提供——每个DHCP提供程序都会听到消息,识别计算机的唯一硬件地址,并向该计算机发回一条消息,提供其服务。
  • 请求—计算机从提供的服务中选择一个DHCP提供程序,然后向该提供程序发送请求IP地址分配的请求。
  • 确认——目标DHCP提供程序确认请求,并向计算机发出一个IP地址,该地址与网络上当前活动的任何其他IP地址都不匹配。

相关推荐

【Docker 新手入门指南】第十章:Dockerfile

Dockerfile是Docker镜像构建的核心配置文件,通过预定义的指令集实现镜像的自动化构建。以下从核心概念、指令详解、最佳实践三方面展开说明,帮助你系统掌握Dockerfile的使用逻...

Windows下最简单的ESP8266_ROTS_ESP-IDF环境搭建与腾讯云SDK编译

前言其实也没啥可说的,只是我感觉ESP-IDF对新手来说很不友好,很容易踩坑,尤其是对业余DIY爱好者搭建环境非常困难,即使有官方文档,或者网上的其他文档,但是还是很容易踩坑,多研究,记住两点就行了,...

python虚拟环境迁移(python虚拟环境conda)

主机A的虚拟环境向主机B迁移。前提条件:主机A和主机B已经安装了virtualenv1.主机A操作如下虚拟环境目录:venv进入虚拟环境:sourcevenv/bin/active(1)记录虚拟环...

Python爬虫进阶教程(二):线程、协程

简介线程线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID、程序计数器、寄存器集合和堆栈共同组成。线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能...

基于网络安全的Docker逃逸(docker)

如何判断当前机器是否为Docker容器环境Metasploit中的checkcontainer模块、(判断是否为虚拟机,checkvm模块)搭配学习教程1.检查根目录下是否存在.dockerenv文...

Python编程语言被纳入浙江高考,小学生都开始学了

今年9月份开始的新学期,浙江省三到九年级信息技术课将同步替换新教材。其中,新初二将新增Python编程课程内容。新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法按照教材...

CentOS 7下安装Python 3.10的完整过程

1.安装相应的编译工具yum-ygroupinstall"Developmenttools"yum-yinstallzlib-develbzip2-develope...

如何在Ubuntu 20.04上部署Odoo 14

Odoo是世界上最受欢迎的多合一商务软件。它提供了一系列业务应用程序,包括CRM,网站,电子商务,计费,会计,制造,仓库,项目管理,库存等等,所有这些都无缝集成在一起。Odoo可以通过几种不同的方式进...

Ubuntu 系统安装 PyTorch 全流程指南

当前环境:Ubuntu22.04,显卡为GeForceRTX3080Ti1、下载显卡驱动驱动网站:https://www.nvidia.com/en-us/drivers/根据自己的显卡型号和...

spark+python环境搭建(python 环境搭建)

最近项目需要用到spark大数据相关技术,周末有空spark环境搭起来...目标spark,python运行环境部署在linux服务器个人通过vscode开发通过远程python解释器执行代码准备...

centos7.9安装最新python-3.11.1(centos安装python环境)

centos7.9安装最新python-3.11.1centos7.9默认安装的是python-2.7.5版本,安全扫描时会有很多漏洞,比如:Python命令注入漏洞(CVE-2015-2010...

Linux系统下,五大步骤安装Python

一、下载Python包网上教程大多是通过官方地址进行下载Python的,但由于国内网络环境问题,会导致下载很慢,所以这里建议通过国内镜像进行下载例如:淘宝镜像http://npm.taobao.or...

centos7上安装python3(centos7安装python3.7.2一键脚本)

centos7上默认安装的是python2,要使用python3则需要自行下载源码编译安装。1.安装依赖yum-ygroupinstall"Developmenttools"...

利用本地数据通过微调方式训练 本地DeepSeek-R1 蒸馏模型

网络上相应的教程基本都基于LLaMA-Factory进行,本文章主要顺着相应的教程一步步实现大模型的微调和训练。训练环境:可自行定义,mac、linux或者window之类的均可以,本文以ma...

【法器篇】天啦噜,库崩了没备份(天啦噜是什么意思?)

背景数据库没有做备份,一天突然由于断电或其他原因导致无法启动了,且设置了innodb_force_recovery=6都无法启动,里面的数据怎么才能恢复出来?本例采用解析建表语句+表空间传输的方式进行...