目录
- 计算机体系结构
- 1.OSI模型
- 2.OSI模型的理解
- 3.OSI模型对网络排错指导
- 4.OSI参考模型和网络安全
正文
计算机体系结构
了解即可。
如图所示。接下来的章节将会按照以上阶层进行详解,其中本知识梳理将567三层(由下而上升序)进行讲解。在这里有一个大致的概念即可。
1.OSI模型
分层的目的:标准化。使各层之间的联系不过与密切,避免导致一个出现问题其他的全部瘫痪的情况发生。
特点:每一次的更改不会影响其他层,底层为上层服务,存在一定关系。但当某一层出现问题并不影响其他阶层的工作。
下面通过这个例子来理解OSI分层特点:
情景:网络购物,顾客想要购买一套家具,则流程如下。
1.顾客联系厂家,并与厂家进行沟通(砍价、咨询等),完成后下单,并指定要求的型号、颜色、尺寸等数据。厂家与顾客之间直接通过协议来协商并决定了厂家接下来要做什么——按照顾客要求发货
2.打包工人接到厂商要求,从仓库里开始打包家具,家具一般比较大,需要分成几个包裹打包。而为了服务至上主义,分开打包的包裹在顾客收到后,应该由售后人员重新组装而不是麻烦顾客自己组装。这里打包工人和组装工人都是厂家指派的人员,在打包工人打包后会联系组装工人告诉他等到货到了之后要给顾客组装。比对着组装图纸来组装/拆分是他们的沟通过程(协议)
3.打包后发出的包裹由快递公司接受并指派快递员去运送包裹,快递员不需要知道包裹里是什么,只需要知道把收到的货物运送到指定位置。而对面的快递员同理,只需要收货并送到指定地点即可,这里两人虽然没有直接协商,但是通过物流单的数据(地址姓名手机号等)来明确自己的工作动向,这是这一层的协议。
4.送货快递员会送货到辖区的货运员那,而收获快递员会从货运员那取货。货运员则负责运输货物,运输货物的过程中需要的遵守的协议是交通法则,红灯停绿灯行靠右行驶。
5.为了方便货运,会进行大规模工程铺路,所有的道路都是后来建成而不是天生如此的,没有铺路工人则无法为上述服务提供便利性。铺路工人决定了多种运送方式,从而令运货手段多元化且供选择性较多。当然也有要遵循的准则,怎么铺,在哪铺,用多少材料,不能妨碍另一个职业工作等。
同一阶层的协商是通过协议来完成的,而且阶层之间相互不影响工作内容。货运员不关心货物是什么,不关心货物怎么包装的,不关心上面快递单号,只关心怎么把它送到;厂家也不关心走什么运输方式,只要最后买家能收到给好评就可以。同时他们之间的效率对彼此没有影响,比如堵车了,货运速度变慢了,原来3h到现在4h到,但是铁路发车都是晚上12点,你早到晚到并不影响铁路的发车时间和运输时间,也不影响打包工人的打包时间和快递员的配送时间和厂商对产品的生产等。
但是他们之间也不是相互无关,底层为上层服务的特点很清晰的展现了出来
<由高至低>
·应用层:所有能产生【网络流量】的应用程序(记事本是应用程序,但不需要网络流量,不属于应用层。常见联网可用于用户交互的程序才属于应用层)
·表示层: 负责对【压缩、加密、解密等操作在传输前是否需要】进行判定(视频带宽不高,但流畅。一方压缩另一方解压,节省带宽;消息加密避免被抓包)
1.字符型文件:通过字符集来进行编码和解码
计算机在数据传输和保存到硬件时,保存的是01这种二进制编码。但是在文件的可视化中,是以字符集的形式表现的,字符集就是对所有字符进行制表,并对每一个字符指定唯一一个对应的坐标。通过字符集进行编码,可以将人能够直接读懂的字符编写成0和1的组合,然后通过数字电路传输,接收方收到该01数据串后,需要用对应的字符集解码,否则可能出现的问题。
乱码问题,web服务器发过来的网页的编码方式与客户端的编码方式不同时,表示层出现问题,即出现乱码(常见的问题:编码coder国籍不同,code中的注释往往会用母语标注,这种情况下看代码经常发现乱码(UTF-8)和GBK编码等)
切换编码后:
2.二进制文件
这样的文件没有字符,就是01构成的。比如图片,是由像素构成,也就是由许多点来组成,而这些点是红黄蓝三原色组成(取值0-255)由八位二进制组成,一个点就是三个字节(三个元素,三个八位二进制)。所以图片占的比单纯字符文件大小要大得多。且想要看图,则需要使用看图软件来打开,此时用万物皆可打开的文本文档就不可以看到内容了。
表示层是网页编写者需要考虑的,网络运营人员仅作了解即可。
·会话层:面向用户的连接。例子:淘宝店提供顾客与客服交流的窗口,淘宝商家与顾客砍价协商(这个过程是建立一个面向用户的连接)。然后直到顾客收货评价后,两者结束交流,这就是这个会话的结束。应用程序同理,其实就是应用程序令另一个程序做什么,做这个过程中不断交互,直到交互结束,二者释放内存空间,会话结束。
用途:查木马 netstat -n
【木马 与病毒不同,病毒是搞破坏(篡改文件,系统无法启动),木马-盗号/远程操控等,在后台运行。一般隐藏的很好,但是不管如何都需要与外界交互,即必然可查。
cmd命令netstat -nb:用来查看计算机建立会话的进程,可以直观看到建立联系的程序是哪一个[[需要管理者权限下打开的cmd]],查到后可以通过任务管理器来锁定目标位置,可以选择定向查杀或者直接删除
·传输层:可靠传输-流量控制 不可靠传输 传输信息 纠错。传输层提供了信道来供给数据传输,信道中的数据传输有上限。数据发送时,输出端会有一个缓存区来缓存数据包,而接受区也有一个缓存区来接收数据包。
流量控制: 一个会话层可以由多个传输层支持,且如果输出端流量大,会导致接收端收不过来的情况,此时接收端会反馈一个数据包给输出端,让他减速或者停止发送,从而实现流量控制的功能。
过程详见:【计算机网络】第一章:计算机网络导论(Part4:网络交互)
可靠传输:
ex)数据包发送4过程中,线路拥堵,导致数据包4在路由器传输中丢包,且主机未给服务器信号,则服务器将一直传输数据包4直至客户端收到,然后再传数据包5
不可靠传输:
域名解析、QQ消息传输等,一个数据包就可以丢过去的传输是不可靠传输,不需要分割传输,不需流量控制,丢包重发即可
·网络层:负责选择最佳路径 规划IP地址
管理员可以用静态路由实现指定路径选择标准(比如途径路由越少越好;带宽越高越好等)。过程中路由器过忙会丢包,路由器不管是什么数据包,只要满足条件就丢包,确认数据完整性是由传输层保证的,网络层只负责路由间传递。
跟踪数据包路径:tracert 命令
如图,第一个目标是我自己家的路由器,不管是无线还是有线连接,第一个路由因为与笔记本同一网段所以访问时延低,访问速度快。其他的就是公网地址了,可以看到中间途径的路由器的对应IP,在经过这么多路由之后,我的数据包才到达了baidu的web服务器。
·数据链路层: 帧的开始和结束==>实现透明传输、差错校验(可以检查出错误但是不纠错,只负责检查和接受正确的错误);输入如何封装,添加物理地址(MAC)
数据联络层负责将数据封装及拆分,并遵循某种协议来传输数据包或者数据帧。上图中的协议会在后面章节详细解释,这里先提出这个概念。
·物理层:网络设备的接口标准 电器标准 在物理链路上传输更快的速度
接口标准ex)网线水晶头内线数固定,且水晶头为世界通用级元件,则生产网卡时,自然应当将接线口设置为等同于水晶头线数。
电器标准ex)传输电信号0101 电压标准0V为 0;5V 为 1;标准不同的设备接线对于电信号读取不同则会出现短路事故