熟悉二进制数,对于子网地址划分很重要

2^7    2^6    2^5    2^4    2^3    2^2    2^1    2^0

1      1      1      1      1      1      1      1

128    64     32     16     8      4      2      1


十进制数转换二进制数的方法:


例如:198,求它的二进制数?

198=128+70

  =128+64+6

  =128+64+4+2

我们看到只要是偶数,那么最低数字肯定不为1

所以我们根据上面数字写出二进制数:11000110


结果就求出了,简单吧!


1000 0000  ==  256-2^7=128

1100 0000  ==  256-2^6=256-64=192

1110 0000  ==  256-2^5=256-32=224

1111 0000  ==  256-2^4=256-16=240

1111 1000  ==  256-2^3=256-8=248

1111 1100  ==  256-2^2=256-4=252

1111 1110  ==  256-2=254

1111 1111  ==  256-1=1


IP地址的申请是由IANA来分发的。


三层广播的分类:


1、全向广播:255.255.255.255 不能跨广播域通信


2、定向广播:主机位全为1的(也称子网广播),可以跨广播域通信


A类:0----127    全0地址不能用,代表“未指定地址“,“缺省路由“


    127用于环回测试,用来查看TCP/IP协议栈有没有成功初始化

    ping主机本身的IP地址,用于查看本地NIC卡是否正常

B类:128--191


C类:192--223


D类:224--239


保留IP地址:


1、网络地址全为0------------》“这个网络或分段“


2、网络地址全为1------------》“全部网络“


3、主机位全为0--------------》“网络地址“


4、主机位全为1--------------》指定网络的“所有节点“


在产生了A,B,C,D,E类IP地址后,只按类来区分,还没有产生子网掩码的概念。那么我们就要问了

:子网掩码产生的需求是什么呢?


其实需求很简单,如果我申请到一个A类IP地址,我有2^24-2个IP地址,试想我个人能用了这么多吗?


或许是一个大的组织的话,一个这么大广播域怎么去管理?如果这样想分下去的话,IP地址就不够


地球上的人来分了。所以我们需要将申请到的IP块,再进一步划分。


就是借用主机上的位,当做子网位。这样当然问题解决了,可是问题又来了。


11.0.0.0/8 经过借2位后,划分如下:


11.0.0.0/10


11.64.0.0/10


11.128.0.0/10


11.192.0.0/10


试问下,11.0.0.0是/8还是/10的呢?


所以产生了子网掩码,该子网掩码为:255.192.0.0 网络位全为1,主机位全为0


所以刚开始都是定长子网掩码划分,也就是FLSM。你看这几个网络的网络位是不是都是10位?


需求继续升级当中,在这个网络里,我们需要更为灵活的子网划分方案。为什么呢?


因为不同的部门需求的IP地址范围不一样,有大有小,那FLSM就不能满足需求。太大浪费,太小又不


够用,那怎么办呢?所以就产生VLSM,不定长子网掩码。


因为以前IP地址的规划是按类来划分,即使产生了子网话FLSM。所以路由器使用的路由协议都是


有类的classful,就是发送路由条目的时候不带子网掩码。而随着VLSM的发展,有类路由协议已经


不能满足需求了,所以就产生了无类路由协议classless:发送路由协议是携带子网掩码,这样就


能支持VLSM了。


有类路由选择协议的工作方式:


要发送路由的时候,需要过滤要发送的路由条目,规则如下:


1、属于同一主网络,看是否和发送接口的IP地址是否有一样的子网掩码


  如果是的话,就发送,反之就放弃


2、不属于同一个主网络的话,直接自动汇总主网络类


接受路由更新的规则如下:


1、属于同一主网络的,直接赋予接受接口上的子网掩码


2、如果不是同一个主网络的话,看本地是否有该主网络的子网,有的话,直接忽略


  如果没有的话,赋予一个主网络类的掩码


路由表匹配规则:


1、先查看是否有主网络位匹配的,接着匹配子网位。如果最终没有匹配的,丢弃该包


2、如果一开始就没有匹配,如果有默认路由的话,走默认路由条目


上面的匹配过程是没有开启ip classless的过程。不同之处就在于第一步的处理方式


的不同。开启该功能后,将是根据最长匹配原则来匹配的,如果没有匹配,将数据包送


默认路由条目发送出去(如果有默认路由的话)