IPv4 地址—简称 IP 地址,IP 地址由 32 位比特组成
IP地址现在由因特网名字和数字分配机构 ICANN(Internet Corporation for Assigned Names and Numbers)进行分配,IP地址的作用:用于网络寻址,也就是根据IP地址可以找到它所属的网络。
如何使用IP进行网络寻址?
IP地址的编址方法共经过了三个历史阶段:
① 分类的IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议
② 子网的划分。这是对最基本的编址方法的改进,其标准 RFC 950 在 1985 年通过
③ 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用
所谓“分类的IP地址”就是将 IP 地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成。
由此可见,一个 IP 地址在整个因特网范围内是唯一的。
那么 IP 地址分成了哪些固定类呢?
为什么要进行分类呢?
A类、B类和C类分别可以支持多少个网络,每个网络又可以支持多少台主机呢?
A类可以支持的网络数:2^(8-1) = 128
每个A类网络可以支持的主机数量:2^24 = 16,777,216,即1600万个左右
但有些网络号是不能分配的,有些主机号也是不能分配的。
A类地址不可分配的网络号:
也就是说最小网络号 0 和 最大网络号 127 是不可分配的,网络号可分配范围是 [1-126],因此实际可分配的网络数为:2^(8-1) - 2 = 126
A类地址不可分配的主机号:
也就是说 主机号全 0 的网络地址 和 主机号全 1 的广播地址是不可分配的,因此每个网络中实际可以分配的 IP 地址数量为:2^24 - 2 = 16777214
另外,记住以下三种情况的地址不能分配:
① 找出下图中有哪几个网络?
② 根据各网络中主机和路由器接口总数量,来决定给各网络分配哪个类别的IP
③ 依据所确定的网络类别,为每个网络挑选一个网络号
主机 A 又是怎样知道路由器接口 ① 的 MAC 地址的?
ARP 协议只适用于一个网络,ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址(MAC 地址)的映射问题。上图中主机 A 就无法通过 ARP 请求,解析主机 B 的 MAC 地址,路由器是隔离广播域的。
主机 A 其实没必要知道主机 B 的 MAC 地址,可以通过路由器分组转发实现:
默认的子网掩码即未划分子网的情况下使用的子网掩码。
这样,如果我们知道了两个网络中的两台主机的 IP 地址和其子网掩码就可以判断这两个主机是否在同一个网络中:
它的正式名字是:无分类域间路由选择,CIDR (Classless Inter-Domain Routing,CIDR的读音是“sider”)。
无分类 IP 地址 = 网络前缀+主机号
CIDR 的做法是在 IP 地址的后面加上斜线 “/”,然后写上网络前缀所占的位数,例如:
CIDR 把网络前缀都相同的连续的 IP 地址组成一个“CIDR 地址块”
例如:
为了更方便地得到一个地址的网络前缀,CIDR 使用 32 位的地址掩码(address mask),地址掩码由一串 1 和一串 0 组成,而 1 的个数就是网络前缀的长度。
例如:
虽然 CIDR 不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此 CIDR 使用的地址掩码也可继续称为子网掩码。
“CIDR 不使用子网”是指 CIDR 并没有在 32 位地址中指明若干位作为子网字段,但分配到一个 CIDR 地址块的单位,仍然可以在本单位内根据需要划分出一些子网。
例如,某单位分配到地址块 /20,就可以再继续划分为 8 个子网(即需要从主机号中借用 3 位来划分子网)
这些子网也都只有一个网络前缀和一个主机号字段,但子网的网络前缀比整个单位的网络前缀要长些。
这时每一个子网的网络前缀就变成 23 位(即原来的 20 位加上从主机号借来的 3 位),比该单位的网络前缀多了 3 位。
IP 地址由 32 位比特组成,用点分十进制表示法,IP 地址的作用:用于网络寻址
IP 地址表示可以分为两部分:网络号 + 主机号,网络号标识主机所在的网络,在整个因特网中唯一,主机号标识该主机,在当前网络号的网络范围中唯一
IP地址分类:A类、B类、C类、D类、E类,其中 D 类是多播地址,E 类保留尚未使用,也就是说目前实际使用的只有 A B C 三类
A 类地址:8 位网络号 + 24 位主机号,网络号固定前面一位 0
B 类地址:16 位网络号 + 16 位主机号,网络号固定前面两位 10
C类地址:24 位网络号 + 8 位主机号,网络号固定前面三位 110
A 类地址不能分配的网络号:最小的网络号 0 保留和最大的网络号 127 用作本地环回测试
每类地址中主机号全 0 和全 1 的不能分配,主机号全 0 的表示网络地址,主机号全 1 的地址是广播地址,路由器表中的网络地址就是主机号全 0 的地址
IP 地址中点分十进制表示法的第一个十进制可以判断网络类型:小于127
的属于 A 类,128 ~ 191
的属于 B 类,192 ~ 223
的属于 C 类
ARP 协议的作用:根据 IP 地址拿到对应的 MAC 地址,ARP 协议只适用于一个局域网络内
IP 分组转发:间接交付,源主机没必要知道目标主机的 MAC 地址,由路由器的路由表不断的转发实现
子网掩码:使用连续的比特 1(对应网络号和子网号) + 连续的比特 0(对应主机号)表示子网掩码,从每类地址中的主机号范围借用若干位最高位来表示子网号,剩余的表示主机号。 默认的子网掩码:A 类255.0.0.0
B 类255.255.0.0
C 类255.255.255.0
使用子网掩码求 IP 所属网络地址:IP 地址和子网掩码进行&
与运算的结果,即所属网络地址,可以用于判断两台主机是否在同一个网络中。
无分类的 IPv4 地址:网络前缀 + 主机号,IP 地址后面加上斜杠再跟上网络前缀所占位数,如128.12.35.7/20
表示用前20
位表示网络号,剩余的用作主机号,它的地址掩码使用32位,由一串 1 和一串 0 组成,1
的个数就是网络前缀的长度。仍然可以通过借用主机号的高几位的办法划分子网,只不过子网的网络前缀更长了。
内网 IP 地址也叫做私有 IP 地址,或者专用 IP (private address),如果其他网络上主机不需要访问你们单位的某主机的话,那么你们单位的主机需要的 IP 就不需要有网络寻址的功能。
不同网络中,私有 IP 可以相同,这样就可以进一步节约宝贵的全球 IP 地址资源:
RFC 1918 指明了一些专用地址(private address),这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。
这些被指定为用于私有的 IP 地址有:
10.0.0.0
~ 10.255.255.255
(或记为 10.0.0.0/8
)一整个连续的 A 类网络172.16.0.0
~ 172.31.255.255
(或记为 172.16.0.0/12
) 16 个连续的 B 类网络192.168.0.0
~ 192.168.255.255
(或记为 192.168.0.0/16
)256 个连续的 C 类网络采用这样的专用 IP 地址的互连网络称为专用互联网或本地互联网,或更简单些,就叫做专用网。
显然,全世界可能有很多的专用互连网络具有相同的专用 IP 地址,专用 IP 地址也叫做可重用地址(reusable address)。
问题:两个本地互联网中使用专用 IP 地址的两台主机如何通信?
专用网主机如何上网?
私有(内网)IP 地址没有网络寻址的功能,不能访问因特网上的主机通信,只能用于一个机构内部通信
不同网络中,私有 IP 可以相同
RFC 1918 指定了一些用于私有IP的地址:一整个连续的 A 类网络 10.0.0.0
~10.255.255.255
,16 个连续的 B 类网络 172.16.0.0
~172.31.255.255
,256 个连续的 C 类网络 192.168.0.0
~192.168.255.255
不同内网的主机之间通信:
1)租用电信公司的通信限流为本机构专用,费用高
2)借用因特网作为本机构各专用网之间的通信载体,利用VPN软件建立VPN隧道(虚拟网络)
内网的主机访问因特网:通过安装了 NAT 软件的 NAT 路由器进行本地 IP 地址和公网的 IP 地址做转换映射
ICMP 的一个重要应用就是分组网间探测 PING(Packet InterNet Groper), 用来测试两个主机(或者路由器)之间的连通性。
PING 是应用层直接使用网络层 ICMP 的一个例子,它没有经过传输层的 TCP 或 UDP。