1 概述
目录
1.1 1 计算机网络在信息化时代的作用
三大网络
- 电信网络:电话,电报 and 传真
- 有线电视网络:电视
- 计算机网络:用户间传送数据文件
三网融合
译名
Internet
- 因特网:官网推荐,但使用不多
- 互联网:实际上的标准译名
互连网(internet):局部连接起来的计算机网络
基本特点
计算机网络是一个分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享(比如打印机)和信息传递的系统。
万维网: World Wide Web 网页浏览技术
1.2 互联网概述
- 计算机网络(网路)
- 节点(计算机,集线器,交换机,路由器等)
- 链接节点的链路
网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接再一次。与网络相连的计算机一般称为主机。
计算机网络发展简史(三个阶段)
- 单个网络 ARPANET(1983 年接受了 TCP/IP 协议进化成了互联网)
- 建成了三级结构的互联网(校/企业级,地区网,主干网)
- 全球范围的多层次 ISP 结构的互联网(交给企业运维了)
硬件+软件+协议
计算机网络的标准化工作
互联网协会 ISOC(Internet Society)下的 互联网体系结构委员会 IAB(Internet Architecture Board)负责互联网有关协议的开发
下面有 2 个工程部
- IETF(互联网工程部):互联网工程指导小组
- IRTF(互联网研究部):互联网研究指导小组
RFT:Request For Comments 文档
RFC 是一系列的文档,记录了互联网的发展历史,是互联网的标准。
- 编写因特网草案,发送到 IETF
- IETF 讨论,形成正式的 RFC(建议标准)
- 请求评论,修改,通过审核,成为正式标准
国际标准化组织 ISO OSI 参考模型、HDLC 协议
国际电信联盟 ITU 制定通信规则
国际电气电子工程师协会 IEEE 学术机构、IEEE802 系列标准、5G
Internet 工程任务组 IETF 负责因特网相关标准的制定 RFC XXXX\
1.3 互联网组成
边缘部分
- 构成:端系统
- 作用:
- 资源共享
- 资源子网
- 实现资源共享
- 包括上三层:会话层、表示层、应用层
- 工作方式
- C/S:Client,Server(非对等)
- P2P:对等
C/S
模型中的Client
和Server
是指运行在计算机上的进程,注意同User
用户(人)区分(人不包含在这个网络之内)
核心部分
- 构成:路由,网络,线路
- 作用:
- 数据高速传递
- 通信子网
- 实现数据通信
- 包括下三层:物理层、数据链路层、网络层
- 中间的叫传输层
工作方式
- 电路交换网
报文的比特流连续得从源点直达终点
时分复用
端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高。
- 报文交换网
整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点
存储转发
无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。
- 分组交换网
报文的一部分作为单个分组,传输到相邻节点,储存下来后查找转发表,转发到下一个节点
存储转发
具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好。
- 报文划分为分组,加首部
- 经路由器储存转发
- 在目的地合并
1.4 计算机网络在我国的发展
随便记一点就行
- 1996 年,张朝阳,搜狐(搜索引擎)
- 1997 年,网易丁磊,163 邮箱,中文搜索引擎
- 1998 年,王志东,新浪
1.5 网络的分类
按分布范围分类
- 广域网 WAN(Wide Area Network):通常范围几十到几千公里
- 城域网 MAN(Metropolitan Area Network):一般范围是一个城市,5-50km
- 局域网 LAN(local area network):范围小,一般在一个建筑物内
- 个人区域网 PAN(personal area network):范围小,个人使用
按使用者分类
- 公用网:用于公共通信
- 专用网:用于特定的需求
按交换技术分类
- 电路交换
- 报文交换
- 分组交换
按拓扑结构分类
常用于局域网
- 总线型
- 星型
- 环型
- 网状型
按传输技术分类
- 广播式:共享信道
- 点对点式:使用分组存储转发和路由选择技术
接入网 AN(ACCESS NETWORK)
将用户接入到网络的部分,是用户与网络之间的接口
1.6 计算机网络的性能
7 个常用性能指标
速率
1b/s = 1bps = 1bit/s
1B/s = 1Bps = 1byte/s = 8bps = 8bit/s
1Kb/s = 1Kbps = 1000bps
1Mb/s = 1Mbps = 1000Kbps
1Gb/s = 1Gbps = 1000Mbps
1Tb/s = 1Tbps = 1000Gbps
相比于内存的区别(注意查看大小写)
1B = 8b
1KB = 2^10B = 1024B
1MB = 2^20B = 1024KB
1GB = 2^30B = 1024MB
1TB = 2^40B = 1024GB
带宽
单位:bit/s(或者 bps) 比特每秒
最高数据传输速率
区别于信号的频带宽度:信号的频带宽度是指信号中包含的频率范围,单位是 Hz
吞吐量
单位:bit/s(或者 bps) 比特每秒
反应实际的数据传输速率,一般根据情况计算上传或者下载速率。(比如个人电脑只看下载,因为上传的数据比较少)
时延
- 发送时延:从数据开始发送到全部发送到链路上的时间 = 数据长度 / 信道带宽(发送速率(虽然实际可能达不到信道带宽的速度))
- 传播时延:从数据全部发送到链路上到全部到达接收端的时间 = 传播距离 / 传播速率(链路上光速)
- 排队时延:从数据到达路由器到开始处理的时间
- 处理时延:路由器处理数据的时间(查找路由表,差错检测,决定转发接口等)
例题 1
x(bit) k(段链路) 传播时延 d(s/段) 数据发送速率 b(b/s) 电路交换时建立电路花费 S(s) 分组大小为 p(bit) 排队时延忽略,问分组交换和而电路交换的时延
T 电路交换 = T 发送 + T 传播 + T 建立电路 = x/b + d*k + S
T 分组交换 = T 发送 + T 传播 + T 处理 = x/b + d*k + (k-1)*p/b
这里体现了分组交换的优势,前面的分组到达节点之后就可以直接发从出去,而不用等待后面的数据,这样中间的发送时延只要(k-1)*p/b
就行了
例题 1 拓展
每个分组添加大小为 h(bit)的首部
T 分组交换 = T 发送 + T 传播 + T 处理 = (p+h)*x/b/p + d*k + (k-1)*(p+h)/b
时延带宽积
单位:bit
链路上的比特数(理解为容积)
时延带宽积(bit) = 传播时延(s) * 带宽(bit/s)
往返时间 RTT
单位:s
数据往返一段链路需要的时间,个人简单理解为 (传播时延 + 排队时延 + 处理时延) *2
RTT = 传播往返时延(传播时延 * 2) + 末端系统处理时延
实际应用:
假设场景为 A 向 B 发送一段数据,然后 B 收到数据后立刻返回一个确认信息
发送数据 100 bit,发送时间 1s,RTT 1s,所以发送速度是 100bit/s
有效数据率 = 数据长度/(发送时间 + RTT) = 50bit/s
可以看到实际的传播速度减少了一半
利用率
信道利用率 = 信道有数据通过的时间 / 信道总时间
网络利用率 = 信道利用率的加权平均值
当信道利用率接近 1 时,时延会很大。
D0 = 网络空闲时的时延 D = 网络当前的时延 U = 利用率(0-1)
计算机网络非性能特征
- 费用
- 质量
- 标准化
- 可靠性
- 可拓展性和可升级性
- 易于维护管理
1.7 计算机网络体系结构
参考资料:
计算机网络交流的过程是复杂的,以简单的两设备链接为例子
- 保证链路在物理上连通
- 识别数据来源
- 确认对方开机,网络通畅
- 对方是否能正常接收文件
- 数据是否完整,如果丢失了需要重传
- ……
将服务分层,有助于理解和设计网络。
- 1974 年 IBM 宣布了系统网络体系结构 SNA
- 1977 年 ISO 成立机构研究开放系统互连基本参考模型 OSI/RM(Open System Interconnection Reference Model)
- 1983 年 ISO 形成 OSI/RM 模型正式文件(ISO 7498)(法律上的国际标准)
- 但是 TCP/IP 协议比 OSI标准 更早被发行出来,并且大量应用(成了事实上的国际标准),以至于 OSI标准 一直没有被广泛使用
- ISO7498的实际问题有太过于复杂,制定周期太长,功能划分不合理等等
一个典型的分层结构模型如下:
参考上图的一些解释:
- 同级别的有协议,上下级有接口
- 下层对上层提供服务,上层使用下层的服务(单向)
- 每一层都独立于其他层,只与相邻的层发生联系
- 不同机器上的同一层称为对等层,同一层的实体称为对等实体
- 每一层会对上一层的服务数据单元(SDU)(上一层必要的服务数据)进行封装:加上自己的协议控制信息(PCI),有需要会添加尾部信息(比如上图中的 2 层),这样就形成了一个协议数据单元(PDU)(用于在对等层之间传输),然后再传给下一层。
nSDU + nPCI = (n-1)PDU
协议
通信双方为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,简称协议。即协议是控制两个对等实体进行通信的规则的集合
在协议控制辖两个对等实体间的通信使得本层能向上一层提供服务,逻辑上表现为不经过下层就把信息水平地传送到对方
网络协议的三要素:
- 语法(数据与控制信息的结构或格式)
- 语义(需要发出何种控制信息,完成何种动作以及做出何种应答)
- 时序(也称同步,即事件实现顺序的详细说明)
接口
在同一系统中相邻两层的实体进行交互的地方为接口,通常称为服务访问点 SAP,定义了下层向上层提供哪些原语操作和服务
服务
服务指下层向相邻上层通过层间接口提供的功能调用。在协议的控制下,上层对下层进行调用,下层对上层进行服务,上下层间用交换原语交换信息。
计算机网络提供的服务可以分为以下三类:
- 面向连接的服务和无连接服务
- 有应答服务和无应答服务
- 可靠服务与不可靠服务
常见的参考模型:
- OSI
- TCP/IP
- 五层协议体系结构
ISO/OSI 参考模型
国际标准化组织 ISO(International Organization for Standardization)提出了一个开放系统互联参考模型(Open System Interconnection Reference Model,简称 OSI 参考模型),它是一个抽象的概念模型,是对计算机互联体系结构的一种功能分层方法。
由于各种原因(发的时间太晚,应用麻烦等),OSI 参考模型并没有被广泛使用,但是它对于理解计算机网络的体系结构和设计网络协议仍然有重要意义。
上三层被称为资源子网,实现资源共享;下三层被称为通信子网,实现数据通信;中间是传输层。
应用层
允许访问 OS 环境的手段,提供面向用户的界面
为网络用户提供分布式应用环境和编程环境,提供面向用户的界面,使得用户可以利用这些程序完成实际的工作
表示层
对数据进行翻译、转换数据格式、加密、解密和压缩
关注的是所传递信息的语法和语义,提供统一的网络数据表示
会话层
建立、管理和终止会话、通信同步错误恢复和事务操作
也称对话层,主要是对会话过程的控制,所提供的会话服务主要分为会话连接管理与会话数据交换两大部分
传输层
提供端到端的可靠保文传递和错误恢复
也称运输层,基本功能是接收来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并且确保这些数据单元正确地到达另一端,即提供端到端的数据传输控制功能
网络层
负责数据包从源到宿的传递(路由选择)和网际互连
主要功能是控制通信子网的运行,在通信子网中进行路由选择和通信流控制,用于解决如何将源端发出的分组经过各种途径送到目的端。网络层的关键问题是对分组进行路由搜索和选择,并实现流量控制和拥塞控制,为传输层提供服务
数据链路层
将比特组装成帧、点到点的传递、错误检测和校正。
主要任务是加强物理层的传输功能,建立一条无差错的 传输线路,功能是在相邻结点之间可靠地传输数据帧,包括将物理层传输的比特组合成帧,确定帧界及速率,差错检测和流量控制等
物理层
通过传输介质透明地传输原始比特流。
确定如何在一条通信信道上传输原始比特,功能是在物理媒体上为数据端设备透明地传输原始比特流
TCP/IP 参考模型
应用层
相当于 OS 的会话层、表示层、应用层三层的功能
传输层
和 OS 的传输层类似,允许源主机和目标主句上的对等实体进行对话
网络层
大致对应 OS 的网络层,允许主机不需要先建立连接就可以将数据分组直接注入到任何网络,将 P 分组投递到他们要去的地方
网络接口层
类似于 OS 的物理层和数据链路层,负责把 IP 分组发送到传输介质上以及从传输介质上接收 IP 分组
五层协议体系结构
应用层
提供系统与用户的接口
传输层
负责主机中两个进程间的通信
网络层
将传输层传下来的报文段封装成分组,选择适当路由
数据链路层
将网络层传下来的 P 数据报组装成帧
物理层
透明地传输比特流