tcpip协议 tcpip协议栈( 六 )



IP地址的主机标识
如下图,IP 包被转发到途中某个路由器时 , 正是利用目标 IP 地址的网络标识进行路由 。因为即使不看主机标识,只要一见到网络标识就能判断出是否为该网段内的主机 。

IP地址的网络标识
1.3 IP 地址的分类
IP 地址分为四个级别,分别为A类、B类、C类、D类 。它根据 IP 地址中从第 1 位到第 4 位的比特列对其网络标识和主机标识进行区分 。A 类 IP 地址是首位以 “0” 开头的地址 。从第 1 位到第 8 位是它的网络标识 。用十进制表示的话,0.0.0.0~127.0.0.0 是 A 类的网络地址 。A 类地址的后 24 位相当于主机标识 。因此,一个网段内可容纳的主机地址上限为16,777,214个 。B 类 IP 地址是前两位 “10” 的地址 。从第 1 位到第 16 位是它的网络标识 。用十进制表示的话 , 128.0.0.0~191.255.0.0 是 B 类的网络地址 。B 类地址的后 16 位相当于主机标识 。因此,一个网段内可容纳的主机地址上限为65,534个 。C 类 IP 地址是前三位为 “110” 的地址 。从第 1 位到第 24 位是它的网络标识 。用十进制表示的话,192.0.0.0~223.255.255.0 是 C 类的网络地址 。C 类地址的后 8 位相当于主机标识 。因此,一个网段内可容纳的主机地址上限为254个 。D 类 IP 地址是前四位为 “1110” 的地址 。从第 1 位到第 32 位是它的网络标识 。用十进制表示的话,224.0.0.0~239.255.255.255 是 D 类的网络地址 。D 类地址没有主机标识,常用于多播 。在分配 IP 地址时关于主机标识有一点需要注意 。即要用比特位表示主机地址时,不可以全部为 0 或全部为 1 。因为全部为 0 只有在表示对应的网络地址或 IP 地址不可以获知的情况下才使用 。而全部为 1 的主机通常作为广播地址 。因此,在分配过程中,应该去掉这两种情况 。这也是为什么 C 类地址每个网段最多只能有 254( 28 - 2 = 254)个主机地址的原因 。1.4 广播地址
广播地址用于在同一个链路中相互连接的主机之间发送数据包 。将 IP 地址中的主机地址部分全部设置为 1 , 就成了广播地址 。广播分为本地广播和直接广播两种 。在本网络内的广播叫做本地广播;在不同网络之间的广播叫做直接广播 。1.5 IP 多播
多播用于将包发送给特定组内的所有主机 。由于其直接使用 IP 地址 , 因此也不存在可靠传输 。相比于广播 , 多播既可以穿透路由器,又可以实现只给那些必要的组发送数据包 。请看下图:

IP 多播多播使用 D 类地址 。因此,如果从首位开始到第 4 位是 “1110”,就可以认为是多播地址 。而剩下的 28 位可以成为多播的组编号 。此外, 对于多播,所有的主机(路由器以外的主机和终端主机)必须属于 224.0.0.1 的组,所有的路由器必须属于 224.0.0.2 的组 。1.6 子网掩码
现在一个 IP 地址的网络标识和主机标识已不再受限于该地址的类别,而是由一个叫做“子网掩码”的识别码通过子网网络地址细分出比 A 类、B 类、C 类更小粒度的网络 。这种方式实际上就是将原来 A 类、B 类、C 类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制 。子网掩码用二进制方式表示的话,也是一个 32 位的数字 。它对应 IP 地址网络标识部分的位全部为 “1”,对应 IP 地址主机标识的部分则全部为 “0” 。由此,一个 IP 地址可以不再受限于自己的类别,而是可以用这样的子网掩码自由地定位自己的网络标识长度 。当然,子网掩码必须是 IP 地址的首位开始连续的 “1” 。对于子网掩码,目前有两种表示方式 。第一种是 , 将 IP 地址与子网掩码的地址分别用两行来表示 。以 172.20.100.52 的前 26 位是网络地址的情况为例,如下:

推荐阅读