大家好,又见面了,我是你们的朋友全栈君。
1 IP地址
IP 是32位二进制数据,通常以十进制表示,并以 “.” 分隔。IP 地址是一种逻辑地址,用来标识网络中一个个主机,IP 有唯一性(指的是公网地址),即每台机器的 IP 在全世界是唯一的。
电脑之间要实现网络通信,就必须要有一个合法的 IP 地址。IP 地址 = 网络地址 + 主机地址(又称:网络号和主机号),IP 地址的结构使我们可以在 Internet 上很方便的寻址。IP 地址通常用更直观的,以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的 IP 地址为:128.20.4.1。在局域网里,同样也需要 IP 地址,一般内网的 IP 地址是以 192.168 开头的,这样很容易区分公网和内网的 IP 地址。
彻底明白 IP 地址的含义
不管是学习网络还是上网,IP 地址都是出现频率非常高的词。Windows 系统中设置 IP 地址的界面如图1所示,图中出现了 IP 地址,子网掩码,默认网关和 DNS 服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?学习 IP 地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢?
图1
要解答这些问题,先看一个日常生活中的例子。如图2所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声: “谁是6号,请回答”,这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫”广播”,北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是: 北大街 21号。也就是说,北大街的任何一个用户喊一声能让”广播地址-1″个用户听到。
图2
从这个例中可以抽出下面几个词:
- 街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街0号
- 住户的号:如1号,2号等
- 住户的地址:街道地址+XX号,如北大街1号,北大街2号等
- 广播地址:最后一个住户的地址+1,此例为:北大街21号
Internet 网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是 IP 地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP 地址=网络地址+主机地址,图1中的 IP 地址是 192.168.100.1,这个地址中包含了很多含义。如下所示:
- 网络地址(相当于街道地址):192.168.100.0
- 主机地址(相当于各户的门号):0.0.0.1
- IP地址(相当于住户地址):网络地址+主机地址=192.168.100.1
- 广播地址:192.168.100.255
这些地址是如何计算出来的呢?为什么计算这些地址呢?要想知道如何,先要明白一个道理,学习网络的目的就是如何让网络中的计算机相互通讯,也就是说要围绕着”通”这个字来学习和理解网络中的概念,而不是只为背几个名词。
注:192.168.100.1 是私有地址,是不能直接在 Internet 网络中应用的,上 Internet 要转为公有地址,下面详细说明。
-
为什么要计算网络地址
一句话就是让网络中的计算机能够相互通讯。先看看最简单的网络,图3中是用网线(交叉线)直接将两台计算机连起来。下面是几种IP地址设置,看看在不同设置下网络是通还是不通。
(1)、设置1号机的 IP 地址为 192.168.0.1,子网掩码为 255.255.255.0,2号机的IP地址为 192.168.0.200,子网掩码为 255.255.255.0,这两台计算机就能正常通讯。
(2)、如果1号机地址不变,将2号机的 IP 地址改为 192.168.1.200,子网掩码还是为 255.255.255.0,那这两台就无法通讯。
(3)、设置1号机的 IP 地址为 192.168.0.1,子网掩码为 255.255.255.192,2号机的 IP 地址为 192.168.0.200,子网掩码为 255.255.255.192,注意和第1种情况的区别在于子网掩码,1为 255.255.255.0,本例是 255.255.255.192。这台计算机就不能正常通讯。
图3第1种情况能通是因为这两台计算机处在同一网络 192.168.0.0,所以能通,而2,3种情况下两台计算机处在不同的网络,所以不通。
这里先给个结论:用网线直接连接的计算机或是通过 HUB(集线器)或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。如果不在一个网络就无法通,这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。
计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通。注意,这里说的在不在同一网络指的是 IP 地址而不是物理连接,那么如何计算呢?
-
如何计算网络地址(子网掩码)
我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从 IP 地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。
计算过程是这样的,将 IP 地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1,其余组合都为0。
图4例如:计算 IP 地址为:202.99.160.50,子网掩码是 255.255.255.0 的网络地址步骤如下:
-
将 IP 地址和子网掩码分别换算成二进制
202.99.160.50 换算成二进制为 11001010·01100011·10100000·00110010
255.255.255.0 换算成二进制为 11111111·11111111·11111111·00000000 -
将二者进行与运算
图5 -
将运算结果换算成十进制,这就是网络地址。
11001010·01100011·10100000·00000000 换算成十进制就是 202.99.160.0
现在我们就可以解答上面三种情况的通与不通的问题了。
第一种,从下面运算结果可以看出二台计算机的网络地址都为 192.168.0.0 且 IP 地址不同,所以可以通。
图6第二种,从下面运算结果可以看出1号机的网络地址为 192.168.0.0,2号机的网络地址为 192.168.1.0 不在一个网络,所以不通。
图7第三种,从下面运算结果可以看出1号机的网络地址为 192.168.0.0,2号机的网络地址为 192.168.0.192 不在一个网络,所以不通
图8相信看到这应该明白了为何计算网络地址和如何计算了。
-
2 子网掩码
子网掩码是用来判断任意两台计算机的 IP 地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的 IP 地址与子网掩码进行 and 运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。(具体子网掩码各位的含义待补充。)
3 默认网关
什么是默认网关 ?
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
如何设置默认网关
一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的主机,从而无法与其他网络的主机通信。默认网关的设定有手动设置和自动设置两种方式。
-
手动设置
手动设置适用于电脑数量比较少、TCP/IP 参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的 IP 地址,就会给网管带来很大的麻烦,所以不推荐使用。
在 Windows 9x 中,设置默认网关的方法是在“网上邻居”上右击,在弹出的菜单中点击“属性”,在网络属性对话框中选择“TCP/IP协议”,点击“属性”,在“默认网关”选项卡中填写新的默认网关的 IP 地址就可以了。
需要特别注意的是:默认网关必须是电脑自己所在的网段中的 IP 地址,而不能填写其他网段中的 IP 地址。
-
自动设置
自动设置就是利用 DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议)服务器来自动给网络中的电脑分配 IP 地址、子网掩码和默认网关 。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了 DHCP 服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的 IP 地址。这种方法适用于网络规模较大、TCP/IP 参数有可能变动的网络。另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和 DHCP 有相似之处。由于篇幅所限,就不再详述了。
4 DNS服务器
DNS:域名系统(Domain Name System)。在 Internet 上,域名与 IP 地址之间是一 一对应的,域名虽然便于人们记忆,但机器之间只能互相识别 IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 服务器就是进行域名解析的服务器 。
如果没有这东西,你必须输入网站的 IP 地址,有了DNS 服务器,你就可以直接输入网址。
问题: 我的计算机没设 DNS,竟然能上 QQ,却不能打开网页,这是为什么呢?
因为上 QQ 不需要有 DNS (QQ 只是一个客户端程序,用不到 DNS),只有浏览网页(需输入网址时)才用到 DNS。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129029.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...