计算机网络体系结构

1.计算机网络概述

1.1 计算机网络概念

​ 计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享信息传递的系统。

注意:

(1)区分internet(互连网)和Internet(互联网或因特网)

​ internet:是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。

​ Internet:是一个专用名词,指当前全球最大的、开放的、由众多网络和路由器互连而成的特定计算机网络。

(2)网络把许多计算机连接在一起,而互联网则把许多网络连接在一起。因特网是世界上最大的互联网。

1.2 计算机网络的组成

从不同角度看,计算机网络有不同分类。

(1)从组成部分看可分为:硬件、软件、协议

(2)从工作方式看可分为:边缘部分、核心部分

计算机网络(一)——计算机网络体系结构-边缘和核心.png

(3)从功能组成看可分为:通信子网、资源子网

1.3 计算机网络的功能

  1. 数据通信
  2. 资源共享
  3. 分布式处理
  4. 提高可靠性
  5. 负载均衡

1.4 电路交换、报文交换与分组交换

参考我的CSDN:三种分组交换方式

其余可参考资料:计算机网络–湖科大–三种交换方式

1.5 计算机网络分类

  1. 按分布范围分类:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)
  2. 按传输技术分类:广播式网络、点对点网络
  3. 按拓扑结构分类:总线形网络、星形网络、环形网络、网状网络
  4. 按使用者分类:公用网、专用网
  5. 按传输介质分类:有线、无线
  6. 按交换技术分类:电路交换、报文交换、分组交换

1.6 计算机网络性能指标

1.6.1 速率

​ 速率:指连接到网络上的结点在数字信道上传送数据的速率,也称数据传输速率、数据传输率、数据率或比特率。单位为b/s(比特/秒)或bit/s(有时也写为bps)。当数据率较高时,可用kb/s(k=103)、Mb/s(M=106)或Gb/s(G=109)表示。

计算机网络(一)——计算机网络体系结构-速率.png

1.6.2 带宽

​ 带宽:在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据传输速率”的同义语,单位是比特/秒(b/s)。

计算机网络(一)——计算机网络体系结构-带宽.png

1.6.3 吞吐量

​ 吞吐量:指单位时间内通过某个网络(或信道、接口)的实际数据量。吞吐量常用在对实际网络的测量中,受网络带宽的限制。

计算机网络(一)——计算机网络体系结构-吞吐量.png

1.6.4 时延

​ 时延:指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的总时间,它由4部分构成:发送时延、传播时延、处理时延和排队时延。

计算机网络(一)——计算机网络体系结构-时延.png

1.6.5 时延带宽积

​ 时延带宽积:指发送端发送的第一个比特即将到达终点时,发送端已发出了多少比特,又称以比特为单位的链路长度。即时延带宽积=传播时延×信道带宽

计算机网络(一)——计算机网络体系结构-时延带宽积.png

1.6.6 往返时延

​ 往返时延:指从发送端发出一个短分组,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认)总共经历的时延。在互联网中,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。

计算机网络(一)——计算机网络体系结构-往返时延.png

1.6.7 信道利用率

​ 信道利用率:用以指出某个信道有百分之多少的时间是有数据通过的。

信道利用率=有数据通过时间/(有+无)数据通过时间

计算机网络(一)——计算机网络体系结构-利用率.png

1.6.8 丢包率

计算机网络(一)——计算机网络体系结构-丢包率.png

2. 计算机网络体系结构

2.1 常见的计算机网络分层结构

计算机网络(一)——计算机网络体系结构-常见分层结构.png

分层的基本原则:

  1. 每层都实现一种相对独立的功能,降低大系统的复杂度。
  2. 各层之间的接口自然清晰,易于理解,相互交流尽可能少。
  3. 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
  4. 保持下层对上层的独立性,上层单向使用下层提供的服务。
  5. 整个分层结构应能促进标准化工作。

2.2 计算机网络分层的必要性

  1. 计算机网络是个非常复杂的系统。
  2. 分层可将庞大而复杂的问题,转化为若干较小的局部问题。

(下面是计算机网络面临的主要问题,以及这些问题划分的层次)

2.2.1 物理层解决的主要问题

  1. 采用怎样的传输媒体(介质)
  2. 采用怎样的物理接口
  3. 使用怎样的信号表示比特0和1

需要注意的是:严格来说,传输媒体不属于物理层,它不包含在体系结构中。

