子网掩码相关
概念部分
1.IP地址:
网络中计算机的地址。
我们把网络ID相同的的计算机组成的一个网络成为本地网络
网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。
IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。
1、A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,
地址范围从1.0.0.0 到126.0.0.0。
可用的A类网络有126个,每个网络能容纳1亿多个主机。
2、B类IP地址
可用的B类网络有16382个,每个网络能容纳6万多个主机。
3、C类IP地址
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。
范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。
4、D类地址用于多点广播(Multicast)。
D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,
目前这一类地址被用在多点广播(Multicast)中。
多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
5、E类IP地址
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
2.子网掩码
当为一台计算机分配IP地址后,该计算机的IP地址哪部份表示网络ID,哪部份表示主机ID,并不由IP地址所属的类来确定,而是由子网掩码确定。
子网确定一个IP地址属于哪一个子网。
子网掩码的格式是以连续的255后面跟连续的0表示,其中连续的255这部份表示网络ID;连续0部份表示主机ID。比如,子网掩码255.255.0.0和255.255.255.0。
根据子网掩码的格式可以发现,子网掩码有0.0.0.0、255.0.0.0、255.255.0.0、255.255.255.0和255.255.255.255共五种。
采用这种格式的子网掩码每个网络中主机的数目相差至少为256倍,不利于灵活根据企业需要分配IP地址。比如,一个企业有2000台计算机,用户要么为其分配子网掩为255.255.0.0,那么该网络可包含65534台计算机,将造成63534个IP地址的浪费;要么用户为其分配8个255.255.255.0网络,那么必须用路由器连接这个8个网络,造成网络管理和维护的负担。
网络ID是IP地址与子网掩码进行与运算获得,即将IP地址中表示主机ID的部份全部变为0,表示网络ID的部份保持不变,则网络ID的格式与IP地址相同都是32位的二进制数;主机ID就是表示主机ID的部份。
3.IP地址的网络号:
129.168.1.1 /24 代表网络号位数是 24位 即
子网掩码是:11111111 11111111 11111111 00000000即:255.255.255.0
网络ID是 129.168
4.主机号:
例题1:IP地址:192.168.23.35 子网掩码:255.255.0.0
网络ID:192.168.0.0 主机ID:23.35
例题2:IP地址:192.168.23.35 子网掩码:255.255.255.0
网络ID:192.168.23.0 主机ID:35
5.子网数:
子网数=2^网络位
网络位为默认的子网掩码中加入的位数
例:C类默认掩码为 255.255.255.0 转化为2位数为:11111111.11111111.11111111.00000000
若C类地址,使用的子网掩码为:255.255.255.192,转化为2位为:11111111.11111111.11111111.11000000,较默认的增加了两个1,即2个位数
则子网数为:2^2=4
6.主机数:
把网络地址117.15.32.0/23划分为114.15.32.0/27,则得到的子网是_____个?每个子网中可使用的主机地址是_____个?
掩码从23扩大到27,多了4个子网位,因此可以分2^4=16个子网。
每个子网的主机位是32-27=5,因此每个子网可使用的主机ip是2^5-2=30。
7.主机号和网络号关系
主机号根据子网掩码的1决定,网络号根据子网掩码的0决定
子网掩码是32位,也就是和为32位
计算方法
1)利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
(1) 将子网数目转化为二进制来表示;
如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;
(2) 取得该二进制的位数,为N;
该二进制为五位数,N = 5
(3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。
将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0
2)利用主机数来计算
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
(1) 将主机数目转化为二进制来表示;
700=1010111100;
(2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;
该二进制为十位数,N=10;
(3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。
比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。
因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。
4)有一个IP地址为192.168.1.200,子网掩码是255.255.255.224,要求计算其网络地址、主机地址和广播地址。
解:把子网掩码换算成2进制,1对应的部分是网络地址,0对应的部分是主机地址,把主机地址各位全部变成1就是广播地址。
因此首先把255.255.255.224换算成2进制,就是1
1111111.11111111.11111111.11100000,然后把IP地址也换算成2进制,就是11000000.10101000.00000001.11001000,对他们进行求逻辑与运算,因此可以得到网络地址就是11000000.10101000.00000001.11000000,即192.168.1.192;主机地址就是01000,即划线那一部分;
广播地址就是将主机地址部分全部边成“1”即,11000000.10101000.00000001.11011111,转换后得出192.168.1.223。
网络地址=IP地址&子网掩码
主机地址=IP地址中的主机地址
广播地址=网络地址中的主机地址全为1
公司 包含子公司 子公司包含部门
一步一步划分
直接广播地址就是常见的广播地址,是可以算出来的,是局域网中用到的。还有一种是受限广播地址,就是255.255.255.255,从字面上理解就是受限制用的,就是专用的,没有子网的。这样在INTERNET里有安全性。因为你不论和谁都不会成为一个字网里。只要不是255.255.255.255都是直接广播地址
快速记忆下
2^1=2
2^2=4
2^3=8
2^4=16
2^5=32
2^6=64
2^7=128
2^8=256
10000000 = 128
11000000 = 192
11100000 = 224
11110000 = 240
11111000 = 248
11111100 = 252
11111110 = 254
11111111 = 255
小结
在计算子网掩码问题 要快速,记录下二进制数值,要记住ABCDE的范围。
复习下
10000000 = 128
11100000 = 224
11110000 = 240
11111111 = 255
以上为常用
A类: 地址范围从1.0.0.0 到126.0.0.0。 子网掩码255.0.0.0
B类: 地址范围从128.0.0.0 到 191.255.255.254。 子网掩码255.255.0.0
C类: 地址范围从192.0.0.0到223.255.255.255。 子网掩码255.255.255.0
网络地址=IP地址&子网掩码
主机地址=IP地址中的主机地址
广播地址=网络地址中的主机地址全为1
二叉树相关
二叉树概念
遍历:遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问.
遍历分为:前序遍历,中序遍历,后序遍历.
前序遍历: 根 左 右
中序遍历: 左 根 右
后序遍历: 左 右 根
在遍历时要始终满足 遍历顺序,即递归思想
笔试相关
1.前、中、后序,知道其中哪两个就可以还原二叉树?
(一)、前序的第一个节点和后序的最后一个节点是根节点
(二)、知道一棵二叉树的根,同时知道其中序序列,就可以知道根的左子树序列和右子树序列.因为中序序列中的根前的结点属于左子树,根后的结点属于右子树。
所以 前序+中序 后序+中序 都可获得原二叉树
2.根据二叉树 写出前中后序
前:ABCDEFGHK
中:BDCAEHGKF
后:DCBHKGFEA
3.还原二叉树 前序+中序
已知该二叉树的先序遍历序列为:A-B-D-E-G-C-F,中序遍历序列为:D-B-G-E-A-C-F。
1.首先找出根节点 由先序遍历得知 根节点为A
2.由中序遍历 分开为 根的左节点和根的右节点 DBGE为根的左部分 CF为根的右部分
3.重复以上步骤
通过两组练习 每天练就好了
前序 ABCDEFGHI
中序 BCAEDGHFI
4.还原二叉树 中序+后序
后序 左边是右边
实际看中序
总结
前序遍历: 根 左 右
中序遍历: 左 根 右
后序遍历: 左 右 根
严格按照访问顺序
根据先序和中序推原图
1.Search Root
2.Search LeftChildren RightChildren
3.Repeat 1.2
前序左边是左边,实际看中序
后序左边是右边,实际看中序