IP概述
IP协议作用
- 标识节点和链路:IP为每一个链路分配一个全局唯一的网络号以标识每个网络;为每个节点分配一个全局唯一的32位IP地址,以标识每个节点
- 寻址和转发:IP路由器根据所掌握的路由信息,确定节点所在网络的位置,进而确定节点的位置,并选择合适的路径将IP包转发到目的节点
- 适应各种数据链路:IP可根据链路的MTU对IP包进行分片和重组,可以建立IP地址到数据链路层地址的映射
IP头格式
普通的IP头长度为20B,其中主要字段为:
IP地址
连接到Internet的设备都有一个全球唯一的IP地址,IP地址与链路、设备无关,是由管理员分配的,也称为逻辑地址。Internet上每个节点既有IP地址,也有物理(MAC)地址。MAC地址是设备生产厂家固化在网卡上的,也是全球范围内的唯一标识的一个节点。
IP地址格式
计算机内部,IP地址由32位的二进制表示。但是由二进制表示不方便记忆,因此通常采用点分十进制法表示IP。即把32位的IP地址分成4段,每8个二进制位为一段,将每段二进制数分别转化为十进制数,并用点隔开。例如:
网络号和主机号
一个网络对应着一个网段,每个网段对应一个链路。为了标识这个网络,将给这个网络分配一个IP。而这个网络下的主机的IP地址将分为两部分,一部分为网络号和主机号,主机号的部分就是这个网络的IP地址。
IP地址分类
IP地址分为5类——A类、B类、C类、D类、E类。IP地址的分类如图:
特殊的IP:
IP | 说明 |
---|---|
主机号全0 | 网络地址,用于标识一个网端,例如192.168.1.0/24 |
主机号全1 | 网段广播地址,标识一个网络中所有主机,例如10.255.255.255 |
网络号为127 | 回环地址,例如127.0.0.1代表本机 |
IP地址全0 | 所有网络 |
IP地址全1 | 广播地址 |
IP地址划分
子网掩码
划分子网将IP地址中主机号部分借用若干位作为子网号,剩余部分作为主机号。于是两级的IP地址就变成了三级的IP地址,包括了网络号、子网号和主机号。
IP地址本事无法确定子网号的长度,为了把子网号和主机号区分开,就必须使用子网掩码(Subnet Mask)。子网掩码和IP地址一样都是32位,由一串二进制1和一串二进制0组成。子网掩码也可以通过点分十进制法表示。
所有的网络都有一个掩码,如果子网没有划分掩码,那么该网络使用默认掩码。
IP地址 | 掩码 |
---|---|
A类 | 255.0.0.0 |
B类 | 255.255.0.0 |
C类 | 255.255.255.0 |
子网掩码的表示一般有两种方法:
1. 点分十进制法
与IP地址一样,将二进制的子网掩码用点分十进制表示
2. 位数表示法
在IP地址后面加一个斜线,然后在后面写上子网掩码中二进制1的位数
子网划分计算
- 计算子网内可用地址数
主机数目=2主机号位数−2 根据主机地址划分子网
在已知每个子网内需要容纳的主机数量Y的前提下划分子网。
例如需要将B类网络168.195.0.0划分成若干子网,要求每个子网内主机数为700台。划分过程:
计算网络主机号:2N−1<=Y<=2N,得出N=10
计算子网掩码位数:32−N=22,子网掩码为255.255.252.0,二进制表示为11111111.11111111.11111100.00000000
根据子网掩码位数可知子网位数为6,能划分成26个子网。子网为198.195.0.0、198.195.4.0、198.195.8.0、……、168.195.252.0,子网掩码为255.255.252.0根据子网掩码划分子网
子网数量=2子网号数- 根据子网数划分子网
已知需要划分子网数量的前提下划分子网。
例如将B类网络168.195.0.0划分成27个子网,要求每个子网包括尽可能多的主机。计算过程如下:
计算子网号位数:2M−1<=X<=2M,计算出M=5
计算子网掩码:子网掩码位数为16+M=21,子网掩码为255.255.248.0,二进制表示为11111111.11111111.11111000.00000000.
该子网一个能划分成25=32个子网,这些子网是:168.195.0.0、168.195.8.0、168.195.16.0、……、168.192.248.0,子网掩码是255.255.248.0
VLSM和CIDR
分配网络时,整个网络只有一个子网掩码,不论使用哪个子网掩码,每个子网内的主机数完全相等。但在现实中,不同网络对子网的需求是不一样的。针对这个问题,可以使用VLSM(可变长子网掩码)和CIDR(无类域间路由)来解决。