子网掩码用于确定该IP地址是属于本地局域网还是远程网络。DNS用于实现域名地址到IP地址的转换,方便访问网络。
子网掩码最重要的功能就是划分子网,指明IP地址的哪些部分属于主机号,哪些部分属于网络号,并说明该IP地址是属于局域网还是远程网络。子网掩码必须和IP地址同时使用才有意义。
通常情况下,IP地址、子网掩码、网关地址是同时存在的,IP地址和网关地址经过子网掩码计算之后可以发现,IP地址与网关地址属于同一个网段,网关地址作为数据包的第一跳地址,访问外网。下图显示了我的电脑自动获取的IP地址的相关信息。
IP地址为172.20.10.2,子网掩码为255.255.255.240,网络上不认识十进制的数,均转换为相应的二进制;
IP地址为:10101100,00010100,00001010,00000010;
子网掩码为:11111111,111111111,11111111,11110000;
上述两个地址进行与运算,可以得到网络地址为172.20.10.0,这个网络里包含以下几个地址172.20.10.1~172.20.10.14可用,其中172.20.10.0是网络地址,172.20.10.15是广播地址。
我们访问一个网站时,通常是使用域名访问,很少直接使用IP地址,如何实现域名到IP地址的解析呢,这个就是DNS的作用。比如我们访问今日头条网站,通过导航网站输入网址,经过运营商的DNS服务器,返回一个IP地址才能访问。
有时候,我们访问一个网站,但是返回的是另一个广告网站,这个就是DNS在搞鬼,返回了不正确的IP地址,就是所谓的“DNS劫持”。因此,不建议连接公共的WiFi,很可能遇到类似的事情发生。
DNS属于互联网的基础设施,全球有13台根服务器,其中10台在美国,另外3台分别在英国、瑞典和日本。我国是没有DNS根服务器的,美国几乎控制了所有的域名,如果美国不想让人访问某些域名,就可以屏蔽掉,也就是美国随时可以切断全世界的网络。不过,随着IPv6的普及,这种情况有所改善,美国不再是一家独大了。
总之,每天电脑、每部手机要上网,必须要有IP地址、子网掩码、网关地址、DNS地址,可以手工配置也可以通过DHCP服务器自动获取。了解其中的原理,可以更好的利用我们的网络。