1.IPv4
1.1 IP地址
连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符,即
IP地址
。传统的IP地址是分类的地址,分为A、B、C、D、E
五类。全世界唯一的32位/4字节标识符,表示路由器主机的接口。
IP地址::={<网络号><主机号>}
例如:
11011111 00000001 00000001 00000001 = 223.1.1.1(点分十进制)
特殊十六进制和二进制转换

1.2分类的IP地址

无论哪类IP地址,都由网络号和主机号两部分组成。
即
IP地址::= {<网络号>, <主机号>}
。其中网络号标志主机(或路由器)所连接到的网络。–个网络号在整个因特网范围内必须是唯一的。
主机号标志该主机(或路由器)。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。
1.3 特殊IP地址
在各类IP地址中,有些IP地址具有
特殊用途
,不用做主机的IP地址:- 主机号全为0表示本网络本身;
- 主机号全为1表示本网络的广播地址。

1.4常用IP地址ABC使用范围

- A类地址可用的网络数为27-2,减2的原因是:第一,网络号字段全为0的IP地址是保留地址,意思是“本网络”;第二,网络号为127的IP地址是环回测试地址。
- B类地址的可用网络数为214-1,减1的原因是128.0这个网络号是不可指派的。
- C类地址的可用网络数为221-1,减1的原因是网络号为192.0.0 的网络是不可指派的。
1.5 IP地址的重要特点
- 每个IP地址都由网络号和主机号两部分组成,因此IP地址是–种分等级的地址结构。分等级的好处是:①IP地址管理机构在分配IP地址时只分配网络号(第一级), 而主机号(第二级)则由得到该网络的单位自行分配,方便了IP 地址的管理;②路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目标主机号),从而减小了路由表所占的存储空间。
- IP 地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接到两个网络时,该主机就必须同时具有两个相应的IP地址,每个IP地址的网络号必须与所在网络的网络号相同,且这两个IP地址的网络号是不同的。因此IP网络上的一一个路由器必然至少应具有两个IP地址(路由器每个端口必须至少分配一个IP地址)。
- 用转发器或桥接器(网桥等)连接的若干LAN仍然是同一个网络(同一个广播域),因此该LAN中所有主机的IP地址的网络号必须相同,但主机号必须不同。
- 在IP地址中,所有分配到网络号的网络(无论是LAN还是WAN)都是平等的。
- 在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。路由器总是具有两个或两个以上的IP地址,路由器的每个端口都有一个不同网络号的IP地址。
2.网络地址转换NAT
2.1 NAT简介
网络地址转换(NAT)是指通过将专用网络地址(如Intranet)转换为公用地址(如Internet),从而对外隐藏内部管理的IP地址。它使得整个专用网只需要一个全球IP地址就可以与因特网连通,由于专用网本地IP地址是可重用的,所以NAT大大节省了IP地址的消耗。同时,它隐藏了内部网络结构,从而降低了内部网络受到攻击的风险。
2.2 私有IP地址
此外,为了网络安全,划出了部分IP地址为私有IP地址。私有IP地址只用于LAN,不用于WAN连接(因此私有IP地址不能直接用于Internet,必须通过网关利用NAT把私有IP地址转换为Internet中合法的全球IP地址后才能用于Internet), 并且允许私有IP地址被LAN重复使用。这有效地解决了IP地址不足的问题。私有IP地址网段如下:

路由器对目的地址的私有IP地址的数据一律不进行转发
2.3 专用互联网/本地互联网
在因特网中的所有路由器,对目的地址是私有地址的数据报一律不进行转发。这种采用私有IP地址的互联网络称为专用互联网或本地互联网。私有IP地址也称可重用地址。
2.4 如何实现私有IP地址上网
网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,她至少有一个有效的外部全球IP地址。

使用NAT时需要在专用网连接到因特网的路由器上安装NAT软件,NAT路由器至少有一个有效的外部全球地址。
使用本地地址的主机和外界通信时,·NAT路由器使用NAT转换表将本地地址转换成全球地址,或将全球地址转换成本地地址。
NAT转换表中存放着{本地IP地址:端口}到{全球IP地址:端口}的映射。
通过{ip地址:端口}这样的映射方式,
可让多个私有IP地址映射到同一一个全球IP地址。
3.子网划分
3.1分类IP地址的弱点
- IP地址空间的利用率有时很低
- 两级IP地址不够灵活
从1985年起,在IP地址中又增加了一个“子网号字段”,使两级IP地址变成了三级IP地址。这种做法称为子网划分。子网划分已成为因特网的正式标准协议。
3.2子网划分
- 子网划分纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
- 从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特。三级IP地址的结构如下:
IP地址={<网络号>,<子网号>, <主机号>}
。 - 凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号,先找到连接到本单位网络上的路由器。然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网。最后把IP数据报直接交付给目的主机。

