《TCP/IP详解 卷一》第2章 Internet地址结构

目录

2.1 引言

2.2 表示IP地址

2.3 基本的IP地址结构

单播地址

全球单播地址:

组播地址

任播地址

2.4 CIDR和聚合

2.5 特殊用途地址

2.6 分配机构

2.7 单播地址分配

2.8 与IP地址相关的攻击

2.9 总结


2.1 引言

2.2 表示IP地址

IPv4地址:32位

IPv6地址:128位

IPv4兼容的IPv6地址:

        ::IPv4_address,允许IPv6主机与IPv4主机直接通信。

IPv4映射的IPv6地址

        ::FFFF:IPv4_address,用于过渡期或双栈。

上述两种IPv6地址方案已被淘汰,取而代之是原生IPv6地址方案。

现代IPv6网络中,更倾向于使用NAT64和DNS64来实现IPv4和IPv6之间的通信

        NAT64和DNS64通常需要同时存在。

NAT64:将IPv6数据包转换为IPv4数据包。

DNS64:用于解析IPv4地址并生成IPv6地址。

举例,IPv6 访问IPv4时:

        1. IPv6主机发送DNS查询请求到DNS64服务器,请求某域名的IPv6地址。

        2. DNS64服务器收到请求后,查询到域名对应的IPv4地址,并转换为特定的IPv6 地址。

如,IPv4 地址 192.0.2.1转换为 IPv6 地址 64:ff9b::192.0.2.1。

        3. IPv6主机发送数据包到目标IPv6 地址,即DNS64生成的特定IPv6 地址。

        4. 数据包经过NAT64网关时,NAT64网关检测到特定的前缀,并将 IPv6数据包转换为对应的IPv4数据包。

        5. 最终数据包进入IPv4网络,通信成功。

为区分IPv6中冒号和端口号前的冒号,使用[ ]包围IPv6地址,如:

        http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080

2.3 基本的IP地址结构

分类寻址

IPv6没有IPv4的子网掩码,而是前缀长度,如2001:0db8:85a3:0000::/64

子网掩码:纯粹是内网内部的局部问题。外网不关心子网号,只关心网络号。

   

可变长度子网掩码 VLSM:用于分割一个网络号,使每个子网支持不同数量的主机。不同子网长度不一致。

旧的路由协议不支持VLSM,如RIP v1。

子网广播地址(定向广播):

        将 IPv4地址中主机位全为1。路由器不转发定向广播报文。

本地网络广播(有限广播):

        255.255.255.255,路由器不能转发。

为了提高地址利用率,减少网络负载,增强安全性,IPv6没有广播地址,仅使用组播地址。

IPv6不进行NAT转换,因为地址够用。

单播地址

链路本地地址:

        只用于同一链路通信,该报文不被路由器转发。

        前缀是fe80::/10

        所有IPv6接口都需要配置该类型地址。

        用于邻居发现、路由通告RA,路由请求RS,IPv6地址自动配置,局域网设备通信。

全球单播地址:

全球唯一,类似IPv4公有地址,前缀是2000::/3,格式如下:

Global Routing prefix: ISP分配。

Subnet ID: 用于划分子网,网络管理员分配。

Interface ID:在子网中不能重复,可由MAC地址生成。

唯一本地地址Unique Local Addresses (ULA):

        前缀是fc00::/7,类似IPv4私有地址(10.0.0.0/8、192.168.0.0/16)

        使用场景:内网服务器、打印机、智能家居设备。

环回地址:

        类似于127.0.0.1

未指定地址:

        地址是全0,不能分配给接口。用该地址作源地址以表示接口此时无IPv6地址,仅可用于报文的源地址。

组播地址

全球组播地址,用于多播通信,类似IPv4多播地址。前缀是ff00::/8。

标准组播地址:范围为 ff01::/16 到 ff0f::/16

使用场景:

        路由器发送路由通告和路由器通告消息的目标地址。

        邻居发现过程中的目标地址。

        DHCPv6 服务器和客户端之间的通信。

任播地址

即Anycast Address

前缀:ff00::/8

用于一对多通信。一个数据包若以任播地址为目的地址,只被路由到最近的目标节点。

作用:服务冗余,负载均衡,路由优化。

