计算机网络分层结构概述

前言

本文讲解计算机网络分层结构,首先,计算机网络为什么需要分层,而又有哪些分层模型,并具体讲解每种分层模型中具体每层的意义、功能和相关协议。本文是后续计算机网络相关知识的框架基础,了解了计算机网络结构,后续文章我们会针对具体每个层次进行学习讲解。

一、为什么要分层

  • 计算机网络需要处理的问题太多了,考虑把大问题分解为多个小问题进行解决,所以需要进行分层。每一层解决对应的问题,逐层解决整个问题。

  • 以寄快递为例形象化的说明计算机分层网络结构中的一些概念和分层的基本原则。

    对于上图中的一瓶红酒,你要发送给对方:首先需要将这瓶红酒软包装一下,然后再用盒子装起来,然后再寄到对方手中;对方拿到后,需要对应的把你做的处理一一去掉才能最终拿到这瓶红酒:首先,把盒子拆掉(如何拆?这就需要协议告诉对方),然后再把软包装去掉(如何去掉?这也需要对应的协议告诉对方),最后才能享受这瓶红酒。

二、分层结构的相关概念

  • SDU(service data unit):服务数据单元,满足对方要求的最基本的所需要发送的数据
  • PCI(protocol control information):协议控制信息,即控制对等实体相互操作的信息(类似快递中一个装一个拆,而如何装,如何拆的操作信息都在PCI中记录着)
  • PDU(protocol data unit):协议数据单元,由SDU和PCI组成,它是对等层次之间传送的数据单位。因为无论是SDU还是PCI,单独传送给对方都没有意义(好比你发给对方一个包装着的东西,如果你不把如何拆包装的方法告诉对方,对方拿到了这个东西也拆不开,自然也没有意义了),只有把这两部分组成一个整体PDU,同时发送给对方才有意义。
  • 因此计算机网络分层结构中,每层都会为上一层新添加一定的信息,用于数据传输。

    网络体系结构是从功能上描述计算机网络结构、是分层结构、是计算机网络的各层及其协议的集合、是抽象的,且具体的实现是指能运行的一些软件和硬件。

三、七层分层结构:ISO/OSI参考模型

1. 概述

  • 七层分层结构包括哪些?

  • ISO/OSI参考模型通信过程

    端到端的层次结构,在发送端完成后,不要再中间过程再处理,直接原样发送到接收端,因此称为端到端。(这就好比你包装好的包裹,路途中肯定不能给你拆了,而是应该直接原样送到对方手中,由对方来拆)
    点到点的层次结构,在发送端完成后,还需要经过中间过程的再处理,即一步一步的完成,直至发送到接收端,因此成为点对点。(这就好比,你把包裹给了快递公司,快递公司先给你运到下一个快递点,然后再从下一个快递点继续运送,直至运送到对方手中)

  • 具体通信示例(省略了中间路由过程):

    注意,数据链路层,不仅要在尾部添加信息,还需要在头部添加信息。

2. 应用层

所有能与用户交互并产生网络流量的程序,比如qq、邮箱、网页等等(如单击游戏,它不产生网络流量,因此不属于应用层)

功能 协议
文件传输 FTP
电子邮件 SMTP
万维网 HTTP

3. 表示层

用于处理在两个通信系统中交换信息的表示方式(语法:规定传输数据的格式。和语义:规定所要完成的功能)

功能 主要协议
数据格式变换;数据加密解密;数据压缩和恢复 … JPEG、ASCII …

4. 会话层

向表示层实体/用户进程提供建立连接并在连接上有序的传输数据。这是会话,也是建立同步(规定各种操作的顺序)

功能 主要协议
建立、管理、终止会话;使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步 ADSP、ASP

校验点:为数据分段,并为每段添加一个标记,如果数据传输失败,可以从最近的标记处重新传输,保证之前的传输不会废弃。

5. 传输层

负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。

功能 解释
可靠传输,不可靠传输 可靠传输是指等待接收方的确认信息再继续发送,否则一直询问接收方;不可靠传输是指不管接收方是否接收到,直接把数据全部丢给接收方
差错控制 如果传输过程出现错误,则及时处理
流量控制 控制发送方的速度,保证接收方来得及接收
复用分用 复用:多个应用层进程可同时使用下面运输层的服务(接收方接收的数据可供多个应用复用)。分用:运输层把收到的信息分别交付给上面应用层中相应的进程(接收方接收的数据可区分为多个应用分用,比如收到的数据,既可以一部分是微信的数据,也可以一部分是QQ的数据)

主要协议:TCP、UDP

6. 网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。

功能
路由选择 选择最佳路径
流量控制 控制发送分组的速度
差错控制 控制发送错误
拥塞控制 若所有节点都不来及接受分组,而要丢弃大量分组的话,网络就处于用塞状态,因此要采取一定的措施,缓解这种拥塞

主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF

7. 数据链路层

主要任务是把网络层传下来的数据报组装成帧。数据链路层的传输单位是帧。

功能 解释
成帧 包括定义帧的开始和结束
差错控制 包括帧错和位错
流量控制
访问(接入)控制 控制对信道的访问

主要协议:SDLC、HDLC、PPP、STP

8. 物理层

主要任务是在物理媒介上实现比特流的透明传输(指不管所传数据是什么样的比特组合,都应当能在链路上传送)。物理层的传输单位是比特。

