#计算机介绍
计算机是否非常卡决定于计算机的硬件。
数据计算、逻辑计算、存储记忆功能,能够按照程序运行,高速处理海量数据的电子设备。
超级计算机:航天、大型科研-- 曙光,天河1号天河2号--超级运算
工业控制计算机:工控机,流水线上的机器人的控制。工控机的硬件和个人电脑的硬件是非常不一样的。
网络计算机:没有硬盘,又叫无盘网络。所有数据都用服务器上往下拉。目前已经很少
个人计算机:
嵌入式计算机:嵌入式开发都用嵌入式计算机。
嵌入式计算机(是嵌入在宿主系统中使用的计算机,有计算机功能,但非pc系统,单片机,单板机,微机、它们有的很小,很简单,不过有的也很大,巨型,比如坦克,潜艇,飞机,通信网中使用的计算机都是嵌入式计算机。再比如医疗测试仪器CT,工业机器人上使用的就是很小的单片机。
#电子管数字机, 晶体管数字机, 集成电路数字机, 大规模集成电路机。现在计算机都是集成电路机,打开计算机都是集成电路。
#冯诺依曼计算机体系:
1、计算机硬件设备应由存储器(负责存储)、运算器(负责运算)、控制器(负责程序运行的控制器)、输入设备和输出设备5部分组成
2、用二进制形式表示数据和指令
3、将程序(数据和指令)预先存放在主存储器中,使计算机在工作使能够自动高速的从存储器中取出指令并开始运行指令。就是将指令预先写好并存储在存储器中,用的时候直接调用,进行批处理运行这些指令即可。
冯诺依曼指引了计算机的发展,目前计算机依然用的是冯诺依曼体系。
cpu, 内存, 硬盘, 显卡, 声卡,网卡, 主板, 机箱电源, 键鼠,显示器
#CPU
负责运算和控制:冯诺依曼提出的计算器和控制器两大功能都是由cpu完成的。
英特尔intel和AMD两家厂商,AMD跑得快,所以散热非常重要。cpu的性能如何中关村经常有测评。cpu性能决定你的计算机是否卡。
cpu生产时就安装了风扇散热。cpu的接口有针形和触点形的。针是金材质的,非常容易断,一断就废了。电脑就黑屏,就开启不起来。所以要瞄准再安。
计算机每个硬件都有防呆口,能插上即对的。所以买硬件一定要确定接口,因为cpu要往主板上插,要接口一致。
选购参考性能指标:主频、缓存、核数
主频:主频越高,速度越快。单位是赫兹,比如主频是3.2GHz赫兹。
缓存:因为cpu比硬盘速度快不是一个量级的层次,所以cpu会在其上划出3-4G缓存,数据从硬盘取到cpu的缓存里面,这样cpu如果要处理数据就直接从缓存里面的读即可。默认有三级缓存,一级缓存小,二级缓存稍大,三级较大。好的cpu有4级缓存。第四级缓存就更大。比如三级缓存的电脑有12兆(MB)。
核数:相当于工人。1核就是一个工人在计算。6核就是六个工人一起计算。还有32核的。
小结:cpu是用来计算的,而计算的快慢是由cpu的主频决定的,而计算是要有数据的,数据就由缓存来提供。所以缓存越大,调用数据的速度就越快,因为不用去硬盘调了,所以就计算的速度就快了。核数越多就计算得更快了。cpu的故障一般都是因为散热造成的温度过高造成频繁死机。重启。一般就是散热器坏了或者老化了。
#硬盘
存储设备-外部存储-永久存储-低速设备-机械硬盘/固态硬盘
计算机的运算单位:最小单位是比特bit
8bit = 1Byte 1024B=1KB 1024KB=1MB(兆B) 1024MB=1GB 1024GB=1TB 1024TB=1PB
所以2.0TB就是2048G。
厂商是安900多G等于1T计算的,就是2T就是约2000G。而且每个厂家的换算方式也不一样,但大约是这样的。
硬盘是永久存储的。硬盘又叫磁盘,就是带磁性的。负责存储的盘片就类似光盘,这个光盘是有磁性的,所以是带磁的,所以不要和磁铁放一起,不然会消磁,数据就没了,而且无法恢复。
机械硬盘是由盘片(负责存储数据)、磁头(负责读写数据)、马达(负责带动盘片转动)、电路板(电子线路负责拉动磁头转动)等组成。所以盘片转得越快,读写得就越快。所以性能指标之一就是转速,比如5400转每分钟,7200转,还有1万转、1.5万转。1.5万转的硬盘理论上读写速度是220MB/s,但实际上没有这么快,这都是厂家公布的,而厂家是按照顺序读写得出的结论,而我们一般不会顺序读写,跟多的是随机读写,所以要中关村测评。我们一般满足工作要求的,是要求硬盘大于90兆或者100兆即可。
盘片是转着写得,而且是正反面都可以写,所以是一圈一圈得,光盘对着光看,如果有一圈一圈的,就说明是有数据的,这些圈圈就是磁道。硬盘是不能拆封的,因为硬盘是在真空、无尘环境下运行的,如果有一点点灰尘,硬盘就会被划伤,就废了。机械硬盘容量大、价格低,是市场主流。硬盘是耗材,经常会划伤损坏。
固态硬盘SSD是最近几年才研发的。机械硬盘是靠马达带着盘片转读写数据,而固态硬盘是用电信号存储和寻址的。开机时,机械硬盘要1分钟,固态硬盘就仅需几秒种,是电信号所以速度比机械速度快很多,比如最快的型号硬盘的读写速度是3400MB/s,就是1秒钟就可以拷贝2-3个G的速度。但是存储量较小,目前最大就是1T,价格又贵。固态硬盘也是耗材,它上面的读写颗粒只有3000多次的檫写次数的寿命。所以固态硬盘应该放在频繁'读'的场景下,而非经常'写'的场景下,以延长其寿命。
所以,我们买硬盘,一般情况下,不管是台式机还是笔记本,我们一般买一个250G的固态系统盘,然后再买2T或者4T的移动硬盘(针对笔记本),也就是机械硬盘(针对台式机)。这样的搭配可以保证运行快还能省钱。
监控级硬盘:由于监控是不停歇的,所以对硬盘的寿命要求很高,不间断的写入,删除之前的,再写入。
企业级硬盘:是用于服务器的,也是不能停机、不能断电的。所以企业级硬盘支持热插拔,就是带电插拔。普通硬盘带电插拔就把硬盘给烧了。
NAS硬盘:就是共享存储。
硬盘的接口:IDE、sata 、sas
硬盘上也划出有缓存区,就是为了提高硬盘的读写性能,缓存越大读写性能越好,比如256MB的缓存。磁盘上的数据先放到缓存里面,缓存再给内存,内存再给cpu。所以我们一般将经常读写的数据放到缓存里面,这样用的时候就避免去磁盘上读写,就快一些。
#内存
负责存储-随机存储-高速设备-内存条
内存是解决cpu和硬盘之间速度不对等的问题。只是在开机的情况下负责存储数据,就是一开机或者软件一运行时,就会将数据从硬盘中直接读入内存,以待后续cpu使用,提供运行效率。关机后数据就全部清掉了。所以也叫随机存储器,也是高速存储器,是计算机中的一个中间件,计算机中所有的数据不管是读还是写都要从内存中进出,它是硬盘和cpu之间的桥梁,就是数据的读和写都要经过内存。硬盘数据-内存-cpu运算-运算结果再给内存-内存将结果放到硬盘上, 如此往复。
当我们计算机运行比较卡的时候,一是考虑加内存,一个是考虑重启电脑。重启的原因很简单,因为之前运行的程序都放在内存中,重启后内存把这些数据都丢了,重启后内存就可以重新分配了,我们就可以从新运行当前紧要的程序了,之前不运行的程序就从内存中丢掉了。
买内存时,内存的大小是按你的业务类型定的,如果没什么业务,一般2G、4G内存就够,如果业务量大,内存就要大一点的。如果内存的大小和业务量非常匹配的话,cpu在处理业务时就不必从硬盘中读数据,就直接调用内存中的数据,这样计算就非常流畅非常快。如果每次cpu计算都要内存去硬盘取数据再给cpu,cpu处理完数据也得给内存,内存再存到硬盘,这种硬盘一直参与得模式就非常慢效率低。
如何判断内存是否够用:看任务管理器,如果忙时,内存使用已经超过80%就说明每次不够用了,就要加内存了。
内存条分台式机和笔记本两种,两种不一样的。常用的内存有4G、8G,有钱可买16G。但是也不是你想买哪个就买哪个,要看你的主板支持多大的单条内存。内存的性能指标一个是容量,一个就是频率,频率越大速度越快。
内存厂商很多。选购时首先要和主板匹配,其次升级时要选购同品牌、同频率的产品,否则就会蓝屏或反复重启,这就是兼容性问题。
内存是故障最多的部件,因为它的接口是铜质,铜容易氧化,氧化后就影响导电性,容易造成显示器无显示,俗称'点不亮',此时要用干纸或者橡皮茶茶接口即可。
#主板
主板又叫母版,负责将所有的设备连接起来。和cpu一样贵重。主板好不好关系到你的硬件的运行的稳定性和运行速度以及未来升级的可能性。你的cpu是什么型号的就买什么型号的主板。还有你的内存是什么型号买支持内存的主板。还有要考虑主板的接口数量和支持的技术。
主板是高精密的集成电路板,出厂经过严格的检测,如果使用过程中没有外力,基本上不会出故障的。
主板上有两大芯片,又称南北桥,是两大管家,北桥是管高速设备,南桥管低速设备比如硬盘键盘鼠标等
主板一般选大厂的,因为主板一般不换。
主板一般为矩形电路板,上面安装了计算机的主要电路系统,有芯片、接口、扩充插槽、插卡、电源等元件。
现在的主板一般都集成了三卡(显卡、网卡、声卡)
主板分大板和小板,建议用大版。
#显卡
显卡好不好关系到你的计算机的体验,有的显示器显示的很逼真有的模糊就是显卡的不同。
是负责显示的,就是负责输出给显示器信号的,让显示器显示的,就是驱动显示器显示的,就是控制显示器正确显示的。台式机的显示器是先连接到显卡上,显卡再插到主板上,这样就是电脑的外接设备(显示器)和主板的连接桥梁。显卡的接口目前是PCI-E,前面讲主板的时候,主板的接口就有PCI-E
参考指标有:显存(比如8G、16G显卡,显存越大显卡性能就相对好一些)、
位宽:位宽越大显卡越贵,最少是512bit,位宽代表处理速度,所以这个指标更重要一些。
频率:也代表速度。这个指标也比较重要。
显卡分:N卡和A卡,N卡用来玩游戏的,A卡用来处理图像的。
#其他硬件
机箱、电源、网卡(主板自带)、声卡(主板自带)、显示器(看分辨率)
计算机属于弱电,人体身上的静电是36伏,内存的电压才1.5伏,所以防止人体静电把电脑部件烧坏,接触电脑部件之前要洗手释放静电或穿静电服或戴静电手环。电源一般是把220伏的交流电转换为12伏以内的电压传给主板,主板再分配不同的电压给各个零部件。
#操作系统
没有软件的计算机就是裸机,裸机无法工作,必要要软件——操作系统和应用程序。
操作系统就是一段计算机代码程序,它负责管理计算机硬件、驱动硬件,并为应用程序提供运行平台。
比如打印一张照片,点击打印机,首先是听到打印机兹拉的启动声,然后才是打印声,这是因为点击打印后,操作系统先给打印机一个电信号,看看这个打印机是否是正常的。这时打印机就兹拉一声就是返回给电脑一个电信号,表示我是正常的,然后操作系统再发出打印照片的信号,打印机才开始打印。所以操作系统是驱动硬件。
应用程序要按装在操作系统上,操作系统驱动硬件。
比如在应用程序QQ上的对话框中给小宝发'我喜欢你'的信息,QQ应用程序就将这条信息发给操作系统,操作系统把它转化为二进制后就传给网卡,让网卡把这条二进制数字发给小宝,小宝电脑的网卡收到这个二进制数字后,就给她电脑的操作系统,操作系统再将二进制转化为文字传给小宝的QQ,小宝的QQ把它显示出来。
操作系统分:个人版的操作系统、网络版的操作系统、移动版的操作系统(安卓,苹果的ios)。
网络版的操作系统就是服务器用的操作系统。
常见的操作系统:微软的windows、linux、unix、塞班等
windows分:win7,win10、xp系统等个人操作系统、2008、2012等是用在服务器上。
linux本身就是为服务器设置的,虽然fedora, ubantu可以装个人电脑上, 还有centos, rhel, suse等服务器专用的网络版操作系统。
个人用操作系统和服务器上的操作系统的区别是:个人用操作系统采用的是复杂指令集,对图像处理有优势。而服务器都是没有显示器的,所以服务器上的操作系统主要是对数据流处理有优势,所以服务器上的操作系统采用的是精简指令集。
操作系统是软件应用程序的平台。操作系统可以直接装在硬件上,而应用软件必须装在操作系统上。
#应用软件
应用软件是面向用户的计算机程序,是为了处理某一方面工作的。就是app。
#故障分析
快速定位问题方向
排除法找硬件故障
通过PE备份数据,重装系统。
硬件坏了重买硬件,软件坏了删除重装。
1、如何判断是硬件坏了还是软件坏了?
重启电脑,当黑白屏幕上显示"正在启动windows"字样时,之后就一直启动也启动不来,就说明是电脑的系统坏了,此时找个PE备份数据,重装系统即可。
如果启动时连"正在启动windows"字样都没显示,就是启动时你连windows都没看到,就表示硬件坏了。
因为电脑在启动时,主板上有一个BIOS芯片(基本的输入输出系统),这个芯片是焊在主板上的,主板一通电,BIOS芯片就开始工作——检查硬件,如果硬件自检不过,启动就不再往下走了,此时电脑显示器显示的是黑底白字,白字一直的闪,就是一直在自检。如果自检过了,就自动启动'启动引导项'——默认就是硬盘,就开始加载操作系统,就是我们前面说的显示"正在启动windows"的字样。所以此时就说明硬件没问题已经开始加载软件了。
小结:如果是黑底白字就过不去了是硬件坏了,如果到windows过不去了就是操作系统坏了。
2、如何判断是哪个硬件坏了?
电源:电源坏了,就是不过电了,黑底白字都没了。
然后排除法,排除这5大件:主板、cpu、内存、显卡、硬盘。先逐个拔除cpu、内存、显卡、硬盘,看启动时是否能自检过还是一直黑底白字还是直接就是黑屏,逐个排除这5大件。一般情况下是cpu不可能坏、主板也不可能坏,经常坏的是内存、显卡和硬盘。可以用替换法,就是用一个好的硬件替换你觉得坏的那个看能否启动。也可以你把你觉得坏的部件替换到一台好的计算机上,看这台计算机是否能正常运行,如果正常就排除这个部件是坏的,因为也可能是主板坏了。按经验一般都是硬盘坏了,因为硬盘是耗材。
PE是一个引导盘,可以将你的系统引导起来。就是通过PE将你的系统挂起来,挂起来后就赶快去备份数据,尤其是桌面上C盘的数据都备份走,然后再重装系统。因为重装系统要格式化系统盘C盘,你桌面上的东西就全部丢失了,所以要先把桌面资料拷贝走。
网上找"大白菜",就是把你的U盘做成PE盘,用U盘引导系统起来,然后拷贝桌面数据,然后就可以重装系统了。
#计算机网络及分类
什么是网络:计算机网络就是由通信介质(网线、wifi电子信息就是通信介质)将不同地理位置不同的独立计算机连接起来,实现数据通信与资源共享。
网络类型:按拓补结构分为总线型、环型、星型、网型
网络类型就是网络部署完后的形状。
总线型就是一根线上串出很多电脑,这是最早的网络结构,特别简单。两端需要有一个信号终结器,每个连接电脑的接点处都有一个T型头。这种结构叫同轴电缆,效率比较低,比如家里的闭路就类似这种类型。目前几乎已经没人用了。
环形就是先连一个环,然后把所有电脑接到这个环上。这种结构的网络利用率比总线型还低。比如网络里面的A计算机想和B计算机通信,A就必须要监听网络并申请一个令牌token,如果能申请到令牌就说明可以使用这个网络,如果申请不到令牌就表示不能使用这个网络。而申请不到就意味着这个时间段有别的两台计算机在通信,在使用这个线路,你得等待它们用完了你才能使用这个线路。所以效率非常低下,现在也几乎没人用了。
星型比总线和环形好很多。网络中任意两台电脑之间的通信不受别的电脑之间的通信的影响了,线路利用率提高了,但也有缺陷:一是线路单一,一旦一个电脑的线路坏了,这个电脑就不能联网了。二是中央节点压力大,所有的设备都要通过中央节点,一旦中央节点坏了整个网络就瘫痪了,这种情况叫单点故障。
网型网络:是目前一般都采用的网络类型,就是一个计算机到其他任何计算机之间都有线路。这样的网络就是网络上的任何一台计算机到其他计算机之间都有一条线路,这种优点是:第一不会像环形那样产生冲突,必须得申请令牌才能通信。第二是不存单点故障,任意一条线路坏了都不会影响其他电脑之间得通信。这是目前效率最高最安全使用得最多得网络结构。
上面是按照网络结构分的,按照地域分分为:局域网(LAN,一个公司或者一个家庭)、城域网(MAN,一个区、一个城市、一个国家)、广域网(WAN,一个国家、全世界)
#传输介质及网络设备
传输介质就是网线和wifi, 网络设备是交换机和路由器
交换机switch:负责组建局域网,研究的是MAC地址。 #A
路由器router:负责组建广域网,研究的是IP地址 #B
如果我们想组建一个局域网,首先要买一个交换机,然后用网线把交换机和电脑连接起来就实现了一个局域网。比如网吧就是通过交换机把网吧里面的所有电脑都连接起来,这个网吧的所有电脑就可以通过这个小型的局域网联机打游戏了。
A:MAC地址的意思是:任何人的个人电脑上的网卡在出厂时,厂家会烧录进去一个48位的二进制地址,这个地址我们称为MAC地址,这个地址是全球唯一的,前24位代表厂商编号,后24位代表这个网卡的全球编号。所以网线的一头连接的是电脑另一头连接的是交换机,交换机研究的就是这个MAC地址。
B:广域网就是将不同的局域网连接起来就是广域网。所以如果你想组建一个广域网,你就得买一个路由器。我们家里都有路由器,意思就家就是一个小型得局域网,比如几个客人来家里,大家都连到你家的wifi上,此时你家的wifi就是一个小型的局域网。你家的局域网和家外的别人通信时,就是局域网和别的局域网之间的通信,就需要用路由器(宽带路由)将你家的局域网中的数据包扔出去让别人的局域网的路由器将数据包拿回来,实现通信。这就是路由器的作用,即连接两个局域网的作用。
所以交换机的接口非常多,因为它要连接好多个电脑组建局域网的。而路由器的接口就非常少了,因为一台电脑正常情况下连接到2、3个局域网就可以了。路由器负责的事情就是将A局域网的数据包扔给B局域网或者B广域网即可。而交换机是负责将一台电脑的数据包传给另一台电脑即可。
传输介质:同轴电缆、双绞线、光纤、电磁信号、蓝牙。目前常用的是双绞线和光纤和电磁信号wifi。如果网线是双绞线,建议网线的长度不能超过90米,否则网线连接的两台电脑之间的信号就非常弱,就是通常说的网络信号不好不强,网速不行。因为如果超过90米,信号在网线中传输的过程中会出现信息衰减,就是说网线中传输的电波会很容易被长距离中的各种其他电波干涉出现抵消的现象,就是出现信号衰减,而无法传递信息。此时就建议中间放一个中继器或者交换机。这个中继器就是一个中间设备,让信号放大或者增强,以免出现衰减。这个就类似变电站一样,电从电厂发出,途径要有很多变电站变电才输到各家各户。
光纤现在也开始普及使用是因为光纤传输速度和电信号传输速度不是有一个量级上的,有消息说通过石墨烯制造的新光调制器可以达到260Pbps,这是一个极速的传输速度。B-K-M兆-G-T-P
但是光纤里面是玻璃丝,不能折,一折就断,一断就坏而且无法修复。所以室内很多场合还是用双绞线,双绞线皮实耐用。而室外就用光纤,因为光纤传输距离远、快。
#ISO与OSI
ISO:国际标准化组织international organization for standardization,简称ISO,负责标准化活动的,我国是国家技术监督监督局对接相关事宜。
上世纪70年代,不同厂商的计算机之间采用的都是本厂的通信协议,不同厂商之间的计算机无法通信,比如你买的戴尔的电脑,你就只能和同样是买的戴尔的电脑的人通信,如果你想和买的IBM电脑的人通信是无法实现的。所以当时就推出了一个七层的体系结构模型——一个结构化的分布式通信系统体系结构DSA。DSA又经过细化,最终成了今天的OSI七层。
#OSI七层模型
物理层--数据链路层--网络层--传输层--会话层--表示层--应用层
第1层:物理层。机械、电子、定时接口 通信信道上的 原始比特流 传输。 #A
第2层:数据链路层。物理寻址,同时将原始比特流转变为逻辑传输线路上的数据帧。 #B
第3层:网络层。控制子网的运行,如逻辑编址、分组传输、路由选择。 #C
第4层:传输层。接受上一层的数据,在必要的时候把数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端。 #D
第5层:会话层。不同机器上的用户之间建立及管理会话。 #E
第6层:表示层。信息语法语义以及它们的关联,如加解密、转换翻译、压缩解压缩等。 #F
第7层:应用层。各种应用程序协议、如HTTP、FTP、SMTP、POP3 #G
A:"原始比特流"其实就是电信号。光纤传的是光信号,网线传输的是电信号,最早的电缆传输的是模拟信号。所以这个层研究的就是传输介质,你传输的是光信号还是电信号还是无线信号。
B:数据链路层的主要功能就是物理寻址,这层的典型设备就是 交换机 。交换机就是进行物理地址寻址的。交换机上有很多接口,比如24口的交换机,就是可以将24台计算机连接到一起构成一个局域网。
在交换机里面有一个表,这个表就是记录链接在它上面的计算机的MAC地址的,这个表就是记录它的每个口接的电脑的MAC地址的。比如e1--00:16:3e:05:24:79 , e9--00:16:3e:05:24:80,就表示e1口对应的电脑的mac地址是79, e9口对应的是80。
当电脑和交换机接上并开始通信的时候,交换机就会主动学习这个接口上的电脑的MAC地址是多少。如果1口的电脑发出请求和9口的电脑进行通信,交换机就将1口的数据抛给9口。
所以第二层的作用就是:第二层的交换机上保存一个MAC表,用于记录每个口对应的设备的MAC地址是多少,而这个地址就叫物理地址,所以这层叫物理寻址。就是交换机根据这个MAC表,将发出通信请求的电脑的通信数据抛给目标电脑的端口,目标电脑端口再发给目标电脑。
C:网络层主要是负责的是逻辑链路寻址。物理地址就是MAC地址,逻辑地址就是IP地址。任何一个电脑要想在网络中通信就必须要有一个ip地址。网络层就是负责从一个ip地址到另一个ip地址之间的通信。这次的设备就是路由器。路由器负责就是点对点的传输。路由器的作用就是逻辑链路寻址,它会记录数据包如何转发出去。全世界的路由器里面都会有一张表,叫路由表,全世界的路由器都是共享这一张路由表的,这张路由表可以看出我们的网络地图。从这张表可以知道信息从A如何达到B,路由器会给用户选择开销最小(比如时间最短)的一条线路。当本地数据包发给路由器后,路由器会将这个数据包发给下一跳,下一跳就是下一个路由器或者目标主机。
路由表有一部分是大家都有的路由地址,就是直连网路,另一部分是动态学习的地址,因为世界上每天都有不同的地方在安装路由器。所以路由协议有IP writer去学习路由列表的。
所以,本地数据包发给本地路由器后,本地路由把这个数据包发给其他路由器,直到数据包走到目标局域网的路由器为止就是网络层的逻辑寻址,然后目标路由器再把数据包发给交换机,交换机进行物理寻址,将数据包发给目标电脑。
D: 传输层负责的是建立可靠或者是不可靠的传输协议。传输层有两大协议,一个是TCP传输控制协议,负责可靠传输,安全但慢。一个是UDP用户数据报协议,负责不可靠传输,不安全但快。所以现在的微信QQ等即时消息都是用的UDP协议,因为快。我们上网去浏览网站走的http就是TCP协议,因为安全。所以传输层就是负责建立可靠或者不可靠协议,看你是想走那个协议。
E:
F: 表示层的意思就是,如果你来的是图像信号就给你显示成图片,你是视频信号就翻译成视频。
G:第七层应用层,是用户接口,比如HTTP、FTP、SMTP等协议。
小结:第一层研究的是传输介质,负责的是信号的传输。第二层负责物理寻址,将数据准确的分配给某一个计算机。第三层负责逻辑寻址,定位到一个范围(因为我国大部分电脑都是通过net转换出去的),或者直接定位到一个IP地址上(就是直接定位到一个电脑上)。第四层负责可靠或不可靠传输。第五层是会话的管理。第六层是数据表示、翻译。第七层是用户应用。
上面的七层是ISO规定的标准,让所有计算机都使用这个协议去通信。但是我们在计算机里找不到这七层应用。因为这七层标准太严格了,无法应用到计算机通信中。招致很多批评,所以就在这七层的基础上技术人员开发了TCP/IP协议栈获得了更广泛的应用。
#TCP/IP四层协议
网络接口层、网际层、传输层、应用层。不过实际上TCP/IP协议只有网际层、传输层和应用层,网络接口层和一般通信链路的功能上没有多大差别。
七层到四层之间的映射:
物理层、数据链路层--------网络接口层
网络层---------------------网际层
传输层---------------------传输层
会话层、表示层、应用层----应用层
网络接口层:通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡(网卡)。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。所以网络接口研究的设备就是:传输介质、电脑网卡、交换机,研究内容就是目标MAC和源MAC。网络接口层的协议有ARP协议和RARP协议。
网际层:处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括3大协议:IP协议(网际协议)、ICMP协议(internet互联网控制报文协议,也是以后最常用的协议)以及IGMP协议(internet组管理协议)。可见网际层负责的也是逻辑链路寻址功能。这一层研究设备是路由器,研究对象是目标IP和源IP。
传输层:也是负责可靠TCP和不可靠传输UDP。主要是为两台主机上的应用程序提供端到端的通信。传输协议有TCP(传输控制协议)和UDP(用户数据报协议)。传输层研究内容就是目标端口和源端口。
TCP为两台主机提供高可靠性的数据通信。它所作的工作包括把应用程序交给它的的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此
应用层可以忽略所有这些细节。意思就是TCP有一系列机制去保障数据包不丢失并准确的到达对方。
而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必须的可靠性必须由应用层来提供。也就是说UDP只管把数据包发出去,收没收到它不管。
这两种传输层协议分别在不同的应用程序中有不同的用途,也就是说这两种协议有不同的应用场景。
应用层:应用层是对接用户的,负责处理特定应用程序的细节,比如:会话的管理、数据的表示、用户的对接等。所以我们最常见的应用层协议有:SNMP简单网络管理协议(网管系统就会用这个协议)、SMTP简单邮件传输协议(发邮件会用到这个协议)、FTP文件传输协议、Telnet远程登陆协议。当然常见的协议还有很多比如http协议。应用层的研究内容就是APP。
小结:TCP/IP是一个四层模型,每一层有大量的协议:
应用层:对接各种用户进程
传输层:TCP UDP 两大协议
网络层:ICMP IP IGMP 三大协议,前两个协议最常用,其中ip协议就是负责逻辑寻址,ICMP是网络测试的一个小协议,一般用来网络测试,看一个网络命令通不通,就用P,就是用的这个ICMP协议。
网络接口层:ARP RARP 两大协议。ARP负责解析的,负责把IP地址解析为MAC地址。RARP负责把MAC地址解析为IP地址。
小结:用户通过APP生成一个数据包,并将数据包交给传输层,传输层会根据你的应用层的一些规定决定是走可靠传输还是不可靠传输。然后传输层把你的数据包封包,封装上TCP或者UDP,封装好后交给网络层。网络层再封装源和目标IP,并且进行逻辑链路寻址。然后再交给硬件接口——网卡进行通信。然后发送给对方,对方接受到后,先是拆包确定这个包是不是给自己的,先看MAC地址是不是自己,然后再看IP地址是不是指的是自己,再看一下目标端口(本地端口)是否正常,然后将包交给本地的APP,本地APP打开并解析出来。
案例:C/S案例,即客户端服务器的意思
客户端需要和服务端建立连接才能通信。那么怎么建立连接呢?下面流程:
假设客户端的应用层协议是FTP, 根据FTP协议去封装TCP,再封装IP,通过以太网卡传到服务器端的FTP,就建立连接了。这过程中客户端的应用层对服务器端的应用层,传输层对传输层,网络层对网络层,物理层对物理层。
#传输层的两大协议:TCP和UDP
任何两个走网络连接的电脑之间的通信,都是要么走TCP协议要么走UDP协议,否则无法通信。
TCP和UDP是传输层协议,但二者都使用IP作为网络层协议,就是二者都使用相同的网络层,但TCP能向应用层提供一种面向连接的、可靠的字节流服务。而UDP提供的是不是面向连接的、不可靠服务。二者截然相反。
#TCP协议
TCP协议是面向连接的传输控制协议。面向连接指的是:两个使用TCP的应用(通常一个是客户一个是服务器)在彼此交换数据之前必须先建立一个TCP连接,这个TCP连接成功后才能通信数据,如果TCP连接没有成功就不能通信数据。
而TCP连接的建立又叫'三次握手'。
第一次握手是:客户端向服务器端发起TCP请求SYN_SEND,这个请求里面携带一个标志就是SYN=1,表示请求连接。
第二次握手是:服务端就会给客户端回复一个包SYN_REVD,里面的标志是SYN=1、ACK=1,并且还会协商传输窗口的大小和传输机制等内容发给客户端,表示可以连接。
第三次握手:客户端给服务端确认:标志是ACK=1,ack=K+1表示确认开始连接。
这样就完成了TCP连接。这就是TCP连接机制。
除了TCP连接机制还有数据传输确认机制。数据传输确认机制就是:客户端给服务端一个包,服务端要给一个确认信息,否则客户端就会继续不停的给服务端发这个包直到收到服务端的确认信息后停止。
客户端和服务端开始传输数据时,还需要一个窗口机制(就是协商一次传几个包)和断点重传机制(或者说确认重传机制,就是当一个包没收到,再发几个包直到你说确认收到为止)。
而数据传输完毕后,我们不是立即断开的,是有一个断开程序——需要进行四次断开。也就是需要60秒后才会真正断开。两边要等待60秒后还没有回复就断开。
从上面的建立连接到连接到断开可以看出TCP协议是一个安全协议,保证连接的完整性,是端到端的传输,就是一对一的传输,保证数据包一个不拉的发给对方。
TCP数据包封装的层次:首先封装的是源端口号(16位)和目标端口号(16位)、其次是发送序号(32位)和确认序号(32位),就是发送是多少个包就要确认多少个包,确认后我再继续发,确保全部接受。再次就是窗口大小,窗口大小就是表示一次要发几个包。以上就是TCP包头的字段的主要内容,然后后面紧跟着就是数据内容本身的数据。
#UDP协议
UDP,user datagram protoclo,用户数据报协议,是一种无连接的传输协议(A),提供面向事务的简单不可靠信息传送服务,UDP提供了无连接通信,适合一次传输少量数据。UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但正是因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS, TFTP,SNMP等。
UDP适合一对一,一对多传输,和多对一,多对多的交互通信。比如QQ,微信等聊天软件和视频流软件。我们经常也会遇到微信没收到信息的情况,就是数据丢包了。
A:UDP传输数据不需要三次握手也不需要四次断开,它只负责发,不负责收到没有。
运维开发人员如果写一个C/S软件,就要知道你是走TCP还是UDP。
UDP包头就只有源端口号(16位)、目标端口号(16位)、UDP长度(16位)、UDP校验和(16位)、数据。没有校验、没有三次握手,没有四次断开、没有窗口机制,没有确认重传。所以安全性没有要求但速度快。
#TCP和UDP的区别
1、TCP是面向连接的,就是要先建立连接的。UDP是无连接的,就是发数据之前不需要建立连接。
2、TCP提供可靠服务,通过TCP连接传送的数据无差错,不丢失,不重复,且按序到达。TCP通过校验和,重传控制,序号标识,滑动窗口,确认应答实现可靠传输。如果丢包时就重发控制,还可以对次序乱掉的分包进行顺序控制。TCP慢、消耗资源多。UDP不保证可靠,但快,消耗资源少。
3、UDP具有较好的实时性,工作效率高,适用于对高速传输和实时性有较高要求的通信或广播通信。
4、每一条TCP连接只能是点到点的。UDP支持一对一,一对多,多对一和多对多的交互通信。
5、TCP对系统资源要求较多,UDP对系统资源要求较少。
运维人员就要通过网络模型去理解网络。以后作者会在讲 网络基础, 或者看CCN的书。
#IP
IP -- IPV4地址 ---IPV6地址 --- 网络应用:子网划分
IP,internet protocal, ‘网络之间互联的协议’,是一个协议,是一个internet协议。是为了让计算机能够相互通信而设计的协议(一套规则)。任何电脑生成厂家生成的计算机系统只要遵守IP协议就可以与因特网互联互通了。所以IP协议也叫因特网协议。
IP地址是指互联网协议地址,是一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址。所以每个电脑都要有一个IP地址才能通信。所以IP地址也是用于寻址用的。如果电脑和电话类比的话,IP地址就相当于电话号码,internet中的路由器就相当于电信局的'程控式交换机'。
我们的电脑要连到交换机上,交换机再通过路由器将数据包扔到公网中去,
小结:IP是所有计算机互联互通的一套规则。而IP地址是IP实现互联互通的一个策略。IP地址是用来实现IP协议的。
IP地址与MAC地址的区别
IP地址是软件地址,MAC地址是硬件地址。
硬件地址MAC被编码到网络接口卡(NIC,简称网卡)中,用于在本地网络中寻找主机。就是用于本地寻址。也就是用于局域网寻址。局域网中设备就是交换机,交换机里就有MAC地址表。交换机可以根据MAC地址表将你发的数据准确的仍给对方。因为数据包在二层里面会封装源MAC地址和目标MAC地址。交换机根据MAC地址和地址表就查出数据包应该仍给哪个接口了,目标接口就收到数据了。所以MAC地址用于局域网中的通信。
IP地址是能够让一个网络中的主机,把数据包从一个网络发到另一个网络。IP协议属于三层,IP地址也属于三层,IP三层的设备是路由器,路由器就是用来组建广域网的。IP地址的作用就是让数据包从一个网络到另一个网络的跨网络通信。
IP地址让一个网络中的主机能够与另外一个网络中的主机通信,而不管这些主机所属的LAN是什么类型。
小结:MAC用于局域网中通信,交换机通过mac地址将数据包转发到正确的计算机。IP用于网络间的通信。
#IP地址的分类
IP地址分为两大类,最早的一版是IPV4,也就是我们现在天天用的。还有一个新版IP地址叫IPV6。
IPV4: 32位二进制, 以点分割, 分为4段十进制数,格式为a.b.c.d,比如:192.168.0.1
IPV6: 128位二进制,是IPV4的4倍, 以冒号分割, 分为8段十六进制数,格式为a:b:c:d:e:f:g:h
#IPV4地址
IPV2地址长32位,是由32位二进制组成的,这些位被划分成4组(被称为字节或八位组),每组8位,如果转化为二进制,每组最大不超过255。
我们可以使用下面3种方法描述IP地址:
1、点分十进制表示,如 192.168.0.1
2、二进制,如 11000000.10101000.00000000.00000001
3、十六进制,如c0.a8.0.1
上述示例都表示的是同一个IP地址。对于IP编址时,十六进制表示没有点分十进制和二进制那样常用,但某些程序确实以十六进制形式存储IP地址,windows注册表就将机器的IP地址存储为十六进制。
#IPV4地址分类
网络规模决定网络类型。
包含大量节点的网络(也就是一个网络中有很多很多计算机)为A类网络。
包含少量节点的网络(就是一个网络里有少量的计算机)为C类网络。
介于大型网络和小型网络之间的网络是B类网络。
D类为多播地址,E类为保留地址,用于研究。
我们把IPV4的第一段划分为5段:A:1-126 , B:128-191, C:192-223, D:224-239, E:240-255
网络的类型决定了IP地址将如何划分成网络部分和节点(主机)部分。
为什么A类地址里面可以包含很多很多计算机,因为网络中除了IP之外还有一个叫"掩码"的地址。就是说我们在配置IP地址的时候还必须配置掩码。而A类IP的掩码是:255.0.0.0,意思就是只有第一段全部为1,表示是网络位,后面三段都不全是1,就都是主机位,这样就可以有很多很多主机可以被标识了,所以A类IP地址里面可以包含很多计算机。
再以C类地址为例:C类IP地址对应的掩码是255.255.255.0,意思就是前三段的二进制都是全部为1的,所以前三段都表示是网络位,只有最后一段是0,不全是1,表示主机位,所以C类IP地址中一个局域网中最多只能安装256台电脑。
#子网掩码
子网掩码:区分IP地址的网络位和主机位。
A类IP的掩码是:255.0.0.0
B类IP的掩码是:255.255.0.0
C类IP的掩码是:255.255.255.0
D类IP的掩码是:255.255.255.255
网络位:掩码对应的IP位的二进制部分全为1的部分是网络位。
主机位:掩码对应的IP位的二进制部分不全为1的部分是主机位。
说明:IP也掩码是不能分开使用的,二者是搭配使用的。因为掩码是对IP的说明。掩码会告诉我们这个IP哪些是网络位哪些是主机位。
#网络位与主机位
十进制IP地址: 192.168.0.1 #这是一个C类IP地址
十进制掩码:255.255.255.0 #C类IP对应的掩码就是255.255.255.0
二进制IP地址:11000000 10101000 00000000 00000001 #把上面的IP从十进制换成二进制
二进制掩码: 11111111 11111111 11111111 00000000 #掩码的二进制表示,所以A
A:二进制掩码的前三段都是1,说明前三段都是网络位,也说明十进制IP的前三段也都是网络位,最后一段是主机位。所以掩码就是用是否是全为1还是不是全为1来说明IP地址的网络位和主机位的。所以说掩码是对IP的说明。所以上面的IP地址:192.168.0.1中,192.168.0就是网络位,1就是主机位。
为什么要区分网络位和主机位?拥有相同网络位的计算机属于同一网段,是可以相互通信的。如果你配置的电脑的IP是192.168.0.100和另一台电脑的IP:192.168.2.100,是不能互相通信的。因为网络位不同,不能通信。
默认在同一个局域网中的两台电脑能不能通信的前提是,这两台电脑是不是拥有相同的网络位,如果不是相同的网络位,这两台电脑默认是不能通信的。
小结:掩码是标识IP位的,是对IP进行说明的,通过掩码可以看出我们的IP中哪些是网络位哪些是主机位。网络位相同的可以在局域网中通信,网络位不同的不可以在局域网中通信。
#进制转换
十进制转二进制:除2取余倒着念。 二进制是只有0和1
十进制转八进制:除8取余倒着念 八进制是0-7
十进制转十六进制:除16取余倒着念 十六进制是0-f
那么205的二进制就表示为:
205/2--1, 102/2--0, 51/2--1, 25/2--1, 12/2--0, 6/2--0, 3/2--1, 1/2--1
205 = 0b 11001101 #0b代表二进制数
205的八进制就表示为:205/8--5, 25/8--1, 3/8--3
205 = 0o 315 #0o代表八进制数
205的十六进制就表示为:205/16--13, 12/16--12
205 = 0x cd #0x代表十六进制数
#私网地址
由于全球电脑越来越多,IP地址的需求就越来越大,IPV4位地址在2011年2月3日就已经分配完毕了。为了解决IP地址不足,又设计了私有地址(A),这样就可以重复在局域网中使用了,LAN中的用户想上网只需通过PNAT的方式通过地址转换技术就可以上网了,保证了公网地址的最大化、最高效应用。
A:私网地址就是,我们在ABC类IP地址中分别拿出一段地址用来做私网地址。意思就是,广域网是由N多局域网组成的,如果没有私网地址的话,那么网络中的所有电脑都需要一个公网地址,但公网地址已经不足了,怎么办?我可以拿出一些公网地址当私网地址在局域网中使用,如下:
A类地址中私网:10.0.0.0---10.255.255.255 #A类拿出了一大段当作私网地址
B类地址中私网:172.16.0.0--172.31.255.255
C类地址中私网:192.168.0.0--192.168.255.255
也就是说上面的这些地址是可以重复使用的,而公网中的IP地址是不可以重复使用的,是唯一IP。而如果我们的电脑在局域网中就可以用私有地址,就是私网IP,这样就节省了公网IP地址的占用。但是私网地址是不能上网的。我们在局域网中都用的是私网地址,私网地址是免费的,公网地址是要花钱才能租用的,所以比如公司中,我们都是用私网地址进行通信。但是私网地址不能上网,我们就利用PNAT技术(伪装的方式B)让私网地址的电脑也可以上网。
B:伪装的技术有三种:一种是一对一NAT,一种是内网到公网的技术DNAT,第三种是PNAT,目前我们常用的就是PNAT技术。
#PNAT代理上网
设计私网就是为了解决公网地址不足,私网地址中的IP地址可以在局域网中随便使用,不用付费。但私网地址不能上网,我们就通过PNAT技术上网。
假设一个局域网中有一台电脑用的私网IP地址是192.168.1.5,这个私网地址想上网就要在路由器上开启PNAT服务。也就是说我们的数据包要从局域网中发送出去的话,
我们设置的时候不仅要设置IP地址和掩码还要设置网关地址,网关的意思就是如果数据包想出局域网,就要把数据包扔给网关,网关就是局域网路由器的地址。
假设我们的网关地址是192.168.1.1, 如果192.168.1.5电脑的数据包想发送出去,发给8.8.8.8的IP地址的电脑。那么这个数据包封装的时候就封装了:源MAC地址(SMAC)和目标MAC(DMAC)、源地址SIP(192.168.1.5)和目标地址DIP(8.8.8.8),还会封装源接口SPort和目标接口DPort。然后电脑192.168.1.5将这个数据包发到网关(路由器),
或者说,这个数据包就从192.168.1.5地址传出去,到192.168.1.1网关地址,而这个网关路由器里面配置了PNAT技术,网关一查看这个数据包的IP地址,发现这个IP地址是一个私网地址,而私网地址不能上网,就把这个IP地址192.168.1.5用PNAT技术替换成自己的公网IP地址:202.201.200.199,这样这个数据包就可扔出局域网去寻址了。这样源地址虽是私网地址,但已经合法了,可以上网了。所以,这样的话,一个局域网只需要一个公网IP就可以上网了。有的大型局域网可能会有2个或3个公网IP。而局域网中的私网IP,比如192.168.1.5可以在不同的局域网中重复使用而没有关系。就是这个局域网可以使用这个IP192.168.1.5,另外的局域网中也可以有192.168.1.5这个IP,而不会发生冲突。因为私网IP就不会出现在公网中,所以也不会有唯一性的说法。因为私网IP之间是彼此不能通信的,要通信需要通过公网IP转化的。
#IPV4的分配原则
只有A\B\C三类地址可以分配给计算机和网络设备
网络地址相同主机地址必须唯一。意思就是在同一网段(同一局域网)的计算机的IP必须唯一,否则就容易产生冲突。
网络地址的第一个数字不能为127,保留用来测试IP连接的
网络地址不能全为0,全为0代表的是网段。也不能全为1,全为1代表的是广播。
主机地址中不能全为0,也不能全为1:主机地址全为0用来表示网络地址,就是本地网段的意思,全为1用作广播,就是本地广播的意思。
所以有的特殊IP地址是不能用的,比如:0.0.0.0(代表的是默认地址),255.255.255.255(代表的是广播地址), 127.x.x.x, 带字母的也不能用,因为是十进制不能出现字母,另外169.254.0.0--168.254.255.255也不能用。
#IPV6
IPV6不仅能解决网络地址资源数量的问题,而且也能解决多种接入设备连入还联网的障碍。
2的32次幂和2的128次幂
IPV6实现后,每个人可以有5个固定IP地址。IPV4只有42亿个。
IPV6的地址长度为128位,是IPV4长度的4倍。所以4点分的十进制格式不再适用,而是采用了十六进制表示,用冒号分。格式为X:X:X:X:X:X:X:X,其中每个x表示地址中的16b,以十六进制表示。
#补充一些知识点:
每个cpu都有一根电压以固定频率变化的信号线,它保证了cpu各个部件的同步工作。
这个信号线叫做时钟信号线。比如有的时钟信号频率是每分钟开关两次。cpu的频率都是以GHz来计算的,G表示10亿,Hz表示每秒的次数,所以现在的cpu的时钟频率都在几十亿赫兹。这样高的速度使得cpu能够快速完成非常复杂的工作。
然而,在每个时钟周期内,cpu所作的事情非常简单。
cpu的底部有很多突出的管脚,CPU通过这些管脚和外界交换信息。CPU装在主板上,主板让计算机的所有部件链接在一起。cpu在主板的中间位置,cpu的右侧区域就是内存(RAM, random access memory,随机访问存储器)用于存储计算机运行时所需要处理的所有数据。ROM,read-only Memory.只读存储器,只能读出无法写入。
cpu和内存之间是怎么联合工作的呢?内存包含一系列地址,每个地址处都存储着一块数据,cpu通常是一个个按顺序的从内存中取数据,但是如果程序需要cpu打断执行顺序,它也可以做到"随机存取",所以内存也叫随机访问存储器。当计算机首次运行一个程序时,它会首先发送一个内存地址给内存,然后开始载入这段程序。内存地址是一个只包含01的二进制数字,01代表对应地址线上电平的高低。
life is short , you need program.
高级语言(print("hello world"))--编译器--低级语言(字节码:\x00d\x01\x01\x01\x00d\x00s\x00)--计算机硬件执行。
1930年图灵机