断弯刀

导航

IP地址的含义

  不管是学习网络还是上网,IP地址都是出现频率非常高的词。Windows系统中设置IP地址的界面如图1所示,图中出现了IP地址、子网掩码、默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?学习IP地址的相关知识时还会遇到网络地址、广播地址、子网等概念,这些又是什么意思呢?  

      

              图1 

  要解答这些问题,先看一个日常生活中的例子。如图2所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:"谁是6号,请回答。",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号。也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到。  

  

                                                                  图2

 从这个例中可以抽出下面几个词:

     街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-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要转为公有地址,详细说明见后文。

为什么要计算网络地址

  一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,图3中是用网线(交叉线)直接将两台计算机连起来。下面是几种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,这两台计算机就不能正常通讯。

           

                                              图3

  第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通,而2、3种情况下两台计算机处在不同的网络,所以不通。

     这里先给个结论:用网线直接连接或通过HUB或普通交换机间连接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。如果不在一个网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。

     计算网络地址就是判断网络中的计算机是否在同一网络,在就能通,不在就不能通。注意,这里说的是否在同一网络指的是IP地址而不是物理连接。那么如何计算呢?

如何计算网络地址  

  我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。

     计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1 = 1 ,其余组合都为0 

    

               图4

  例如:计算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)将二者进行与运算

       

                                           图5

 

 3)将运算结果换算成十进制,这就是网络地址。

     11001010·01100011·10100000·00000000换算成十进制就是202.99.160.0

     现在我们就可以解答上面三种情况的通与不通的问题了。

 

     1、从下面运算结果可看出两计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通。

             

                                                                      图6

 2、从下面运算结果可以看出1号机的网络地址为192.168.0.0; 2号机的网络地址为192.168.1.0 不在一个网络,所以不通。 

   

                                                                    图7

 

 3、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192 不在一个网络,所以不通

   

                                                                       图8

  看到这里大家应该明白为何要计算网络地址和如何计算了,但也许还有很多疑问,如IP地址为什么写成这样,子网掩码到底是怎么回事等等,别急,下面慢慢介绍。

IP地址的介绍

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地址的使用范围。

  

 

几个特殊的IP地址

  • 私有地址

    上面提到IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?Internet管理委员会规定如下地址段为私有地址,私有地址可以自己组网时用,但不能在Internet网上用,Internet网没有这些地址的路由,有这些地址的计算机要上网必须转换成为合法的IP地址,也称为公网地址,这就像有多到的世界公园,每个公园内都可命名相同的大街,如香榭丽舍大街,但对外我们只能看到公园的地址和真正的香榭丽舍大街。下面是A、B、C类网络中的私有地址段。你自己组网时就可以用这些地址了。               公网Ip和私网ip(点击查看)

    10.0.0.0~10.255.255.255

    172.16.0.0~172.131.255.255

    192.168.0.0~192.168.255.255

  • 回送地址

    A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。

小技巧:

Ping 127.0.0.1,如果反馈信息失败,说明IP协议栈有错,必须重新安装TCP/IP协议。如果成功,ping本机IP地址,如果反馈信息失败,说明你的网卡不能和IP协议栈进行通信。

如果网卡没接网线,用本机的一些服务如Sql Server、IIS等就可以用127.0.0.1这个地址。

  • 广播地址

    TCP/IP规定,主机号全为"1"的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有主机发送报文。

  • 网络地址

     TCP/IP协议规定,各位全为"0"的网络号被解释成"本"网络。由上可以看出:一、含网络号127的分组不能出现在任何网络上;二、主机和网关不能为该地址广播任何寻径信息。由以上规定可以看出,主机号全"0"全"1"的地址在TCP/IP协议中有特殊含义,一般不能用作一台主机的有效地址。

 

子网掩码

    从上面的例子可以看出,子网掩码的作用就是和IP地址与运算后得出网络地址,子网掩码也是32bit,并且是一串1后跟随一串0组成,其中1表示在IP地址中的网络号对应的位数,而0表示在IP地址中主机对应的位数。    掩码英语:Mask)在计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。

  • 标准子网掩码

     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类分析同上。

  • 特殊的子网掩码

  标准子网掩码出现的都是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这样各地址就不属于一个网络了。下面将对子网划分作详细介绍。

  当子网掩码为255·255·255·0时,通过下式计算网络地址为192.168.0.0

    192·168·0·1             11000000·10101000·00000000·00000001

        192·168·0·200          11000000·10101000·00000000·11001000

    255·255·255·0         11111111·11111111·11111111·00000000

   当子网掩码为255·255·255·192时,通过下式计算网络地址为192.168.0.192

     

 

   

通过IP地址和子网掩码与运算计算相关地址  

    知道ip地址和子网掩码后可以算出:

    1、 网络地址

    2、 广播地址

    3、 地址范围

    4、 本网有几台主机

    例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。