功能
定义接口特性
定义传输特性
定义传输速率
比特同步
比特编码

四、四层分层结构:TCP/IP参考模型



五、五层分层结构:5层参考模型


六、总结

计算机网络分层结构概述相关推荐

  1. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )

    文章目录 一.计算机网络分层结构 二.OSI 七层参考模型 三.应用层 四.表示层 五.会话层 六.传输层 七.网络层 八.数据链路层 九.物理层 一.计算机网络分层结构 计算机网络分层结构 : ① ...

  2. 计算机网络---计算机网络分层结构

    为了解决计算机网络复杂的问题,提出了计算机网络分层结构. 计算机网络分层结构主要有OSI 7层参考模型,TCP/IP 4层参考模型两种. 为什么要分层 不同产商生产的产品都可以通过统一标准实现通信. ...

  3. 计算机网络分层结构—OSI参考模型、TCPI参考模型、五层体系结构

    计算机网络分层结构 5层体系结构是在参考 OSI参考模型 与 TCP/IP参考模型 得出的. 一.OSI七层模型 OSI七层协议模型包括:应用层(Application).表示层(Presentati ...

  4. 计算机网络---分层结构、协议、接口、服务

    为什么要分层 发送文件前要做的工作: 发起通信的计算机必须讲数据通信的通路进行激活 要告诉网络如何识别目的主机 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常. 发起通信的计算机要弄清楚, ...

  5. 计算机网络(5)体系结构:计算机网络分层结构

    目录 1.计算机网络分层的的原因和概念 2.计算机网络分层的基本原则 3.实体 3.1.对等层和对等实体 3.2.协议数据单元(Protocol Data Unit,PDU) 1.计算机网络分层的的原 ...

  6. 计算机网络分层结构5层,计算机网络协议分层结构

    计算机网络协议分层结构你知道吗?从网络通信原理角度可以把网络分为5层,即应用层(Application layer,A).传输层(Transport layer,T)网络层(Network layer ...

  7. 计算机网络——分层结构,协议,接口和服务

    1.为什么要分层? \qquad当有两台主机,A向B通过网络发送文件,在发送文件前需要完成这么几件事情:1)A必须将数据通信的通路进行激活:2)要告诉网络如何识别目的主机B:3)A要查明B是否开机,并 ...

  8. 【计算机网络】分层结构(OSI 7层模型、TCP/TP 4层模型、5层参考模型)

    [计算机网络]分层结构 一 概述 1.1 为什么要分层? 计算机网络是一个复杂的系统,采取分层的结构,可以将庞大而复杂的问题分为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理. 1.2 ...

  9. 计算机网络第一章——概述

    个人根据王道考研视频做的笔记,笔记只记录了大概知识结构,对于每一个具体的知识点的讲解并未详细记录. 本章概要:计算机网络的概念.组成.功能和分类- 1.1.1 概念.组成.功能和分类 计算机网络的概念 ...

  10. 计算机网络之网络概述:4、分层结构(协议、接口、服务)

    概述:分层结构 思维导图: 为什么要分层: 怎么分层: 计算机分层结构: 概念总结: 思维导图: 为什么要分层: 举一个发送文件的例子,小伙伴们可以看到发送文件前要有许多的准备工作,若放在一块儿做这些 ...

最新文章

  1. Android使用ViewFlipper实现左右滑动效果面
  2. 教你10招最有效防电脑辐射方法
  3. linux 共享内存陷井,linux共享内存应用与陷阱
  4. java--xml文件读取(SAX)
  5. Django后台项目之用户管理功能开发流程
  6. 我和 Spring 大神的一天
  7. mysql快速启动_GitHub - TianSiQiang/Spring-Boot-MyBatis-Mysql: Spring Boot+MyBatis+Mysql 快速启动示例...
  8. c语言临时变量交换数值,不用临时变量交换两个数的值(C实现)
  9. Idea编写简单Java网络爬虫程序(maven)
  10. 如何查看泛泰A870高通骁龙600(APQ8064T)的CPU体质(A850/A860也可参考)
  11. 苹果呼叫转移设置不了_0广告,支持苹果,甜美小姐姐or磁性小哥哥做助理!
  12. 又一个中国男人荣获巨奖!拿奖拿的手软,却坦言“我对诺奖没有兴趣”...
  13. presenting view controller Vs presented view controller
  14. Mariadb 设置远程访问
  15. MATLAB高等光学仿真——反射率,透射率变化
  16. 李宏毅机器学习L6 GAN
  17. 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
  18. JIS-CTF解题思路及关键语句
  19. 系统集成项目管理工程师2021年下半年下午案例分析题及答案
  20. excel去除重复处理

热门文章

  1. 接口测试之postman
  2. centos7安装python开发环境(python3_postgresql_sublime_supervisor)
  3. 通过js脚本处理剪切板(简单而强大的效率工具)
  4. 悉尼大学计算机专业本科2019,2019悉尼大学申请条件
  5. 谷歌地球不能用了,我推荐个替代方案,免费软件
  6. 未能连接到imap服务器,roundcube无法连接imap服务器登录
  7. HTML汇率转换代码,利用JS实现汇率转换工具
  8. 基于文本检测模型检测文本框对图像进行旋转校正
  9. rms 公式 有效值_为什麼均方根值(RMS)比平均值表达好一些?
  10. 触发器详解——(三)T触发器