提起计算机网络,必须要说到IP,学网络也要从IP地址开始。
计算机网络中离不开IP地址,在计算机网络OSI七层协定中的网络层,你是否知道这些IP地址的意义呢!
一 IP地址
概述
计算机要实现网络通信,就必须要有一个用于快速定位的网络地址。IP地址就是计算机在网络中的唯一身份ID,与现实世界中快递的配送需要有具体的住宅地址是一个道理。
ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:128.20.4.1
IP地址的组成
IP地址 = 网络地址 + 主机地址(又称:主机号和网络号组成)
想想,为什么会有行政区划的划定(国家、省市区、街道等),为了更加高效的进行管理、定位;
相同的,我们通常将网络也可以分为很多的子网络,每个子网络有自己的网络地址,每个子网络由很多的计算机组成(当然也可以包含另外一个子网络)。
我们要找到指定的IP地址,只要先找到指定的网络地址,然后再该网络内找到对应的主机地址即可。
IP地址是一个 4 * 8bit(1字节)由 0/1 组成的数字串(IP4协议)
以文章开通 win7 截图中 的 IP地址 192.168.1.168, 子网掩码 255.255.255.0(下文有详解) 为例, 这个地址中包含了很多含义:
192.168.100.168(IP地址) = 192.168.1.0 (网络地址) + 0.0.0.168(主机地址)
网络地址、主机地址是怎么计算出来的呢?我们需要先简单学习下子网掩码
二 子网掩码(subnet mask)
IP中的网络地址和主机地址各是多少位表示呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。
概述
子网掩码又叫网络掩码、地址掩码、子网络遮罩,是一个 4 * 8bit(1字节)由 0/1 组成的数字串。
它的作用是屏蔽(遮住)IP地址的一部分以划分成网络地址和主机地址两部分,并说明该IP地址是在局域网上,还是在远程网上。
通过子网掩码,可以把网络划分成子网,即VLSM(可变长子网掩码),也可以把小的网络归并成大的网络即超网。
子网掩码不能单独存在,它必须结合IP地址一起使用。
子网掩码的规则
长度 为 4 * 8bit(1字节),由 连续的1 以及 连续的0 两部分组成,
例如:11111111.11111111.11111111.00000000,对应十进制:255.255.255.0
假设,局域网中 计算机A 的IP地址为 192.168.1.1,子网掩码为 255.255.255.0, 如下图所示:
网络地址: IP 地址中被 连续的1 遮住的部分,即 11000000.10101000.00000001.00000000, 对应的网络地址:192.168.1.0
主机地址: IP 地址中被 连续的0 遮住的部分,即 00000000.00000000.00000000.00000001, 对应的网络地址:0.0.0.1
排除 该网络 两个特殊地址:
广播地址:192.168.1.255 (主机号全为11111111)(广播机制及类型见:http://baike.baidu.com/view/473043.htm)
网络地址:192.168.1.0 (主机号全为00000000)
该子网最大的主机数:2的8次方 256 - 2
其他信息:
A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。
三 通过子网掩码计算网络地址
参考:《IP地址,子网掩码,默认网关,DNS服务器详解》
计算方法
计算过程是这样的:
1. 将IP地址和子网掩码都换算成二进制;
2. 将两者进行 "与运算",得到网络地址。
计算过程:上下对齐, 1位1位的算, 1与1=1 , 其余组合都为0
1 0 1 0
与运算 1 0 1 1
-------------------
结果 1 0 1 0
假设 IP地址为 192.168.1.168,子网掩码为 255.255.255.0, 则网络地址换算步骤如下:
1)将IP地址和子网掩码分别换算成二进制
192.168.1.168 换算成二进制为 11000000.10101000.00000001.10101000
255.255.255.0 换算成二进制为 11111111.11111111.11111111.00000000
2)将二者进行与运算
11000000.10101000.00000001.10101000
与运算 11111111·11111111·11111111·00000000
----------------------------------------------------------------------------
结果 11000000.10101000.00000001.00000000
3) 将运算结果换算成十进制: 192.168.1.0
立即实践
以用网线直接将两台计算机连起来为例:
下面是几种IP地址设置, 看看在不同设置下网络是通还是不通.
说明:第1种情况能通是因为这两台计算机处在同一网络192.168.0.0, 所以能通,而2,3种情况下两台计算机处在不同的网络,所以不通.
网络地址的计算过程同上,不再赘述。
结论:
用网线直接连接 或 通过 HUB(集线器)、普通交换机链接的计算机必须处于同一网络(网络地址) 并且主机地址必须不一样 才能通信。
注意:同一网络不是指物理连接,而是指网络地址.
举个例子,两台计算机链接到相同路由器(简单理解为同一个链路),如果他们设置的网络地址不一致,则他们也是不能通信的。
扩展:IP网段表示法
举例说明:192.168.0.0/24
192.168.0.0: 网络地址
24: 表示子网掩码二进制表示法中,连续的 1 的 个数,这里为:11111111·11111111·11111111·00000000,即 255.255.255.0
四. 默认网关(地址)
参考:《百度百科-网关》
什么是网关?
(可以联想下海关?什么是海关?)
连接两个不同的网络的设备都可以叫网关设备;网关的作用就是实现两个网络之间进行通讯与控制。
网关设备可以是 交互机(三层及以上才能跨网络)、路由器、启用了路由协议的服务器、代理服务器、防火墙等
网关地址就是网关设备的IP地址。
假设我们有两个网络:
网络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协议才能实现不同网络之间的相互通信。
默认网关
一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
扩展:自动设置默认网关
自动设置就是利用DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议)服务器来自动给网络中的计算机分配IP地址、子网掩码和默认网关 。
一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的计算机均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。
另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。
四、特定IP地址
1、0.0.0.0
严格说来,这个奇葩的地址0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:也就是说;所有不清楚的主机和目的网络。这里的"不清楚"是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个"收容所",所有不认识的"三无"人员,一律送进去。如果你在网络设置中设置了缺省网关,那么计算机系统会自动产生一个目的地址为0.0.0.0的缺省路由。
2、255.255.255.255 限制广播地址。
对本机来说,这个地址指本网段内(同一广播域)的所有主机。
然而它的意思很明确,使用人类语言来说意思就是"这里的所有计算机都注意了"这个地址不能被路由器所转发。
3、127.0.0.1 本机地址
主要用于测试。用汉语表示,就是"我自己"。在windows系统中,这个地址有一个别名"Localhost"。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为"127.0.0.1"的数据包。
4、224.0.0.1 组播地址
注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机,224.0.0.2特指所有路由器。这样的地址多用于一些特定的程序以及多媒体程序。如果你的主机开启了IRDP(Internet路由发现协议),使用组播功能功能,那么你的主机路由表中应该有这样一条路由。
5、169.254.x.x
如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,计算机操作系统会为你分配这样一个地址。如果你发现你的主机IP地址是一个诸如此类的地址,很不幸的是,现在你的网络不能正常运行了。
6、10.x.x.x、172.16。x。x~172.31。x。x、192.168。x。x 私有地址
这些地址被大量用于企业内部网络中。一些宽带路由器,也往往使用192.168.1.1作为缺省地址。私有网络由于不与外部互连,因而可能使用随意的IP地址。保留这样的地址供其使用是为了避免以后接入公网时引起地址混乱。使用私有地址的私有网络在接入Internet时,要使用地址翻译(NAT),将私有地址翻译成公用合法地址。在Internet上,这类地址是不能出现的。对一台网络上的主机来说,它可以正常接收的合法目的网络地址有三种:本机的IP地址、广播地址以及组播地址。