本篇博客是基于谢希仁编写的《计算机网络》和王道考研视频总结出来的知识点,本篇总结的主要知识点是第一章的计算机网络概述。
计算机网络概述
整体介绍
概念
计算机网络:是一个将分散的。具有独立功能的计算机系统,通过通信设备和线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
简单点说,计算机网络是互联的,自治的计算机集合。
功能
- 数据通信(连通性)
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
组成
- 按照组成部分划分: 硬件,软件,协议(一系列规则和约定的集合)
- 按照工作方式划分
- 边缘部分 用户直接使用(C/S方式——服务端客户端方式,P2P方式——PeertoPeer,所有的主机同时拥有服务提供者和服务消费者两种身份)
- 核心部分 为边缘部分服务
- 功能组成
- 通信子网 实现数据通信 (包括物理层,数据链路层,网络层)
- 资源子网 实现资源共享/数据处理(会话层,表示层,应用层)
分类
性能指标
速率
速率即数据率或称数据传输率或比特率(bit)。即将数据从主机传到信道上的速度。
一般位简写为小写字母“b”,字节简写为大写字母“B”。
单位换算如下:
带宽
计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s。就是管道的最大流量。
以豌豆射手举例,假设1b/s是指每秒发出一个炮弹,那2b/s就是每秒发出两个炮弹,但是炮弹飞行的速度是不变的。
吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s,kb/s,Mb/s等。就是某一个时刻的管道中的流量。
吞吐量受网络的带宽或网络的额定速率的限制。
以公园为例,假设公园每秒最多进100人(带宽),但是现在只有30个人进入公园,所以吞吐量就是30人/s.
时延
指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
排队时延和处理时延类似于火车站排队进站时的场景,排队时间就是排队时延,安检时间就是处理时间。
时延带宽积
时延带宽积=传播时延 X 带宽
时延带宽积又称为以比特为单位的链路长度。即“以单位传播时延乘以电磁波在信道上的传播速率得到的长度的这段段链路现在有多少比特”。
往返时延RTT
从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。
RTT = 往返传播时延(传播时延*2)+ 末端处理时延(基本忽略不计)
利用率
体系结构&参考模型
分层结构
分层的基本原则
- 各层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分割开。每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应该能促进标准化工作。
分层结构中的概念
1.实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
2.协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平】
- 语法:规定传输数据的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的顺序
3.接口(访问服务点SAP) :上层使用下层服务的入口。
4.服务:下层为相邻上层提供的功能调用。【垂直】
上一层的PDU变成下一层的SDU。
ISO/OSI模型
五层参考模型是为了方便学习而划分出来的,实际上并没有这个模型。
使用OSI模型时的通信过程
上面四层是端到端的通信,下面三层是点到点的通信
接下来会介绍一下各个层对数据传输的作用
1.应用层
所有能和用户交互产生网络流量的程序。如QQ,浏览器等
典型的应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
2.表示层
用于处理在两个通信系统中交换信息的表示方式(语法和语义)
功能:
- 数据格式变换(翻译官)
- 数据加密解密
- 数据压缩和恢复
3.会话层
向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步(SYN)。
功能:
- 建立、管理、终止会话
- 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。适用于传输大文件。
4.传输层
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
功能:
- 可靠传输,不可靠传输(一般用于小文件)
- 差错控制(用来处理传输过程中出现的错误)
- 流量控制(当两台主机处理数据的速度不匹配时,会对速度过快的主机进行控制)
- 复用分用
- 复用:多个应用层进程可同时使用下面运输层的服务。
- 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
5.网络层
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。把数据报进行切割后,就是分组。
功能:
- 路由选择(选择最合适的路由来传递数据)
- 流量控制
- 差错控制
- 拥塞控制(若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定撒施,缓解这种拥塞。)
6.数据链路层
主要任务是把网络层传下来的数据报组装成帧。
数据链路层/链路层的传输单位是帧。
功能:
- 成帧(定义帧的开始和结束)
- 差错控制
- 流量控制
- 访问(接入)控制(控制对信道的访问)
7.物理层
主要任务是在物理媒体上实现比特流的透明传输。
物理层传输单位是比特。
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
功能:
- 定义接口特性
- 定义传输模式
- 单工 接受方和发送方已经确定,不能更改
- 半双工 介于两者之间。同一时间段内,只能有一个接受方或发送方,但是身份可以调换。
- 双工 可以同时当做接收方和发送方,类似于打电话
- 定义传输速率
- 比特同步
- 比特编码
TCP/IP模型
区别
开放式系统互联模型(OSI)是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型(OSI)中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型(OSI)。两者的主要区别如下:
TCP/IP协议中的应用层处理开放式系统互联模型(OSI)中的第五层、第六层和第七层的功能。
TCP/IP协议中的传输层不能保证数据包在该层总是能够安全可靠地传输,而开放式系统互联模型(OSI)可以做到。
TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。