突然被问到IP地址方面的知识,吓得我赶紧上网找一找资料,觉得这篇还是写得简单易懂,share一下。
Key:
1.IP地址=网络地址+主机地址,(又称:主机号和网络号组成);
2.将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址;
------------------------------------------------------0.0分割线---------------------------------------------------------------------------------
(一) 问题解析
001. 问: IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢?
答: IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的。
DNS是域名服务器,用来解析域名的(域名与IP之间的解析),如果没有这东西,你必须输入网站的IP地址,有了DNS,你就可以直接输入网址。
因为上QQ不需要有DNS(QQ只是一个客户端程序,用不到DNS),只有浏览网页(需输入网址时)才用到DNS。
(二)DNS服务器
DNS是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。(详见文化基础P242)
(三)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地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢 .
图一
要解答这些问题,先看一个日常生活中的例子.如图2所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号.假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:"谁是6号,请回答.",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号.也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到.
从这个例中可以抽出下面几个词:
街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-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。这台计算机就不能正常通讯.
第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通,而2,3种情况下两台计算机处在不同的网络,所以不通.
这里先给个结论:用网线直接连接的计算机或是通过HUB(集线器)或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样.如果不在一个网络就无法通.这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方. 计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通.注意,这里说的在不在同一网络指的是IP地址而不是物理连接.那么如何计算呢
二,如何计算网络地址 (子网掩码)
我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码.
计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址.与运算如下所示,上下对齐,1位1位的算,1与1=1 ,其余组合都为0
例如:计算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)将二者进行与运算
3)将运算结果换算成十进制,这就是网络地址.
11001010·01100011·10100000·00000000换算成十进制就是202.99.160.0
现在我们就可以解答上面三种情况的通与不通的问题了.
1,从下面运算结果可以看出二台计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通.
2,从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.1.0 不在一个网络,所以不通.
3,从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192 不在一个网络,所以不通
相信看到这应该明白了为何计算网络地址和如何计算了。
(四)子网掩码
子网掩码是用来判断任意两台计算机的ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。(具体子网掩码各位的含义待补充。)
(五)默认网关
什么是默认网关 ?
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。(文化基础P222 网关的概念)
如何设置默认网关
一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。
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有相似之处。由于篇幅所限,就不再详述了
原文地址:http://vod.sjtu.edu.cn/help/Article_Print.asp?ArticleID=584
http://www.cnblogs.com/songQQ/archive/2009/05/27/1490612.html
IP地址 子网掩码 默认网关 DNS(转)的更多相关文章
-
IP地址,子网掩码,默认网关,路由,形象生动阐述
自己的Linux虚拟机已经分配了固定的IP地址(使用无线路由,用的是192.168.1.XX网段),公司的无线网络分配的IP地址是(10.51.174.XX网段) 所以当自己的电脑拿到公司,还想使用桥 ...
-
[转]IP地址-子网掩码-默认网关
IP地址:是给每个连接在Internet上的主机分配的一个32bit地址.地址有两部分组成,一部分为网络地址,另一部分为主机地址.IP地址分为A.B.C.D.E 5类.常用的是B和C两类.网络地址的位 ...
-
IP地址 子网掩码 默认网关和DNS服务器的关系
在过去,男人是需要能够上房揭瓦的,是要能够修水管的.现在的男人是需要会装系统的,会设置路由器的.世界变化太快! 废话不多说,本文来讨论一下电脑上最为常见的几个网络参数:IP地址.子网掩码.默认网关和D ...
-
winform C#获得Mac地址,IP地址,子网掩码,默认网关
1.添加程序集 2.引入命名空间 using System.Management; 3.方法 ManagementClass mc = new ManagementClass("Win32_ ...
-
IP地址 子网掩码 默认网关 网络地址 广播地址
“IP地址”是“TCP/IP”(Transmite Control Protocol 传输控制协议/Internet Protocol网际协议)里其中的一种协议. Internet之所以能将广阔范围内 ...
-
了解 IP 地址,默认网关,子网掩码,DNS 的概念和作用。
DNS(Domain Name System):域名解析服务器,在 Internet 上域名与 IP 地址一一对应,域名便于人记忆,但是机器只认识 IP 地址,他们之间的转换工作称为 ‘域名解析’,域 ...
-
linux下修改ip地址,默认网关以及DNS
*修改IP地址 即时生效: ifconfig eth0 192.168.1.100 netmask 255.255.255.0 重启生效: vim /etc/sysconfig/network-s ...
-
C# 判断 当前设备的IP地址、默认网关、子网掩码在不在同一网段内
要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网. 例:假定选择了子网掩码255.255.254.0 ...
-
一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号
网络的基本概念 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器) 服务器:为客户端提供服务.数据.资源的机器 请求:客户端向服务器索取数据 响应:服务器对客户端请求作出反应,一般是返回 ...
随机推荐
-
Hibernate学习-在线书城后台管理系统的设计
写在前面:小编经历了昨天一晚上加今天一整天的“不吃不喝(夸张点…总之就是把时间全分享给TA了)”终于把程序的问题全部解决了,小编现在的心情十分的开森,开森,开森,Happy,话不多说,直接进入正题: ...
-
【转】为eclipse安装python、shell开发环境和SVN插件
原文网址:http://www.crazyant.net/1185.html eclipse是一个非常好用的IDE,通常来说我们都用eclipse来开发JAVA程序,为了让开发python.shell ...
-
linux下 yum源、rpm、源代码安装mysql
mysql的安装 一.yum源格式安装mysql 1.将下载的yum包上传到linux上: [root@localhost ~]# ls mysql-community-release-el6-5.n ...
-
第六节 ADO.NET
ADO.NET是一组为.NET编程人员提供数据访问服务的类,封装在System.Data.dll 中,是.NET框架的一部分,它是一种数据访问技术. 使用SQLServer数据提供程序 类 说明 Sq ...
-
【转】性能测试设计和LR原理的探讨
做了4个迭代的性能测试, 在没有需求的情况下步步艰辛,把代码和框架独立开发从0到一万多行代码的测试工具(脚本),作为性能测试工具佼佼者Lr,我时而拿他作参考,山寨了它很多 东西,同时带有很多疑问对它实 ...
-
[FindBugs分析记录]Class defines clone() but doesn't implement Cloneable
官网解释: This class defines a clone() method but the class doesn't implement Cloneable. There are some ...
-
【C++版】Face Alignment at 3000 FPS by Regressing Local Binary Features源码下载
下载地址: 本帖隐藏的内容 <ignore_js_op> face-alignment-in-3000fps-master.zip (794.42 KB, 下载次数: 1076) 该源码采 ...
-
MySQL中UTF8编码的数据在cmd下乱码
MySQL中UTF8编码的数据在cmd下乱,在数据库ide中看到的却是中文. 其实,原因是cmd用gbk的格式来显示数据,那么我们只需要将utf-8存储的数据用gbk的格式输出到cmd即可. 解决方法 ...
-
iOS中 UIToolBar 技术分享
UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏.当设置UIToolBar显示,或者存在UITabBarController且tabbar被隐藏的时候 ...
-
springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...