IP地址和子网掩码Internet是一个庞大的网络,在这样大的网络上进行信息交换的基本要求是网上的计算机、路由器等都要有一个唯一可标识的地址,就像日常生活中朋友间通信必须写明通讯地址一样。这样,网上的路由器才能将数据报由一台计算机路由到另一台计算机,准确地将信息由源方发送到目的方。一、IP地址的含义及如何获得在Internet上为每台计算机指定的地址称为IP地址。IP地址是在TCP/IP中,IP协议所规定的Internet中每个结点都要有一个统一格式的地址,这个地址就称为符合IP协议的地址。所谓IP地址就是给Internet上的每台主机分配一个唯一的32位地址,以便在Internet上可以很方便地寻址。IP地址具体含义包括如下:(1)它是Internet上通用的地址格式。Internet通过IP地址使得网上计算机能够彼此交换信息。它采用固定的32位二进制地址格式编码,按照先网络号,后主机号的顺序进行寻址。IP地址是基于协议的地址,能贯穿整个网络,而不管每个具体的网络是采用何种网络技术和拓扑结构。(2)Internet上的每台计算机,包括主机、路由器都必须有IP地址。IP地址是识别Internet上每台计算机的端口地址,凡是网上的计算机,都必须分配有IP地址,否则无法进行通信。(3)IP地址是唯一的。IP地址好像是人们的身份证号码,必须具有唯一性,因此,网上每台计算机的IP地址在全网中都是唯一的。IP地址的获得:所有的IP地址都要由国际组织――NIC(NetInformationCenter)统一分配。目前全球共有三个这样的网络信息中心,它们分别是:·InterNIC――负责美国及其它地区·ENIC――负责欧洲地区·APNIC――负责亚太地区其中APNIC总部设在日本东京大学,在中国是由中国互联网络信息中心(CINIC)负责。具体申请办法可向国内的一些代理机构提出,目前国内大多数的ISP和一些院校机构都可代为用户申请IP地址。二、IP地址的格式和分类IP地址具有固定、规范的格式。TCP/IP协议规定,每个地址由32位二进制数组成,分成四段,其中每8位构成一段,这样每段所能表示的十进制数的范围最大不超过255,段与段之间用“.”隔开。为了便于表达和识别,IP地址是以十进制数形式表示的,每8位一组,用一个十进制数来表示,0~255。在TCP/IP协议中,IP地址主要分为三类:A类、B类、C类。例如某台计算机的IP地址为:202.4.143.100另一台计算机的P地址为:202.114.80.1在Internet上有成千百万台主机,每台上网的计算机都有一个IP地址,它就像你在网上的身份证,要查看自己IP地址可在Windows9x的系统中单击“开始”→运行”→敲入“winipcfg”→按回车键,就可显示自己所用的计算机的IP地址。IP地址不是随机的,它跟电话号码有些类似,即处在某一网络范围的所有计算机都有相同的地址前缀。如上例中两台计算机的地址前缀都是202,这主要是为了提高数据进行路由选择的效率。每个IP地址可以分为两个组成部分:网络号标识和主机号标识。网络号标识确定了某一主机所在的网络,主机号标识确定了在该网络中特定的主机。根据适用范围的不同,IP地址分成若干类,主要依据是网络号和主机号的数量。通常,IP地址分为三类:A类:018310网络号主机号A类IP地址用8位来标识网络号,24位标识主机号。最前面一位为“0”,这样A类IP地址所能表示的网络数范围为0~127,第一段数字范围为1~126。每个A类地址可连接16387064台主机,Internet有126个A类地址。只要见到第一段数字为1~126格式的IP地址,都属于A类地址。A类IP地址通常用于大型网络。B类:02163110网络号主机号一个B类IP地址由2个字节(16位)的网络地址和2个字节(16位)的主机地址组成,网络地址的最高位必须是“10”,因此,第一段数字范围为128~191。每个B类地址可连接64516台主机,Internet有16256个B类地址。通常,B类IP地址适用于中等规模的网络,例如各地区和网络管理中心。C类:032431110网络号主机号C类地址是由3个字节(24位)的网络地址和1个字节(8位)的主机地址组成,网络地址的最高位必须是“110”,因此第一段数字范围为192~223。例如前面所举的两例都属C类IP地址。每个C类地址可连接254台主机,Internet有2054512个C类地址。C类IP地址一般适用于校园网等小型网络。在三类IP地址中,由于A类IP地址的网络号数目有限,因此现在能够申请到的仅是B类(同样紧缺)或C类两种。当某个单位或公司申请IP地址时,实际上申请到的是一个网络号,而主机号由该单位或公司自行确定分配,只要无重复的主机号即可。除了上面三类主要的IP地址外,还有两类不常用的保留地址:D类和E类地址。D类地址用于多点播送。第一个字节以“1110”开始,第一个字节的数字范围为224~239,是多点播送地址,用于多目的地信息的传输。部分留给Internet体系结构委员会IAB作为备用。其中全零“0.0.0.0”地址对应于当前主机,全“1”的IP地址“255.255.255.255”是当前子网的广播地址。E类地址:以“11110”开始,即第一段数字范围为240~254。E类地址保留,仅作实验和开发用。另外还有几种用作特殊用途的IP地址:①主机号全部设为“0”的IP地址称之为网络地址,如129.45.0.0就是B类网络地址。②主机号部分全设为“1”(即255)的IP地址称之为广播地址,如129.45.255.255就是B类的广播地址。③网络号不能以十进制“127”作为开头,在地址中数字127保留给诊断用。如127.1.1.1用于回路测试,同时网络号的第一个8位组也不能全置为“0”,全置“0”表示本地网络。网络号部分全为“0”和全部为“1”的IP地址被保留使用。近年来,随着Internet用户数目的急剧增长,可供分配的IP地址数目也日益减少。大部分B类地址均己分配,目前只有C类地址尚可分配,原有32位长度的IP地址的使用已经显得相当紧张,新的128位长度的IP地址方案将会缓解目前IP地址的紧张状况。三、子网掩码(Subnetmask)从IP的地址构造可以清楚地看出,只有有限的对全世界有用的网络地址数。如果我们拥有一个网络地址(如一个C类地址210.34.168.X),则我们只能用它来唯一标识一个物理网络,而这个网络允许最多有255个节点。如果我们有多个物理网络,每个网络中的节点数却较少,那么,我们可以采用子网的划分技术,用部分的节点数作为子网数来代替。如C类地址210.34.168.X,用节点数的前2位作为子网数,则可以区分4个子网了,而每个子网中最多可以有63个节点(节点数剩6位了):我们用二进制来说明:11010010001000101010100000xxxxxx11010010001000101010100001xxxxxx11010010001000101010100010xxxxxx11010010001000101010100011xxxxxx那么,如何告知IP关于你对寻址规则的修改呢?那就是使用子网掩码。子网掩码用于区分IP地址的网络数部分和节点数部分,即前多少位是网络数,后多少位是节点数。方法是:与IP地址一样,也采用32位的二进制数,由两部分组成,前面一部分为全1,后面一部分为全0,1的个数表示对应的IP地址中网络数的位数,0的个数表示对应IP地址中节点数的位数。即由与IP地址对应的网络数部分全取1,节点数部分全取0组成。如IP地址210.34.168.11,即二进制11010010001000101010100000001011;子网掩码为255.255.255.0,即二进制11111111111111111111111100000000;表示IP的前三个字节(24位:210.34.168)为网络数,最后一个字节(8位:十进制11)为结点数。若子网掩码为255.255.255.192,即二进制11111111111111111111111111000000,则表示IP的前24位为网络数,接着2位为子网数,后6位为节点数了。也就是用了原节点数的前二位作为子网数了,一个网络变成四个子网,但子网内结点数的范围变小了。四、子网掩码的作用有两大功能:1)用来区分IP地址中的网络号和主机号。2)将网络分割为多个子网。子网掩码中1用来定出网络号,0用来定出主机号。A11111111000000000000000000000000255.0.0.0B11111111111111110000000000000000255.255.0.0C11111111111111111111111100000000255.255.255.0如果某台主机的IP地址为168.95.116.39,而子网掩码为255.255.0.0。将两个数据做AND运算,得出非零部分为网络号。运算如下:168.95.116.39的二进制:1010100010111111011101000010011110101000101111110111010000100111子网掩码AND11111111111111110000000000000000结果10101000101111110000000000000000所得出的值中非0的两个字段为1010100010111111就是网络号168.95,主机号为116.39,如果另一台主机的IP为168.95.120.11。那么他们是位于同一个网络区段的不同主机。子网掩码的另一个用途是将网络分割成为多个IP路由连接的子网。这样一个网络号可以服务分布于几个区域的网络。假设我们将255.255.255.224设置成子网掩码。注意最后一个224二进制为11100000。我们可以用它的高三位分割子网。共有000、001、010、011、100、101、110、111八种组合,除去000、111不用,仍然可以用来区分六个网络。第一个:00100001到0011111033到62第二个:01000001到0111111065到94第三个:01100001到0111111097到126第四个:10000001到10011110129到158第五个:10100001到10111110161到190第六个:11000001到11011110193到222这样每个子网可提供30台左右的主机。五、IP地址与物理地址的转换TCP/IP的数据链路层所连接的都是具体的物理网络,物理网络有确切的物理地址。物理网络是“不懂IP地址”的,IP地址和物理地址之间是有明显区别的。IP地址封装在IP数据报的首部,IP协议负责将IP数据报由一个网络传递到另一个网络。因此IP地址只是在网络层中使用的地址,IP地址的长度为32位。物理地址是指在一个网络中,对其内部的一台计算机进行寻址所使用的地址。通常在局域网中,物理地址固化在网卡的ROM中,所以有时也称为硬件地址。物理地址工作在网络接口层(数据链路层),其长度一般为48位。如果要将网络层中传送的IP数据报交到目的计算机,还需要传送到网络接口层,通过物理地址寻址到目的计算机。因此必须在IP地址与主机的物理地址之间进行转换。将一台计算机的32位IP地址转换成48位物理地址的过程称为地址解析。根据硬件编址方案的不同,地址解析的算法也是不同的。例如,将IP地址解析为以太网地址的方法与解析为ATM地址的方法是不同的,因为以太网编址方案与ATM编址方案不同。通常Internet中使用较多的是查表法,即在计算机中存放一个从IP地址到物理地址的映射表,并且能够经常动态更新,通过查表找到对应的物理地址。TCP/IP协议集中与IP协议配合使用的地址解析协议ARP(AddressResolutionProtocol)负责完成IP地址到物理地址的转换。网上每台计算机中都有一个ARP缓存(内存地址空间的一部门),其中装有IP地址到物理地址的映射