熟悉二进制数,对于子网地址划分很重要
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的过程。不同之处就在于第一步的处理方式
的不同。开启该功能后,将是根据最长匹配原则来匹配的,如果没有匹配,将数据包送
默认路由条目发送出去(如果有默认路由的话)