IP地址、子网掩码、默认网关、DNS服务器
记录一下又一次修电脑的经历,新换了个实验室,老师给拿了一个小纸条,上面记录着一串ip地址、子网掩码、网关和DNS,让把实验室的网配一下,说的很简单,就把上面的地址照着敲一遍就好了。我一看,这不就是电脑网络连接IPV4需要设置的那些东西。所以就很好奇的又复习了一遍这些知识,之前都忘得差不多了。以后还是得多记笔记,方便复习。忘性太大。
1、IP地址
- 概述
计算机要实现快速网络通信,就必须有一个快速定位的网络地址。ip地址就是这么的一个存在,为了在茫茫的网络中,快速定位到你这台机器的唯一身份ID。就好像送快递的得知道你的地址才能给你送东西。 - IP地址的组成
(1) 按照TCP/IP协议规定,IP地址用二进制表示,每个IP地址长32bit,32比特,换算成字节就是4字节。
比如:00001010 00000000 00000000 00000001
处理起来太费劲,所以为了方便表示,常用10进制形式表示,中间使用"."分开不同的字节。于是上面的就可以表示为 10.0.0.1
(2) IP地址 = 网络地址+主机地址,当想要找到你这台主机的时候,首先先找到网络地址,然后根据网络地址在找到你的主机地址。通常网络会分成很多的子网络,每个子网络也都有自己的网络地址,每个子网络由很多计算机组成(也可以包含另外一个子网络)。这么划分就好像为什么会有行政区划(国家、省市区、街道等等)的划分一个道理,为了更高效的管理。
(3) 假如有一个IP地址是 192.168.100.168,子网掩码 255.255.255.0,那么,
192.168.1.168(IP地址) = 192.168.1.0 (网络地址) + 0.0.0.168(主机地址)
计算方法是这样的:
192.168.1.168 换算成二进制为 11000000.10101000.00000001.10101000
255.255.255.0 换算成二进制为 11111111.11111111.11111111.00000000
将二者进行与运算
11000000.10101000.00000001.10101000
与运算 11111111.11111111.11111111.00000000
结果是 11000000.10101000.00000001.00000000
结果换算成十进制: 192.168.1.0
2、子网掩码(subnet mask)
子网掩码与IP地址是一起出现的,子网掩码的作用就是为了标识IP地址的网路地址和主机地址。如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。
子网掩码是用来判断任意两台计算机的ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯
- 概述
子网掩码又叫网络掩码、地址掩码、子网络遮罩,是一个 32bit(4字节)由 0/1 组成的数字串。它的作用是屏蔽(遮住)IP地址的一部分以划分成网络地址和主机地址两部分,并说明该IP地址是在局域网上,还是在远程网上。通过子网掩码,可以把网络划分成子网,即VLSM(可变长子网掩码),也可以把小的网络归并成大的网络即超网。 - 规则
例如:11111111.11111111.11111111.00000000,对应十进制:255.255.255.0
假设,局域网中 计算机A 的IP地址为 192.168.1.1,子网掩码为 255.255.255.0, 如下图所示:
网络地址: IP 地址中被 连续的1 遮住的部分,即 11000000.10101000.00000001.00000000, 对应的网络地址:192.168.1.0
主机地址: IP 地址中被 连续的0 遮住的部分,即 00000000.00000000.00000000.00000001, 对应的主机地址:0.0.0.1
排除 该网络 两个特殊地址:
广播地址:192.168.1.255 (主机号全为11111111)
网络地址:192.168.1.0 (主机号全为00000000)
该子网最大的主机数:2的8次方 256 - 2 - 其他信息
对于A类地址来说,默认的子网掩码是255.0.0.0;
对于B类地址来说默认的子网掩码是255.255.0.0;
对于C类地址来说默认的子网掩码是255.255.255.0。 - 通过子网掩码计算网络地址
计算过程是这样的:- 将IP地址和子网掩码都换算成二进制;
- 将两者进行 “与运算”,得到网络地址。
计算过程:上下对齐, 1位1位的算, 1与1=1 , 其余组合都为0
1 0 1 0
与运算 1 0 1 1
-------------------
结果 1 0 1 0
假设 IP地址为 192.168.1.168,子网掩码为 255.255.255.0, 则网络地址换算步骤如下:
1)将IP地址和子网掩码分别换算成二进制
192.168.1.168 换算成二进制为 11000000.10101000.00000001.10101000
255.255.255.0 换算成二进制为 11111111.11111111.11111111.00000000
2)将二者进行与运算
11000000.10101000.00000001.10101000
与运算 11111111.11111111.11111111.00000000
--------------------------------------------------------
结果 11000000.10101000.00000001.00000000
- 将运算结果换算成十进制: 192.168.1.0
- 实践
以用网线直接将两台计算机连起来为例:
下面是几种IP地址设置, 看看在不同设置下网络是通还是不通.
实验编号 | 1号机器 | 2号机器 | 网络连通 | ||||
IP地址 | 子网掩码 | 网络地址 | IP地址 | 子网掩码 | 网络地址 | ||
1 | 192.168.0.1 | 255.255.255.0 | 192.168.0.0 | 192.168.0.200 | 255.255.255.0 | 192.168.0.0 | Y |
2 | 192.168.0.1 | 255.255.255.0 | 192.168.0.0 | 192.168.1.200 | 255.255.255.0 | 192.168.1.0 | N |
3 | 192.168.0.1 | 255.255.255.192 | 192.168.0.0 | 192.168.0.200 | 255.255.255.0 | 192.168.0.192 | N |
3、网关
假设有两个网络:
网络A的IP地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.255.0
网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0
要实现这两个网络之间的通信,则必须通过网关。
如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。
- 默认网关
一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
4、DNS服务器
- 域名与DNS
我们访问一个网站的时候,往往使用的是域名(相对IP来说更加语义清晰、更加容易记忆,例如 www.baidu.com)。
域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
然而计算机之间的通信网络通信是通过IP进行的, 因此需要将域名解析为对应的IP,DNS就是进行域名解析的服务器。
DNS 维护着 域名(domain name)和IP地址 (IP address)的对照表表,以解析消息的域名。 - DNS查询过程
(1)在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
(2)如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
(3)如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
(4)如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
(5)如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。
(6)如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
参考:https://www.cnblogs.com/iceJava/p/5372033.html