以前链接路由器配置静态IP的时候只是知道将子网掩码改成255.255.255.0,IP地址前三个数字和网关一样最后一个数字改成未被占用的IP就好了,一直没有理解子网掩码到底代表什么意思。之前上《计算机网络》这门课的时候好像听老师讲过,没怎么仔细听,只知道网络地址和主机地址什么的.

  今天看了《TCP/IP详解》才对子网掩码有所了解。下面做个总结。

  子网掩码其实是为了分割网络,比如一个A类地址能容纳的主机数有2^24-2个主机,一般一个组织是不可能用到这么多地址的,势必会造成浪费。但是我们可以通过子网掩码来将一个A类地址划分成多个子网,根据IP和子网掩码可以判断同一个网络地址下的主机是否在同一个网段.

  子网掩码会将IP地址分成三部分,网络号、子网号、主机号。网络号可以直接从IP地址得到,子网号则是IP和子网掩码作&运算减去网络号,剩下的一部分就是主机号.可以根据网络号和子网号来确定两个主机是否处在同一网段

如A机Ip为192.168.1.2,B机Ip为192.168.1.126,子网掩码都是255.255.255.224。

转换成16进制如下:

A机:11000000  10101000  00000001  00000010  &运算后:  11000000  10101000  00000001  00000000

B机:11000000  10101000  00000001  01111110  &运算后:  11000000  10101000  00000001  01100000

掩码: 11111111  11111111  11111111  11100000

&运算后得到的结果不同,所以可以得出A机和B机并不在同一个网段内.

当A机发送数据给B机时,会先将B机的IP与子网掩码进行&运算查看是否在同一个网段,如果不在同一网段内则会把数据发送给网关,在同一个网段的可以直接在数据链路层通信。

posted on 2014-11-08 16:50  美丽的并发  阅读(11698)  评论(0编辑  收藏  举报