一,为什么要计算网络地址
一句话就是让网络中的计算机能够相互通讯.先看看最简单的网络,图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地址。通常网关字段通常填1字段,如下
A的网关地址192.168.1.1
B的网关地址192.168.2.1
假设我们有两个网络:
网络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
要实现这两个网络之间的通信,则必须通过网关。
如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。
只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。
默认网关
一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
举个简单的例子,一套房子内部有三个房间、一个大门,房子可以比喻成你的电脑所在的局域网,三个房间可以比喻成你所在局域网中的三台电脑,房子的大门可以比喻成网关。当你在房子内的一个房间进入另一个房间的时候并不需要经过房子的大门;在局域网中也是一样的,处在同一局域网的中计算机进行通信的时候并不需要用到网关。当你需要到邻居家去玩的时候需要要从你家房子的大门出去;相应的,局域网中的计算机需要和其它局域网中的计算机、和互联网上的计算机进行通信的时候,数据包必须要通过网关才可以到达。
这就是为什么我们在有路由器上网的时候,必须要把计算机中的默认网关地址设置成路由器LAN接口的地址的原因,因为路由器的LAN接口就是你所在网络的网关,你的电脑要上网,数据包必须要经过网关转发出去。目前家用路由器一般使用192.168.1.1和192.168.0.1作为LAN接口的地址,这两个地址也是最常见的网关地址。