补充一些学习计算机网络时需要注意的知识点
0. 前言
参考教程
- 《计算机网络》—— 谢希仁
- 哈工大Mooc——李全龙
注:本文出现的图片来源于参考教程,侵删
1. 计算机网络体系结构
计算机网络基本结构描述的是计算机网络的一个概貌,而计算机体网络系结构描述的是从理论层面对计算机网络的一个抽象。一般情况下,我们采用分层结构去描述这个体系结构。
- 网络体系结构是从功能上描述计算机网络结构
- 计算机网络体系结构简称网络体系结构(network architecture)是分层结构
- 每层遵循某个/些网络协议完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合
- 体系结构是一个计算机网络的功能层次及其关系的定义
- 体系结构是抽象的
分层结构优点
- 结构清晰,有利于识别复杂系统的部件及其关系
- 模块化分层易于系统更新维护
-
- 任何一层服务实现的改变对其它层是透明的(所谓透明,是指不用关心该层级的具体信息,例如我们访问某个网站的时候不用去关心访问过程中在电缆中的传输的信号波长、电压等信息是怎么样的)
- 有利于标准化
1.1 OSI 参考模型
开放系统互连 (OSI)参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型。
OSI 七层模型
- 物理层:与实际物理链路交互,有机械、电气、功能、规程等特性。解决单一比特传输问题。
- 数据链路层:负责结点到结点的数据传输,理论上是将物理层的比特信息处理成帧,便于网络层从帧中提取到有效信息。
- 网络层:负责源主机到目的主机数据分组交付。
- 传输层:负责端到端进程间完整报文的传输。
- 会话层:对话控制,建立会话、维护会话。
- 表示层:数据表示转化,编码解码、加密解密、压缩解压等等。
- 应用层:支持用户通过浏览器或网络接口等用户代理使用服务。
实际
虽然理论上七层模型给出了一个非常不错的参考模型,并从理论上可以进行逐层封装、传输、接收、解析,但是实际上并没有提供可以实现的方法。
因此不用考试的读者上述模型简单了解一下即可。
1.2 TCP/IP 参考模型
TCP/IP 参考模型是一个由成功的实践总结出来的参考模型,因此时至今日,我们的网络体系结构基本上都参考或遵循 TCP/IP 参考模型。
TCP/IP 参考模型有四层:
TCP/IP 参考模型在底层的网络没有进行十分具体的限制,只需要能将基于IP的信息封装、分组,转发到目的地即可,具体实现方式多种多样,这是最终网络额能发展起来的重要原因。
1.3 五层参考模型
基于成功实践的 TCP/IP ,综合 OSI 理论的参考,我们可以总结出一个五层参考模型,这个五层参考模型是如今应用最广的参考模型。我们可以理解为五层参考模型是 TCP/IP 的具体实现,其中一些实现细节印证了 OSI 的理论,从而进一步总结出来的参考模型。
在其它参考文章中,对接下来每一层模型所涉及的具体功能、协议的具体学习与介绍中,基本上都是基于五层模型展开逐层讲解的。篇幅有限,逐层细化讲解我们日后再学习。
五层参考模型如图所示:
2. 协议概述
而协议是学习计算机网络的另一重点,本小节我们介绍协议的基本概念。
协议是控制两个对等实体(表示任何可发送或接收信息的硬件或软件进程)进行通信的规则的集合,协议是水平的。
协议三要素
- 语法:规则
- 语义:表达的含义
- 时序(或同步):时间顺序
协议特点
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是垂直的
- 下层协议的实现对上层的服务用户是透明的
- 同级系统相邻两层实体通过接口进行交互
3. 计算机网络基本概念
本小节我们介绍一些关于计算机网络的一些基本概念。
3.1 网络相关概念
网络
网络(network)由若干结点(node)和连接这些节点的链路(link)组成。
互联网
互联网是网络的网络(network of networks)。网络之间通过路由器互连起来。
Internet 因特网是世界上最大的互连网络。
主机
连接在因特网上的计算机都称为主机(host)
3.2 网络性能指标
速率
速率即数据率(data rate)或称数据传输速率或比特率(bit rate),单位时间(秒)传输信息(比特)量,常见单位:b/s(或bps)、kb/s、Mb/s、Gb/s
带宽
带宽(bandwidth)原本指信号具有的频带宽度,
即最高频率与最低频率之差,单位是赫兹(Hz)
网络的“带宽”通常是数字信道所能传送的“最高数据率”,单位:b/s (bps)
常用的带宽单位:
- kb/s (10^3 b/s)
- Mb/s(10^6 b/s)
- Gb/s(10^9 b/s)
- Tb/s(10^12 b/s)
延迟
传输过程中由于各种原因产生的时间消耗,例如分组交换中,分组在路由器缓存排队等。
时延带宽积
传播时延 乘以 带宽,以比特为单位的链路长度。
丢包率
受物理限制、噪声甚至是程序bug等各种原因的影响,可能存在丢包。
丢包率 = 丢包数 / 已分发组数
吞吐量
吞吐量:表示在发送端与接收端之间传送数据速率 (b/s)
- 即时吞吐量: 给定时刻的速率
- 平均吞吐量: 一段时间的平均速率