网络地址转换函数

2009-05-13 11:35:10来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

上一章中,我们已经了可以分配与初始化各种类型的套接口。这些是由一个常量进行初始化的简单例子。由一个使用变化地址的C字符串设置一个地址需要更多的编程努力。在这一章,我们将会关注建立网络地址的传统问题,以及了解可以在这一领域帮助我们的函数。
在这一章,我们了解到如下内容:
网络地址分类
IP网络掩码
私有的以及保留的IP地址
IP转换函数
然而在我们开始之前,这是一个很好的机会来回顾一下IP地址的设计。这样我们就会更为理解我们将要进行的工作。
网络IP地址
IP地址是由四个十进制数组成的,其中由十进制的点来分隔,通常为点。每一个十进制值以网络字节顺序来表示一个字节的无符号值。在这里我们记住网络字节顺序要求最重要的字节先出现(大端顺序)。
每一个字节都作为一个无符号的8位值。这将每一个字节的值限制在0到255之间。因为这个值是无符号的,这个值不可以是负的,加号也是不允许的。例如,考虑下地址192.168.0.1,网络顺序的第一个字节必须为十进制的192。
当我们看到一个电影在屏幕上显示192.168.300.5的IP地址,我们就会知道这个制作者对于TCP/IP编程了解较少。虽然这个地址在句法上是正确的,但是十进制的300超过了最大的无符号数255。
网络地址分类
网络地址是由下面的两个组件构成的:
网络号(最重要位)
主机号(次重要位)
网络号标识主机可以连接到的网络。主机号标识一个特定网络中的一个主机(例如我们的PC)。
正如我们已经知道的,IP地址是32位的(或者是4个8位字节)。然而,网络号与主机号组件之间的分隔并不是固定的位置。分隔线取决于网络地址的分类,这是由地址的最重要的字节的检测来决定的。下表显示了IP地址是如何分类的:
Table 3.1: Internet Address Classes
Class       Lowest            Highest             Network Bits     Host Bits
A           0.0.0.0           127.255.255.255     7                24
B           128.0.0.0         191.255.255.255     14               16
C           192.0.0.0         223.255.255.255     21               8
D           224.0.0.0         239.255.255.255     28               N/A
E           240.0.0.0         247.255.255.255     27               N/A
A,B,C类定义了主机的特定IP地址。对于D类与E类地址,在地址没有主机位可用。D类地址用于多播,其中28位用于描述一个多播组。E类地址的27位保留的。
下图描述了32IP地址的分隔。下图显示的常用的A,B,C类地址:
理解网络掩码
有时我们必须决定一个地址的网络掩码。如是要我们设置我们的网络时这尤为正确。所以,什么是一个网络掩码。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Mail Server Solution for RHEL 5.x & OpenBSD

下一篇:FreeBSD 7的新特性