了解即可。
如图所示。接下来的章节将会按照以上阶层进行详解,其中本知识梳理将567三层(由下而上升序)进行讲解。在这里有一个大致的概念即可。
分层的目的:标准化。使各层之间的联系不过与密切,避免导致一个出现问题其他的全部瘫痪的情况发生。
特点:每一次的更改不会影响其他层,底层为上层服务,存在一定关系。但当某一层出现问题并不影响其他阶层的工作。
下面通过这个例子来理解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]],查到后可以通过任务管理器来锁定目标位置,可以选择定向查杀或者直接删除
会话层建立:没有会话层的话,流量流向不定向(百度网址打开其他网页)每一个菜单/窗口里拥有一个对应网页的信息,但是如果两个网页的信息流入一个窗口,后果可想而知网址与浏览器之间建立的联系就是会话,只有建立会话才能交互。通信结束,会话释放;网页在打开状态下无流量
cmd命令查询会话:netstat -nb
ESTABLISHED–已经建立的会话
TIME_WAIT–该会话即将释放
直观观察哪个应用程序正在会话
·传输层:可靠传输-流量控制 不可靠传输 传输信息 纠错。传输层提供了信道来供给数据传输,信道中的数据传输有上限。数据发送时,输出端会有一个缓存区来缓存数据包,而接受区也有一个缓存区来接收数据包。
流量控制: 一个会话层可以由多个传输层支持,且如果输出端流量大,会导致接收端收不过来的情况,此时接收端会反馈一个数据包给输出端,让他减速或者停止发送,从而实现流量控制的功能。
过程详见:【计算机网络】第一章:计算机网络导论(Part4:网络交互)
可靠传输:
ex)数据包发送4过程中,线路拥堵,导致数据包4在路由器传输中丢包,且主机未给服务器信号,则服务器将一直传输数据包4直至客户端收到,然后再传数据包5
不可靠传输:
域名解析、QQ消息传输等,一个数据包就可以丢过去的传输是不可靠传输,不需要分割传输,不需流量控制,丢包重发即可
·网络层:负责选择最佳路径 规划IP地址
管理员可以用静态路由实现指定路径选择标准(比如途径路由越少越好;带宽越高越好等)。过程中路由器过忙会丢包,路由器不管是什么数据包,只要满足条件就丢包,确认数据完整性是由传输层保证的,网络层只负责路由间传递。
如图,第一个目标是我自己家的路由器,不管是无线还是有线连接,第一个路由因为与笔记本同一网段所以访问时延低,访问速度快。其他的就是公网地址了,可以看到中间途径的路由器的对应IP,在经过这么多路由之后,我的数据包才到达了baidu的web服务器。
·数据链路层: 帧的开始和结束==>实现透明传输、差错校验(可以检查出错误但是不纠错,只负责检查和接受正确的错误);输入如何封装,添加物理地址(MAC)
数据联络层负责将数据封装及拆分,并遵循某种协议来传输数据包或者数据帧。上图中的协议会在后面章节详细解释,这里先提出这个概念。
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,
使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
_XXXXXXXXX_传输数据时,有一个起始位和结束位,这两个位在转换机独到时,判定数据的结束和开始,但是当数据中有一部分信息和结束位控制信息相同时,会出现错误判断,提前结束传输,这时,需要继续传输,在相似片段之前加入一个新的控制信息,告诉转换机该信息不是结束位,继续读数据,数据传输后,踢出这一段控制信息以保证该数据的完整性。
·物理层:网络设备的接口标准 电器标准 在物理链路上传输更快的速度
接口标准ex)网线水晶头内线数固定,且水晶头为世界通用级元件,则生产网卡时,自然应当将接线口设置为等同于水晶头线数。
电器标准ex)传输电信号0101 电压标准0V为 0;5V 为 1;标准不同的设备接线对于电信号读取不同则会出现短路事故
标准化的好处:不同厂商之间交互可能,不需要特殊设置
协议的变化IPv4->IPv6的过程变化的只有网络层,无线网卡(L1物理层),交换机(L2.数据链路层)已经其他层都相对独立,变化不会影响(破坏)其他层的完善性,但是他们之间有关系。一个错误会对网络整体造成影响。
【用户】
|
[应用层]
|
[表示层]
|
[会话层]
|
[传输层]
|
[网络层]
|
[数据链路层]
|
[物理层]
下层为上层提供服务。指导原则:设计网络时如果一层变动联动了其它层变动,则设计案例为失败的
一个计算机可以有多个IP地址(手动添加)||数据库连接程序时,连接程序名而不是ip地址,防止变动IP时影响应用程序使用。OSI(开放式互联)模型七层相对独立
ex)施工队更换网线,更换通信介质【物理层】
升级交换机,将网速100M->1000M[数据链路层]
VLAN设置[网络层],防止病毒广播(解决广发病毒问题)
排除应用层故障[应用层]
每一层为上一层提供服务,所以若网络出现问题,应该从底层向高层逐级检查
访问一个网站访问不了,你直接去看网站的代码,去尝试找出bug,这就是一个很复杂的过程,但是一般来说,上不去网我们会先检查网线是否接好,网费是否交了,网络运营商那边是否施工等按照一个顺序来逐层排查,排查到最后发现是这个网站的问题,才会去找代码错误。
[物理层故障]
1.网线没插好,断了//插拔网线 2.网线插好,网络中心显示已连接,但是上不去网。查看包,已发包存在,但是接受包为0 的情况。水晶头可能出现了故障,水晶头是8根线,2根负责发,两根负责收,如果只有发送没有接收,则可能是水晶头接手用线出现了问题。//更换网线加粗样式
>查看网卡装填&连接状态、发送和接收的数据包
【数据链路层】
1.在一个教室不能上网,在另一个教室可以上网。然后把A教室能可以上网的同学的网线接入问题计算机,发现仍然无法连接(该步骤确保了网线无问题)
B教室可以上网,说明网卡没问题。排除物理层故障
>2.MAC地址冲突
MAC全球唯一,可以认为修改注册表,不使用出场网卡MAC地址。【软件学院一般防范:本校学生可以接线上网,其他人进入不允许接线上网,则需要MAC认证。找网络管理员进行数据库写入一条,然后才能上网。则其他人得到被写入数据库的MAC地址后,则该人可以上网。原学生发生MAC冲突//修改MAC并再授权
>>3.ADSL拨号上网:欠费后网络不通,数据链路层不通。==>>网路层也不通了
>>4.网速没办法协商一致:服务器强制把接口设置为1000M,但是计算机网卡是100M的,默认情况下网速是自动协商的,根据计算机自动变化,但是因为服务方强制指定为1000M。则两方交互未进行统一,则数据链路层出现故障。
>>5.设置Vlan:接口默认都在一个VLAN(虚拟局域网,俗称内网。分配虚假IP)。计算机连接到错误的VLAN,导致不能在本VLAN使用
【网络层】
配置错误的IP、网关、子网掩码 路由器没有配置到达目标网络的路由
1.网段规划(网络地址)13.x.x.x,第一位写的不是13,则网络不通。
2.计算机如果想要从一个网段访问另一个网段,需要把数据包给路由器。然而如果计算机没有配置网关,网关是出口地址,则计算机无法访问其他网段[无法选择到其他网段的路径]
3.因为负载均衡,两个数据包通过不同路径到达目的,其中一条在后续路由转接中存在断线问题,但是数据包已然发送到一个无法继续进行的路由器中,则该数据包丢包,另一个到达目的地。
4.没有能够到达目标IP的路径,则数据包给到中间介质路由器时,丢包
5.路由器路由表错误
【表示层】
乱码问题,打开网站的编码不对。可能会被木马篡改。
【应用层】
除去上述部分以外的统称为应用层故障
应用程序出现的错误,配置错误等。
ex)打得开浏览器,点击其他链接可以进入。但是配置浏览器经过错误代理后,无法链接。
》》》》配置:Internet选项-连接-局域网设置-为LAN代理
ping+ ip地址 有去有回==>网络无故障
·物理层安全隐患:大厦机房统一管理服务器。企业入驻大厦后,接线仍然接在原来的交换机中。他人可以接入你的网络:拔掉网线或者命令shut down
※现在的无线网络提供了其他设备发现并接入该网络的机会,这就是物理层上的不安全。但是又因为需要输入正确的密码才能够连接无线网,这在数据链路层上保证了安全。
·数据链路层安全:
ADSL拨号账号密码(非对称数字用户环路)
wifi账号密码
VLAN 划分
交换机端口绑定MAC地址来控制哪些设备能接入这个网络
·网络层安全:在路由器上使用ACL控制数据包; windows防火墙
·应用层安全:开发应用程序并排除bug
开放系统信息交换涉及的几个概念:(了解)
传输数据单元:数据在不同阶层的不同称呼,在物理层是bit。在此处先做一个了解,以后会详解。每一级通传之前都会进行一点的加工或者卸载。(H1~H4的详细内容会在数据链路层章节详解)