IP数据报格式
IP地址分类
IPV4简单粗暴地把IP地址分为五类。分类方法如下图:
之所以要划分IP地址,目的是为区分不同的组织机构——A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。对于使用者本身,使用的是A/B/C哪一类,倒没有区别。
A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。
特殊用途的IP
将这些特殊的IP地址分为三类,特殊源地址、环回地址以及广播地址。如下表所示:
|
网络号 |
子网号 |
主机号 |
描述 |
特殊源 |
全0 |
无 |
全0 |
网络上所有主机 |
HostID |
网络上特定的主机 |
|||
环回 |
127 |
无 |
任何值 |
环回 |
广播 |
全1 |
无 |
全1 |
受限的广播地址(永远不被转发) |
NetID |
无 |
以网络的目的向NetID广播 |
||
SubNetID |
以子网为目的向SubNetID广播 |
|||
全1 |
以所有子网为目的向所有子网广播 |
私有IP地址
与私有IP地址对应的是公有地址(Public address),由Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。
私有IP的出现是为了解决公有IP地址不够用的情况。从A、B、C三类IP地址中拿出一部分作为私有IP地址,这些IP地址不能被路由到Internet骨干网上,Internet路由器也将丢弃该私有地址。如果私有IP地址想要连至Internet,需要将私有地址转换为公有地址。这个转换过程称为网络地址转换(Network Address Translation,NAT),通常使用路由器来执行NAT转换。
私有IP地址的范围如下:
- A: 10.0.0.0~10.255.255.255 即10.0.0.0/8
- B: 172.16.0.0~172.31.255.255 即172.16.0.0/12
- C: 192.168.0.0~192.168.255.255 即192.168.0.0/16
子网划分
IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。
掩码
为了标识IP地址的网络部分和主机部分,要和地址掩码(Address Mask)结合,掩码跟IP地址一样也是32 bits,用点分十进制表示。IP地址网络部分对应的掩码部分全为“1”,主机部分对应的掩码全为“0”。
缺省状态下,如果没有进行子网划分,A类网络的子网掩码为255.0.0.0,B类网络的子网掩码为255.255.0.0,C类网络的子网掩码为255.255.255.0。利用子网,网络地址的使用会更加高效。
于是,IP地址的标识方法如下:
例:192.168.1.1 255.255.255.0 可以标识为:192.168.1.1/24(24表示掩码二进制形式中“1”的个数)
IP路由过程
如果发送方和接收方在直接点对点连接或者在一个共享网络上,那么IP数据报则可以直接送达。但多数情况下,两台主机互联,需要通过多台路由器,需要路由转发送达消息。这个路由的过程是怎样的呢?这里有个重要的角色——路由表。路由表是一张存储在内存中的记录路由信息的表,定义着到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。路由表中保存的信息,则用来指导消息从发送方到达接受方的网络路由路径。
有了路由表,网络路径的确认过程则如下所示:
接收到数据报的路由器按照它自己的理由表进行继续转发,直到到达目的地址。而除了在路由寻址过程中失败会导致丢弃数据报之外,IP数据报的TTL(生命周期)被减为0,则该IP数据报也会被丢弃。