《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 总结

相邻的地址前缀可被聚合

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山下小童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值