概论
什么是 Internet
从具体构成角度
结点
- 主机及其上运行的应用程序 (主机 = 端系统)
- 路由器、交换机等网络交换设备(分组交换设备: 转发分组)
边:通信链路
- 接入网链路(access):主机连接到互联网的链路
- 主干链路(backbone): 路由器之间的链路
传输速率 = 带宽(bps)
协议
协议定义了在两个或多个通信实体之间交换的 报文格式 和次序,以及在报文传输和/或接受或其他事件方面所采取的动作
- Internet 所有的通信行为都受到协议制约
协议的三要素:
- 语法(Syntax): 数据与控制信息的结构或格式、信号电平
- 语义(Semantics):需要发出何种控制信息、完成何种动作以及做出何种响应、差错控制
- 时序(Timing) :事件顺序
从服务角度看
- 使用通信设备进行通信的 分布式应用
- 通信基础设施为apps提供编程接口(通信服务)
1> 将发送和接收数据的apps与互联网连接起来
2> 为app应用提供服务选择,类似于邮政服务: 无连接不可靠服务(UDP) and 面向连接的可靠服务(TCP)
网络边缘
网络结构
可以分为网络边缘,网络核心,接入网
网络边缘
- 主机
- 应用程序(客户端和服务器)
网络核心
- 互连着的路由器
- 网络的网络
接入网、物理媒体
有线或者无线通信链路
应用进程通信的模式
端系统(主机)
- 运行应用程序如 Web、email
- 在网络的边缘
客户/服务器模式
- 客户端向服务器请求、接受服务
- 如Web浏览器/服务器, email客户端/服务器
对等模式(peer-peer)模式
- 很少(甚至没有)专门的服务器
- 如 Gnutella、KaZaA、Emule
采用网络设施的面向连接服务
目标:在端系统之间传输数据
握手:在传输数据前做好准备
- 人类协议中:你好,你好
- 两个通信主机之间为连接建立状态
TCP 传输控制协议
Internet 面向连接的服务
- 可靠的、按顺序地传送数据(确认和互传)
- 流量控制(发送方不会淹没接收方)
- 拥塞控制(当网络拥塞时,发送方降低发送速率)
采用基础设施的无连接服务
目标:在端系统之间传输数据
UDP (用户数据报协议)
- 无连接
- 不可靠数据传输
- 无流量控制
- 无阻塞控制
使用TCP的应用:
HTTP(Web)、FTP(文件传送)、Telnet(远程登录)、SMTP(email)
使用UDP的应用:
流媒体、远程会议、DNS、Internet电话
网络核心
网络核心:路由器的网状结构
网络核心的关键功能:路由 + 转发
基本问题:数据怎样通过网络进行传输
- 电路交换
- 分组交换
电路交换
为每个交换预留一条专用电路,如电话网
为呼叫预留端-端资源
- 链路带宽、交换能力
- 专用资源:不共享
- 保证性能
- 要求建立呼叫连接
如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
多路复用技术
频分多路复用方法(FDM)
- 频分多路复用的各用户占用不同的带宽资源(指频率带宽(单位Hz) 而不是数据的发送速率)
- 用户在分配到一定频带后,在通信过程中自始自终使用这个频带
时分多路复用方法(TDM)
- 将时间划分为一段段等长的时分复用帧(TDM帧), 每个用户在每个TDM帧中占用固定序号的时隙
- 每个用户占用的时隙是周期性出现 (其周期就是 TDM 帧的长度)
- 时分复用的所有用户是在不同的时间占用相同的频带宽度
波分多路复用方法(WDM)
码分多路复用(CDM)
广泛应用于无线链路共享(蜂窝网、卫星通信)
报文交换
报文:源(应用)发送信息的整体 (比如一个文件)
分组交换
- 分组:将要传送的数据分成一个个单位
- 将分组从路由器传到相邻路由器(hop),一段段最终从源端传到目标端
- 每段:采用链路的最大传输能力(带宽)
- 分组交换需要报文的拆分和重组
- 产生额外的开销
- 相比电路交换,允许更多用户同时访问网络(网络资源充分共享)
- 适用于突发数据传输网络
- 可能产生拥塞(congestion) , 分组延迟和丢失(需要协议处理可靠的数据传输和拥塞控制)
统计多路复用
分组交换的报文交付时间
电路交换、报文交换、分组交换对比
报文交换与分组交换都采用 存储-转发 交换方式
接入网
数字用户线路(DSL)
电缆网络
Internet结构
- 端系统通过接入ISP连接到Internet
- 接入ISP必须进一步互联
- 构成复杂的网络互连的网络
计算机网络性能
速率、带宽、延迟
速率
速率即数据率或称数据传输速率或比特率
- 单位时间(秒)传输信息量(比特)
- 计算机网络中最重要的一个性能指标
- 单位:b/s(或bps) 、 kb/s 、 Mb/s 、 Gb/s
- K = $10^{3}$ 、 M = $10^6$ 、 G = $10^9$
速率往往是指额定速率或标称速率
带宽
网络中的 带宽 通常是数字信道所能传送的 最高数据率 , 单位:b/s(bps)
常用的带宽单位
- kb/s ( $10^3$ bps)
- Mb/s ( $10^6$ bps)
- Gb/s ( $10^9$ bps)
- Tb/s ( $10^{12}$ bps)
延迟/时延(delay 或 latency)
Q: 为什么分组交换中会发生丢包和时延
A: 分组在路由器缓存中排队
- 分组达到速率超出输出链路容量时
- 分组排队、等待输出链路可用
四种分组延迟
时延带宽积、丢包率、吞吐量
时延带宽积
链路的时延带宽积又称为 以比特为单位的链路长度
分组丢失(丢包)
丢包分组可能由前序结点或源重发
吞吐量/率(Throughput)
吞吐量: 表示发送端与接受端之间传送数据速率(b/s)
- 即时吞吐量:给定时刻的速率
- 平均吞吐量:一段时间的平均速率
瓶颈链路:端到端的路径中,限制端到端吞吐量的链路
计算机网络体系结构
计算机体系结构概述
- 网络体系结构是从功能上描述计算机网络结构
- 计算机网络体系结构简称网络体系结构, 是分层结构
- 每层遵循某个/些网络协议完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合
- 体系结构是一个计算机网络的功能层次及其关系的定义
- 体系结构是抽象的
分层网络体系结构基本概念
- 实体(entity): 表示任何可发送或接受信息的硬件和软件进程
- 协议是控制 两个对等实体 进行通信的规则的集合,协议是 水平的
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是垂直的
- 下层协议的实现对上层的服务用户是 透明的
- 同系统的相邻层实体间通过 接口 进行交互, 通过 服务访问点(SAP)(Services Access Point),交换原语, 指定请求的特定服务。
OSI参考模型
OSI参考模型解释的通信过程
OSI参考模型数据封装与通信过程
为什么需要数据封装
- 增加控制信息
- 控制信息包括:
- 地址:标识发送端/接受端
- 差错检测编码:用于差错检测或纠正
- 协议控制(Protocol control): 实现协议功能的附加信息(优先级、服务质量、安全控制等)
物理层功能
- 接口特性
机械特性、电气特性、功能特性、规程特性
- 比特编码
- 数据率
- 比特同步
时钟同步 - 传输模式
单工(Simplex)、半双工(half-duplex)、双工(full-duplex)
数据链路层功能
- 负责 结点-结点(node-to-node)数据传输
- 组帧(Framing)
- 物理寻址(Physical addressing)
在帧头中增加发送端和/接受端的物理地址标识数据帧的发送端或接受端
- 流量控制(Flow control)
避免淹没接受端
- 差错控制(Error control)
检测并重传损坏或丢失帧,并避免重复帧
- 访问(接入)控制(Access control)
在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
网络层功能
负责源主机到目的主机数据分组(packet)交付
可能穿越多个网络
逻辑寻址(Logical addressing)
全局唯一 逻辑地址,确保数据分组被送达目的主机,如IP地址路由(Routing)
路由器或网关互连网络,并路由分组至最终目的主机 路径选择
分组转发
传输层功能
- 负责 源-目的(端-端)(进程间)完整报文传输
- 分段与重组
- SAP寻址
确保将完整报文提交给正确进程,如端口号
- 连接控制
- 流量控制
- 差错控制
会话层功能
- 对话控制(dialog controlling)
建立、维护
- 同步(synchronization)
再数据流中插入同步点
- 最“薄”的一层
表示层功能
处理两个系统间交换信息的语法和语义问题
- 数据表示转换
转换为主机独立的编码
- 加密/解密
- 压缩/解压缩
应用层功能
- 支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
- 典型应用层服务
文件传输(FTP) 电子邮件(SMTP) Web(HTTP)
TCP/IP参考模型
五层参考模型
结合了 OSI
和 TCP/IP
的优点
- 应用层:支持各种网络应用
FTP, SMTP, HTTP
- 传输层:进程-进程的数据传输
TCP, UDP
- 网络层:源主机到目的主机的数据分组路由与转发
IP协议, 路由协议等
- 链路层:相邻网络元素(主机、交换机、路由器等)的数据传输
以太网(Ethernet)、802.11(WiFi)、PPP
- 物理层:比特传输