前言
“物理层、数据链路层、网络层、传输层、会话层、表示层和应用层”,明天咱们的指标就是把这些个玩意,翻译成“人话”,保障你一看就懂,一学就废~
网络七层构造,置信是个搞计算机网络的,或者是搞软件开发的,甚至是搞互联网的,99% 的人应该都晓得,最起码那也得是听过,就是下方这个玩意:
(你要是听都没听过,别跟我说你是混迹于互联网界的啊~)
然而,如果让这些人讲清楚这七层构造是干嘛的,那这个比例,预计能从 99% 锐减到 1%。
明天,就让咱们一起来把这七层构造,翻译成“人话”。
本着“有问题,找百度”的准则,我关上了百度百科,而后就发现了以下这些内容
看到这些查找进去的“答案”,置信大家跟我的感觉是一样的:“看是不可能看懂的,这辈子预计都看不懂了。。。”
想要看懂这些货色怎么办呢?
依照“失常”的思路,咱们须要解决以下问题:这七层都跟哪些内容相干?他们怎么关联起来的?协定这个玩意跟计算机是怎么联合的? 操作系统是如何把 IP 数据包发给网卡的?
于是咱们发奋图强,理解到它大略跟应用程序、操作系统、路由器、交换机这些玩意相干,晓得协定通过一层一层的封包或者解包来传输数据。再钻研一下 Linux 网络实现,了解操作系统与外设的通信,两头可能还要写个驱动模块加深印象。额,等一下,晶体管是如何起到开关作用的?如同还得学学物理。。。
其实以上说的啥,我本人都不晓得,纯属一顿胡诌,哈哈哈。
但我晓得的是,这个“失常”的思路,相对是“不失常”的,置信很多人,面对生疏的常识时,都会犯这种“打破砂锅问到底”的谬误~
宏观了解层面,考究的是“不求甚解”,只须要了解到以下这种水平即可。
翻译
整个网络当中,最根本或者是最外围的就是数据的传输,整个网络的搭建,都是为数据传输服务的,咱们类比一下快递物流的例子,就能够初步了解这七层都是干嘛的了:
1. 应用层
应用层的作用是为应用程序提供服务并规定应用程序中通信相干的细节,也就是为利用提供服务。常见的协定有 HTTP,FTP,TELNET、SMTP 等。
翻译成“人话”:
相当于收件员。当客户(利用)打电话(发动申请)给收件员(应用层)时,收件员能够依据客户的不同需要提供不同的服务(不同协定),比方隔天送达、指定工夫送达等等。
2. 表示层
表示层的作用是将利用解决的信息转换为适宜网络传输的格局,或者将来自下一层的数据转换为下层能解决的格局。它次要负责数据格式的转换。具体来说,就是将设施固有的数据格式转换为网络规范格局。常见的协定有 ASCII、SSL/TLS 等。
翻译成“人话”:
相当于打包员。如果快递(数据)太臃肿,他会在不毁坏快递的状况下压扁(压缩)它。如果客户重视安全线,全能的快递公司还能用密码箱(SSL/TLS)打包快递再快送。当然,打包员会确定,目的地快递站的拆包员,能无损地拆开包裹,将快递交给用户。
3. 会话层
会话层作用是负责建设和断开通信连贯,以及数据宰割等数据传输相干的治理。常见的协定有 ADSP、RPC 等。
翻译成“人话”:
相当于调度员。对快递运输进行调度指挥。例如这次客户要发 100 吨沙土(数据),到底是空运、陆运还是海运。而运完之后,相干信息(连贯)也能够被销毁了,这些都是他的职责。
4. 传输层
传输层起着牢靠传输的作用。只在通信单方节点进行解决,而不需在路由器上解决。此层有两个具备代表性的协定:TCP 与 UDP。
翻译成“人话”:
相当于跟单员。负责任的跟单员(应用 TCP 协定)会保障快递送到客户手上,如果送不到就让公司再发一次。不负责任的跟单员(应用 UDP 协定)只管将快递送到客户指定的中央,不论快递是否送到客户手上。
5. 网络层
网络层负责将数据传输到指标地址。指标地址能够是多个网络通过路由器连贯而成的某一个地址。因而这一层次要负责寻址和路由抉择。次要由 IP、ICMP 两个协定组成。
翻译成“人话”:
相当于路线布局员。快递公司有很多集散中心(路由器),依据集散中心的状况(是否拥挤),找出一条最合适的门路将货物(数据)沿路运过来。
6. 数据链路层
该层负责物理层面上互连的节点之间的通信传输。例如与 1 个以太网相连的两个节点间的通信。常见的协定有 HDLC、PPP、SLIP 等。
翻译成“人话”:
相当于驾驶员。他们驾驶着汽车,将打包好的快递(数据帧)从一个城市(物理节点)运输到另一个城市。
7. 物理层
物理层负责 0、1 比特流(0、1 序列)与电压高下、光的闪灭之间的调换。典型的协定有 RS 232C、RS 449/422/423、V.24 和 X.21、X.21bis 等。
翻译成“人话”:
相当于交通工具。例如公路、汽车和飞机等,承载货物(数据)的交通运输。
如果以上一堆文字都懒得看的话,那间接看上面这个图也行,这可是我消耗了大半天工夫消化了解的,拿着这张图,你就能够给他人去讲,网络七层构造是干嘛的啦~
1 至 4 层被认为是低层,这些层与数据挪动密切相关。5 至 7 层是高层,蕴含应用程序级的数据。每一层负责一项具体的工作,而后把数据传送到下一层。
从上往下,每通过一层,协定就会在这个包裹下面做点手脚,加点货色,传送到接收端,再层层解套进去,如下示意图:
晓得了这些,咱们就能够来看一下“快递”的前进过程。
如果你是一个网络上的操作系统。1 层和 2 层的网卡会接管申请并告诉你什么时候有包裹达到,驱动程序解决 2 层帧的进口,失去一个发亮和闪光的 3 层数据包。作为操作系统,你将调用一些罕用的利用程序处理 3 层数据。
如果你决定保留这个数据包,你将关上它,并且取出 4 层数据包。如果它是 TCP 协定,这个 TCP 子系统将被调用并关上这个数据包,而后把这个 7 层数据发送给在指标端口期待的应用程序,整个过程就完结了。
在理论过程中,七层构造执行了哪些操作呢?
要答复这个问题,咱们能够思考一下:用户输出一个网址,计算机执行了什么操作?
1. 所有的数据通信通过封装打包后,经由物理线路传送。
2. 所有的主机名都须要解析为 IP 地址。
3. 应用层应用 HTTP 协定,利用传输层面面向连贯的 TCP 协定。
4. WEB 利用采纳客户机 / 服务器的工作模式。
5. 数据包通过路由器,依据路由表进行转发。
6. 在每个网络外部,都要把 IP 地址转换成 MAC 地址。
7. 服务器上的 WEB 服务过程在监听 TCP 的 80 端口。
8. 服务器依照申请,生成 HTML 文档发送到客户端。
9. 客户端浏览器解释 HTML 文档,生成页面。
能够看到,正是因为有了七层构造的紧密配合,咱们的数据和指令才会源源不断地被“打包”进来。同时,咱们的服务器也在源源不断地接管“快递”,并且进行解析,以保障网络的失常运行。
联合网络安全,咱们进而提出一些问题:
明天曾经晓得了整个网络的流程是怎么的,都有哪些要害节点?
对网络进行监控的话,都能够监控哪些要害指标,这些指标的意义是什么?
指标异样当前,能够采取哪些应答措施?
指标监控是怎么实现的?
咱们来看看这四个问题,第一个其实是在钻研业务流程,第二三两项是在钻研用户场景,第四项是在思考技术实现,指标都是数据嘛,也能够说成是在钻研数据逻辑。
第一个问题,在明天的文章中曾经有所波及,另外的三个问题,大家能够本人做出思考,下次咱们独特探讨。
以上局部内容来自网络,如有侵权及时分割删除。