欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IP 子网掩码 网关 DNS 梳理

程序员文章站 2022-06-03 23:20:59
...

IP

按照TCP/IP(Transport Control Protocol/Internet Protocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是一串很长的数字,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。

子网掩码

是为了让 目标主机 识别ip地址的 网络号部分 和 主机号部分
子网掩码从表面意义上来看就是用来划分子网的。因为一个局域网可大可小,如果太大两台主机通信的成本就比较高,比如要走网关,路由等等。但是划分了一个个的子网,如果两台主机处在同一个网段,那就不需要走网关和路由,直接查询ARP表就可以通信,所以掩码的作用就是为了解决寻址浪费的问题。
在局域网中相同子网掩码的电脑是可以互相通信的,不然就不能
IP段:
A类IP段 0.0.0.0 到127.255.255.255
B类IP段  128.0.0.0 到191.255.255.255
C类IP段  192.0.0.0 到223.255.255.255
子网掩码:
A类的默认子网掩码 255.0.0.0     一个子网最多可以容纳1677万多台电脑
B类的默认子网掩码 255.255.0.0    一个子网最多可以容纳6万台电脑
C类的默认子网掩码 255.255.255.0   一个子网最多可以容纳254台电脑

* A类子网掩码转化为二进制就为:11111111.00000000.00000000.00000000 所有1的表示网络位 其他的0表示主机位,那么127.255.255.255 127就是网络位 后面的255.255.255就表示主机位*

把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的1和一串连续的0组成的
(一共4段,每段8位,一共32位数)
ex:
11111111.11111111.11111000.00000000 也是正确的子网掩码

子网掩码决定的是一个子网的计算机数目 1决定的是网络号标识 0决定的是最大主机数 2的0的个数次方就是该子网掩码下最大可容纳的主机数

很经典的案例一

假设一个公司有530台电脑,组成一个局域网,子网掩码设多少最合适?

首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。

首先先来看一下这两个子网掩码转换成二进制是什么样子:
255.255.255.0          11111111.11111111.11111111.00000000
255.255.255.192      11111111.11111111.11111111.11000000
255.255.255.0(系统默认的子网掩码)可以容纳2的8次方台电脑,也就是256台。
255.255.255.192(用户手动设置的子网掩码)可以容纳2的6次方台电脑,也就是64台电脑。

2的m次方=560

首先,我们确定2一定是大于8次方的,因为我们知道2的8次方是256,也就是C类IP的最大容纳电脑的数目,我们从9次方一个一个试2的9次方是512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。

所以最后就为2的10次方可以满足560台电脑的需求

经典案例二

有两台均安装XP的PC,其IP设置分别为:
IP1:192.168.1.2(子网掩码:255.255.255.0),
IP2:192.168.1.3(子网掩码:255.255.255.0),
以上两个地址的网关都是:192.168.1.1,两台电脑首先通过SWITCH连接,在以上掩码时,彼此能相互PING通。这也说明SWITCH和网线以及有关PC设置的正确:
问题1、为何将PC1的P1对应的掩码改为255.255.0.0(PC2的IP2设置保持不变),按照理论,IP1同未改设置的IP2应当不是一个网段的了,可为何还能PING通呢?俺甚至去掉了网关部分的设置,仍然可以彼此PING通;重新启动以后也可以。

255.255.255.0改为255.255.0.0是掩码增大,IP段范围扩大到
192.168.0.0~192.168.254.254

PC2的网段显然是处于上面的网段,所以PC1,PC2同属于广播域。相互可以收发彼此的ARP广播。

因为设定的两个IP地址太近了,可以设PC1是192.168.1.1;PC2是192.168.1.129;掩码修正为255.255.255.128,就是两个网络了。

网关

网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络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。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

在同一个内网(局域网),如果网很小,一般都是一个网段,相互之间访问是不需要设网关。

如果局域网比较大,电脑稍微多一些,而且有重要数据,重要服务器之类,
一般是根据工作需求不同、电脑重要安全要求不同划分网段和VLAN的,网段不同
,相互之间访问就需要设网关。
一个网段内的机器相互之间访问是不需要设网关的

DNS

为什么需要DNS解析域名为IP地址?

网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。

具体什么是DNS?

DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。DNS就是这样的一位“翻译官”,它的基本工作原理可用以下来表示。

www.qq.com->(dns) 119.21.31.2

DNS的详细过程参考:https://www.zhihu.com/question/23042131
大致流程就是:
浏览器输入域名www.baidu.com 先查询本地是否有对应的域名的ip
1.本地客户端查询
(浏览器缓存 系统缓存 路由缓存 )
2.互联网服务商查询
(ISP(互联网服务提供商)DNS缓存ex:电信的dns缓存),还是没有的话就去请求dns服务器获取对应ip 浏览器
3.根域名服务器  
当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内*域名(如.com)服务器IP告诉本地DNS服务器
3.1*域名服务器 
*域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器 、 
3.2主域名服务器  
主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录; 
4.保存结果至缓存  
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。然后就可以得到页面了

什么是路由器

路由器(Router,又称路径器)是一种计算机网络设备,它能将数据通过打包一个个网络传送至目的地(选择数据的传输路径),这个过程称为路由。路由器就是连接两个以上各别网络的设备,路由工作在OSI模型的第三层——即网络层。

路由器WAN接口连接的是外网,拉进来的网线就是接这个接口。

路由器LAN接口是连接的内网,家里如有几台设备需要拉线上网都是从这个接口接出去的。(一般有多个)

怎么分网段

设置LAN口的IP开始地址 结束地址 子网掩码 网关 就可以拆分网段