分步骤计算

    1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机地址

     

    2)IP地址和子网掩码进行与运算,结果是网络地址

   

    3) 将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。

        

    4) 地址范围就是包含在本网段内的所有主机

    网络地址加1即为第一个主机地址,广播地址减1即为最后一个主机地址,由此可以看出

    地址范围是: 网络地址+1  至  广播地址-1

    本例的网络范围是:192·168·100·1 至 192·168·100·254

    也就是说下面的地址都是一个网段的。

  192·168·100·1、192·168·100·2 。。。 192·168·100·20 。。。 192·168·100·111 。。。 192·168·100·254

 5) 主机的数量

    主机的数量 = 2二进制的主机位数 - 2

    减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。

    主机的数量 = 28 – 2 = 254

总体计算

    我们把上边的例子合起来计算一下过程如下:

      

    例2: IP地址为128·36·199·3 子网掩码是255·255·240·0。算出网络地址、广播地址、地址范围、主机数。

    1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址, 虚线前为网络地址,虚线后为主机地址

          

    2)IP地址和子网掩码进行与运算,结果是网络地址

         

    3)将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址。

       

    4) 地址范围就是含在本网段内的所有主机

    网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出

    地址范围是: 网络地址+1 至 广播地址-1

 本例的网络范围是:128·36·192·1 至 128·36·207·254

    5) 主机的数量

    主机的数量 = 2二进制位数的主机 - 2

    主机的数量 = 212 – 2 = 4094

    减2是因为主机不包括网络地址和广播地址。

    从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。

划分子网

   上面的例子192.168.0.0 子网掩码为255.255.255.0的这个网络中可容纳254台主机,如果想把一个网络分成两个以上的网络该如何分呢?IP地址是由网络地址+主机地址组成的,增加网络部分的长度,减少主机地址的长度就能将一个网络划分成数个网络。具体的解决办法就是增加子网掩码中连续1,这样相应的主机地址就减少了。看个具体的例子就明白了。

  子网掩码由255·255·255·0变为255·255·255·192后网络位和主机位变化如下:

  

  可看出当子网掩码从网络位从255·255·255·0变为255·255·255·192时网络位由24位变成26位,IP地址前24位是规定的网络位数,是不能改变的,而从主机借来的25、26两位是可以改变的。

    如上所示:IP地址借来的两位有四种变化00、01、10、11。也就是说将一个网络分成了四个网络。我们称分出来的网络叫子网。

        下面我们计算一下每个子网的网络地址、广播地址和地址范围

 

 

 

  从下表可以清楚看出四个子网的相关数据,这里特别需要指出的是如果所在网络中不允许使用全0和全1的网络,那子网1和4因为分别是全0和全1组合,不能使用,该网络只能分为2、3两个子网。

   

  实例1:若ISP分配给某单位一个B类网络130·20·0·0子网掩码255·255·0·0,现在需要划分4个子网。

  计算步骤如下:

   1)  根据需要的子网数计算出需要从主机位借几位

    22-2=2              23-2=6                  24-2=14

减2是因为去掉全0和全1组合,借两位分为2个子网,借4位分为14个子网,可见应该借3位分为6个子网。

      2)根据借的位数改变子网掩码

    借3 位后子网掩码由原来的  

       255·255·0·0          11111111·11111111·00000000·00000000

   变为    255·255·224·0       11111111·11111111·11100000·00000000

    3) 计算一下每个子网的网络地址、广播地址和地址范围,下面只列出算式给出最后结果。计算方法过程同上。

    

 

 

下表是A、B、C类网络中常用子网划分对照表:(表中没有排除全1和全0组合)