举例:在A电脑上使用QQ发送信息给B电脑上的QQ。物理层解决的就是将这组信息转换可在链路上传播的比特流。

2.2.2 数据链路层解决的主要问题

  1. 如何标识网络中的各主机(主机编址问题,例如MAC地址)
  2. 如何从信号所表示的一连串比特流中区分出地址和数据(分组的封装格式问题)
  3. 如何协调各主机争用总线

举例:在一段网络上有A、B、C三台电脑。想让A电脑上QQ发送的信息传给B电脑上的QQ。数据链路层解决的就是将这组信息传送到B电脑而不是C电脑。同时保证此时A传给B的消息不会跟C传给B的消息在总线上产生碰撞堵塞。

2.2.3 网络层解决的主要问题

  1. 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
  2. 路由器如何转发分组,如何进行路由选择

举例:想让网络N1上的A电脑上QQ发送的信息传给网络N2上B电脑上的QQ,但这中间还包含着网络段N3、N4,所以传输路径不止一条。而网络层就是解决这组信息走那一段网络中的链路进行传输,路由器将分组转发到哪一标识IP地址的设备上。

2.2.4 传输层解决的主要问题

  1. 如何解决进程之间基于网络的通信问题
  2. 出现传输错误时,如何处理

举例:A电脑有QQ,B电脑上有微信和QQ。想让A电脑上QQ发送的信息传给B电脑上的QQ。传输层就是解决A上的信息传给B上的QQ,而不是B上的微信。当然如果数据出现误码,则会被处理。至于怎样处理就是传输层解决的问题。

2.2.5 应用层解决的主要问题

  1. 通过应用进程间的交互来完成特定的网络应用

举例:使用什么样的协议进行数据传输。例如使用http协议进行网页访问。应用层的作用就是指定应用层协议,并根据协议编写应用程序,通过应用进程间交互完成网络应用。

2.2.6 原理体系结构分层解决问题的总结

计算机网络(一)——计算机网络体系结构-分层处理问题.png

2.3 计算机网络分层体系结构的相关术语及其概念

2.3.1 实体

实体:指任何可发送或接收信息的硬件或软件进程,通常是某个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体称为对等实体

2.3.2 协议数据单元(PDU)

协议数据单元(PDU):对等层之间传送的数据单位称为该层的协议数据单元。

2.3.3 服务数据单元(SDU)

服务数据单元(SDU):为完成用户所要求的功能而传送的数据。第n层的SDU记为n-SDU。

注意:当在各层之间传输数据时,将从第n+1层收到的PDU作为第n层的SDU。加上第n层的PCI,就封装成了第n层的PDU,交给n-1层后作为SDU发送。

2.3.4 协议控制信息(PCI)

协议控制信息(PCI):控制协议操作的信息。第n层的PCI记为n-PCI。

2.3.5 协议

协议:在网络中进行数据交换而建立的规则、标准或约定称为网络协议。网络协议是控制在对等实体之间进行通信的规则的集合、是水平的。

协议由语法、语义和同步三部分组成:

  1. 语法:数据与控制信息的格式。
  2. 语义:即需要发出何种控制信息、完成何种动作及做出何种应答。
  3. 同步(或时序):执行各种操作的条件、时序关系等,即时间实现顺序的详细说明。

2.3.6 接口

接口:同一结点内相邻两层间交换信息的连接点就是接口。而同一结点内相邻两层的实体交换信息的逻辑接口称为服务访问点(SAP)。每层只能为紧邻的层之间定义接口,而不能跨层定义接口。

2.3.7 服务

服务:是指下层为紧邻的上层提供的功能调用,是垂直的。对等实体在协议的控制下,使得本层能为上层提供服务,但要实现本次协议,还需要使用下层提供的服务。

当上层使用下层提供的服务时,必须与下层交换一些命令,这些命令称为服务原语。

OSI模型将原语划分为四类:请求、指示、响应、证实。

服务的三种分类方式:

  1. 面向连接服务与无连接服务

    面向连接服务:通信前双方必须先建立连接。

    无连接服务:通信前双方不需要先建立连接。

  2. 可靠服务和不可靠服务

    可靠服务:网络具有纠错、检错、应答机制。

    不可靠服务:网络的正确性、可靠性要由应用或用户来保障。

  3. 有应答服务和无应答服务

    有应答服务:接收方在收到数据后向发送方给出相应的应答。

    无应答服务:接收方在收到数据后不自动给出应答,如需应答,则由高层实现。

