专栏
计算机网络
计算机网络概述(下)
计算机网络性能
速率
- 速率即数据率(data rate)或称数据传输速率或比特率(bit rate)
- 单位时间(秒)传输信息(比特)量
- 计算机网络中最重要的一个性能指标
- 单位:b/s(或bps)、kb/s、Mb/s、Gb/s
- k=10^3 、M=10^6 、G=10^9
- 速率往往是指额定速率或标称速率
带宽
- ”带宽“(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)
延迟/时延(delay或latency)
Q:分组交换为什么会发生丢包和时延?
A:分组在路由器缓存中排队
- 分组到达速率超出输出链路容量时
- 分租排队,等待输出链路可用
四种分组延迟
dproc:结点处理延迟(nodal processing delay)
dqueue:排队延迟(queueing delay)
dtrans:传输延迟(transmission delay)
- L:分组长度(bits)
- R:链路带宽(bps)
- dtrans = L/R
dprop:传播延迟(propagation delay)
- d:物理链路长度
- s:信号传播速度(~2 * 10^8 m/sec)
- dprop = d/s
dtrans与dprop完全不同!
类比:车队
- 车速为100 km/hr ~ 信号传播速度
- 收费站放行一台车用时12s ~ 比特传输时间
- 车 ~ 比特;车队 ~ 分组
- 车队通过收费站时间 ~ 传输延迟(120秒)
- 每台车从第一个收费站跑到第二个收费站用时 ~ 传播延迟(1小时)
排队延迟
4种延迟里面较特殊的就是排队延迟,因为它的不确定性不能给出准确式子算出延迟
- R:链路带宽(bps)
- L:分组长度(bits)
- a:平均分组到达速率
流量强度(traffic intensity) = La/R
- La/R ~ 0:平均排队延迟很小
- La/R -> 1:平均排队延迟很大
- La/R > 1:超出服务能力,平均排队延迟无限大!
时延带宽积
分组丢失(丢包)
- 队列缓存容量有限
- 分组到达已满队列将被丢弃(即丢包)
- 丢弃分组可能由前序节点或源重发(也可能不重发)
吞吐量/率(Throughput)
瓶颈链路(bottleneck link)
? 端到端路径上,限制端到端吞吐量的链路。
吞吐量:Internet场景
- 每条“连接”的端到端吞吐量:min(Rc,Rs,R/10)
- 实际网络:Rc或Rs通常是瓶颈
计算机网络体系结构
为什么需要计算机网络体系结构?
计算机网络是一个非常复杂的系统,涉及许多组成部分:
- 主机(hosts)
- 路由器(routers)
- 各种链路(links)
- 应用(applications)
- 协议(protocols)
- 硬件、软件
- …
问题:是否存在一种系统结构有效描述网络?
利用什么结构?
…
至少用于讨论网络?
A:分层结构
-
类比:航空旅行 -
每层完成一种(类)特点服务/功能
计算机网络的体系结构
- 网络体系结构是从功能上描述计算机网络结构
- 计算机网络体系结构简称网络体系结构(network architecture)是分层结构
- 每层遵循某个/些网络协议完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合
- 体系结构是一个计算机网络的功能层次及其关系的定义
- 体系结构是抽象的
为什么采用分层结构?
- 结构清晰,有利于识别复杂系统的部件及其关系
- 模块化的分层易于系统更新、维护
- 任何一层服务实现的改变对于系统其它层都是透明的
- 例如,登机过程的改变并不影响航空系统的其它部分(层)
- 有利于标准化
- 分层是否有不利之处?
分层网络体系结构基本概念
- 实体(entity)表示任何可发送或接收信息的硬件或软件过程。
- 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”。
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
- 下层协议的实现对上层的服务用户是透明的。
- 同系统的相邻层实体间通过接口进行交互,通过服务访问点SAP(Service Access Point),交换原语,指定请求的特定服务。
OSI参考模型(1)
- 开发系统互连(OSI)参考模型是由国际标准化组织(ISO)于1984年提出的分层网络体系结构模型
- 目的是支持异构网络系统的互联互通
- 异构网络系统互连的国际标准
- 理解网络通信的最佳学习工具(理论模型)
- 7层(功能),每层完成特定的网络功能
OSI参考模型解释的通信过程
OSI参考模型数据封装与通信过程
为什么需要数据封装?
- 增加控制信息
- 控制信息主要包括:
- 地址(Address):标识发送端/接收端
- 差错检测编码(Error-detecting code):用于差错检测或纠正
- 协议控制(Protocol control):实现协议功能的附加信息,如:优先级(priority)、服务质量(QoS)、和安全控制等
OSI参考模型(2)
物理层功能
- 接口特性
- 比特编码
- 数据率
- 比特同步
- 传输模式
- 单工(Simplex)
- 半双工(half-duplex)
- 全双工(full-duplex)
数据链路层功能
网络层功能
- 负责源主机到目的主机数据分组(packet)交付
- 逻辑寻址(Logical addressing)
- 全局唯一逻辑地址,确保数据分组被送到目的主机,如IP地址
- 路由(Routing)
- 路由器(或网关)互连网络,并路由分组至最终目的主机
- 路径选择
- 分组转发
传输层功能
? 负责源-目的(端-端)(进程间)完整报文传输
-
分段与重组 -
SAP寻址
- 确保将完整报文提交给正确进程,如端口号
-
连接控制 -
流量控制 -
差错控制
会话层功能
- 对话控制(dialog controlling)
- 同步(synchronization)
- 最“薄”的一层
表示层功能
? 处理两个系统间交换信息的语法与语义(syntax and semantics)问题
应用层功能
- 支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
- 典型应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- Web(HTTP)
- …
TCP/IP参考模型
5层参考模型
- 综合OSI和TCP/IP的优点
- 应用层:支持各种网络应用
- 传输层:进程-进程的数据传输
- 网络层:源主机到目的主机的数据分组路由与转发
- 链路层:相邻网络元素(主机、交换机、路由器等)的数据传输
- 以太网(Ethernet)、802.11(WiFi)、PPP
- 物理层:比特传输
5层模型的数据封装
计算机网络与Internet发展历史
第一阶段
? 1961-1972:早期分组交换原理的提出与应用
第二阶段
? 1972-1980:网络互连,大型新型、私有网络的涌现
第三阶段
? 1980-1990:新型网络协议与网络的激增
- 1983:部署TCP/IP
- 1982:定义了smtp电子邮件协议
- 1983:定义了DNS
- 1985:定义了FTP协议
- 新型国家级网络:CSnet,BITnet,NSFnet,Minitel(法国)
- 1986:NSFnet初步形成了一个由骨干网、区域网和校园网组成的三级网络
- 1988:TCP拥塞控制
- 100,000台主机连接公共网络
第四阶段
? 1990,2000’s:商业化,Web,新应用
- 1990‘s早期:ARPAnet退役
- 1991:NSF解除NSFnet的商业应用限制(1995年退役),由私营企业经营
- 1992:因特网协会ISOC成立
- 1990s后期:Web应用
- 超文本(hypertext)【Bush 1945,Nelson 1960’s】
- HTML,HTTP:Berners-Lee
- 1994:Mosaic、Netscape浏览器
- 1990‘s后期:Web开始商业应用
1990’ -2000‘s:
- 更多极受欢迎的网络应用:即时消息系统(如QQ),P2P文件共享
- 网络安全引起重视
- 网络主机约搭50000,网络用户达1亿以上
- 网络主干链路带宽达到Gbps
第五阶段
? 2005-今
- ~7.5亿主机
- 带宽接入的快速部署
- 无处不在的高速无线接入快速增长
- 出现在线社交网络:
- 服务提供商(如Google,Microsoft)创建其自己的专用网络
- 绕开Internet,提供“即时”接入搜索、email等服务
- 电子商务、大学、企业等开始在“云”中运行自己的服务(如,Amazon EC2)
|