您的位置 首页 php

想学编程?不了解网络基础?跟着淼哥学php全栈工程师之路(4)

感谢关注的小伙伴,今天继昨天发布的文章正式讲解php基础部分的课程。

在第一篇文章发布了计算机基本原理,几天来聊聊计算机网络原理。如果没有观看前面文章的小伙伴,请查看 这篇文章。

如果小伙伴们没有自己的学习方向,可以查看 这篇文章。

当然计算机网络,如果长篇大论的聊,我估计可以有专门一本书来讲解,而我专注于编程所着重了解的角度来看,哪些适合新手入门,就讲解哪些。如写的不好,请勿喷!十分感谢

随着互联网的快速发展,加上国家对互联网+的大力支持。现在再中国的互联网发展让老外大跌眼镜。在中国随处可以用手机支付,连中国的老太太都会用微信,作为一个中国人我是十分自豪的(此处应该有掌声,谢谢)。

那么作为一款专门为互联网而生的编程语言php,想要学习它就必须要知道一些计算机网络的定义,和计算机网络的相关知识,否则就算你学习了Php,顶多算是复制粘贴型技术低端人才。只有懂得原理,才能在开发中得心应手。

第一个问题?计算机网络的定义。

自计算机诞生,经历了一系列的演变与发展。大型计算机、超级计算机、小型机、个人电脑、工作站、便携式电脑,以及现在的智能手机终端都是计算机发展的产物。

从独立模式到互联模式

起初,计算机以单机模式被广泛应用(这种方式叫独立模式),随着计算机不断发展,人们已经不在局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。

连接多态计算机可以实现信息共享,同时还能在两台物理位置较远的机器之间传递即时消息。

独立模式-图片来源“图解TCP/IP”

互联方式使用计算机-来源《图解TCP/IP》

而计算机网络的目的,是以软件共享、硬件共享(外接设备如打印机)和数据资源存储。

计算机网络是以 通讯技术 计算机技术 为基础的。

计算机网络的功能:1、信息的交换2、资源共享3、分布式的处理。

1、 信息的交换 是计算机网络的基本功能。完成网络中各个节点之间的通信。

2、 资源共享 包括硬件、软件、和数据资源的共享。

3、 分布式处理 网络系统中若干台计算机可以相互协作共同完成任务。比如我们访问某大型网站,你不会天真的认为大型网站只有一台服务器吧?如果有机会我会在后续的文章中进行介绍分布式处理的。

计算机网络,根据其规模可以分为 WAN (Wid Area Network, 广域网 )和 LAN (Local Area Network 局域网)

LAN局域网-图片来源《图解TCP/IP》

WAN广域网-来源《图解TCP/IP》

从计算机通信到信息通信

最初,由网络管理员将特定的几台计算机连接在一起形成计算机网络。例如将同一个公司、同一个教室所持有的计算机连接在一起,或者将有业务往来的企业之间连接在一起。形成一种私有网络。

随着这种私有网络的不断发展,人们开始尝试将多个私有网络连接组成更大的私有网络。这种网络又逐渐发展演变成为互联网为公众所适用。在这个发展过程中,网络环境发生了戏剧性的变化。

连接到互联网以后,计算机之间的通信已不再局限于公司或部门内部,而是能够与互联网中任何一台计算机进行通信。互联网作为一门新兴技术,极大的丰富了当时以电话、邮政和传真为主的通信手段,并逐渐被人们所接受。

此后,人们不断研发各种互联网接入技术,使得各种五花八门的通信中断都能够连接互联网,使互联网成为了一个世界级规模的计算机网络,形成了现在这种综合通信环境。

从计算机和网络的发展的7个阶段,来认识互联网

第一个阶段 批处理

最早的计算机的操作系统是批处理系统(Batch Processing)。所谓批处理,是指事先将用户程序和数据装入卡带或磁带(当时是打孔的,没有硬盘),并由计算机按照一定的顺序读取,使用户要执行的这些程序和数据能够一并批量得到处理。

批处理-来源《图解TCP/IP》

那个时代,简直是程序员的噩梦,那个时候想运行程序,都需要取计算机中心操作。先将程序按照一定的顺序打孔,并不是谁想使,就能随便使的,有的时候程序处理时间非常慢,如果用户较多的情况下,用户程序可能无法立即运行。只能将程序留给操作员,过一段时间再来计算机中心取结果。

当时的计算机主要用于大规模计算或处理,因此那个时代的计算机并不是普通人使用的工具。

第二个阶段 分时系统

20世纪60年代出现了分时系统,就是指多个中端与同一个计算机连接,允许多个用户同时使用一台计算机的系统。

如果我没记错的话,是当时某大学的一个教授,为了能让学生在上课的时候,都能使用上计算机,而开发的分时系统。(老师实在是伟大o(* ̄︶ ̄*)o,小编曾经也是老师)。

当时的大型计算机是非常昂贵的,想要一人一台计算机,几乎是不可能的,而分时系统则实现了“一人一机”的目的。让用户感觉“自己在使用一台计算机一样”。分时系统重要的特性就是 独占性

第三阶段 计算机之间的通信

到了20世纪70年代,计算机性能有了飞速发展,体积也越来越小,而价格也急剧下降。于是计算机不在仅仅局限于研究机关使用,一般的企业也逐渐开始使用计算机。

因为企业内部对使用计算机处理日常事务的呼声越来越高。为提高工作效率,人们开始研究计算机与计算机之间的通信技术。

因为计算机通信技术之前,想要将一台计算机中的数据转移到另一台计算机中,是相当繁琐和麻烦的。那时,得将数据保存到磁带、软盘等外部存储介质中,在将这些介质送到目的计算机才能实现数据转存。而又了计算机通信技术,则大不一样了,人们能够很轻松的读取另一台计算机中的数据,而大大缩短传送数据的时间,提高工作效率。

