计算机网络(一)——计算机网络体系结构
计算机网络体系结构
1.计算机网络概述
1.1 计算机网络概念
计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
注意:
(1)区分internet(互连网)和Internet(互联网或因特网)
internet:是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。
Internet:是一个专用名词,指当前全球最大的、开放的、由众多网络和路由器互连而成的特定计算机网络。
(2)网络把许多计算机连接在一起,而互联网则把许多网络连接在一起。因特网是世界上最大的互联网。
1.2 计算机网络的组成
从不同角度看,计算机网络有不同分类。
(1)从组成部分看可分为:硬件、软件、协议
(2)从工作方式看可分为:边缘部分、核心部分
(3)从功能组成看可分为:通信子网、资源子网
1.3 计算机网络的功能
- 数据通信
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
1.4 电路交换、报文交换与分组交换
参考我的CSDN:三种分组交换方式
其余可参考资料:计算机网络–湖科大–三种交换方式
1.5 计算机网络分类
- 按分布范围分类:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)
- 按传输技术分类:广播式网络、点对点网络
- 按拓扑结构分类:总线形网络、星形网络、环形网络、网状网络
- 按使用者分类:公用网、专用网
- 按传输介质分类:有线、无线
- 按交换技术分类:电路交换、报文交换、分组交换
1.6 计算机网络性能指标
1.6.1 速率
速率:指连接到网络上的结点在数字信道上传送数据的速率,也称数据传输速率、数据传输率、数据率或比特率。单位为b/s(比特/秒)或bit/s(有时也写为bps)。当数据率较高时,可用kb/s(k=103)、Mb/s(M=106)或Gb/s(G=109)表示。
1.6.2 带宽
带宽:在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据传输速率”的同义语,单位是比特/秒(b/s)。
1.6.3 吞吐量
吞吐量:指单位时间内通过某个网络(或信道、接口)的实际数据量。吞吐量常用在对实际网络的测量中,受网络带宽的限制。
1.6.4 时延
时延:指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的总时间,它由4部分构成:发送时延、传播时延、处理时延和排队时延。
1.6.5 时延带宽积
时延带宽积:指发送端发送的第一个比特即将到达终点时,发送端已发出了多少比特,又称以比特为单位的链路长度。即时延带宽积=传播时延×信道带宽。
1.6.6 往返时延
往返时延:指从发送端发出一个短分组,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认)总共经历的时延。在互联网中,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。
1.6.7 信道利用率
信道利用率:用以指出某个信道有百分之多少的时间是有数据通过的。
信道利用率=有数据通过时间/(有+无)数据通过时间
1.6.8 丢包率
2. 计算机网络体系结构
2.1 常见的计算机网络分层结构
分层的基本原则:
- 每层都实现一种相对独立的功能,降低大系统的复杂度。
- 各层之间的接口自然清晰,易于理解,相互交流尽可能少。
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应能促进标准化工作。
2.2 计算机网络分层的必要性
- 计算机网络是个非常复杂的系统。
- 分层可将庞大而复杂的问题,转化为若干较小的局部问题。
(下面是计算机网络面临的主要问题,以及这些问题划分的层次)
2.2.1 物理层解决的主要问题
- 采用怎样的传输媒体(介质)
- 采用怎样的物理接口
- 使用怎样的信号表示比特0和1
需要注意的是:严格来说,传输媒体不属于物理层,它不包含在体系结构中。
举例:在A电脑上使用QQ发送信息给B电脑上的QQ。物理层解决的就是将这组信息转换可在链路上传播的比特流。
2.2.2 数据链路层解决的主要问题
- 如何标识网络中的各主机(主机编址问题,例如MAC地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据(分组的封装格式问题)
- 如何协调各主机争用总线
举例:在一段网络上有A、B、C三台电脑。想让A电脑上QQ发送的信息传给B电脑上的QQ。数据链路层解决的就是将这组信息传送到B电脑而不是C电脑。同时保证此时A传给B的消息不会跟C传给B的消息在总线上产生碰撞堵塞。
2.2.3 网络层解决的主要问题
- 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
- 路由器如何转发分组,如何进行路由选择
举例:想让网络N1上的A电脑上QQ发送的信息传给网络N2上B电脑上的QQ,但这中间还包含着网络段N3、N4,所以传输路径不止一条。而网络层就是解决这组信息走那一段网络中的链路进行传输,路由器将分组转发到哪一标识IP地址的设备上。
2.2.4 传输层解决的主要问题
- 如何解决进程之间基于网络的通信问题
- 出现传输错误时,如何处理
举例:A电脑有QQ,B电脑上有微信和QQ。想让A电脑上QQ发送的信息传给B电脑上的QQ。传输层就是解决A上的信息传给B上的QQ,而不是B上的微信。当然如果数据出现误码,则会被处理。至于怎样处理就是传输层解决的问题。
2.2.5 应用层解决的主要问题
- 通过应用进程间的交互来完成特定的网络应用
举例:使用什么样的协议进行数据传输。例如使用http协议进行网页访问。应用层的作用就是指定应用层协议,并根据协议编写应用程序,通过应用进程间交互完成网络应用。
2.2.6 原理体系结构分层解决问题的总结
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 协议
协议:在网络中进行数据交换而建立的规则、标准或约定称为网络协议。网络协议是控制在对等实体之间进行通信的规则的集合、是水平的。
协议由语法、语义和同步三部分组成:
- 语法:数据与控制信息的格式。
- 语义:即需要发出何种控制信息、完成何种动作及做出何种应答。
- 同步(或时序):执行各种操作的条件、时序关系等,即时间实现顺序的详细说明。
2.3.6 接口
接口:同一结点内相邻两层间交换信息的连接点就是接口。而同一结点内相邻两层的实体交换信息的逻辑接口称为服务访问点(SAP)。每层只能为紧邻的层之间定义接口,而不能跨层定义接口。
2.3.7 服务
服务:是指下层为紧邻的上层提供的功能调用,是垂直的。对等实体在协议的控制下,使得本层能为上层提供服务,但要实现本次协议,还需要使用下层提供的服务。
当上层使用下层提供的服务时,必须与下层交换一些命令,这些命令称为服务原语。
OSI模型将原语划分为四类:请求、指示、响应、证实。
服务的三种分类方式:
面向连接服务与无连接服务
面向连接服务:通信前双方必须先建立连接。
无连接服务:通信前双方不需要先建立连接。
可靠服务和不可靠服务
可靠服务:网络具有纠错、检错、应答机制。
不可靠服务:网络的正确性、可靠性要由应用或用户来保障。
有应答服务和无应答服务
有应答服务:接收方在收到数据后向发送方给出相应的应答。
无应答服务:接收方在收到数据后不自动给出应答,如需应答,则由高层实现。
2.3.8 总结
3. OSI模型与TCP/IP模型
3.1 OSI参考模型
国际标准化组织(ISO)提出的网络体系结构模型称为开放系统互连参考模型,通常简称为OSI参考模型。
3.2 OSI模型各层应用
3.2.1 物理层
物理层主要任务是在物理媒体上实现比特流的透明传输。物理传输单位是比特。
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
物理层功能:
- 定义接口特性
- 定义传输模式(单工、半双工、双攻)
- 定义传输速率
- 比特同步
- 比特编码
主要协议:Rj45、802.3
3.2.2 数据链路层
数据链路层主要任务是把网络层传下来的数据报组装成帧(实现点到点传输)。数据链路层/练练车的传输单位是帧。
数据链路层功能:
- 物理寻址
- 成帧(定义帧的开始和结束)
- 差错控制(帧错+位错)
- 流量控制(相邻结点间)
- 访问(接入)控制(控制对信道的访问)
主要协议:SDLC、HDLC、PPP、STP
3.2.3 网络层
网络层主要任务是分组把源端传到目的端,为分组交换网上的不同主机提供通信服务(实现主机到主机的通信)。网络层的传输单位是数据报。
网络层的功能:
- 路由选择(最佳路径)
- 流量控制(整个网络中)
- 差错控制
- 拥塞控制
注意:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
3.2.4 传输层
传输层主要任务是负责主机中两个进程的通信,即端到端的通信(实现主机的进程之间的通信)。传输单位是报文段或用户数据报。
传输层功能:
- 可靠传输、不可靠传输
- 差错控制
- 流量控制(端到端)
- 复用分用(复用:多个应用层进程可同时使用下面运输层的服务。分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
主要协议:TCP、UDP
3.2.5 会话层
会话层的主要任务是向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步。
会话层功能:
- 建立、管理、终止会话
- 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
主要协议:ADSP、ASP
3.2.6 表示层
表示层用于处理在两个通信系统中交换信息的表示方式(语法和语义)
表示层的功能:
- 数据格式变换
- 数据加密解密
- 数据压缩和恢复
主要协议:JPEG、ASCLL
3.2.7 应用层
应用层:所有能和用户交换产生网络流量的程序。
典型的应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
3.3 OSI模型通信过程
3.4 TCP/IP参考模型
3.5 TCP/IP模型层次结构及各层的主要协议
注意:
- TCP/IP体系结构的网络接口层并没有规定具体的内容,这样做的目的是可以互连全世界各种不同的网络接口。因此本质上TCP/IP体系结构只有上面的三层。
- TCP向应用层提供可靠传输的服务;UDP向应用层提供不可靠传输服务。
3.6 OSI与TCP/IP模型的比较
3.6.1 相同之处
- 二者都采取分层的体系结构,且分层功能大体相似。
- 二者都是基于独立的协议栈的概念。
- 二者都可解决异构网络的互连,实现不同厂家生产的计算机之间的通信。
3.6.2 不同之处
- OSI参考模型精确定义了服务、协议和接口。而TCP/IP模型在这三个概念上没有明确区分。
- TCP/IP模型将OSI参考模型的表示层和会话层的功能合并到了应用层,还将数据链路层和物理层合并为网络接口层。
- OSI参考模型先有模型,后有协议规范,通用性良好,适合各种网络。TCP/IP模型先有协议栈,后有模型,因此不适合其他的非TCP/IP网络。
- OSI参考模型在网络层支持无连接和面向连接的通信,而在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,它在网际层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。
3.7 补充
补充一个写的挺好的大佬博客(详细且慷慨!):OSI七层模型、TCP/IP四层模型(超详细!!!!!)-CSDN博客