全面理解网际协议IP 小心 2001年 7期 近年来,互联网热浪持续高涨,3C产品间功能不断融合且纷纷向Internet看齐,其中最典型的就是PC、TV、Web三者合一。   而Internet则是由许多主机和被称为路由器的设备组成。几台主机通过网卡互连就构成局域网络LAN,某些网络互联形成孤岛,称城域网 MAN,网络孤岛通过由器相连接就成了广域网WAN。因此,每个单独的主机和路由器必须有一个唯一的地址,以便数据包能发送到该设备并接收数据包。   网际协议IP(Internet protocal)为分配地址定义了一种格式,并为传送不可靠的数据定义了一种叫“数据包”的结构。正是IP的这些地址格式和结构使我们的Internet能高效正常地工作,它正是Internet的基石。下面我们来全面认识一下它。   #1 IP地址、物理地址和域名   物理地址也就是硬件地址。网络接口适配器的厂商为它制造的网络设备确定了一个48位的ID号,如00-45-59-ee-4f-d4(我们在WIN98运行WINIPCFG.EXE就可以看到类似的ID号),这就是一个网络设备即网络适配器的物理地址或称硬件地址。这48位可分为6个字节,均用十六进制表示。这个ID号的前三位是由电气和电子工程协会(IEEE)分配给硬件厂商的24位供应商代码。而供应商即厂家则把剩余的后三个字节(24位)赋予给它制造的网络适配器。这样,世界上每台设备都有一个独一无二的48位物理地址。这就为网络寻找最终目标设备提供了依据。(如上面的物理地址中,00-45-59为供应商代码,而ee-4f-d4则为设备ID)。   虽然物理地址提供了独一无二的ID号,但是并非所有主机都有网络适配器,而且物理地址比较长,而且用十六进制表示较隐晦。而且不同的适配器之间几乎没有规律可循。这样,用有编号体系的IP来代替并映射物理地址是很有必要的。TCP/IP协议组中另一个协议ARP地址解析协议就来执行从物理地址到IP地址和从IP地址到物理地址之间的解析和映射。   通过IP地址,我们可以连接到主机,也可以看到Web页,但IP地址作识别不符合人们的习惯。人们习惯于记文字,通过文字来识别。这样,我们又进一步,用文字代替纯数字IP来识别,再用DNS(域名服务器)来作两者之间的转换。这比起用IP地址代替物理地址而用ARP来作二者之间的转换,又向人性化方向走了一步。这种用来代替纯数字的文字就称作域名。以前的域名都是用英文字母表示的,但今年我国已开始使用中文域名,这使我们记忆和使用更加方便(^07080503a^1)。   #1 IP版本4(IPV4)   我们通常所说的IP以及IP地址事实上是一个32位(四个字节)的网络地址寻址。它是这个协议的一个版本,版本号是4,也是我们目前正在使用的IP协议。   1.IPV4的特点   IPV4是以4个字节(32bit)导址的网络,这就是说,每个IPV4(以下称IP)都是由32个二进制代码组成。但为了方便人们的习惯,一般的IP地址都是以十进制写出,如192.168.10.14。这样一来,IP地址便成了四个不超过255的十进制数组成,数字之间用小数点(dot)来分隔。这种表示IP地址的方法称“点分十进制表示法”(dotted decimal notation)这种方法在表示IP时有两条规则:   (1)IP中的四个数字必须在0~255之间   (2)IP地址中的首尾两个数字不能为0或255   如下面的表示就是错误的:256.12.128.4,123.202.1.0,0.202.10.5。   虽然我们在IP配置屏幕和诊断实用程序时见到的都是这种点分十进制表示法,但IP在计算机内是按二进制运算的。如:173.26.14.50在计算机内使用的是:10101101.00011010.00001110.00110010。这种表示方法我们在下面的子网掩码中还会用到。   2.IPV4的分类   通常,我们认为IP地址有三类,但事实上它有A、B、C、D、E五类。只不过后两类地址我们不常用而已。   如果我们把一个IP写作w.x.y.z的话,那么,我们可以得到下面的网络及主机ID表1(^07080503b^)。   IP是一种非常宝贵的资源,全世界的Internet IP地址均是由 InterNIC 统一管理和分配(InteNIC的网址是:http://www.internic.net)。下面我们来了解一下前三类网络地址:   Class A   A 类网络地址总是把最高位(第一个8位组的第一位)设置为0,并且把第一个8位组(即w)指定为网络ID,后三个8位组指定为主机ID(图2)。(图2、图3、图4见^07080503f^)   这样,A类网络有7个位可以用来建立网络ID,也就是说A类网络只有126个(01111111即127本来理论上是A类地址,但它被称作回送地址,是用于测试的)。A类网络的主机ID有24位,也就是每个A类网络可以给1600多万台主机提供IP地址,(这样,所有的A类IP共有126×16777214=2113928964个)因此,A类网络被分配给大型网络,我国没有A类网络,也没有A类IP地址。   Class B   B类网络总是把最高两位设成10(也就是第一个8位组的前两位),同时,它把前两个字节即W和X定为网络ID,后两个字节即Y和Z设为主机ID(图3)。   这样,B类网络中有14个位(去掉最高的必须为1和0的两个位)分配给网络ID,而有16个位分给主机ID。因此,B类网络提供了16384个网络,每个网络可为65534台主机(这样,所有的B类IP共有16384×65534=1073709056个)。   B类网络属中型网络,虽然它可提供超过1万多个网络,但B类网络目前已被用完。我国也没有B类网络和IP地址。   Class C   C类网络把最高位即第一个8位组的高三个位设为110,而且,它把前三个字节即W,X和Y设为网络ID,最后一个字节即Z设为主机ID(图4)。   如此,B类网分别有21个位和8个位提供给网络ID和主机ID。这们就提供了2097152个C类网络,每个网络可以给254台主机提供IP地址(这样,所有的C类IP共有2097152×256=536870912个)。   我国目前所有的网络和IP均是C类,有一些大一点的公司或机构则有多个C类网络以满足需求。   Class D和Class E   D类网络的前四个位被设定为1110,用于多播,即把消息发送给一组主机。而E类则定义最高五位为11110,是留用作测试的。   下面列出了前面所说的三类网络类型的ID表和有效IP地址表{表2(^07080503c^)、表3(^07080503d^)}。   3.IPV4的子网与掩码   由于A类网络和B类网络这样的大中型网络包含前很多的主机。它们的地址空间太大以至于在同一局域或者说单一的未使用路由的网络中无法使用全部地址。为了更有效在利用地址空间,有必要将可用地址分配给更多较小的网络。而更重要的是,随前网络的增长,网络容纳了更多的主机,使网络非常繁忙。在信息高速公路上,高峰期由于交通过于繁忙而出现堵塞。繁忙的网络导致数据丢失以及重传。如果我们将网络划分为多个子网,使用路由指导通信,就可以减少网络拥塞。   划分子网依靠的是掩码。   我们知道InterNIC划分ABCDE类网络是依靠最高位。而划分子网是用相似的方法来进行。   我们知道一个IP地址分为网络ID和主机ID,如果我们在主机ID的高位中拿出一部分位来作子网ID的话,那么网络ID和子网ID就组成了新的网络ID(^07080503g^5),那么如何从主机ID中拿出高位呢?这回就用到掩码了。   我们知道在进行“逻辑位与”(AND)运算时,任何数与1“与”运算时不变,而和0“与”运算时就为0,这样,我们把网络ID的所有位以及主机ID中要拿出的位定为1,而其它位定为0,这就是一个与IP形式类似的掩码了,如255.255.240.0,它的二进制表示出来就是:11111111.11111111.11110000.00000000。当把它与一个IP:172.24.144.51进行与运算时,它就取这个IP的前20位作为新的网络ID,而低12位就是主机ID表4(^07080503e^)。   因此,当一个主机向另一个IP主机发送信息时,首先计算其掩码下的新的网络2D是否与本机相同,若相同,则表明在同一子网中,就不必通过路由器而直接传送;若不同再通过路由找到另一个IP地址的主机,这样就大大提高工作效率。   4.网关与IP路由   上面谈到当两个网络ID不同时,就要通过路由,那么何为路由呢?   当两个网络之间互联时,彼此之间要有连接的桥梁,或都说两个城市之间的信件互递时需要有邮局。IP路由(IP routing)是为计算机的请求选择一条路径以便数据能互递。而路由器(router)在IP术语中又称作网关(gateway)。   例如,两个局域网M和N,M网中一台主机A向N网中的主机B发送信息,A就得向路由器即邮局发送信息,而M网的路由器就得像邮局分捡信件一样向N网的路由发送信息,信息再从N网的路由器发送到B主机,完成一项传送。   5.IP的申请与使用   全世界与Internet有关的IP都由一个单位管理。即是IANA(Internet Assigned Numbers Authoroty)来统一发放。这个上IANA下面有三个区域性IP管理组织,分别是APNIC亚太地区网络信息中心;ARIN美国地区网络地址管理中心;RIPE欧洲地区网络中心,它们分别负责各自地区的IP地址管理。   当你的网络要连上Internet时,就须向地区网络管理中心申请IP地址,而它们则会让你描述你的网络大小,主机数以及几年后的成长以便决定分配多少IP地址给你。   但在通常情况下,我们并不需要很多IP,因此只须向ISP申请就可以满足需求。   当然,申请IP是必须交费才可以获得的,不过IP的费用通常都不高。   6.IP的技术特点   使用证明,IP是一个可靠性差,费力而且无连接交互服务的协议,为了改变这种情况,IP为传送不可靠数据定义了一种被称为“数据包”的结构。而每个数据包均有一个报头被称作IP报头,^07080503g^5描述了一个IP报头。报头后面跟着一个被称作“有效载荷”的数据部分,而IP报头和有效载荷就组成了一个完整的IP数据包。目前我们的IP报头上版本号被设置为4,它表示IP的版本。即IP version 4,IPV4的报头长度是可以变化的。