网络基础 — IP地址和子网掩码

                                             IP地址和子网掩码




在IPv4的IP地址长度为4字节,通常采用电分十进制表示法 例如Ox 0a800002表示为193.168.0.2.Internet被各种路由器和网

关设 备分割成很多网段,为了标识不同的网段,需要把32位的IP地址划分为网络号和主机号两部分,网络号相同的各主机位于

同一网 段,相互间可以互相直接通信,网络号不同的主机之间通信则需要通过路由器换发.当然我们首先先了解IP地址->


IP地址

                                                                                                      


基本概念:


IP地址其实和我们的家里的地址是相似的,比如你上网买了一个商品,它要给你发快递为了把快递发给你,肯定会有一个收


货地址标识出你的位置,计算机就是运用这种原理传输数据只不过我们的地址使用文字来表示的,计算机的地址用十进制数


字表示.这样有的人就会说IP地址可以唯一标识你,这样的说法是不对的.


因为我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;

另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。


就好像你填的收货地址可能会有很多人公用一样,比如你的学校,你的公司所以IP不能唯一标识你.如果真的想找到你,就


要用到MAC地址这个以后会说到,MAC地址会在网络中标识出唯一的进程.



IP地址的构成:




目前的IP地址(IPv4:IP第4版本)由32个二进制位表示,每8位二进制数为一个整数,中间由小数点间隔,如


159.226.41.98,整IP地址空间有4组8位二进制数,由表示主机所在的网络的地址(类似公司的编号)以及主机在该网络中


的标识(如同你在公司中的员工编号)共同组成。


将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。


网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);

主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。


然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地


址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。





IP地址类:



网络基础 — IP地址和子网掩码_第1张图片


A类0.0.0.0到127.255.255.255 

B类 128.0.0.0到191.255.255.255

C类 192.0.0.0到233.255.255.255

D类224.0.0.0到239.255.255.255

E类240.0.0.0到247.255.255.255


一个A类网络可容纳的地址数量最大,一个B类网络的地址数量是65536,一个C类网络的地址数量是256.D类地址用作多播地址

,E类 地址保留未用. 随着 Internet的飞速发展,这种划分方案额局限性很快显现出来了,大多数组织都申请B类网络地址,

致B类地址很快就分配完了,而A类地址却浪费大量 的地址.这中方式对网络的划分是flat的,而不是层级结构的,Internrt

的每一个路由器都必须掌握所有网络的信息,随着大量C类网络的出现,路由 器需要检索的路由表越来越庞大,负担越来越重.


针对这种情况提出了新的划分方案,称为CIDR. 网络号和主机号的划分需要用一个额外的子网掩码来表示,而不能有IP地址

身的数值决定,也就是 说,网络号和主机号的划分与这个IP地址是A类,B类还是C类无关,因此称为Classless的.这样,多

子网就可以汇总成一个Internet上的网络,例 如,有8个站点都申请了C类网络,本来网络号都是24位的,但是这8个站点通

过同 一个 互联网服务提供商连接到Internet上,他们的网络号高21位是相 同的,只有低三位不同,这8个站点就可以汇总,在

Internet上只需要一个路由表项,数据报通过Internet上的路由器到达ISP,然后在ISP这边在通过 次级的路由器选路到某个站

点. 了解子网掩码的由来接下来我们来了解它.





子网掩码:

                                                                                                      



基本概念:


子网掩码又叫网络掩码、地址掩码、子网络遮罩,是一个应用于TCP/IP网络的32位二进制值。它可以屏掉IP地址中的一部

分,从 而分离出IP地址中的网络部分与主机部分,基于子网掩码,管理员可以将网络进一步划分为若干子网。它必须结合

IP 地址一起使 用。


为什么要使用子网掩码?


在两台主机在TCP/IP协议下通信的过程中,本机的子网掩码与接受方主机的 IP 地址进行 '  '运算,即可得到目标主机所在

的网络号.然后如果你们 的网络号在同一个子网内,那么你们就可以通信,如果网络号不相同那么数据报会被发送到本地路

由器,然后路由器会在路由表表中帮你寻找最优 路径并将该数据有效地传送到目的站点,这 就是子网掩码的重要性.比较于

最初的四种IP地址类子网掩码可以节省很多过程.


如何得到子网掩码

既然子网掩码这么重要,那么它是如何分离出 IP 地址中的网络地址和主机地址的呢?

过程如下:

1. 将 IP 地址与子网掩码转换成二进制;

2. 将二进制形式的 IP 地址与子网掩码做 ' 与 ' 运算,将答案化为十进制便得到网络地址;

3. 将二进制形式的子网掩码取 ' 反 ' ;

4. 将取 ' 反 ' 后的子网掩码与 IP 地址做 ' 与 ' 运算,将答案化为十进制便得到主机地址。

下面我们用一个例子给大家演示:

假设有一个 I P 地址: 192.168.0.1

子网掩码为: 255.255.255.0

化为二进制为: I P 地址 11000000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

将两者做 ' 与 ' 运算得: 11000000.10101000.00000000.00000000

将其化为十进制得: 192.168.0.0

这便是上面 IP 的网络地址,主机地址以此类推。




子网掩码的分类 
 

1 )缺省子网掩码:

即未划分子网,对应的网络号的位都置 1 ,主机号都置 0 。

A 类网络缺省子网掩码: 255.0.0.0

B 类网络缺省子网掩码: 255.255.0.0

C 类网络缺省子网掩码: 255.255.255.0


2 )自定义子网掩码:

将一个网络划分为几个子网,需要每一段使用不同的网络号或子网号,实际上我们可以认为是将主机号分为两个部分:子网

号、子网主机号。 形式如下:

未做子网划分的 IP 地址:网络号+主机号

做子网划分后的 IP 地址:网络号+子网号+子网主机号

也就是说 IP 地址在划分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。









你可能感兴趣的:(网络编程)