设为首页收藏本站language 语言切换
查看: 1587|回复: 3
收起左侧

[原创] IP子网划分

[复制链接]
发表于 2017-7-8 09:11:04 | 显示全部楼层 |阅读模式
    同学们,上节课我们了解到了局域网的基本原理。还记得吧,这节课上新课,我就不带大家一一回顾了,有问题的可以课下随时来找我。好了,言归正传,这节课我们来谈一谈我们之前一直所挂在嘴边的IP地址。

    同学们还记得我之前是怎么说IP地址的?是不是说IP地址是网络中唯一标示某一个节点的!它和我们上节课所说的MAC地址的作用很相像,都是唯一标示某个终端的,只不过MAC地址是作用在数据链路层,而IP地址却是做用在网络层。(说到这里,我来提问一下。OSI参考模型从下往上是哪七层?物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。这是基础啊,大家别上完没多久就忘记了。)

    我们现在所说的,默认都是IPv4的地址,后期会给大家介绍IPv6地址的。IPv4地址,默认32位。就是ppt上面的这个啊。由于32位,01表示显得有点长,所以我们常常把它分成4部分,中间用点分开。分成了4部分,是不是就变成了8位、8位、8位、8位。由于2进制数字显得过于庞大,所以我们表示的时候都是把它换算成10进制的数字来表示。每8位为一组。而且大家需要注意的是,这每个8位之间,是相互独立的。所以我们这种方式,称作点分十进制。

    同学们知道二进制和十进制之间的转换吗?

    在我们常用的十进制中,我们是不是用0123456789这十个数字表示所有。在个数数中,我们能用0123456789表示个数数中所有数字。当9这个最大的数字还要加1的时候,个位已经是最大的了,满足不了我们现在的需求。所以我们需要向前去进一位,在前面的那位上,把数字由0变为1,并且,最后的个位上的数字也是由9变成了0。

    这好像我们如果去了火星,那边要开始建造房屋以供我们居住。可是那边的地理环境又和地球的不太一样,只能允许6层楼高的房屋健在。那么我们人口过多,需要至少10层楼左右才能满足居住。这样的话,我们是不是只能先建造一个6层高的房子,再去建造一个4层楼高的,这样就可以满足了。为什么呢?因为最高是6层,超过了不就是不能存在吗?

    二进制中也是这样。我只有0和1这两个数字,当最后一位数字已经为1的时候,再去加1。这样最后一位不能满足,我们只能往前进一位,把它变成10。这个就是我们十进制中数字2在二进制中的表现。

    那么我们十进制和二进制中是如何转化的呢?

    在我们的十进制中,比如1006这个数字,它是不是可以表示为1*10的3次方+6*10的0次方。这是怎么回事呢?十进制中,基数是不是为10,就是一个个位中,最多只允许出现十个数,那么基数就是10。权重就是10的次方,个位数最小,没有其它比它还小的数字,所以用0去表示它的权重。这样的话就是,比如一个二进制数字1001,那么它的十进制数字就是1*2的3次方+1*2的0次方=9,这就是二进制向十进制的转换。

    十进制是怎么转换为2进制呢?那是把十进制的数字,例如75,把它变成若干2的倍数的数字相加。就是64+8+2+1,再把其变成2的次方的数字表示1000000+1000+10+1。最后变为二进制数,就是1001011。这就是十进制的数字向二进制的转换。

    (这样我有个问题问问大家。这样的都是8位,且8位都是可变的。那么这8位换算成10进制,最小是多少?最大是多少?8个全0,是0;8个全1,255。)所以我们在IPv4地址中出现的数字是0~255,如果出现什么256,300的。那肯定是错误的。IPv4地址绝对不可能出现大于255的数字。

    IP地址在我们的PC里面,它一般都是存放在哪里的呢?可有同学知道?放在内存里面的。所以IP地址可有随意的修改。(内存就是暂时存储程序以及数据的地方。)像我们电脑的IP地址,都是自动获取的。可能今天你获取的是192.168.1.1,明天开机获取的就是192.168.1.12。因为在内存中,一关机就没有了。临时存放。

    那肯定有人有疑问了,说我自己给我电脑配置了一个192.168.1.1的IP地址,关机之后还是这个呀?手工配置的,存放在硬盘中。

    接下来我们来了解一下IP地址的结构。早期的结构是二级结构,二级结构怎么分的呢?网络位+主机位。网络位:用于区分不同的网络。只要网络位不相同,就是不同的网络。主机位:在同一个网络位内,区分不同的终端。(就像我们的身份证号码一样。1-2位省、自治区、直辖市代码; 3-4位地级市、盟、自治州代码; 5-6位县、县级市、区代码; 7-14位出生年月日; 15-17位为顺序号; 18位为校验码。1—6位是不是定死的,你家在哪,前6位就是固定的,这个就相当于网络位。一个是区分不同的网络,一个区分不同的地方。)

    主机IP地址:IP地址中的主机位不全为0。用来区分不同的主机。那我有个问题。你网络位是多少位?你主机位又是多少位?

    分类。A类(前8位)、B类(前16位)、C类(前24位)、D类、E类。A类地址中,前8位中的最高位固定为0,不能动的。B类,10不能动。C类,110。

    作为A类地址,它第一个8位的范围是多少?0~127,后面7位全位0,后面7位全位1。B类地址第一个8比特的范围是?128~191,C类地址第一个8比特的范围是?192~223。 好,这三类地址,我们都可以称之为单播。IP地址中的单播地址,A类、B类和C类IP地址。

    组播地址,就是我们所说的,D类。注意的一点,对于组播地址来说,就没有所谓的网络位和主机位之分。在组播地址中,前面4位固定不变,后面28可以任意改动。1110开头,都是组播地址。代表的是每个组的。不是每个主机。前8比特数字的取值范围是多少?224`239。

    E类地址,前面4位固定不变,1111。不是11110啊,第五位也是可以为1的。注意一下。那么E类地址,前8比特数字的取值范围是多少?240~255。

    这是关于IP地址的分类问题。大家可听明白了?可有问题?

    接来下我们来说一说特殊IP地址。这个对于我们还是挺重要的。网络地址,俗称网络号。(所在网络的编号是多少。)与之相对应的就是广播地址,俗称广播号(所在网络的广播地址是多少。)。这两个地址都是针对主机IP地址而言。

    举个例子,我们在家用路由器之后使用的地址是192.168.1.10(打个比方)(主机IP地址:可以表示一台PC。主机位不全为0。)

    你是怎么知道它主机位不是全为0的呢?第二个问题,你是怎么猜测它是哪一个网络的呢?

    这些是怎么算的呢。网络地址:网络位不变,主机位全为0。广播地址:网络位不变,主机位全为1。(可以代表这个网络中的所有PC。)所以对于一个IP地址,计算它的网络地址和广播地址。重要的是你要知道它的网络位和主机位分别是哪些。这个又是怎么区分的呢?根据它是哪类地址。看第一个十进制的范围。A类0~127,B类128~191,C类192~223。看我们的这个地址,192,是不是在192~223之间,所以它是C类地址。网络位是24位。那么192.168.1这三个十进制的数字是不是代表着24位二进制的数字。主机位现在是10,网络地址是全为0。那么是不是就变成了192.168.1.0。那么这个地址是不是就是我这个192.168.1.10的网络地址。那么广播地址呢。主机位全为1,8个全为1,是不是就是192.168.1.255。那么我发送一个数据包,目标地址为192.168.1.255,那么这个数据包谁能收?是不是这个网络中的所有主机都可以接收。这就是网络中的广播地址。

    所以这两个定义都是针对于一个主机IP地址而言的。要想搞明白一个IP地址,它的网络位是多少,主机位是多少。一定要记住A、B、C这三类第一个8位的范围。

    在举个例子。172.18.200.227,先看这个地址合不合法。可是一个有效的IP地址?(是,那就没得说。不是,为什么?是不满足32位呢,还是数字范围超过了。可有问题?)那大家算一下,这个IP地址,它的网络号是什么?广播号又是什么?给大家10s钟时间算一下。网络号是172.18.0.0,广播号是172.18.255.255。再举个例子,123.11.22.33。它的网络号和广播号又是多少?我们来看下它的前8位所计算出的10进制数字是多少,123是把。在ABC类哪个地址范围内?是不是A类,0~127。网络号呢,网络位不变,主机位全为0。所以网络号是123.0.0.0。网络号呢,网络位不变,主机位全为1。所以广播号是123.255.255.255。大家可有疑异?

    如何判断两个主机是在同一个网络?就是看网络号。如果网络号相同,那么就是在同一个网络。所有说,任意两个主机的IP地址中的网络位相同,说明他们是同一个网络的!作为同一网络的两个不同的PC,他们之间什么位肯定不能相同,对,主机位。

    延伸说个问题。我们上述说举例的那个123.11.22.33的IP地址。他们网络号不是123.0.0.0吗?那么这个网络内的第一个(最小的)主机IP地址是多少?123.0.0.1(0000 0001),最大呢?123.0.0.254(1111 1110),为什么不能是255?如果是255不就是广播地址了嘛。再问一个,那么这个网络中,一共有多少个主机IP地址?2的24次方-2。24位,每位都有2种变化,所以是2的24次方。为什么减2?因为一个全0的网络号和全1的广播号,剩下的不就是可以使用的主机IP地址。如果问你一个网络最多可以容纳多少台PC,那么你就看它主机位有多少,在它的主机位基础上,2的n次方减2。

    如果我们公司有30个人需要上网,那么主机位至少是多少位,才能满足我们公司的需求?(所以我们要了解,2的0次幂到2的7次幂分别是多少。一定要记得滚瓜烂熟。IP地址的计算一直会用到这些知识。)至少是大于等于5,如果是4位,那么满打满算只有16,那剩下的人怎么办?是不是就必须要大于4才行。所以公式是不是就是2^x-2≥30。虽然5这个数字能刚好满足30,但是公司万一加人呢?是不是瞬间就不能满足了?所以我们一般正常计算的时候,2^(x-1)-2≥30。让它多一点,做个简单的预留,预防个别紧急情况。同理,是不是6以上的数字也是可以,但是主机个数是不是预留过多了,会造成IP地址的浪费。所以我们做这个的时候,尽量做到最合适就行。

    特殊地址还有0.0.0.0啊,32位没有一位是指定的。所以这是未指定地址,表示任意。当你的目标不明确,不知道自己的目标是什么的时候,就用这个。

    那么255.255.255.255这个全1的IP地址呢?MAC地址也有同样的地址,是全F。一个是二层表示广播,这个是三层表示广播。范围是全球,不像之前的广播号,那个是一网络下的广播地址。

    127.0.0.1。这个是回环地址,可以表示自己。所有我们的A类地址中,头和尾都得去掉。所有范围变成1~126。这个大家得了解一下。

    169.254.0.0。这个地址是单独分配给微软使用的。这是什么情况呢?就是我们的电脑安装了微软的操作系统,当你的电脑没有获取到IP地址的时候,系统会自动给你分配一个169.254开头的IP地址。这是个特权。

    私有IP地址。该类地址只能在本地网络内使用,没有全球效益,即不能上网(Internet)。

    10.0.0.0——10.255.255.255
    127.16.0.0——127.31.255.255
    192.168.0.0——192.168.255.255

    这三类地址,都是具有本地效益。(就像我们的大学毕业证书一样,除了清华,北大,科大等的毕业证书,其余大学的证书是不是只能在我们中国有效,出国了别的国家不会承认。但是那几所大学除外,他们的毕业证却是全世界有效的。这个私有IP地址就和这些有着异曲同工之妙。)

    如果你的电脑的IP地址是10开头的,那么你的电脑是不能上网的。但是我们在学校照样也是能上网的。这又是为什么呢?那是因为我们做了个技术叫NAT,这个我们在后面的内容会给大家进行介绍的。

    这些我们所说的都是关于IP地址的计算。一是,计算主机地址的网络号和广播号;二是,计算网络中的主机个数或者是反推网络位的主机位的个数;三是,子网划分。把大的网络分成若干个小的网络。

    只要是C类网络,那么网络中的主机个数不能超过254。B类网络,那么网络中的主机个数不能超过65534,A类网络,那么网络中的主机个数不能超过2的24次方-2。这样的话,如果一个公司的上网个数不超过254,那么是不是就可以用一个C类IP地址就可以搞定。如果一个公司就255台主机,那么这个改用哪类地址?是不是除了C类网络,A类网络和B类网络都可以解决吧。但是B类网络更好点。B类网络也是多了好多IP,剩下的IP怎么办?改别的公司?在安全的角度考虑,两个公司肯定要网络不同吧。是不是也不行,那么这么多只能浪费?久而久之,地址肯定是被浪费完了吧。那就怎么办呢?

    那么能不能把B类网络分成若干个小的网络?把小的分给这个上网人数为255人的公司,剩下的再分给别的公司。这就是我们所说的子网划分。

    子网划分:将一个主类(标准的A/B/C)划分成若干个网络位相同的子网的技术。这样就把之前网络结构由二级结构变成了三级结构。

    主网络位+子网络位+主机位

    那么我们所说的网络位=主网络位+子网络位

    我们把一个大的网络,分成若干个小的网络。是不是把这个网络的容纳主机的个数变小?容纳主机的个数变小,是不是就意味着主机位变少?主机位少了,网络位是不是就多了。划分子网后,子网的网络位绝对比主网的网络位多。

    之前我们简略的籍贯是不是就是省份加地级市,就像我的——安徽省,安庆市。结果人口普查,要完整的信息。(加上区位和街道。)是不是就变成了安徽省,安庆市,大观区,德宽路。那么表示,安徽省是不是个主网?安庆市是不是安徽省的子网?大观区是不是安庆市的子网?德宽路是不是大观区的子网?

    我们之前的网络位和主机位是不是定好的,现在多了个子网络位,那么这个子网络位得该找谁要?明显借的就是主机位。

    借用原则:一是,必须从第一位主机位开始借位;二是,必须连续依次借若干位。

    192.168.1.(xxxx xxxx)

    借1位能产生2个子网。

    产生两个子网,是不是借用一位,那么这一位从哪借呢?都行吗?从第一位开始借,就是主机位上紧挨着网络位的那一位。

    借2位能产生4个子网

    必须连续借若干位。(原因是网络中,网络位和主机位不能交叉)
那么问个问题,借若干位,能借多少位?全部都借到?至少要留一位吗?那么是不是就是最后一位,只能有两种情况,0和1。是不是主机位全0和全1两种情况。就是网络号和广播号。所有至少要留两位!

    我们把一个主网分成若干个子网是根据公司的需要来划分的。就像学校中,根据院系先划分子网,如果还需要,可以在院系下再根据年级划分。公司中就可以根据公司的部门。怎么划分,可以先看公司下有多少个部门,多少个部门之间需要相互通信,之后再看部门下需要有多少台主机。

    网络号区分不同的网络,不同局域网之前不能相互通信,不同局域网之间本质的区别就是网络号不同。    一个IP网络就是一个LAN!不同LAN的本质区别就是网络号不同!

    出个问题,公司有A部分,100人;B部分,50人;C部分,30人;D部分,10人;E部门,3人;公司一共有多少人?193人是吧!假设一人一台PC,是不是一个C类地址就可以搞定。(192.168.1.0)

    一个公司就5个部门,那么得需要借几个主机位。是不是就需要借3位。借3位了后,是不是就只有5个主机位,最多容纳主机个数是2的5次方-2=30个。那这样的话,A部门和B部门咋办。那这样的话,是不是C类网络就不行了,得用个B类网络。明明是只有193,怎么还是不够呢?是不是网络地址还是被浪费了,这样是不是网络划分还是不灵活。

    我们计算出,每个部门需要多少个位数的主机位。那么A部分,7位主机位;B部分,6位主机位;C部分,5位主机位;D部分,4位主机位;E部门,3位主机位。你不是不够,那么我们先从A部门开始。你要7位主机位,我给你主机位。8位,多一位,那一位是不是就是主网位!那么A部门的网络号是192.168.1.128 25位!我分给A部门之后,是不是还有。那么B部门网络号是192.168.1.64 26位!同理,那么C部门网络号是192.168.1.32 27位!同理,那么D部门网络号是192.168.1.16 28位!同理,那么E部门网络号是192.168.1.8 29位()!剩下的是不是还有192.168.1.0(0000 XXX)29位!

    这种划分方式叫做,VLSM,可变成子网掩码。将一个主类网络划分成若干个网络位可以不相同的子网技术!(而子网划分,必须划分成网络位相同的子网!)
    五个子网的网络位都不一样!

    很明显我们VLSM更加灵活,子网当中再划子网!

    1993年提出VLSM,所以我们现在都支持VLSM!

    那么问个问题!192.168.1.1这个IP地址,你们告诉这个IP地址的网络号是多少?IP地址是多少位的?你是不是只能告诉我至少是24的!

    子网掩码:标示出IP地址32位中哪些是网络位,哪些是主机位。网络位用1来标示,主机位用0来标示。

    192.168.1.1
    255.255.255.0

    这个255翻译成2进制是不是8个1,意思是不是这8位都是网络位!

    网络号:192.168.1.0
    广播号:192.168.1.255

    182.19.2.1
    255.255.254.0

    网络号:182.19.2.0
    广播号:182.19.3.255

    CIDR:无类域间路由。不分A类、B类、C类。

    它把地址分成地址块!

    使用地址块不区分不同的地址区域。用二元组来表示地址块!例如192.168.1.0/24!(IP地址由,IANA全球统一分配!)

    把若干个网络合成一个网络块!

    用CIDR把这四个C类网络合并成一个大的网络块。

192.168.12.0/24(192.168.(0000 11   00).0)
192.168.13.0/24(192.168.(0000 11   01).0)
192.168.14.0/24(192.168.(0000 11   10).0)
192.168.15.0/24(192.168.(0000 11   11).0)

聚合之后
192.168.12.0/22

    只有CIDR才能把一个主类网合并成一个更大的网络!

发表于 2020-7-27 16:15:53 | 显示全部楼层
感谢楼主分享
地板 2020-7-27 16:15:53 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-26 06:46 , Processed in 0.193394 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表