太多的原理知识不多说了,要想弄懂这个问题,关键是要对IP头结构有认识,如下图,IP头中,源地址、目地地址均占4个字节,所以IP地址是分四个段。
每段的值的范围,应该也好理解了,一个字节占8位,二进制范围是0000 0000到1111 1111,也就是说换算成十进制后,最小是0,最大是255。
1、IP地址的表示方法
IP地址 = 网络号+主机号
把整个Internet网堪称单一的网络,IP地址就是给每个连在Internet网的主机分配一个在全世界范围内唯一的标示符,Internet管理委员会定义了A、B、C、D、E五类地址,在每类地址中,还规定了网络编号和主机编号。在 TCP/IP协议中,IP地址是以二进制数字形式出现的,共32bit,1bit就是二进制中的1位,但这种形式非常不适用于人阅读和记忆。因此Internet管理委员会决定采用一种"点分十进制表示法"表示IP地址:面向用户的文档中,由四段构成的32 比特的IP地址被直观地表示为四个以圆点隔开的十进制整数,其中,每一个整数对应一个字节(8个比特为一个字节称为一段)。A、B、C类最常用,下面加以介绍。本文介绍的都是版本4的IP地址,称为IPv4.
从上图可以看出:
●A类地址:A类地址的网络标识由第一组8位二进制数表示,A类地址的特点是网络标识的第一位二进制数取值必须为"0"。不难算出,A类地址第一个地址为00000001,最后一个地址是01111111,换算成十进制就是127,其中127留作保留地址,A类地址的第一段范围是:1~126,A类地址允许有27 -2=126个网段(减2是因为0不用,127留作它用),网络中的主机标识占3组8位二进制数,每个网络允许有224-2=16777216台主机(减2是因为全0地址为网络地址,全1为广播地址,这两个地址一般不分配给主机)。通常分配给拥有大量主机的网络。
●B类地址:B类地址的网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,B类地址的特点是网络标识的前两位二进制数取值必须为"10"。 B类地址第一个地址为10000000,最后一个地址是10111111,换算成十进制B类地址第一段范围就是128~191,B类地址允许有214 =16384个网段,网络中的主机标识占2组8位二进制数,每个网络允许有216-2=65533台主机,适用于结点比较多的网络。
●C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数C类地址的特点是网络标识的前3位二进制数取值必须为"110"。C类地址第一个地址为11000000,最后一个地址是11011111,换算成十进制C类地址第一段范围就是192~223,C类地址允许有221 =2097152个网段,网络中的主机标识占1组8位二进制数,每个网络允许有28-2= 254台主机,适用于结点比较少的网络。
有些人对范围是2x不太理解,举个简单的例子加以说明。如C类网,每个网络允许有28-2= 254台主机是这样来的。因为C类网的主机位是8位,变化如下:
00000000
00000001
00000010
00000011
……
11111110
11111111
除去00000000和11111111不用外,从00000001到11111110共有254个变化,也就是28-2个。下图是IP地址的使用范围。 网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数A126(27-2)112616777214B16384(214)128.0191.25565534C2097152(221)192.0.0223.255.255254
2、几个特殊的IP地址
1)私有地址
上面提到IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?Internet管理委员会规定如下地址段为私有地址,私有地址可以自己组网时用,但不能在Internet网上用,Internet网没有这些地址的路由,有这些地址的计算机要上网必须转换成为合法的IP地址,也称为公网地址,这就像有很多的世界公园,每个公园内都可命名相同的大街,如香榭丽舍大街,但对外我们只能看到公园的地址和真正的香榭丽舍大街。下面是A、B、C类网络中的私有地址段。你自己组网时就可以用这些地址了。
10.0.0.0~10.255.255.255
172.16.0.0~172.131.255.255
192.168.0.0~192.168.255.255
2)回送地址
A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。
【小技巧】
●Ping 127.0.0.1,如果反馈信息失败,说明IP协议栈有错,必须重新安装TCP/IP协议。如果成功,ping本机IP地址,如果反馈信息失败,说明你的网卡不能和IP协议栈进行通信。
●如果网卡没接网线,用本机的一些服务如Sql Server、IIS等就可以用127.0.0.1这个地址。
3)广播地址
TCP/IP规定,主机号全为"1"的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有主机发送报文。
4)网络地址
TCP/IP协议规定,各位全为"0"的网络号被解释成"本"网络。由上可以看出:
(1)含网络号127的分组不能出现在任何网络上;
(2)主机和网关不能为该地址广播任何寻径信息。
由以上规定可以看出,主机号全"0"全"1"的地址在TCP/IP协议中有特殊含义,一般不能用作一台主机的有效地址。
3、子网掩码
从上面的例子可以看出,子网掩码的作用就是和IP地址与运算后得出网络地址,子网掩码也是32bit,并且是一串1后跟随一串0组成,其中1表示在IP地址中的网络号对应的位数,而0表示在IP地址中主机对应的位数。
1)标准子网掩码
A类网络(1~126) 缺省子网掩码:255·0·0·0
255·0·0·0 换算成二进制为 11111111·00000000·00000000·00000000
可以清楚地看出前8位是网络地址,后24位是主机地址,也就是说,如果用的是标准子网掩码,看第一段地址即可看出是不是同一网络的。如21.0.0.0.1和21.240.230.1,第一段为21属于A类,如果用的是默认的子网掩码,那这两个地址就是一个网段的。
B类网络(128~191) 缺省子网掩码:255·255·0·0
C类网络(192~223) 缺省子网掩码:255·255·255·0
B类、C类分析同上。
2) 特殊的子网掩码
标准子网掩码出现的都是255和0的组合,在实际的应用中还有下面的子网掩码
255·128·0·0
255·192·0·0
……
255·255·192·0
255·255·240·0
……
255·255·255·248
255·255·255·252
这些子网掩码又是什么意思呢?这些子网掩码的出现是为了把一个网络划分成多个网络。
还记得上面的例子吗?如下所示:192·168·0·1和192·168·0·200如果是默认掩码255.255.255.0两个地址就是一个网络的,如果掩码变为255.255.255.192这样各地址就不属于一个网络了。下面的子网划分将作详细介绍。
192.168.0.111000000.10101000.00000000.00000001192.168.0.20011000000.10101000.00000000.11001000255.255.255.011111111.11111111.11111111.00000000192.168.0.111000000.10101000.00000000.00000001192.168.0.20011000000.10101000.00000000.11001000255.255.255.19211111111.11111111.11111111.11000000 下表是几个子网掩码计算过程中非常有用的十进制和二进制的对照
用于子网掩码换算的十进制和二进制对照十进制1286432168421二进制1000000001000000001000000001000000001000000001000000001000000001常用的子网掩码的十进制和二进制对照十进制128192224240248252254255二进制1000000011000000111000001111000011111000111111001111111011111111二、彻底明白IP地址的含义
不管是学习网络还是上网,IP地址都是出现频率非常高的词。Windows系统中设置IP地址的界面如下图所示,图中出现了IP地址、子网掩码、默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?学习IP地址的相关知识时还会遇到网络地址、广播地址、子网等概念,这些又是什么意思呢?
要解答这些问题,先看一个日常生活中的例子。如下图所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:"谁是6号,请回答。",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号。也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到。 从这个例中可以抽出下面几个词:
街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街0号
住户的号:如1号、2号等。
住户的地址:街道地址+XX号,如北大街 1号、北大街 2号等
广播地址:最后一个住户的地址+1,此例为:北大街21号
Internet网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是IP地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP地址=网络地址+主机地址,图1中的IP地址是192.168.100.1,这个地址中包含了很多含义。如下所示:
网络地址(相当于街道地址): 192.168.100.0
主机地址(相当于各户的门号): 0.0.0.1
IP地址(相当于住户地址): 网络地址+主机地址=192.168.100.1
广播地址: 192.168.100.255
这些地址是如何计算出来的呢?为什么计算这些地址呢?要想知道如何,先要明白一个道理,学习网络的目的就是如何让网络中的计算机相互通讯,也就是说要围绕着"通"这个字来学习和理解网络中的概念,而不是只为背几个名词。
注:192.168.100.1是私有地址,是不能直接在Internet网络中应用的,上Internet要转为公有地址,下面详细说明。
1、为什么要计算网络地址
一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,下图中是用网线(交叉线)直接将两台计算机连起来。下面是几种IP地址设置,看看在不同设置下网络是通还是不通。
1)设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.0,2号机的IP地址为192.168.0.200子网掩码为255.255.255.0,这两台计算机就能正常通讯。
2)如果1号机地址不变,将2号机的IP地址改为192.168.1.200子网掩码还是为255.255.255.0,那这两台就无法通讯。
3)设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.192,2号机的IP地址为192.168.0.200子网掩码为255.255.255.192,注意和第1种情况的区别在于子网掩码,1为255.255.255.0本例是255.255.255.192这两台计算机就能正常通讯。
第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通,而2、3种情况下两台计算机处在不同的网络,所以不通。
这里先给个结论:用网线直接连接的计算机或是通过HUB或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。如果不在一个网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。
计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通。注意,这里说的在不在同一网络指的是IP地址而不是物理连接。那么如何计算呢?
2、如何计算网络地址
我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。
计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1 ,其余组合都为0。
1...0...1...0
1...0...0...0
与运算________________
1...0...0...0
例如:计算IP地址为:202.99.160.50子网掩码是255.255.255.0的网络地址步骤如下:
1)将IP地址和子网掩码分别换算成二进制
202.99.160.50 换算成二进制为 11001010·01100011·10100000·00110010
255.255.255.0 换算成二进制为 11111111·11111111·11111111·00000000
2)将二者进行与运算
11001010·01100011·10100000·00110010
11111111·11111111·11111111·00000000
与运算________________________________________
11001010·01100011·10100000·00000000
3)将运算结果换算成十进制,这就是网络地址。
11001010·01100011·10100000·00000000换算成十进制就是202.99.160.0
现在我们就可以解答上面三种情况的通与不通的问题了。
1、从下面运算结果可以看出二台计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通。
192.168.0.1 11000000.10101000.00000000.00000001
255.255.255.0 11111111.11111111.11111111.00000000
与运算______________________________________________________________
192.168.0.0 11000000.10101000.00000000.00000000
192.168.0.200 11000000.10101000.00000000.11001000
255.255.255.0 11111111.11111111.11111111.00000000
与运算______________________________________________________________
192.168.0.0 11000000.10101000.00000000.00000000
2、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.1.0 不在一个网络,所以不通。
192.168.1.200 11000000.10101000.00000001.11001000
255.255.255.0 11111111.11111111.11111111.00000000
与运算______________________________________________________________
192.168.1.0 11000000.10101000.00000001.00000000
3、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192 不在一个网络,所以不通
192.168.0.1 11000000.10101000.00000000.00000001
255.255.255.192 11111111.11111111.11111111.11000000
与运算______________________________________________________________
192.168.0.0 11000000.10101000.00000000.00000000
192.168.0.200 11000000.10101000.00000000.11001000
255.255.255.192 11111111.11111111.11111111.00000000
与运算______________________________________________________________
192.168.0.182 11000000.10101000.00000000.11000000
相信看到这应该明白了为何计算网络地址和如何计算了,但也许还有很多疑问,如IP地址为什么写成这样,子网掩码到底是怎么回事等等,别急,下面慢慢介绍。
要了解这个问题,你需要知道IP的由来
现在的IPv4(第四代IP)是32位,而未来的IPv6是128位。
先告诉现在正在用的ipv4。
前面说了,IPv4是采用的32位2进制编码,目前的IP由4段构成,如192.168.1.1。是将32为划分为4段,那么每一段就是8位。2^8=256 包含0在内的一共是0—255,这就是255的由来。
给你举个例子,例如IP:255.255.1.1的二进制编码为11111111 11111111 00000001 00000001
至于你说的拓展到511,我想你只要明白了我上面说的,就知道这其实不是个问题。
顺带给你说下下一代的IPv6 它是采用128位2进制编码。因此总共拥有2^128个独立的地址,也就是巨多的意思。到时候我们就不需要内网了。
更多的请查看http://baike.baidu.com/view/8370.htm#4
IP地址(Internet Protocol Address)用于确定Internet上的每台主机,它是每台主机唯一性的标识。一个IP地址由32个二进制比特数字组成,通常被分割为4段,每段8位(1个字节),IP地址的表示方法如下:aaa.bbb.ccc.ddd每段(aaa、bbb、ccc或ddd)的取值范围为0~255,段与段之间由圆点分开。不难发现,这种编码规则从理论上说可以定义255×255×255×255约42亿台计算机,但实际上,部分地址为广播保留,(即主机地址全为“1”的IP地址,用于向网上所有主机同时发送消息,称为广播,而另一些地址则保留给将来使用)。
当aaa取值为1~127时,aaa代表网络号,表示主机所在网络为大型网,即A类网,后3段(bbb、ccc、ddd)代表其主机号;
当aaa取值为128~191时,表示主机所在网络为中型网,即B类网,aaa.bbb代表网络号,后2段(ccc.ddd)则代表其主机号。
当aaa取值为192~223时,表示主机所在网络为中型网即C类网,aaa.bbb.ccc代表网络号,最后1段(ddd)则代表其主机号。
例如电脑报网站以前的IP地址为:202.98.35.65其中202.98.35为网络号,65为主机号。
扩容后,现在电脑报网站的IP地址为:61.128.193.25其中61为网络号,128.193.25为主机号。
域名(Domain Name)
由于IP地址是数字编码,不易记忆,所以我们平时上网所使用的大多是诸如www.cpcw.com之类的地址,即域名地址。
域名地址是Internet采用的“标准名称”寻址方案,即每个机器都分配一个独有的“标准名称”,并由分布式命名体系自动翻译成IP地址。计算机在网上进行寻址时,先将域名传输给特别的服务器——域名服务器,再由它“翻译”,将所得IP地址的结果传回,计算机最终仍通过IP地址来找寻。这种翻译称为“主机名/域名解析”。
机器的标准名称包括域名和主机名,也采取多段表示方法,各段之间用圆点分开。例如:
www.tsinghua.edu.cn
最右边的名称cn是指中国,是最高层次的域名;edu表示该机器属于教育界;tsinhua是下一层次的域名,表示该机属于清华大学,是主机名;前面的www是World Wide Web的简称,指万维网。
同样,www.cpcw.com中的com指公司,cpcw是电脑报的网站,www指万维网。
域名一般都通俗易懂,大多采用英文名称的缩写来命名,最高层次域名的一些常用名和含义如下:
edu 教育界(education)
gov 政府部门(goverment)
mil 军事部门(military)
org 非盈利性组织(organization)
com 工商界(company)
net 网络机构(network)
int 国际组织(international)
物理地址
MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(IEEE)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
如何获取本机的MAC?
对于数量不多的几台机器,我们可以这样获取MAC地址:在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。即可看到MAC地址。
在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。即可看到MAC地址。
IPV4用四个(0~255)的数字表示IP地址,如188.123.44.56
这样总共可以表示256的四次方个地址
IPV6用六个,可以表示256的六次方个地址
IPv4地址为32位编码,
IPv6的地址是128位编码
目前的互联网协议为IPv4,其地址为32位编码,可提供的IP地址大约为40多亿个,而且由美国掌握绝对控制权,目前已经分配完了70%,预计2005年左右将全部分配完成,全球将面临严重的IP地址枯竭的危机。
美国一个大学拥有的IP地址就几乎等于全中国的IP地址。中国的公众网因IP地址匮乏,被迫大量使用转换地址,严重影响了互联网本身的效益及安全。
以IPv6为核心的下一代互联网随之提上日程。IPv6的地址是128位编码,能产生2的128次方个IP地址,地址资源极端丰富。有人比喻,世界上的每一粒沙子都会有一个IP地址。也就是说,在IPv6下,IP地址将可充分满足数字化生活的需要,不再需要地址的转换,还互联网本来的面目。更重要的是,将提供更安全,更为广阔的应用与服务。
日本的手脚最快。早在2000年,日本就正式提出了“e-Japan”构想;次年,日本IT战略总部起草“e-Japan”战略计划草案,并在2002年财政预算中,专门拨出2兆日元实施该计划。欧洲也已在该技术上投入了4000多万欧元,但目前相关产品尚未达到商用水平。
美国曾一度对该技术持保守态度,但在2003年重新加入进来。当年6月,美国国防部发表了一份IPv6备忘录,提出在美国军方“全球信息网格”中全面部署IPv6的重要决策,并作出了300亿美元以上的预算。
美国国防部IPv6进度时间表显示:2002年至2004年形成标准的IPv6协议;2005年至2007年,IPv6和IPv4协议共同运行;2008年实现美国本土全面的IPv6计划,IPv4协议同时退出。