发布网友 发布时间:2022-12-15 07:17
共1个回答
热心网友 时间:2024-11-24 13:23
五类ip地址,都分为两部分,网络部分和主机部分。
其中网络部分可以识别是ABCDE中的哪一类地址。
B类地址*有265*256个ip地址可分配。
当一个结构请求分配ip时,将某个ip分配给该机构。以后该机构可能会再来请求分配ip地址。
这样分配的ip地址不便于管理,同一个机构的网址不连续。
同时,在路由寻址的时候需要在庞大的路由表中搜索。
为了解决这些问题,出现了子网。
也就是将一个主机部分再分为子网号和主机号,所占位数由管理员自由分配。
然后将一个ip的网路部分+子网号分给一个机构的网络管理员,这个ip下可以再分配一些ip,由机构管理员去分配这些ip。
同时该机构的管理员还可以在这个基础上再分配子网。
这样B类ip地址的管理者就知道了那一部分网路属于该机构。
同时,在路由寻址的时候,遇到某一堆ip地址也就能够直接扔给该机构。
上面的都是扯淡 !!!
总之,知道最后子网出现了就行。
子网是为了对ip地址的主机部分进行分组,实现计算机的分组管理,以及加速路由寻址。
因为子网的出现,所以需要识别那些地址属于一个子网。
由于子网是网路管理员进行划分所的,并不是自动进行的。所以需要一个工具来识别,那些计算机属于同一个子网。
子网掩码就是这个工具。
ip地址中的网路部分和子网号所占的bit都设置为1,就是子网掩码的值。
比如,子网有 1100 个(二进制),那么子网掩码就是 主机部分+1111 + 0 补齐。
在主机要发送数据包的时候需要了解,目标主机和源主机(也就是自己)是否在同一个子网中,如果是一个子网中,那么就直接投递到目标主机。
如果不是在同一个子网中,也就是两台主机之间可能夸这好几个路由器,那么源主机将数据包扔给路由器,让路由器处理。
判断是否在一个子网中就需要子网掩码:
将子网掩码和源主机,目标主机的ip地址的二进制,进行 与 运算。这时,因为子网掩码的主机部分全是0,所以,与操作的结果该部分也是0,剩余部分其实就是ip地址的主机部分和子网号。这时候比较连个与运算的结果,如果相同,那么表明在同一个子网中。直接给给目标主机。
如果子网设置不正确:
子网掩码1部分短了,如果两台主机处于同一个子网,与原酸结果相同,直接发送。(只是多了一步?)
如果不处于同一个子网。但是主机部分相同,错误的判断该目标主机与源主机处在同一网络中,要直接送达目标网络,这时候肯定没有arp缓存。卡死在arp上
如果子网掩码1部分长了。那么如果处于同一子网的主机,在与运算的时候,将主机号计算在内,可能导致认为不在同一个子网,所以发送到了路由器。路由又发给了目的主机。
所以,子网掩码设置错误会可能会使得发往*的数据包,错误的判断为发往子网。导致无法上网。
尤其断子网掩码短了的时候,访问网络部分相同子网号不同的主机,一般会出错。
(原因arp的时候错误,arp只能在一个子网也就是局域网中)
如果子网掩码长了,在访问与源主机同一个子网中的计算机时,只是加重了路由器的负担。
同时子网掩码的每个数换成二进制,都应该是 1 连续的。从开头开始。
现在子网的位数可以变化。
网关的地址是,具有路由功能的设备所占的ip地址。
如果设置的不是具有路由功能设备的地址。那么数据包会被丢弃,或者超时消失。
默认网关,在有多个路由设备的时候需要指定。如果一个的话,一般是主机部分+子网号+1,也就是那个唯一的路由设备。
在一些大型的机构,可能不是,比如我们学校最后一位是254。