使用场景:分布式系统、CDN(内容分发网络)、云计算等。

如ff02::1,表示所有路由器的任播地址。

链路本地地址和全球地址都使用Interface ID(64位)作为低序位,

Interface ID直接有MAC地址组成成为EUI64格式,EUI拓展唯一标识符,

EUI-48地址即MAC地址。

EUI-48转换为EUI-64:

        EUI-48地址00-11-22-33-44-55转换为EUI-64地址00-11-22-FF-FE-33-44-55,然后将EUI-64的u位取反,得到Interface ID

EUI 64地址第一字节低两位:分别是u位和g位

        u:指示EUI-64地址的全球唯一性。0:是全球唯一地址,1:不是全球唯一地址。

        g:是否是组播地址。0:是单播地址,1:是组播地址。

MAC地址00:30:48:2A:19:89映射为一个IPv6地址完整流程:

        1. 转换为EU1-64形成地址00:30:48:ff:fe:2a:19:89。

        2. u位被取反,形成IID 值02:30:48:ff:fe:2a:19:89。

        3. 使用保留的链路本地前缀fe80::/10,形成完整地址fe80::230:48ff:fe2a:1989。/64是标准子网掩码长度。

windows IPv6地址fe80: :5efe:10:153:141:135%2

        其中5efe中fe表示后面嵌入的是IPv4地址,其中OUI 为( 00-00-5E)。

2.4 CIDR和聚合

CIDR(Classless Inter-Domain Routing,无类 域间 路由):消除A类、B类和C类地址以及划分子网的概念。尽量合并成一条路由,减少路由条目。

VLSM(Variable Length Subnet Mask,可变长子网掩码):

VLSM关注划分同一网络的子网大小。

CIDR更注重于整体的IP地址划分和路由表聚合。

CIDR与VLSM比较:

        CIDR掩码在全球性路由系统可见。CIDR把几个标准ABC类网络合成一个大的网络

        VLSM只在站点本地可见,VLSM可把一个标准网络分成几个子网。

聚合:合并路由表,减少路由表项。

2.5 特殊用途地址

IPv4

        0.0.0.0:未匹配路由表时,用于查询目的地址为0.0.0.0的路由表项,得到下一跳。

        169.254.0.0/16:即自动配置IP地址。没有DHCP服务器时,设备使用该地址得到一个本地链接 IP 地址。

        224.0.0.0到239.255.255.255:多播地址。

IPv6

        ff00::/8 组播地址,作为目的地址使用,具体有:

        ff02::1 链路本地所有节点

        ff02::2 所有路由器

        ff02::5 OSPFv3 路由器

        ff02::9 RIPng路由器

        fc00::/7 唯一本地单播地址:类似于IPv4私有地址,不在互联网上路由。

        fe80::/10 链路本地单播地址:用于链路上的本地通信和邻居发现。是自动配置的。

IPv4 组播地址

        ASM(Any-Source Multicast)任意源组播:

                IPv4中常用的组播模式,不关心发送者身份,存在安全和拥塞等问题。

        SSM(Source-Specific Multicast)源特定组播:

                新型组播模式,一个组的发送方只有一个,且固定。

                使用场景:视频直播。

Linux开启SSM:

        启用IGMPv3,以支持SSM

        ip maddr add <multicast_address> dev  <interface> src <source_address>

Linux开启ASM:

        ip maddr add <multicast_address> dev  <interface>

PIM(Protocol Independent Multicast):一种路由协议,用于在IP网络中支持组播传输。

基于单播前缀的组播地址:UBM

        单播地址192.0.2.0/24 对应的UBM地址 234.192.0.2 (对UBM左移8位就知道单播地址)

        作用:灵活扩展来定义组播组。

IPv6 组播地址

        ff00::/8 预留给组播地址。

任播地址anycast :

        多个设备共享相同任播地址,数据包只路由到其中最近设备。

        场景:用于DNS,内容分发网络CDN,负载均衡,NTP服务器。

        任播地址范围:224.0.0.0到239.255.255.255,FF00::/8

2.6 分配机构

单播:

        每个大洲一个IP注册结构,为国家分配地址空间,由ISP分配。

        供应商独立的地址PI:不由ISP分配,客户单独拥有,ISP单独为其路由

        whois命令:跟踪一个IP从哪里分配来。

