网络基础知识大全 网络知识( 三 )


什么是子网掩码?
子网掩码表示两个IP地址是否属于同一个子网,也是一个32位二进制地址,网络位为1,主机位为0 。和IP地址一样,用点分十进制表示 。如果两个IP地址在子网掩码的按位AND计算下得到相同的结果,则意味着它们都属于同一个子网 。
在计算子网掩码时,要注意IP地址中的保留地址,即“0”地址和广播地址 。当主机地址或网络地址都是“0”或“1”时,它们指的是IP地址 。它们代表网络地址和广播地址,一般不能算 。
子网掩码的计算:
对于一个不需要细分子网的IP地址,它的子网掩码很简单,就是可以按照它的定义来写:如果一个B类IP地址是10.12.3.0,不需要细分子网,那么这个IP地址的子网掩码就是255.255.0.0 。如果是C类地址,其子网掩码为255.255.255.0 。其他的类比就不详细描述了 。下面我们要介绍的重点是一个IP地址,它的高阶主机位需要作为划分的子网网络号,剩下的就是每个子网的主机号,那么如何计算每个子网的掩码呢 。
以下是一些常见的关于子网掩码和网络划分的面试问题:
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,这里肯定是N8,表示主机地址会占用8位以上;
二进制是十位数,n = 10
(3)使用255.255.255.255将该类IP地址的所有主机地址位数设置为1,然后从后向前将所有N位设置为0,即为子网掩码值 。
将该B类地址的子网掩码255.255.0.0的所有主机地址设置为1,得到255.255.255.255,然后将后10位从后往前设置为0,即1111111111 . 111100 . 000000,即255 。这是拥有700台主机的B类IP地址168.195.0.0的子网掩码 。
3)还有一种问题类型,要求您根据每个网络中的主机数量来规划子网地址和计算子网掩码 。这也可以根据上述原理计算 。
例如,如果一个子网中有10台主机,则该子网所需的IP地址为:
10+1+1+1=13
注意:添加的第一个是指该网络连接所需的网关地址,后面两个分别是指网络地址和广播地址 。
因为13小于16(16等于2的四次幂),所以主机位是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 。
5.ARP/RARP协议
地址解析协议ARP(Address Resolution Protocol)是一种根据IP地址获取物理地址的TCP/IP协议 。主机发送信息时,向网络上的所有主机广播包含目标IP地址的ARP请求,并接收返回消息以确定目标的物理地址;收到返回消息后,将IP地址和物理地址存储在本地ARP缓存中并保存一定时间,在下一个请求中直接查询ARP缓存以节省资源 。地址解析协议基于网络中主机之间的相互信任 。网络上的主机可以独立发送ARP回复消息 。当其他主机收到回复消息时,它们会将其记录在本地ARP缓存中,而不会检查其真实性 。因此,攻击者可以向某台主机发送伪ARP回复消息,使其发送的信息无法到达预期的主机或错误的主机,这就构成了ARP欺骗 。ARP命令可用于查询原生ARP缓存中IP地址与MAC地址的对应关系,添加或删除静态对应关系等 。
ARP工作流程示例:
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A想要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析为主机B的MAC地址,工作流程如下:
(1)根据主机a上路由表的内容,IP确定访问主机b的转发IP地址为192.168.1.2 。然后主机A在自己的本地ARP缓存中检查匹配的主机B的MAC地址 。
(2)如果主机A在ARP缓存中找不到映射,它会要求192.168.1.2的硬件地址,以便将ARP请求帧广播给本地网络上的所有主机 。主机A的IP地址和MAC地址包含在ARP请求中 。本地网络上的每台主机都会收到ARP请求,并检查它是否与自己的IP地址匹配 。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求 。


推荐阅读