-
32025年5月
-
262025年4月
-
272025年3月
-
282025年2月
-
162025年1月
-
282024年4月
-
302024年3月
-
292024年2月
-
312024年1月
-
312023年12月
-
302023年11月
-
312023年10月
-
302023年9月
-
312023年8月
-
352023年7月
-
312023年6月
-
312023年5月
-
302023年4月
-
312023年3月
-
282023年2月
-
312023年1月
-
312022年12月
-
302022年11月
-
312022年10月
-
302022年9月
-
312022年8月
-
322022年7月
-
292022年6月
-
322022年5月
-
302022年4月
-
332022年3月
-
312022年2月
-
372022年1月
-
382021年12月
-
382021年11月
-
402021年10月
-
432021年9月
-
372021年8月
-
442021年7月
-
442021年6月
-
432021年5月
-
342021年4月
-
312021年3月
-
292021年2月
-
352021年1月
-
422020年12月
-
402020年11月
-
482020年10月
-
522020年9月
-
852020年8月
-
752020年7月
-
802020年6月
-
782020年5月
-
772020年4月
-
432020年3月
-
362020年2月
-
452020年1月
-
562019年12月
-
712019年11月
-
612019年10月
-
562019年9月
-
532019年8月
-
362019年7月
-
362019年6月
-
382019年5月
-
402019年4月
-
352019年3月
-
342019年2月
-
442019年1月
-
392018年12月
-
402018年11月
-
392018年10月
-
392018年9月
-
452018年8月
-
452018年7月
-
392018年6月
-
512018年5月
-
492018年4月
-
342018年3月
-
282018年2月
-
482018年1月
-
732017年12月
-
7292017年11月
-
7442017年10月
-
2892017年9月
-
12017年8月
开心代理与大家一起分享 “使用子网掩码进行IP寻址” 在不划分子网的两级IP地址下,从IP地址很容易得到相应的网络地址。划分子网之后,仅从IP地址无法得到相应的网络地址,而且IP数据包中也没有关于网络地址的信息,所以还需要通过子网掩码来尝试得到一个IP地址的网络信息,而这个子网掩码则是预先在发送端配置好了的。举例说明一下发送IP数据包时,使用子网掩码寻址的过程。
例1,假设位于同一个子网的A向B发送IP包。大致过程是:
(1)A要有一个待发送的IP包,其中包含B的IP地址以及A本身的IP地址;还要有一个在A上面配置的自己的本地子网掩码(通过这个“本地子网掩码”,A会以为自己所在的网络其网络地址位数是本地子网掩码中1的个数)。
(2)A将B的IP地址和本地子网掩码相与,得到自己理解的B的IP地址所属的网络地址netb;A再将自己的IP和本地子网掩码相与,得到自己理解的自己的IP地址所属的网络地址neta;
( 3)将netb和neta比较,两者相同,则A认为B与它在同一个网络中,所以不经过其它机器(例如路由器),直接将IP包转发给B。
例2,当A和B位于不同子网,则前面的netb和neta不相同,这时候需要经过路由进行转发。大致过程是:
(1)A上面一般会事先配置一个网关R,这个网关的IP地址应当和A在同一个网络中。当A发送的IP包目标地址B不属于A的网络时会将这个IP包发送给网关R(注意,这个时候,IP包中的目的地址并没有变成R的IP地址,A只是通过它本身的网关配置,知道了R的IP地址并在IP层下面的网络接口层中将目标的MAC地址变成了R的MAC地址发送给R;而R在转发时,目的IP仍旧不变,也会在MAC帧中重写目标MAC地址,这期间涉及到使用ARP协议根据机器IP查询其MAC地址,以及网络接口层的内容,这里不详细叙述了);另外,一台机器应该可以设置多个网关,指定它们用转发特定外网中的目的地址,或者配置一个无论哪个外网地址都会转发给这个网关的默认网关地址。
(2)R上面有一个路由表,其中的每项记录包含了它所知的所有网络的网络地址、子网掩码、以及对应的路由(如果目的地址B在另外一个路由连接的不同网络中)或者主机B所连网络的接口(如果目的地址B在同一个R路由器所连接的不同网络中)。注意,因为路由器是可以连接不同的网络的,所以路由器上面有至少两个网络接口,每个网络接口对应一个网络地址,而相应地,主机却只有一个网络地址。
(3)R根据自己的路由表和IP中的目的地址B所在的位置并发送。具体过程是:将路由表中第一项的子网掩码与目标地址B进行与,得到网络地址如果匹配相应表项的地址则转发到相应的网络接口或者路由,否则对下一项进行同样的匹配,直到出现匹配的情况并且将数据发送出去。
(4)R的路由表中若有一个默认的路由,则当所有项都不匹配的时候将数据发送到这个路由。
( 5)如果以上过程全都没有匹配,则报告转发分组出错。
通过以上描述我们可知:(1)子网掩码是在发送端上的,而不是在网络中传输的。(2)发送端发送的时候会根据自己的子网掩码来确定(它所认为的)目标IP的网络地址,而不是通过某个事先公共协商好的子网掩码;(3)发送端的子网掩码虽然理论上可以随意配置,但是应当和自己所属的子网对应的网关的接口子网掩码一致,否则很可能会有问题。