命令whois www.baidu.com

        从WHOIS服务器得到,该域名的注册商、注册日期、到期日期以及域名联系人的信息。

命令whois 203.0.113.0

        从WHOIS服务器得到,该IP地址注册信息,包括IP分配机构、分配日期、使用情况等。

组播方式:

        ASM/SSM

        实现组播可能需网络管理员要和ISP沟通或厂商。

2.7 单播地址分配

netstat -gn:查看组播地址。

DMZ:使外网用户可以访问内网服务器(如Web, 邮件,FTP),同时限制他们访问内部其他网络。通过防火墙规则实现。

2.8 与IP地址相关的攻击

2.9 总结

相邻的地址前缀可被聚合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/700787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据分享】不同共享社会经济路径下中国未来280个城市土地数量数据集(免费获取)

了解未来城市土地数量对于城市规划、社会经济发展和气候变化研究具有重要意义。通过分析不同共享社会经济路径下中国未来城市土地数量的数据&#xff0c;可以为未来城市发展趋势和可持续规划提供科学依据。 本次我们给大家带来的是不同共享社会经济路径下中国未来城市土地数量…

【退役之重学前端】使用vite+vue3+vue-router,重构react+react-router前后端分离的商城后台管理系统

前言&#xff1a; 对前端各个技术板块&#xff0c;HTML、CSS、JavaScript、ES6、vue家族&#xff0c;整体上能“摸其大概”。笔者计划重构一个基于react的商城后台管理系统。 —— 2024年2月16日 技术选型 #语言和框架 vue3sassbootstrapES7 #架构 前后端分离分层架构模块化…

C# 实现网页内容保存为图片并生成压缩包

目录 应用场景 实现代码 扩展功能(生成压缩包) 小结 应用场景 我们在一个求职简历打印的项目功能里&#xff0c;需要根据一定的查询条件&#xff0c;得到结果并批量导出指定格式的文件。导出的格式可能有多种&#xff0c;比如WORD格式、EXCEL格式、PDF格式等&#xff0c;…

使用命令行创建文件夹和文件

创建文件夹 md 文件夹名字 创建文件 echo >文件名字.后缀然后回车即可 注意点:echo >文件名字.后缀 的 >后面不可以加空格&#xff0c;不然会报错\

深入理解Go语言中的Channel与Select

Go 语言中的 Channel 和 Select 是并发编程中的重要概念和机制&#xff0c;它们为协程之间的通信和同步提供了强大的支持。接下来将深入介绍 Channel 和 Select 的概念、使用方法、特性&#xff0c;并结合实际工作场景和示例代码进行详细讨论。 1. Channel 概述 1.1 什么是 C…

《Docker极简教程》--Docker卷和数据持久化--Docker卷的概念

在容器化环境中&#xff0c;数据持久性是一个重要挑战。传统上&#xff0c;容器是短暂的、易于销毁和重建的&#xff0c;这与数据的持久性需求相冲突。当容器被销毁时&#xff0c;容器内部的数据通常会丢失&#xff0c;因此需要一种方法来确保数据的持久性。这涉及到数据的存储…