为什么不使用全0和全1子网

   上面提到一般不使用全0和全1子网,为什么呢?

  上例中192·168·0·0掩码255.255.255.192可分成4个子网,第一个子网192.168.0.1 - 192.168.0.62和最后一个子网192.168.0.193 - 192.168.0.254通常也被保留,不能使用.原因是,第一个子网的网络地址192.168.0.0和最后一个子网的广播地址192.168. 0.255具有二意性。先看这个大的C类网络地址和广播地址。192.168.0.0是它的网络地址,192.168.0.255是它的广播地址。显然,它们分别与第一个子网的网络地址和最后一个子网的广播地址相重了。

  那么怎样区分192.168.0.0到底是哪个网络的网络地址呢? 答案是:把子网掩码加上去。

    192.168.0.0    255.255.255.0    中192.168.0.0是大C类网络的网络地址。

    192.168.0.0    255.255.255.192  中192.168.0.0 是第一个子网的网络地址。

    192.168.0.255  255.255.255.0    中192.168.0.255是大C类网络的广播地址。

    192.168.0.255  255.255.255.192  中192.168.0.255是最后一个子网的广播地址。

  带上掩码,它们的二意性就不存在了。

  所以,在严格按照TCP/IP  A B C D给IP地址分类的环境下,为了避免二意性,全0和全1网段都不让使用.这种环境我们叫作Classful(有类路由)。在这种环境下,子网掩码只在所定义的路由器内有效,掩码信息到不了其它路由器.比如RIP-1,它在做路由广播时根本不带掩码信息,收到路由广播的路由器因为无从知道这个网络的掩码,只好照标准TCP/IP的定义赋予它一个掩码.比如,拿到10.X.X.X,就认为它是A类,掩码是255.0.0.0;拿到一个204.X.X.X,就认为它是C类,掩码是255.255.255.0.但在Classless的环境下,掩码任何时候都和IP地址成对地出现,这样,前面谈到的二意性就不会存在。

  是Classful还是Classless取决于你在路由器上运行的路由协议,一个路由器上可同时运行Classful和Classless的路由协议。RIP1是Classful的,它在做路由广播时不带掩码信息;OSPF,EIGRP,BGP4是Classless的,它们在做路由广播时带掩码信息,它们可以同时运行在同一台路由器上。在CISCO路由器上,缺省你可以使用全1网段,但不能使用全0网段。所以,当你在CISCO路由器上给端口定义IP地址时,该IP地址不能落在全0网段上。如果你配了,你会得到一条错误信息。使用IP SUBNET-ZERO命令之后,你才能使用全0网段。另外要强调的是,使用了IP SUBNET-ZERO命令之后,如果路由协议使用的是CLASSFUL的(如RIP1),虽然你定义成功了,但那个子网掩码还是不会被RIP1带到它的路由更新报文中。即IP SUBNET-ZERO 命令不会左右路由协议的工作。总之,TCP/IP协议中,全0和全1网段因为具有二意性而不能被使用。CISCO缺省使全1网段可以被使用,但全0网段只有在配置了IP SUBNET-ZERO后方可被使用。

  

  注:Rip1与Rip2的 区别

    RIP1是有类路由(classful)协议,它们在宣告路由信息时不携带网络掩码

    RIP2是无类路由(classless)协议,它们在宣告路由信息时携带网络掩码

    RIP1是广播发送路由更新,广播地址为255.255.255.255

    RIP2是组播发送路由更新,广播地址为224.0.0.9

无分类编址CIDR

  实例:某企业需要1000个IP地址,按上面学的知识,有两种分配方案,一是分配给该校1个B类地址,地这样会造成216-2-1000=64534个地址浪费。二是分配4个C类地址,这样会造成每个路由器的路由表增加4个相应的项。

  另外,上面说的子网划分的解决方案存在一个问题就是浪费地址,过多的子网会导致主机地址减少。在每个子网内,总是有两个地址用于网络地址和广播地址。如果子网过多,地址数量最多有可能会减少一半。举例说,一个C类网络通常支持254个主机。然而,把C类网络分成64个子网,这样每个子网分给主机的地址只有2个,主机地址就会从254个减少到128个。在IPv4中这样的做法是非常不可取的。

  如何解决呢?方法就是丢弃分类地址概念,采用CIDR(无类型域间路由,Classless Inter-Domain Routing)

  CIDR采用13~27位可变网络ID,而不是A-B-C类网络所用的固定的1字节、2字节和3字节。CIDR消除了子网的概念,IP地址=网络前缀+主机号。使用斜线记法,在IP地址后加上一个斜线“/”,然后写上网络前缀所占的位数,如:20.1.1.1  255.192.0.0 按CIDR记为20.1.1.1/10,10表示连续10个1,也就是网络前缀占10位。再例如,CIDR地址200.1.1.2/24表示前24位用作网络前缀。

    CIDR最大的好处就是大大缩减了路由器的路由表大小,而且减少了地址浪费。CIDR(Classless Inter-Domain Routing,无类型域间路由)的基本思想是取消IP地址的分类结构,将多个地址块聚合在一起生成一个更大的网络,以包含更多的主机。CIDR支持路由聚合,能够将路由表中的许多路由条目合并为成更少的数目,因此可以限制路由器中路由表的增大,减少路由表项。

  CIDR最主要的特点有两个:

  1)CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前容许因特网的规模继续增长。

  2)CIDR将网络前缀都相同的连续的IP地址组成“CIDR地址块”,地址是连续的。不然,就不可能设计出包含所需地址、但排除不需要地址的前缀。为了达到这个目的,超网块(supernet block)即大块的连续地址就分配给ISP,然后ISP负责在用户当中划分这些地址,从而减轻了ISP自有路由器的负担。

  我们回到上面的例子,ISP拥有地址块200.0.64.0/18,某企业需要大约1000个IP地址, 210  = 1024,所占的地址位是10位,ISP分给该企业的地址块可以是:200.0.68.0/22(网络位22位,主机位10位)。

  假如该企业下分四个子公司,个子公司需要的IP地址是:A公司500个、B公司250个、C公司120个、D公司120个。问如何用CIDR分配这些地址。

  要解答这个问题,先分析一个不同机构的地址块。

  1)ISP:200.0.64.0/18   

  

  计算得出该ISP共有地址总数为214=16384个地址。共有26=64个C类网(6是第三段地址取6位)。

     2)  企业需要大约1000个IP地址, 210  = 1024,所占的地址位是10位,网络位占22位,将ISP中的200.0.64.0/22分给企业可满足要求。

  假定企业已从ISP处获得:200.0.64.0/22

  

  3)根据各单位计算出需要的主机和网络位数,如下表所示:

  

  4)  根据上表可以将200.0.64.0/22再划分为:

  

  5)当你看到CIDR的标记方法也许会想,如图1所示界面中没有“/”,其实把计算出网络位数换算成十进制就行了。如A公司的掩码为:255.255.254.0, B公司的掩码为:255.255.255.0,C和D公司的掩码为255.255.255.128

  6)从上面可以清楚看出地址聚合的概念,此例ISP拥有64个C类网络,如果不用CIDR,那在与该ISP相连的每个路由器的路由表中都有64个路由项,而采用CIDR后,只需用路由聚合后的一个项目200.0.64.0/18就能找到该ISP,200.0.64.0/22就能找到该企业。这样就大大减少了路由项。关于路由的问题不是本文的重点,有不清楚的地方请参阅其它资料。另外,支持CIDR的协议可以用全0和全1的网络,这样大大节约了地址。

