计算机网络概述(下)
计算机网络概述(下)
计算机网络性能
计算机网络最重要的一个性能指标——速率
速率,即数据率(data rate)或称数据传输速率或比特率(bit rate),以单位时间(s)内传输的信息量(bit)来衡量
单位:b/s(或bps)、kb/s、Mb/s、Gb/s
$k = 10^{3}, M = 10^3, G = 10^9$
速率往往是指额定速率或标称速率
性能指标——带宽
带宽原本是指信号具有的频带宽度,即最高频率和最低频率之差,单位是Hz
但在计算机网络中的“带宽”通常是数字信道所能传送的“最高数据率”,单位b/s(bps),常用的带宽单位:
$kb/s(103b/s),Mb/s(106b/s),Gb/s(109b/s),Tb/s(10b/s)$
延迟/时延
(delay 或 latency)
分组交换为什么会产生丢包(数据丢失)和时延?
数据在一个路由器处,传输(latency)之前需要排队(delay),若排队的数据太多,服务器缓存满,该分组会被丢弃,产生丢包(loss)。
有以下四种分组延迟:
1、结点处理延迟 nodal processing delay
-差错检测
-确定输出链路
-通常<msec(毫秒级)-》该延迟可忽略不计
2、排队延迟 queueing delay
-等待输出链路可用
-取决于路由器拥塞程度
R:链路带宽(bps)
L:分组长度(bits)
a:平均分组到大速率
流量强度(traffic intensity) = $ \frac{L * a}{R}$
$ \frac{L * a}{R}$~ 0 平均排队延迟很小
$ \frac{L * a}{R}$->平均排队延迟很大
$ \frac{L * a}{R}$>1:超出服务能力,平均排队延迟无限大
🐷 🐖 🐽
👽 👽
3、传输延迟(发送一个分组需要多长时间,可类比收费站收费)
取决于分组长度(bits)、链路带宽(bps)$d_{trans} = \frac{L}{R}$
4、传播延迟 propagation delay(信号从这一点到一下个链路需要多长时间,类比从一个收费站到另一个收费站)
d:物理链路长度 , s:信号传播速度(~$2*10^8m/sec$) $d_{prop} = \frac{d}{s}$
总延迟时间为该四种延迟之和
$d_{nodal}= d_{proc}+d_{queue}+d_{trans}+d_{prop}$
时延带宽积
时延带宽积 = 传播延时 * 带宽 即$d_{prop}$ * R(bits)
链路上能容纳多少比特,时延带宽积又称为以比特为单位的链路长度
分组丢失(丢包)
-对列缓存容量有限
-分组到达已满对列将被丢弃
-丢弃分组可能由前序节点或源重发(也可能不重发)
利用丢包率来评估
丢包率 = $ \frac{丢包数}{已分发组总数}$
吞吐量/率
吞吐量:表示在发送端与接收端之间传送数据速率(b/s)
-即时吞吐量:给定时刻的速率
-平均吞吐量:一段时间的平均速率
端到端路径上,限制端(瓶颈链路)到端吞吐量的链路
计算机网络体系结构
计算机网络是一个非常复杂度 系统,涉及许多组成部分:主机(hosts)、路由器(routers)、各种链路(links)、应用(applications)、协议(protocols)、软件、硬件……
存在一种系统结构有效描述网络?
利用怎样的结构?
用于讨论网络?
分层结构 每一层完成一类特定服务/功能
网络体系结构是从功能上描述计算机网络结构
每层遵循某个/些网络协议完成本层功能,则计算机网络体系结构试计算机网络的各层及其协议的集合,体系结构试一个计算机网络的功能层次及其关系的定义,体系结构是抽象的(并不关心功能如何实现)
为什么要采用分层结构?
- 结构清晰,有利于识别复杂系统的部件及其关系
- 分层的参考模型(reference model)
- 模块化的分层易于系统更新、维护
- 任何一层服务的实现的改变对于系统其它层都是透明的
- 有利于标准化
那么分层是否有不利之处?
繁琐,拖低效率
分层网络体系结构基本概念:
-
实体(entity)表示任何可发送或接受信息的硬件或软件进程
-
协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”
-
任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”
-
下层协议的实现对上层的服务用户是透明的。(并不关心)
-
同系统的相邻层实体间通过接口进行交互,通过服务访问点SAP(Service Access Point),交换原语,指定请求的特定服务。
OSI参考模型
开放系统互联(OSI)参考模型是由国际标准化组织(ISO)于1984年提出的分层网络体系结构模型,目的是支持异构网络系统的互联互通。
异构网络系统互连的国际标准,理解网络通信的最佳学习工具(理论模型-》市场上并未推广)
该模型划分了七个层次,每个层次完成特定的功能
1:应用层
2:表示层
3:会话层
4:传输层
5:网络层
6:数据链路层
7:物理层
以此模型解释通信过程
两个主机通过中间系统(路由器)来完成交流,主机完成七个层次,路由器完成{网络层、数据链路层、物理层}传输介质
相邻层通过接口交换数据,上面四个层次,从协议角度上来说,对应到对方主机来实现,称为端-端层(end-end)
撇开中间系统,看最顶层,用户数据在主机A交给应用层,加上一些信息(应用头),A-PDU,在表示层添加协议信息,……逐层加头至数据链路层,加尾巴,到物理层不做添加,为二进制代码。此时传递给主机B,一层层向上去掉尾部及头部得到数据。
于是该模型解释数据是如何逐层封装,但是 为什么需要数据封装?
- 增加控制信息
- 控制信息主要包括:
- 地址(Address):标识发送端/接收端
- 差错检测编码(Error-detecting code):用于差错检测或纠正(并不是所有的协议都会加上)
- 协议控制(Protocol control):实现协议功能的附加信息,如:优先级(priority)、服务质量(QoS)、和安全控制
各个层次所完成的功能
物理层功能:简单地说,就是实现每一个比特的传输
-
定义或规范接口特性,描述发送设备和物理介质是怎样的
- 机械特性(接口的几何形状)、电气特性(使用多大的电频、电压)、功能特性(每个引脚的功能)、规程特性(定义这个接口在工作过程中要怎样操作)
-
比特编码(到底用何种信号特征来表示1/0)
-
数据率(以多快的速度发送数据)
-
比特同步
- 时钟同步(发送设备和通信设备之间发送时钟信号来同步)
-
传输模式
- 单工simplex(单向发送,如电视 电视台单向发送给电视)
- 半双工half-duplex(可双向通信,仅交替进行,如对讲机)
- 全双工full-duplex (一般是采用独立的两个信道)
数据链路层功能:解决数据出现的错误
-
负责结点-结点(node-to-node)数据传输 物理链路两个直接相连的数据传输,以帧为单位
-
组帧(Framing) 加头加尾 能够识别头部和尾部
-
物理寻址(Physical addressing)
-
在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端
为何用物理地址? 在链路层面上,连接着多个通讯主机,要用物理地址来确切地识别具体是哪一个主机,在帧头里,包括着源物理地址和目的物理地址,即在该链路上的主机都能接受该数据,但可识别出目的物理地址对应不上,拒绝接受
-
-
流量控制(Flow control)控制数据发送、接收、处理的速度
- 避免淹没接收端
-
差错控制(Error control)接收端根据数据编码来判断数据正确与否
- 检测并重传损坏或丢失帧,并避免重复帧
-
访问控制(Access control)
- 在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
网络层功能
- 负责源主机到目的主机数据分组(packet)交付
- 可能穿越多个网络
- 逻辑寻址(Logical address) 此时物理寻址已不可用(仍然使用但无法完成全网不同地址的转运功能)
- 利用全局唯一的逻辑地址,确保数据分组被送达目的主机,如IP地址
- 路由(Routing)
- 路由器(或网关)互连网络,并由路由分组至最终目的主机
- 路径选择
端到端层次所实现的功能
传输层
数据划分称为段 将会话层的报文分割为数据段再交给网络层传输
负责源-目的(端-端) (进程间)完整报文传输
- 分段与重组
- SAP寻址
- 确保将完整报文提交给正确进程,如端口号
xy表示端口号,SD表示逻辑地址,DH为物理地址
- 连接控制
- 流量控制
- 差错控制TCP实现
会话层
接受表示层的逻辑数据单元,构造会话层的逻辑数据单元,传递给传输层,仅插入一些控制信息,在功能上较为单薄(在实际运用中不存在)
- 对话控制(dialog controling)
- 建立、维护
- 同步(synchronization)
- 在数据流中插入“同步点” (恢复数据)
表示层
处理两个系统间交换信息的语法与语义(syntax andsemantics)问题:应用层的数据经表示层编码、加密、压缩数据去往会话层;会话层的数据再表示层解码、解密、解压数据去往应用层(这一层也不是独立存在,其功能由应用层完成)
- 数据表示转化(如大端数、小端数)
- 转换为主机独立的编码、
- 加密/解密
- 压缩/解压缩
应用层
HTTP(Web)、FTP(文件传输)、SMTP(电子邮件)
- 支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
- 典型应用层服务
TCP/IP参考模型
是先有协议,再完善模型
在现实网络中,将网络接口层更为具体地展示
5层参考模型:应用层、传输层、网络层、数据链路层、物理层
- 综合OSI和TCP/IP的优点
- 应用层:支持各种网络应用
- FTP,SMTP,HTTP
- 传输层:进程-进程的数据传输
- TCP,UDP
- 网络层:源主机到目的主机的数据分组路由与转发
- IP协议、路由协议
- 链路层:相邻网络元素(主机、交换机、路由器等)的数据传输
- 以太网(Ethernet)、802.11(WiFi)、PPP
- 物理层:比特传输
计算机网络与Internet发展历史
REFERENCE
🐷🐖🐽