Java基础之lambda表达式(五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

《Python 语音转换简易速速上手小册》第9章 特定领域的语音处理(2024 最新版)

文章目录 9.1 语音处理在不同行业的应用9.1.1 基础知识9.1.2 主要案例:智能客服机器人案例介绍案例 Demo案例分析9.1.3 扩展案例 1:医疗语音助手案例介绍案例 Demo案例分析9.1.4 扩展案例 2:语言学习应用案例介绍案例 Demo

Python 实现Hash算法验证

目录 一、Hash 算法的原理及作用 二、python验证Hash算法代码实现 三、运行脚本验证如下 四、在线工具验证结果如下 五、总结 一、Hash 算法的原理及作用 Hash加密算法是一种将任意长度的消息压缩成固定长度散列值的算法。它的特点是快速、不可逆和安全。对于相同的消息&a…

Java整型字符串数组

整数类型 byte&#xff0c;字节 【1字节】表示范围:-128~127即: -2^7~2^7 -1 short&#xff0c;短整型 【2字节】表示范围: -32768~32767 int&#xff0c;整型 【4字节】表示范围: -2147483648~2147483647 long,长整型 【8字节】表示范围: -9223372036854775…

陪玩软件系统的开发-用PHP书写,uni开发的陪玩平台更有质量-线上线下功能齐全-APP小程序H5公众号都有,源码交付!

线上陪玩系统的功能 在线预订&#xff1a;用户可以在陪玩系统中在线预订陪玩服务&#xff0c;系统会根据用户的订单要求自动匹配陪玩人员。 指定搜索&#xff1a;用户可以通过搜索指定的ID来找到他们想要的陪玩人员。 在线交流&#xff1a;在陪玩系统中提供在线沟通功能&…

听课笔记03

小练习 使用cmd打开qq 切换盘符 qq.exe 有简单的方法吗&#xff1f; 进入多层文件夹太麻烦了。 在任意的文件夹下打开qq 怎么做 当前目录没有qq 把qq的路径记录到电脑上 环境变量 把qq的路径记录到环境变量中 设置环境变量 高级系统设置 path里放系统路径 从上往下找 可以配置任…

Bluesky数据采集框架-1

Bluesky是一个用于实验控制和科学数据和元数据采集的库。它强调以下特点&#xff1a; 1、实时&#xff0c;流式数据&#xff1a;可用于嵌入可视化和处理。 2、丰富元数据&#xff1a;获取和组织来方便复制性和可检索性。 3、实验通用性&#xff1a;对完全不同的硬件无缝地重…

提升装备制造企业竞争力:2023年CRM选型与应用完全解读

在加快产业转型升级的大背景下&#xff0c;高端装备制造业既面临机遇也面临挑战。随着公司规模的不断壮大&#xff0c;再加上装备制造业营销体系及服务体系管理体系的复杂性&#xff0c;一些问题逐渐暴露出来&#xff0c;装备制造业企业需要根据自身业务需求和管理流程选择合适…

指针作为传入传出参数

C语言/C中&#xff0c;当函数参数为指针的时候&#xff0c;一般分为传入和传出参数&#xff1a; 指针前有const&#xff0c;认为是是传入参数&#xff1b; 指针前无const&#xff0c;一般认为是传出参数&#xff1a; 例如&#xff1a; void func(int *value)//形参前没有加…

fpga_RGB模型与硬件加速思维

一 RGB模型 人眼之所以可以看到各种颜色的光&#xff0c;主要是红绿蓝三种感光细胞综合感觉的结果&#xff0c;而红绿蓝三色被称为三原色。 饱和度均为100%的RGB能组合成8种颜色&#xff0c;计算机处理的BMP图片为24bit的位图&#xff0c;即每一通道的颜色可以组合为2的8次方&a…

训练Sora模型,你可能需要这些开源代码,模型,数据集及算力评估

在之前的文章&#xff0c;我们总结了Sora模型上用到的一些核心技术和论文 复刻大模型 Sora 有多难&#xff1f;一张图带你读懂 Sora 的技术路径一文看懂大模型 Sora 技术推演 今天这篇文章来自我们社区讨论交流&#xff0c;我这边整理和总结现有的一些开源代码、模型、数据集…

Java面试问题集锦

1.JDK、JRE、JVM 三者有什么关系&#xff1f; JDK&#xff08;全称 Java Development Kit&#xff09;&#xff0c;Java开发工具包&#xff0c;能独立创建、编译、运行程序。 JDK JRE java开发工具&#xff08;javac.exe/java.exe/jar.exe) JRE&#xff08;全称 Java Runtim…

计算机设计大赛 深度学习图像分类算法研究与实现 - 卷积神经网络图像分类

文章目录 0 前言1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径&#xff0c;图像尺寸&#xff0c;数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…

easyrecovery数据恢复软件14中文绿色版下载

EasyRecovery易恢复14全面介绍 一、功能概览 EasyRecovery易恢复14是一款功能强大的数据恢复软件&#xff0c;旨在帮助用户从各种存储介质中恢复丢失或删除的文件。无论是由于误删、格式化、系统崩溃还是其他未知原因导致的数据丢失&#xff0c;EasyRecovery易恢复14都能提供…