(一) 问题解析
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地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢
图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运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。(具体子网掩码各位的含义待补充。)
(五)默认网关
什么是默认网关 ?
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。(文化基础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有相似之处。由于篇幅所限,就不再详述了
之前写过的所有根据比较决定序关系的排序,根据决策树得出他们的时间复杂度都在omega(nlgn),今天要写的一种排序,是一种复杂度为o(n+k)的排序,也就是在线性时间复杂度内的程序,其中k为待排序数列中最大的元素,这也是计数排序的一点点局限性,就是必须要知道这个最大值是多少。原理是这样,我们遍历待排序数组,在另一个大小恰好为k的数组c中以c[a[i]]的方式记录a中每个元素出现的个数,进而求
import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoUnit;import java.time.temporal.TemporalUnit;/**java8时间工具类@author [email protected] 2021年05月05日 10:26/public class MyDateUtils {/*获取今天的日期@return java.time
C语言常见排序算法.ppt上章回顾,二叉树的定义 树深度的定义 什么样的二叉树是满二叉树 中序遍历的规则,常见排序算法,第六章,预习检查课程目标,本章概述 几种常见排序算法。 本章目标 熟悉常见的查找算法和排序算法 难点 快速排序算法,本章结构,数据结构与算法初步常见的排序算法,6.1 常见的排序算法,冒泡排序 快速排序 直接插入排序 希尔排序 选择排序 堆排序 归并排序,6.1.1 冒泡排序算法...
云监控(CloudMonitor) 是一项针对阿里云资源和互联网应用进行监控的服务。云监控服务可用于收集获取阿里云资源的监控指标,探测互联网服务可用性,以及针对指标设置警报。云监控服务能够监控云服务器 ECS、云数据库 RDS 和负载均衡等各种阿里云服务资源,同时也能够通过 HTTP,ICMP 等通用网络协议监控互联网应用的可用性。借助云监控服务,您可以全面了解您在阿里云上的资源使用情况、性能和运...
解决seaborn 作图中文显示:fontproperties=‘SimHeiencoding=’ utf_8_sig’导入包:import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npimport tushare as tsimport pandas as pdfrom datatime imp...
问题描述使用jQuery来控制checkbox的选中状态,但是第一次点击出现选中样式,之后点击可以看到checked的属性增加成功但是并没有选 中状态。问题代码function chooseAllOrNot(id){ var choose=$("input[name='"+id+"']").attr('checked'); if(choose=='checked...
2017韩国中央大学音乐专业介绍韩国中央大学是一所名牌私立大学。在2017年泰晤士最新世界大学排名中,整体综合竞争力排名全韩第九名,以表演系、电影系、摄影系和新闻系最负盛名,在全韩国高校同专业学科中均排名第一。其中,戏剧电影系和尖端影像研究生院是全韩国最高的戏剧表演和影视艺术研究学府之一。金秀贤、玄彬、河正宇、朴信惠、尹恩惠、李英爱都毕业于中央大学,下面和小编一起看看中央大学的音乐专业吧!专业介绍...
多进程编程中经常会涉及到孤儿进程/僵尸进程的概念,下面将用代码实际的演示一遍。孤儿进程孤儿进程指的是父进程结束运行时,还未运行结束的子进程。这些子进程将会成为系统的孤儿进程,系统将会调用 pid = 1 的 init 进程来负责接管这些孤儿进程,监听其是否运行结束,以便回收资源。所以,孤儿进程对系统没有太大的影响。在某些场景下我们...
1.对于BOOTLODER来讲,首先要讲FLASH分好区BOOTLODERAPP2.跳转函数Boot_JumpToApplication(0x08008000);具体内容如下:void Boot_JumpToApplication(uint32_t Addr){static pFunction Jump_To_Application;__IO uint32_t JumpAddress;/* Test if user code is programmed starting from a
下载工程地址为https://github.com/openssl/openssl。以openssl-3.0.0为例:下载地址为openssl-3.0.0。下载后的文件为openssl-openssl-3.0.0.tar.gz。编译与安装步骤如下:tar -zxvf openssl-openssl-3.0.0.tar.gzcd openssl-openssl-3.0.0./config(需要依赖perl,如果未安装,通过yum -y install perl进行安装)make
CSDN,掘金,博客园等,说起来都是“技术”社区,每个却都有着不同的姿色和用处。至于说程序员们“物以类聚,人以群分”,我觉得最主要的原因在于“猩猩相惜”。当你老了,头发白了;炉火旁打盹,回忆青春。你会想起那些年熬夜扒过的贴子,划过的水,撕过的逼,交过的朋友。技术社区,将是你人生里一瓶用剩下的洗发水,上面写着:LZ也年轻过。无论新手,还是大佬;编程之路,成长之道,都离不开技术社...
在 C 语言中,如果发生错误,上级函数要进行出错处理,层层上传,容易造成过多的出错处理代码,并且传递的效率比较低下。C++ 中的异常C++ 中,异常的引发和异常的处理不必处于同一个函数中,因此底层函数可以着重于解决具体问题,而不必过多的考虑异常处理 异常是专门针对抽象编程中的一系列错误处理的,遇到错误信息就转到若干级之上进行重新尝试 异常脱离于函数机制,决定了其对函数的跨越式回跳语法...