我是靠谱客的博主 体贴期待,最近开发中收集的这篇文章主要介绍IP地址,子网掩码,默认网关,DNS服务器详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

写在前面:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。

原文:http://www.cnblogs.com/songQQ/archive/2009/05/27/1490612.html

(一) 问题解析

问: IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢?

答: IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的。
DNS是域名服务器,用来解析域名的(域名与IP之间的解析),如果没有这东西,你必须输入网站的IP地址,有了DNS,你就可以直接输入网址。
QQ没有使用域名来提供服务(QQ只是一个客户端程序,用不到DNS),只有浏览网页(需输入网址时)才用到DNS。

(二)DNS服务器

DNS是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器

把域名翻译成IP地址的软件称为域名系统,即DNS。它保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。域名服务器介绍: http://baike.baidu.com/view/543329.htm

我们大多数人都使用过 google.com 进行搜索,不过你有没有想过为什么在浏览器里面输入 google.com 就能连接到 Google 的服务器呢?嗯……要理解这件事情,我们需要理解域名服务器(DNS)的概念。

就如同现实生活中人们通过名字互相区分一样,在计算机网络的世界里,不同的计算机之间通过指派给它们的 IP 地址来互相区分。IP 地址有两种类型:公有和私有。通常服务器使用公有地址,这是因为他们要被全世界数以百万计的计算机访问。至于你那连接在路由器上的个人电脑,它通常获取到的是私有 IP。由于公有地址的数量是有限的,所以现在搭设局域网(在一个有着公有 IP 的路由下搭建)然后使用私有地址开始变得流行并且非常成功。

记忆 IP 地址这样的任务对于大多数人来说有些困难,于是每个服务器都还有一个名字(比如 google.com)。这样最终用户只需要记住这个名字,在浏览器中输入它,然后敲回车就可以了。现在让我来看看当用户在浏览器中输入名字并敲回车之后究竟发生了什么。首先,需要把域名转换成对应的 IP。要完成这项任务,需要给默认网关(大多数情况下就是路由器)发送一条与 DNS 请求。路由都会配置一个 DNS 服务器地址,这个地址便是 DNS 请求的目的地。

DNS 服务器用来将域名转换成 IP 地址。当 DNS 服务器收到一条请求后,它会检查它有没有该请求需要的转换信息。如果没有这条转换信息,那么 DNS 服务器会把这条请求转发给其他的 DNS 服务器。通过这种方式,就完成了从域名到 IP 地址的转换。转换结果随后会发回到发出请求的计算机。

参考:http://network.51cto.com/art/201406/442086.htm

(三)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的网络地址步骤如下:

  1. 将IP地址和子网掩码分别换算成二进制
    202.99.160.50 换算成二进制为 11001010·01100011·10100000·00110010
    255.255.255.0 换算成二进制为 11111111·11111111·11111111·00000000

  2. 将二者进行与运算

    在这里插入图片描述
    图5

  3. 将运算结果换算成十进制,这就是网络地址。
    11001010·01100011·10100000·00000000换算成十进制就是202.99.160.0

现在我们就可以解答上面三种情况的通与不通的问题了。

1、从下面运算结果可以看出二台计算机的网络地址都为 192.168.0.0且IP地址不同,所以可以通。

在这里插入图片描述
图6

2、从下面运算结果可以看出1号机的网络地址为 192.168.0.0,2号机的网络地址为 192.168.1.0 不在一个网络,所以不通。

在这里插入图片描述
图7

3、从下面运算结果可以看出1号机的网络地址为 192.168.0.0,2号机的网络地址为 192.168.0.192 不在一个网络,所以不通。

在这里插入图片描述
图8

相信看到这应该明白了为何计算网络地址和如何计算了。

感谢网友:听雨 http://new.qzone.qq.com/649329690/blog/9

(四)子网掩码

子网掩码是用来判断任意两台计算机的 ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的 ip地址与子网掩码进行 and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。(具体子网掩码各位的含义待补充。)

(五)默认网关

什么是网关?

那么网关到底是什么呢?网关实质上是一个网络通向其他网络的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地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
在和 Novell NetWare 网络交互操作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB) 协议以及 NetWare网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。网关也被称为 IP路由器。
在这里插入图片描述
网关工作原理图

举例说明:
假设你的名字叫小不点(很小),你住在一个大院子里,你的邻居有很多小伙伴,父母是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。
但是你家长不允许你走出大门,你想与外界发生的一切联系,都必须由父母(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家里也有父母(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的 DNS服务器。于是你在家里和父母有了下面的对话:

1.小不点:妈妈(或爸爸),我想找班主任查一下小明的电话号码行吗?
2.家长:好,你等着。(接着你家长给你的班主任挂了一个电话,问清楚了小明的电话)问到了,他家的号码是 211.99.99.99
3.小不点:太好了!妈(或爸),我想找小明,你再帮我联系一下小明吧。
4.家长:没问题。(接着家长向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家家长那里,然后他家长把电话给转到小明).
就这样你和小明取得了联系。

在这里插入图片描述
网关例子

网关概念来源于:http://baike.baidu.com/view/807.htm

什么是默认网关 ?

如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。

如何设置默认网关

一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。

1、手动设置

手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。

在Windows 9x中,设置默认网关的方法是在“网上邻居”上右击,在弹出的菜单中点击“属性”,在网络属性对话框中选择“TCP/IP协议”,点击“属性”,在“默认网关”选项卡中填写新的默认网关的IP地址就可以了。

需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。

2、自动设置
自动设置就是利用DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议)服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关 。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。由于篇幅所限,就不再详述了

另外附上几个关于 TCP/IP 协议的理解
一文看懂互联网TCP/IP协议
TCP协议与UDP协议的区别
通俗大白话来理解TCP协议的三次握手和四次分手

最后

以上就是体贴期待为你收集整理的IP地址,子网掩码,默认网关,DNS服务器详解的全部内容,希望文章能够帮你解决IP地址,子网掩码,默认网关,DNS服务器详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部