子网中主机号全为0的地址为子网的网络号,主机号全为1的地址为子网的广播地址。
某单位划分子网后,对外仍表现为一个网络,即本单位的网络看不见本单位内子网的划分。
- 子网络能否全0全1要看情况
- 主机号不能全0全1

4.子网掩码
子网掩码的引入,为了告诉主机或路由器对一个A类、B类、C类网络进行了子网划分,使用子网掩码来表达对原网络中主机号的借位。为了使外部可以连接子网内的网络。
子网掩码是一个与IP地址相对应的、长32bit的二进制串,它由一串1和跟随的一串0组成。其中,
1对应于IP地址中的网络号及子网号,而0对应于主机号
。子网掩码与IP地址逐位相与,就得到子网网络地址。

现在的因特网标准规定:所有的网络都必须使用子网掩码。如果一个网络未划分子网,那么就采用默认子网掩码。
A、B、C类地址的默认子网掩码分别为255.0.0.0、 255.255.0.0、255.255.255.0.
4.1例题
某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是:
- 180.80.76.0
- 180.80.76.255
- 180.80.77.255
- 180.80.79.255
解析:
- 广播地址:主机号全1
- 子网掩码第三个字节:252 - 1111 1100
- 前面的 8+8+6=22位为子网号,剩下10位为主机号;
- 主机IP前两位
10
,B类IP地址,其中前16位网络号,后16位主机号; - 所以,IP中,前16位网络号,中间6位为子网号,最后10位为主机号;
- IP地址中77 - 0100 1101,取前6位,主机所在的子网号:180.80.76.0,剩下的10位为1。
- 故目的地址为:180.80.79.255
4.2.使用子网时分分组的转发
由于子网掩码是一个网络或一个子网的重要属性,所以路由器在相互之间交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉对方。路由表中的每个条目,除要给出目的网络地址和下一跳地址外,还要同时给出该目的网络的子网掩码。
(1)在使用子网掩码的情况下:
- 一台主机在设置IP地址信息的同时,必须设置子网掩码。
- 同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码。
- 路由器的路由表中,所包含信息的主要内容必须有目的网络地址、子网掩码、下一 跳地址。

(2)路由表中
- 目的的网络地址;
- 目的网络子网掩码;
- 下一跳地址
(3)路由器转发分组的算法
- 提取目的IP地址:从收到的分组的首部
提取目的IP地址
,记为D
- 是否直接交付:
先判断是否为直接交付
。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与”,看结果是否和相应的网络地址匹配。若匹配,则将分组直接交付,否则间接交付,执行步骤3)
。 - 特定主机路由:
若路由表中有目的地址为D的特定主机路由,则将分组传送给路由表中所指明的下一跳路由器
;否则,执行4) - 检测路由表中有无路径:对路由表中的每一行(
目的网络地址、子网掩码、下一跳地址
)中的子网掩码
和D
逐位相“与”
,其结果为N。若N与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行步骤5) - 默认路由 0.0.0.0:若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行步骤6)。
- 丢弃,报告转发分组出错:报告转发分组出错。
5.无分类编址CIDR(构成超网)
5.1无分类域间路由选择CIDR:
(1)消除了传统的A类、B类和C类地址以及划分子网的概念

CIDR记法:IP地址后加上
"/"
,然后写上网络前缀(可以任意长度)的位数。如:128.14.32.0/20
(2)融合子网地址和子网掩码,方便子网划分
CIDR把网络前缀都相同的连续IP地址组成一个“CIDR地址块”
如:128.14.35.7/20是某CIDR地址块中的一个地址
- 二进制:10000000 00001110 00100011 00000111
- 最小地址:10000000 00001110 00100000 00000000
- 最大地址:10000000 00001110 00101111 11111111
- 地址块:128.14.32.0/20
- 地址掩码(子网掩码):11111111 11111111 11110000 00000000
5.2构成超网
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
方法:将网络前缀缩短

5.3最长前缀匹配
使用CIDR时,查找路由表可能得到几个匹配的结果,应选择具有最长网络前缀的路由。前缀越长,地址快越小,路由越具体。
5.4例题
某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络中最大子网个数,每个子网内的最大可分配地址个数分别是:
- 子网掩码:11111111 11111111 11111111 11111000,后三位为主机号
- 最大子网号有 个
- 每个子网最大可分配地址个数:,除去主机号全0和全1的