一. 计算机网络性能
速率
速率即数据率(data rate)或称数据传输速率或比特率(bit rate)
- 单位时间(秒)传输信息(比特)量
- 计算机网络中最重要的一个性能指标
- 单位:b/s(或bps),kb/s,Mb/s,Gb/s
- k=103,M=106,G=109
- 速率往往是指额定速率或标称速率
带宽
- “带宽”(bandwidth)原本指信号具有的频带宽度,即最高频率和最低频率之差,单位是赫兹(Hz)
- 网络中的"带宽"通常是数字信道所能传送的"最高数据率",单位:b/s(bps)
- 常用的带宽单位:
- kb/s (103b/s)
- Mb/s(106b/s)
- Gb/s(109b/s)
- Tb/s(1012b/s)
每秒传输的比特量速率
数字信道传输的最高速率带宽
延迟/时延(delay/latency)
- Q:分组交换为什么会发生丢包和时延?
- A:分组在路由器缓存中排队
- 分组到达速率超出输出链路容量时间
- 分组排队,等待输出链路可用
分组交换产生延迟和丢包的原因:
在图示分组交换网络中:
- A:数据分组到达路由器
- 路由按照存储转发的的形式存储数据分组(暂存)
- 确定分组所在的链路,进行转发
- 正在进行转发的分组会占用进程,其他分组进入等待(排队延迟)
- 进入转发的分组以bit为单位进行传输,传输完成所消耗的时间称为传输延迟
- 路由器可用缓存: 如果缓存满,到达分组被丢弃 -丢包(loss)
四种分组延迟
数据分组从到达路由器节点到被转发到下一个路由器节点所用时间(产生的时延)
dproc:节点处理延迟(nodal processing delay),对分组的处理
- 差错检测
- 确定输出链路
- 通常<msec
dqueue : 排队延迟(queueing delay)
- 等待输出链路可用
- 取决于路由器拥塞程度
dtrans:传输延迟(transmission delay)
- 发送一个分组所需时间
- L:分组长度(bits)
- R:链路带宽(bps)
- dtrans =L/R
dprop: 传播延迟(propagation delay)
- 信号从一节点传输到下一节点所需时间
- 光信号,无线电波信号,同轴电缆信号
- d:物理链路长度
- s:信号传播速度(~2x108m/sec)(0.7倍光速)(铜缆中)
- dprop=d/s
dnodal=dproc+dqueue+dtrans+dprop
类比车队
排队延迟
- R:链路宽度(bps)
- L:分组长度(bits)
- a:平均分组到达率
- 流量强度(traffic intensity)=La/R
- La/R->0,说明平均排队延迟很小
- La/R->1,说明平均排队延迟很大
- La/R>1,说明超出服务能力,平均排队延迟无限大
时延带宽积
时延带宽积 = 传播时延 * 带宽 =dprop * R (bits)
- 链路的时延带宽积又称为以比特为单位的链路长度
分组丢失(丢包)
丢包满足条件:
- 路由器缓存队列容量有限
- 分组到达路由器时,队列已满,数据分组将被丢弃(即丢包)
- 丢弃分组可能由前序结点或源重发(也可能不重发)
吞吐量/率(Throughput)
- 吞吐量:表示在发送端与接收端之间传送数据率(b/s)
- 即时吞吐量:给定时刻的速率
- 平均吞吐量:一段时间的平均速率
- 端到端的吞吐量取决于瓶颈链路(bottleneck link)
- 端到端路径上,限制端到端吞吐量的链路.min{Rs(bps),Rc(bps)}
- 端到端路径上,限制端到端吞吐量的链路.min{Rs(bps),Rc(bps)}
吞吐量:Intenet场景
- 每条“连接”的端到端吞吐量: min(Rc,Rs,R/10)
- 实际网络: Rc 或 Rs 通常是瓶颈
二. 计算机网络体系结构
计算机网络是一个非常复杂的系统,涉及许多组成部分:
- 主机==>hosts
- 路由器==>routers
- 各种链路==>links
- 应用==>applications
- 协议==>protocols
- 硬件,软件…etc
question==>是否存在一种结构用来有效描述网络?
answer==>分层结构
- 网络体系结构是从功能上描述计算机网络结构
- 计算机网络体系结构简称网络体系结构(network architecture)是分层结构
- 每层遵循某个/些网络协议完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合(范围)
- 体系结构是一个计算机网络的功能层次及其关系的定义
- 体系结构是抽象的
- question==>为什么使用分层结构?
- answer:
- 结构清晰,有利于识别复杂系统的部件及其关系
- 分层的参考模型(reference model )
- 模块化的分层易于系统更新、维护
- 任何一层服务实现的改变对于系统其它层都是透明的
- 例如,登机过程的改变并不影响航空系统的其它部分(层)
- 有利于标准化
- 分层是否有不利之处?
- 分层层数太多容易导致效率减低
- 分层层数太多容易导致效率减低
- 结构清晰,有利于识别复杂系统的部件及其关系
分层网络体系结构基本概念
- 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
- 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的” 。
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
- 下层协议的实现对上层的服务用户是透明的。
- 同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP (Service Access Point),交换原语,指定请求的特定服务。
三. OSI参考模型
- 开放系统互连 (OSI)参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型
- 意图==>目的是支持异构网络系统的互联互通
- 异构网络系统互连的国际标准
- 理解网络通信的最佳学习工具(理论模型)
- 理论成功,市场失败
- 7层(功能),每层完成特定的网络功能
- 网络层及以下层称为实通讯或称物理通讯
- 发送自上而下,接收自下而上
- 将要传输的信息进行打包+遵循该层协议的一些控制信息称为该层的头构成协议数据单元PDU
- 例如 应用层==>applicationheader==>AH==>A-PDU
- 数据链路层回加"头DH"加"尾DT"
- 物理层不加任何信息,转化为比特流在网络信道中进行传输
为什么要进行数据封装
- 增加控制信息
- 构造协议数据单元 (PDU)
- 控制信息主要包括:
- 地址(Address): 标识发送端/接收端
- 差错检测编码(Error-detecting code): 用于差错检测或纠正
- 协议控制(Protocol control): 实现协议功能的附加信息,如: 优先级(priority)、服务质量(QoS)、 和安全控制等
物理层(解决单一比特传输,传输单位:bit)
- 物理层的功能==>实现具体物理介质上对比特的传输
- 接口特性==>定义和规范接口特性
- 机械特性==>接口形状
- 电气特性==>使用的电平,电压
- 功能特性==>引脚功能
- 规程(过程)特性==>接口过程过程需要遵循某种过程
- 比特编码==>解决0/1信号如何表示
- 数据率==>与介质和通讯网络有关
- 比特同步
- 时钟同步
- 传输模式
- 单工(Simplex)==>只能单向(通信)传输
- 半双工(half-duplex)==>交替双向(通信)传输
- 全双工(full=duplex)==>同时双向传输
- 接口特性==>定义和规范接口特性
数据链路层(传输单位:帧)
- 数据链路层的功能
- 负责结点-结点(node-to-node)数据传输
- 组帧(Framing)
- 物理寻址(Physical addressing)
- 在帧头中增加发送端和接收端的物理地址标识数据帧的发送端和接收端
- 流量控制(Flow control)
- 避免淹没接收端
- 差错控制(Eorror control)
- 检测并重传损坏或丢失帧,避免重复帧
- 访问(接入控制)(Access control)
- 在任意给定时刻决定给哪个设备拥有链路(物理介质)控制使用权
- 在任意给定时刻决定给哪个设备拥有链路(物理介质)控制使用权
网路层(源主机到目的主机可以跨越网络跨越多个链路的数据分组传输)
- 网络层功能(源主机到目的主机可以跨越网络跨越多个链路的数据分组传输)
- 负责源主机到目的主机数据分组(packet)交付
- 可能穿越多个网络
- 逻辑寻址(Logical addressing)
- 全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址
- 路由(Routing)
- 路由器(或网关)互联网络,并路由分组至最终目的主机
- 路径选择
- 负责源主机到目的主机数据分组(packet)交付
- 分组转发
传输层(负责源-目的(端到端)(进程间)完整报文传输)
- 传输层功能
- 报文的分段和重组
- SAP寻址
- 确保将完整报文提交给正确进程,如端口号
- 连接控制(逻辑链接)
- 流量控制
- 差错控制
会话层(对话管理)
- 会话层功能
- 对话控制(dialog controlling)
- 建立,维护
- 同步(synchronization)
- 在数据流中插入"同步点"
- 最"薄"的一层
- 对话控制(dialog controlling)
表现(示)层(解决系统间交换信息的语法和语义问题)
- 表示层功能==>处理两个系统间交换信息的语法和语义(syntax and semantic)
- 数据表述转化
- 转换为主机独立的编码
- 加密/解密
- 压缩/解压缩
- 数据表述转化
应用层(提供网络服务接口)
- 应用层功能==>支持用户通过用户代理(如 Browser/net interface) 使用网络服务
- 典型应用层服务
- 文件传输(FTP)
- 电子邮件(SMTP)
- Web(HTTP)
- etc…
四. TCP/IP
五. 五层参考模型
- 综合OSI和TCP/IP的优点
- 应用层:支持各种网络应用
- FTP,SMTP,HTTP
- 传输层:进程-进程的数据传输
- TCP,UDP
- 链路层:源主机到目的主机的数据分组路由与转发
- IP协议,路由器协议等
- 物理层:相邻网络元素(主机,交换机,路由器等)
- 以太网(Ethernet),802.11(WIFi),PPP
- 物理层:比特传输
六. 计算机网络与internet发展历史
1961-1972:早期分组交换原理的提出和应用
- 1961:Kleinrock-排队论
- 证实分组交换的有效性
- 1964:Baran-分组交换
- 应用于军事网络
- 1967:ARPA(Advanced Research Projects Agency) 提出ARPAnet构想
- 1969:第一个ARPAnet节点运行
A
- 1972:
- ARPAnet公开演示
- 第一个主机-主机协议NCP(Network ContrAol Protocol)
- 第一个e-mail程序
- ARPnet拥有15个结点
1972-1980:网络互联,大量新型,私有网络涌现
- 1970:在夏威夷构建了ALOHAnet卫星网络
- 1974:Cerf与Kahn-提出网络互联体系结构
- Cerf和Kahn网络互联基本原则
- 极简(minimalism),自治(autonomy) - 无需改变内部网络实现网络互连
- 尽力服务(best effort service)模型
- 无状态路由器
- 分散控制
- 奠定了当今Internet体系结构
- 1976:Xerox设计了以太网
- 70’s后期:
- 私有网络体系结构:DECnet,SNA,XNA
- 固定长度分组交换(ATM先驱)
- 1975:ARPAnet移交美国国防部通讯局管理
- 1979:ARPAnet拥有200个结点
1980-1990:新型网络协议与网络的激增
- 1983:第一次在ARPAnet上部署TCP/IP
- 1982:定义了SMTP电子邮件协议
- 1983:定义了DNS
- 1985:定义了FTP
- 1988:定义了TCP拥塞控制
- 新型国家级网络的出现
- CSnet,计算机科学网
- BITnet,连接一些没有连接到internet的大学
- NSFnet,美国国家自然科学委
- 建立初期目的是连接5个超级计算中心
- 用于学校研究所,研究机构等
- Minitel(法国),世界上最早提出将网络带入家庭的构想
- etc…
- 1986:NSFnet初步形成了一个由骨干网,区域网,校园网组成的三级网络
- 100000台主机接入公共网络
1990-2000’s:商业化,Web,新应用
- 1990’s早期:ARPAnet退役
- 1991:NSFnet的商业化应用限制(1995年退役),由私营企业经营
- 1992:因特网协会ISOC成立
- 1990’s后期:Web应用的诞生
- 超文本(hypertext)[Bush 1945,Nelson 1960’s]
- HTML,HTTP:Berners-Lee
- 1994:Mosaic,Netscape浏览器
- 1990’s后期:Web开始商业应用
- 1990’s后期-2000’s:
- 更多极受欢迎的网络应用:
- 即时消息系统(如QQ)
- P2P文件共享
- 网络安全引起重视
- 网络主机约达50000,网络用户达1亿以上
- 网络主干链路带宽达到Gbps
2005-至今
- ~7.5亿主机
- 智能手机和平板
- 宽带接入的快速部署
- 无处不在的高速无线接入快速增长
- 出现在线社交网络
- Facebook:很快拥有10亿用户
- 服务提供商(如Google,Microsoft)创建其自己的专用网络
- 绕开internet,提供"即时"接入搜索,email等服务
- 电子商务,大学,企业等开始在"云"中运行自己的服务(如,Amazon EC2)