2.3.8 总结

计算机网络(一)——计算机网络体系结构-术语总结.png

3. OSI模型与TCP/IP模型

3.1 OSI参考模型

计算机网络(一)——计算机网络体系结构-OSI七层模型.png

国际标准化组织(ISO)提出的网络体系结构模型称为开放系统互连参考模型,通常简称为OSI参考模型。

3.2 OSI模型各层应用

3.2.1 物理层

物理层主要任务是在物理媒体上实现比特流的透明传输。物理传输单位是比特。

透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。

物理层功能:

  1. 定义接口特性
  2. 定义传输模式(单工、半双工、双攻)
  3. 定义传输速率
  4. 比特同步
  5. 比特编码

主要协议:Rj45、802.3

3.2.2 数据链路层

数据链路层主要任务是把网络层传下来的数据报组装成帧(实现点到点传输)。数据链路层/练练车的传输单位是帧。

数据链路层功能:

  1. 物理寻址
  2. 成帧(定义帧的开始和结束)
  3. 差错控制(帧错+位错)
  4. 流量控制(相邻结点间)
  5. 访问(接入)控制(控制对信道的访问)

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

3.2.3 网络层

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

网络层的功能:

  1. 路由选择(最佳路径)
  2. 流量控制(整个网络中)
  3. 差错控制
  4. 拥塞控制

注意:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。

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

3.2.4 传输层

传输层主要任务是负责主机中两个进程的通信,即端到端的通信(实现主机的进程之间的通信)。传输单位是报文段或用户数据报。

传输层功能:

  1. 可靠传输、不可靠传输
  2. 差错控制
  3. 流量控制(端到端)
  4. 复用分用(复用:多个应用层进程可同时使用下面运输层的服务。分用:运输层把收到的信息分别交付给上面应用层中相应的进程。

主要协议:TCP、UDP

3.2.5 会话层

会话层的主要任务是向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步。

会话层功能:

  1. 建立、管理、终止会话
  2. 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。

主要协议:ADSP、ASP

3.2.6 表示层

表示层用于处理在两个通信系统中交换信息的表示方式(语法和语义)

表示层的功能:

  1. 数据格式变换
  2. 数据加密解密
  3. 数据压缩和恢复

主要协议:JPEG、ASCLL

3.2.7 应用层

应用层:所有能和用户交换产生网络流量的程序。

典型的应用层服务:

  1. 文件传输(FTP)
  2. 电子邮件(SMTP)
  3. 万维网(HTTP)

3.3 OSI模型通信过程

计算机网络(一)——计算机网络体系结构-OS通信.png

3.4 TCP/IP参考模型

计算机网络(一)——计算机网络体系结构-TCP.png

3.5 TCP/IP模型层次结构及各层的主要协议

计算机网络(一)——计算机网络体系结构-TCP各层协议.png

注意:

  1. TCP/IP体系结构的网络接口层并没有规定具体的内容,这样做的目的是可以互连全世界各种不同的网络接口。因此本质上TCP/IP体系结构只有上面的三层。
  2. TCP向应用层提供可靠传输的服务;UDP向应用层提供不可靠传输服务。

3.6 OSI与TCP/IP模型的比较

3.6.1 相同之处

  1. 二者都采取分层的体系结构,且分层功能大体相似。
  2. 二者都是基于独立的协议栈的概念。
  3. 二者都可解决异构网络的互连,实现不同厂家生产的计算机之间的通信。

3.6.2 不同之处

  1. OSI参考模型精确定义了服务、协议和接口。而TCP/IP模型在这三个概念上没有明确区分。
  2. TCP/IP模型将OSI参考模型的表示层和会话层的功能合并到了应用层,还将数据链路层和物理层合并为网络接口层。
  3. OSI参考模型先有模型,后有协议规范,通用性良好,适合各种网络。TCP/IP模型先有协议栈,后有模型,因此不适合其他的非TCP/IP网络。
  4. OSI参考模型在网络层支持无连接和面向连接的通信,而在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,它在网际层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。

3.7 补充

补充一个写的挺好的大佬博客(详细且慷慨!):OSI七层模型、TCP/IP四层模型(超详细!!!!!)-CSDN博客