目录
[一、 网络地址转换](#一、 网络地址转换)
[1.1 私有IPv4地址](#1.1 私有IPv4地址)
[1.2 网络地址转换(NAT)](#1.2 网络地址转换(NAT))
[1.3 网络地址和端口号转换(NAPT)](#1.3 网络地址和端口号转换(NAPT))
[二、 IP多播](#二、 IP多播)
[2.1 基本概念](#2.1 基本概念)
[2.2 IPv4多播地址和多播组](#2.2 IPv4多播地址和多播组)
[2.3 局域网IP多播](#2.3 局域网IP多播)
[2.4 因特网IP多播所需协议](#2.4 因特网IP多播所需协议)
一、 网络地址转换
1.1 私有IPv4地址
-
标准来源:RFC 1918规定了3个CIDR地址块作为私有IPv4地址
-
地址范围:
-
10.0.0.0 ~ 10.255.255.255(CIDR:10/8) -
172.16.0.0 ~ 172.31.255.255(CIDR:172.16/12) -
192.168.0.0 ~ 192.168.255.255(CIDR:192.168/16)
-
-
核心特性:
-
仅在私有网络内部有效,不同私有网络可使用相同私有IP
-
因特网上的路由器一律不转发目的地址为私有IP的数据报,需ISP对其拥有的因特网路由器进行配置来实现
-
1.2 网络地址转换(NAT)
-
核心目的 :缓解IPv4地址资源紧张,让大量私有IP主机共享少量全球IP访问因特网
-
实现条件:在私有网络与因特网的连接路由器上安装NAT软件(NAT路由器),且路由器至少拥有1个有效全球IP
-
工作流程(以主机H访问公网服务器S为例):
-
内网→公网:H发送数据报(源IP:[192.168.0.1](192.168.0.1)),NAT路由器将其源IP替换为临时全球IP(如[218.75.220.16](218.75.220.16)),并在NAT转换表记录映射关系,再转发到因特网
-
公网→内网:S返回数据报(目的IP:[218.75.220.16](218.75.220.16)),NAT路由器查表,将目的IP替换为H的私有IP([192.168.0.1](192.168.0.1)),再转发给H
-
-
局限性 :若NAT路由器有
n个全球IP,私有网络最多同时支持n台主机接入公网;若NAT路由器所拥有的全球IP数少于主机数则需要轮流使用
1.3 网络地址和端口号转换(NAPT)
-
核心改进 :结合IP地址与传输层端口号(TCP/UDP)进行转换,让多个内网主机共享1个全球IP同时通信
-
工作流程(以主机H1、H2访问公网服务器S为例):
-
内网→公网:H1发送数据报(源IP:[192.168.0.1](192.168.0.1),源端口:50000),NAPT路由器将其映射为(全球IP:[218.75.220.16](218.75.220.16),新端口:60001);H2发送数据报(源IP:[192.168.0.2](192.168.0.2),源端口:50000),映射为(全球IP:[218.75.220.16](218.75.220.16),新端口:60002),并记录到转换表
-
公网→内网:S返回数据报(目的IP:[218.75.220.16](218.75.220.16),目的端口:60001/60002),NAPT路由器查表,替换为对应的(私有IP+源端口),转发给H1/H2
-
-
关键特点:
-
端口号动态分配,解决了基本NAT的IP数量限制
-
对部分网络应用不透明,P2P通信需依赖NAT穿透技术
-
家用路由器通常是NAPT路由器(一般无需路由选择协议)
-
二、 IP多播
2.1 基本概念
-
定义:实现"一对多"通信的技术,相比单播可显著节省网络资源
-
单播与多播对比:
-
单播:向
N个主机发送相同数据,需发送N份数据报 -
多播:向
N个主机发送相同数据,只需发送1份数据报,由路由器复制转发到成员所在局域网
-
-
实现前提:因特网中的路由器必须支持多播路由选择和多播数据报寻址
2.2 IPv4多播地址和多播组
-
地址类型 :D类地址,前缀固定为
1110,剩余28位可变,范围为224.0.0.0 ~ 239.255.255.255 -
地址分类:
-
永久多播地址 (保留使用):如
224.0.0.5(OSPF协议)、224.0.0.9(RIP协议) -
全球范围可用地址 :需向IANA申请,如
224.0.1.0 ~ 238.255.255.255 -
本地管理地址 (类似私有IP):可自由分配,如
239.0.0.0 ~ 239.255.255.255
-
-
多播组特性:
-
多播地址仅能作为目的地址,不能作为源地址
-
成员可动态加入/离开,数量和地理位置不受限制,一台主机可属于多个多播组
-
非成员也可向多播组发送数据报
-
多播数据报为"尽最大努力交付",不保证一定送达所有成员
-
2.3 局域网IP多播
-
核心原理 :利用局域网硬件多播能力,将IPv4多播地址映射为多播MAC地址实现数据交付
-
映射规则:
-
多播MAC地址前25位固定为
01-00-5E-00-00-00,剩余23位取自IPv4多播地址的低23位 -
由于IPv4多播地址有28位可变,而MAC地址仅23位可变,因此映射关系不唯一(1个MAC地址对应32个IPv4多播地址)
-
-
接收判断流程:
-
先通过多播MAC地址判断是否接受帧,若目的MAC为所在硬件多播组则接受
-
再提取帧中封装的IPv4多播地址,若为所在IP多播组则接受数据报,否则丢弃
-
2.4 因特网IP多播所需协议
1. 网际组管理协议(IGMP)
-
作用 :让多播路由器了解本地局域网内 是否有主机(进程)加入/离开多播组
-
局限性 :仅在本地局域网有效,无法知道多播组的成员数量和分布网络
2. 多播路由选择协议
-
核心任务 :在多播路由器之间为每个多播组建立多播转发树,使数据报以最小代价传送到所有成员
-
转发树特性:
-
连接多播源与所有成员路由器
-
数据报沿转发树洪泛,仅在必要时复制
-
路由器在直连局域网内通过硬件多播发送数据报
-