实现计算机之间的通讯-来源《图解CTP/IP》

第四个阶段 计算机网络的产生

在20世纪70年代,早期计算机网络,在计算机传输的时候,是独占网络的,只有将我的数据传送完,另一台计算机才能传输数据。这样才有了后来的分组交换技术,所谓的分组交换技术我的理解是,将信息切分成若干个小组,然后信息数据分组有序的进行发送,到目的地在进行拼接数据,并且研究不同厂商的计算机之间相互通信的技术。

分组交换技术

80世纪80年代产生了计算机网络,一种能够互连多种计算机的网络诞生。它能够让各式各样的计算机相互连接,从大型的计算机到主机到小型的个人电脑都能够连接网络。

而窗口系统的发明,更是让人们与网络之间的距离越来越小。

有了窗口系统,用户可以同时执行多个程序,更加能体会到网络的便捷。

窗口系统的产生于计算机网络 -来源《图解TCP/IP》

第五个阶段 互联网的普及

进入20世纪90年代,那些专注信息处理的公司和大学已为每一位员工或研究人员分配了一台计算机,形成了“一人一机”的环境。

而这种环境的搭建成本非常高,在使用过程中也会遇到很多新的问题。因为供应厂商的不同,导致计算机与计算机之间的通信出现问题。

随后出现了连接异构型计算机的通信网络技术,也就是我们现在的互联网技术。换句话说当时个人电脑局域网不能连接所有类型的计算机(如大型主机、小型机、unix工作站、以及个人电脑)

而当时出现的TCP/IP技术则备受推崇,与此同时电子邮件技术、万维网(www,world wide web)等信息的传播方式得到了空前的发展,得到了广泛的普及。

公司或家庭接入互联网 -来源《图解TCP/IP》

第六个阶段 以互联网技术为中心的时代

互联网的普及和发展着实对通信领域产生了巨大的影响。

曾经一直作为通信基础设施、职称通信网络的电话网,随着互联网的快速发展,也被IP(internet protocol)网所取代。

而IP网本身是互联网技术的产物。通过IP网人们不仅可以实现电话通信、电视播放,还能实现计算机之间的通信,能够联网的设备也不仅仅是计算机,也扩展到了手机、家用电器、游戏机等其他产品。

通过ip协议实现通信的统一 来源《图解TCP/IP》

现阶段 从 “单纯建立连接 ”到“安全建立连接”

可能好多小伙伴发现,以前好多网站访问都是http访问的,现在都是https来访问了。这个就是最好的体现,具体什么是http和https,我会在后面讲解。

互联网让世界各地的人们通过计算机跨越国界自由的连接在一起了。通过互联网人们可以搜索信息、沟通交流、共享信息、查看新闻报道及实现远程控制设备等。

计算机使用模式的演变 来源《图解TCP/IP》

而互联网使由许多独立发展的网络通讯技术融合而成,能够使他们之间不断融合并实现统一的其实是 TCP/IP 技术。

那么什么是TCP/IP通讯协议是什么?它的机制又如何呢?

TCP/IP是 通信协议 的统称。而互联网的协议是在太多了。

比如:IP、TCP、UDP、HTTP、TELNET、SNMP、STMP。

什么是协议呢?协议好像人和任对话,如果有两个人,一个说中文,一个说英语,那么他们之间怎么沟通呢?根本听不懂嘛。

汉语和英语 就是我们的“协议”

聊天内容 “数据”

聊天的过程 就是“通信”

协议如同人与人对话

计算机之间通信协议

由于计算机通讯厂商的不同,导致通讯出现问题。

为了解决上面出现的问题,ISO(国际标准化组织(International Organization for Standardization,ISO)简称ISO)指定了一个国际标准 OSI (Open System Interconnection的缩写,意为开放式系统互联)的参考模型。也就是大家都知道的OSI七层模型。

OSI七层到底是什么?

开放系统互连参考模型 (Open System Interconnect 简称OSI) 是国际标准化组织 (ISO)和 国际电报电话咨询委员会 (CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。

它从低到高分别是:物理层、数据链路层、 网络层 传输层 、会话层、表示层和应用层。

协议的分层

我们通过下图来看OSI七层的主要作用是什么?

看下图可以更好的理解tcp/ip的分层。

应用层 :负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系。

表示层 :它对来自应用层的命令和数据进行解释。如编码、数据格式转换和加密、解密 等。(编码也会在后续的文章中讲解)

会话层 :用户应用程序和网络之间的接口。(个人理解就是端口号,所谓端口号会在后续文章讲解)

传输层 :实际就是我们经常看到的TCP/IP等其他的协议。

网络层 :路由器,选择下一步信息传输到哪里的作用,也叫路由的选择。

数据链路层 网桥 (扩大信号作用)、交换机。将信息进行切割组合分组交换。

物理层 :网卡,网线, 集线器 ,中继器,调制解调器。负责0、1比特流与电压的高低、光的闪灭之间进行互换。(因为计算机只认识二进制0、1)

今天就和大家聊到这里吧。下篇文章我们继续聊web信息传输的原理。

(注:本内容属于原创,未经许可严禁抄袭。内容真实性已考证,图片来源于网络和《图解TCP/IP》,图片如有侵权请联系作者删除)

文章来源:智云一二三科技

文章标题:想学编程?不了解网络基础?跟着淼哥学php全栈工程师之路(4)

文章地址:https://www.zhihuclub.com/149855.shtml

关于作者: 智云科技

热门文章

网站地图