[豪の学习笔记] 计算机网络#002
2.1.1 - 速率、带宽、延迟
①速率
速率即数据率,或称数据传输速率或比特率
单位时间(秒)传输信息(比特)量
是计算机网络中最重要的一个性能指标
单位: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)
③延迟/时延
Q:分组交换为什么会发生丢包和时延?
分组在路由器缓存中排队,分组到达速率超出输出链路容量时,到达分组将被丢弃
四种分组延迟:
1.结点处理延迟:
差错检测、确定输出链路
通常<msec
2.排队延迟:
等待输出链路可用
取决于路由器拥塞程度
L:分组长度(bits)、R:链路带宽(bps)、a:平均分组到达速率
流量强度 = La/R
La/R ~ 0:平均排队延迟很小
La/R ->1:平均排队延迟很大
La/R > 1:超出服务能力,平均排队延迟无限大
3.传输延迟:
L:分组长度(bits)、R:链路带宽(bps)
传输延迟 = L/R
4.传播延迟:
d:物理链路长度、s:信号传播速度(~2X10^8 m/sec)
传播延迟 = d/s
综上有,总延迟 = 结点处理延迟+排队延迟+传输延迟+传播延迟
2.1.2 - 时延带宽积、丢包率、吞吐量
①时延带宽积
时延带宽积 = 传播时延 * 带宽
链路的时延带宽积又称为以比特为单位的链路长度
②分组丢失(丢包)
队列缓存容量有限
分组到达已满队列将被丢弃(即丢包)
丢弃分组可能由前序结点或源重发(也可能不重发)
丢包率 = 丢包数/已发分组总数
③吞吐量/率
吞吐量:表示在发送端与接收端之间传送数据速率(b/s)
即时吞吐量:给定时刻的速率
平均吞吐量:一段时间的平均速率
瓶颈链路:端到端路径上,限制端到端吞吐量的链路
2.2.1 - 计算机网络体系结构概述
计算机网络是一个非常复杂的系统,涉及许多组成部分:主机、路由器、各种链路、应用、协议、硬件、软件……
Q:是否存在一种系统结构有效描述网络?
分层结构
每层完成一种(类)特定服务/功能
每层依赖底层提供的服务,通过层内动作完成相应功能
计算机网络体系结构简称网络体系结构,是分层结构,是计算机网络各层及其协议的集合
网络体系结构是从功能上描述计算机网络结构
每层遵循某个/些网络协议完成本层功能
体系结构是抽象的,是一个计算机网络的功能层次及其关系的定义
Q:为什么采用分层结构?
①结构清晰,有利于识别复杂系统的部件及其关系
分层的参考模型(reference model)
②模块化的分层易于系统更新、维护
任何一层服务实现的改变对于系统其他层都是透明的
③有利于标准化
实体(entity)表示任何可发送或接收信息的硬件或软件进程
协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”
任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”
下层协议的实现对上层的服务用户是透明的
同系统的相邻层实体间通过接口进行交互,通过服务访问点SAP(Service Access Point),交换原语,指定请求的特定服务
2.2.2 - OSI参考模型
开放系统互连(OSI)参考模型是由国际标准化组织(ISO)于1984年提出的分层网络体系结构模型,目的是支持异构网络系统的互联互通,是异构网络系统互联的国际标准,是理解网络通信的最佳学习工具(理论模型)
划分为七个层次(功能),每层完成特定的网络功能:1.物理层、2.数据链路层、3.网络层、4.传输层、5.会话层、6.表示层、7.应用层
端-端层(end-end):应用层+表示层+会话层+传输层
Q:为什么需要数据封装?
增加控制信息,构造协议数据单元 (PDU)
地址:表示发送端/接收端
差错检测编码:用于差错检测或纠正
协议控制:实现协议功能的附加信息,如优先级、服务质量、安全控制等
①物理层
接口特性
机械特性、电气特性、功能特性、规程特性
比特编码
数据率
比特同步
时钟同步
传输模式
单工(Simplex)、半双工(half-duplex)、全双工(full-duplex)
②数据链路层
负责结点-结点(node-to-node)数据传输
组帧(Framing)
物理寻址(Physical addressing)
在帧头中增加发送端和/或接收端的物理地址,标识数据帧的发送端和/或接收端
流量控制(Flow control)
避免淹没接收端
差错控制(Error control)
检测并重传损坏或丢失帧,并避免重复帧
访问(接入)控制(Access control)
在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
③网络层
负责源主机到目的主机数据分组交付,可能穿越多个网络
逻辑寻址(Logical addressing)
全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址
路由(Routing)
路由器(或网关)互连网络,并路由分组至最终目的主机
路由选择
分组转发
④传输层
负责源-目的(端-端)(进程间)完整报文传输
分段与重组
SAP寻址
确保将完整报文提交给正确进程,如端口号
连接控制
流量控制
差错控制
⑤会话层
对话控制(dialog controlling)
建立、维护
同步(synchronization)
在数据流中插入”同步点“
是最”薄“的一层
⑥表示层
处理两个系统间交换信息的语法与语义(syntax and semantics)问题
数据表示转化
转化为主机独立的编码
加密/解密
压缩/解压缩
⑦应用层
支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、Web(HTTP)......
2.2.3 - TCP/IP参考模型
2.2.4 - 五层参考模型
物理层、数据链路层、网络层、传输层、应用层
综合OSI和TCP/IP的优点
①物理层
比特传输
②链路层
相邻网络元素(主机、交换机、路由器等)的数据传输
以太网(Ethernet)、802.11(WiFi)、PPP
③网络层
源主机到目的主机的数据分组路由与转发
IP协议、路由协议等
④传输层
进程-进程的数据传输
TCP、UDP
⑤应用层
支持各种网络应用
FTP、SMTP、HTTP
2.3.1 - 计算机网络与Internet发展历史
1961 - 1972 早期分组交换原理的提出与应用
1961:Kleinrock - 排队论证实分组交换的有效性
1964:Baran - 分组交换应用于军事网络
1967:ARPA(Advanced Research Projects)提出ARPAnet构想
1969:第一个ARPAnet结点运行
1972:ARPAnet公开演示、第一个主机-主机协议NCP(Network Control Protocol)、第一个email程序、ARPAnet拥有15个结点
1972 - 1980 网络互连,大量新型、私有网络的涌现
1970:在夏威夷构建了ALOHAnet卫星网络
1974:Cerf与Kahn - 提出网络互连体系结构
Cerf与Kahn网络互连基本原则:
极简、自治:无需改变内部网络实现网络互连
尽力服务模型
无状态路由器
分散控制
1976:Xerox设计了以太网
70's后期:私有网络体系结构(DECnet、SNA、XNA),固定长度分组交换(ATM先驱)
1975:ARPAnet移交给美国国防部通讯局管理
1979:ARPAnet拥有200结点
1980 - 1990 新型网络协议与网络的激增
1983:部署TCP/IP
1982:定义了smtp电子邮件协议
1983:定义了DNS
1985:定义了FTP协议
1988:TCP拥塞控制
新型国家级网络:CSnet、BITnet、NSFnet、Minitel(法国)
1986:NSFnet初步形成了一个由骨干网、区域网和校园网组成的三级网络
100000台主机连接公共网络
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‘s后期 - 2000’s:
更多极受欢迎的网络应用:即时消息系统(如QQ)、P2P文件共享
网络安全引起重视
网络主机约达50000,网络用户达一亿以上
网络主干链路带宽达到Gbps
2005 - 今
~7.5亿主机:智能手机和平板电脑
宽带接入的快速部署
无处不在的高速无线接入快速增长
出现在线社交网络
服务提供商(如Google、Microsoft)创建其自己的专用网络:绕开Internet,提供”即时“接入搜索、email等服务
电子商务、大学、企业等开始在”云“中运行自己的服务(如Anazon EC2)