IP地址计算的工具

  IP Subnet Calculator  Version 3.2.1.0, 界面如下:

  

  与“按位”相关的计算器 - 专业在线计算器平台

  IP地址转换到十六进制,十进制,二进制地址

  在线进制转换

网关

  网关,大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。 

       按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。 那么网关到底是什么呢?

  网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192. 168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目标主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此 所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

路由器

  Windows下叫默认网关,网关就是路由,路由就是网关不要蒙

  如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。

  如何设置默认网关 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。

  • 手动设置:手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
  • 自动设置:自动设置就是利用DHCP服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。由于篇幅所限,就不再详述了。

缺省网关

  缺省网关(Default Gateway)是计算机网络中一个如何将数据包转发到其他网络中的节点。在一个典型的TCP / IP网络,节点(如服务器、工作站和网络设备)都有一个定义的默认路由设置(指向默认网关)。可以在没有特定路由的情况下,明确出发送数据包的下一跳IP地址。

  可以看出缺省网关就是默认网关,那么有人会说既然有一样为什么又凭空多出来一个缺省网关,我的理解是这样的,应该说默认网关是缺省网关的一个子集。缺省网关有一个定义的默认路由设置(指向默认网关),缺省网关就相当于一个代理服务器暂时管理发送的数据包,当发送到目标主机时先由目标主机的缺省网关接收再找到对应的默认网关,就相当于缺省网关是父类,默认网关是子类~~

DNS服务器

  域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。

DHCP服务器

  DHCP指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。提升地址的使用率。

MAC地址

  MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。MAC(Media Access Control,介质访问控制)地址

  • 前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
  • 后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
    网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。

  也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一定是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。

  在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作;MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来进行操作。IP和MAC地址这种映射关系由ARP(Address Resolution Protocol,地址解析协议)协议完成。

端口号

  端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区 分不同的服务的。

  • 公认端口(Well-Known Ports)
    这类端口也常称之为"常用端口"。这类端口的端口号从0到1023,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。80端口实际上总是HTTP通信所使用的,而23号端口则是Telnet服务专用的。
  • 注册端口(Registered Ports)
    端口号从1025到49151。分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是分配好的公认端口的常用程序。

  • 动态和/或私有端口(Dynamic and/or Private Ports)
    之所以称为动态端口,因为它一般不固定分配某种服务,而是动态分配。

 

补充

  到开始的问题,图1中出现的IP地址、子网掩码想必大家已经很清楚了,那默认网关和DNS服务器填什么呢?

答:同一子网的计算机互相访问是不需要添网关的,不同子网的计算机互相访问就需要添网关地址,该地址就是路由器和本子网连接的接口地址,网关地址一定是和本机地址在一个子网。DNS服务就是将IP地址解析成域名如www.google.com,该服务器的地址一般是ISP提供的,这个地址只要是合法的DNS服务器就行,如河北的可以添北京的DNS服务器地址。

 


 

 本文下载    彻底明白IP地址的含义(完整版).doc

posted on 2018-11-07 15:43  断弯刀  阅读(12446)  评论(1编辑  收藏  举报