计算机网络概述
计算机网络的概念、组成与功能
计算机网络:互联的、自治的计算机系统的集合体
计算机网络的特点(提供服务)
连通性(Connectivity)
使用户之间都可以交换信息(数据,以及各种音频视频),好像这些用户的计算机都可以彼此直接连通一样。
注意:互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置。
共享(Sharing)
指资源共享,包括硬件资源、软件资源、信息(数据)资源。
计算机网络的功能
- 数据通信(最基本的功能)
- 资源共享
- 分式处理
- 提高可靠性
- 负载均衡
计算机网络的组成
组成成分:
硬件(主机端系统、通信链路双绞线、光纤、交换设备路由器、交换机、通信处理机网卡)
- 软件(作用:资源共享)
- 协议(规定了网络传输时的规范)
功能:
通信子网(传输介质、通信设备、相应协议)
- 资源子网(资源共享设备及其软件:计算机软件、计算机网络)
工作方式:
边缘部分
所有连接在互联网上的主机(端系统)组成。
这部分是用户直接使用的,
用来进行通信(传送数据、音频或视频)和资源共享。核心部分
由大量网络和连接这些网络的路由器组成。
为边缘部分提供连通性和交换。
网络核心部分起特殊作用:路由器
网络核心部分最重要的功能:分组转发
计算机网络的分类
网络作用范围
- 广域网 WAN :几十到几千公里。
- 城域网MAN :5~50公里。
- 局域网LAN :1公里左右。
- **个人区域网PAN **10米左右。
- 多处理机系统:仅1米的数量级甚至更小些),不称它为计算机网络。
协议 & 传输技术
- 广播式网络
- 共享广播信道,使用广播技术
- 局域网
- 工作在数据链路层
- 点对点网络
- 分组转发 & 路由选择,使用交换技术
- 广域网
- 区别:是否采用分组存储转发与路由选择机制
- 局域网与广域网通过路由器实现互联
- 局域网与广域网差异:覆盖范围、协议(局域网——广播技术、广域网——交换技术)
拓扑结构
取决于通信子网
- 总线型(Bus)
- 优点:简单、经济、可靠、易于部署、成本低、易于扩展
- 缺点:故障不易排查,不能用于高流量的网络
- 应用:主干线路小型网络某一网段
- 星型(Star)
- 网络性能基本由中央节点决定
- 优点:便于集中控制与管理
- 缺点:中心设备对故障敏感;成本高
- 应用:局域网连接——局域网连接中心设备是集线器[但也有情况为交换机]
- 环型(Ring)
- 环上数据只能按照一个方向传输;任何时刻只有一个节点传输数据
- 优点:所有节点同等访问机会,易于扩展,性能稳定均衡
- 缺点:一个节点的故障影响整个网络,故障不易排查
- 应用:令牌环,光线分布式数据接口(FDDI)(特殊的令牌环)
- 网状(Mesh)
- 分为规则型与非规则型
- 优点:可靠性高
- 缺点:控制复杂、线路成本高
- 应用:广域网
网络使用者
- 公用网
- 专用网
交换技术
- 电路交换
- 报文交换
- 分组交换
本地接入网AN
- 接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。
- 接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络。
- 从覆盖的范围看,很多接入网还是属于局域网。
- 从作用上看,接入网用于将用户接入互联网,只是起到让用户能够与互联网连接的“桥梁”作用。
- 主干网和本地接入网的区别
- 主干网:提供远程覆盖、高速传输和路由器的最优化通信
- 本地接入网:主要支持用户访问本地,实现散户接入,速率低
计算机网络的标准化工作及相关组织
互联网概念
特指Internet
起源于美国,由数量极大的各种计算机网络互连起来形成的一个互连网络
最早的计算机网络:ARPNet——Web应用促进了Internet发展而非ARPNet发展
通信规则与核心技术:TCP/IP协议簇作为
实现全球范围内连通性和资源共享的计算机网络
网络互连:将不同的网络连接起来,以构成更大规模的网络系统,实现网络间的数据通信、资源共享和协同工作。
网络互联:将两个以上的通信网络通过一定的方法,用网络通信设备相互连接起来,以构成更大的网络系统。
发展阶段
- 从单个网络ARPANET向互联网TCP/IP协议的初步成型
- 三级结构的互联网主干网、地区网、校园网(企业网)
- 多层次ISP结构互联网 (ISP:互联网服务提供商)【IXP:允许地区ISP不经过主干ISP直接交互】
- WWW万维网促使因特网迅猛发展
- 1994年我国接入互联网
因特网标准RFC制定阶段
- 因特网草案(还不是RFC文档)
- 建议标准(开始成为RFC文档)
- 草案标准
- 因特网标准
计算机网络标准化组织
- 国际标准化组织(ISO):主要贡献:ISO/OSI、RM、HDLC
- **国际电信联盟(ITU)**:前身为国际电话电报咨询委员会(CCITT),负责制定电信行业的标准
- 国际电气电子工程师协会IEEE:主要贡献:IEEE.802系列局域网标准
- 因特网工程任务组IEIF:负责Internet相关标准的制定,标准形式:RFC
- 因特网研究任务组IRTF:研究开发长期的问题
计算机网络的性能指标
性能指标:具体定量描述网络的技术性能
非性能特征:宏观整体评价网络的外在表现
比特 | 速率 |
---|---|
$B=8bit$ | $bits(b/s,bps)$ |
$KB=2^{10}B$ | $Kb/s=10^3b/s$ |
$MB=2^{20}B$ | $Mb/s=10^6b/s$ |
$GB=2^{30}B$ | $Gb/s=10^9b/s$ |
$TB=2^{40}B$ | $Tb/s=10^{12}b/s$ |
速率
- 数据的传送速率,也称为数据率或比特率(bit rate)。
- 单位:$bit/s$ [$ kbit/s$、$Mbit/s$、$Gbit/s$] ($b/s$、$bps$)
- 速率往往是指额定速率或标称速率(单位时间内网络中的某信道所能通过数据),非实际运行速率。
带宽
- 信号频带宽度,表示网络中某通道传送数据的能力
- 单位:赫(或干赫.兆赫、吉赫等) / 最高数据率:$bit/s$。
吞吐量
- 实际运行速率
- 吞吐量受网络的带宽或网络的额定速率的限制。
- $信道吞吐率=信道利用率\times 发送速率$
时延
也称为延迟或迟延。
$总时延=发送时延+传播时延+处理时延+排队时延$
发送时延
也称为传输时延。
数据帧从结点进入到传输媒体的时间(发送帧的首个比特到的最后比特的时间)
$发送时延=\dfrac{数据帧长度(bit)}{发送速率(bit/s)}$
传播时延
信道中传播花费的时间。
$传播时延=\dfrac{信道长度(m)}{信号在信道上的传播速率(m/s)}$
处理时延
主机或路由器处理分组所花费的时间。
排队时延
- 分组在路由器排队等待处理所花费的时间。
- 取决于网络中当时的通信量。
- 注意:高速网络链路,提高是数据的发送效率而非传播速率
- $n$分组、$m$链路分组转发:$n$个分组的发送时延$+$每个分组发送时延$\times (m-1)+$一段链路发送时延$\times m$
- 电路交换时延:电路建立时间$+$报文发送时延$+$报文总传输时延
时延带宽积
又称为以比特为单位的链路长度。
$$
时延带宽积=传播时延 \times 带宽_{bit/s}
$$
- 只有在代表链路的管道都充满比特时,链路才得到了充分利用。
往返时间RTT
从发送方发送数据到发送方收到的确认的时间。
在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
卫星通信时,RTT较长,是一个重要的性能指标。
$有效数据率=\dfrac{数据长度}{发送时延+RTT}$
利用率
分为信道利用率和网络利用率。
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
$信道利用率=\dfrac{数据比特/数据传输速率}{发送周期}$
网络利用率则是全网络的信道利用率的加权平均值。
信道利用率**并非越高越好**。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
若令$D_0$表示网络空闲时的时延,$D$表示网络当前的时延,则在适当的假定条件为:$D=\dfrac{D_0}{1-U}$
$U$是网络的利用率,数值在$0\sim 1$
非性能指标
- 费用
- 质量
- 标准化
- 可靠性
- 可扩展性或可升级性
- 易于维护和管理下
计算机网络体系结构与参考模型
计算机网络分层结构
计算机网络体系结构
- 体系结构:计算机网络各层及其协议的集合。
体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。 - 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
网络体系结构具体内容
- 网络的层次
- 每一层所使用的协议
- 每一层必须完成的功能
分层的原则
- 每层都实现一个相对独立的功能,降低大系统的复杂度
- 各层之间界面自然清晰、易于理解,相互交流尽可能少
- 各层功能精确定义独立于具体实现方法
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应能促进标准化工作
分层的好处与缺点
- 好处
- 各层之间是独立的。
- 灵活性好。
- 结构上可分割开。
- 易于实现和维护。
- 能促进标准化工作。
- 缺点
- 降低效率。
- 有些功能会在不同的层次中重复出现,因而产生了额外开销。
计算机网络协议、接口、服务等概念
- 实体(entity):可收发信息的进程。
- 协议:两个对等实体进行通信的规则的集合。
- 协议栈:每层可用一些主要协议来表示,几个层次画在一起像一个栈的结构
- 服务:层次内完成的功能并为上层提供的功能的调用
- 服务访问点(SAP):同一系统相邻两层的实体进行交互的逻辑接口
- 接口:相邻两层交换信息的连接点
- 服务原语:上层使用下层服务时与下层交换的一些命令(请求、指示、响应、证实)
协议 & 服务
协议和服务的联系:
协议是控制两个对等实体之间进行通信的规则的集合。在协议的控制下,两个对等实体之间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下一层提供的服务。
协议和服务的区别:
协议的实现保证了能够向上一层提供服务。
本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
网络协议的三个组成要素
- 语法:数据与控制信息的结构或格式。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
计算机网络服务分类
- 面向连接和无连接
- 面向连接服务中,通信双方必须先建立连接,分配相应资源,以保证通信能正常进行,传输结束后释放连接和所占用资源
- 无连接服务中,通信前双方不需要先建立连接,需要发送数据课直接发送,由系统选择线路进行传输,不保证通信的可靠性
- 可靠服务和不可靠服务
- 可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地(端到端可靠)
- 不可靠服务是指网络只是尽量正确、可靠的传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务(点到点不可靠)
- 有应答服务和无应答服务
- 有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现
- 无应答服务是指接收方收到数据后不自动给出应答
ISO/OSI参考模型和TCP/IP模型
OSI体系结构
OSI体系结构各层功能
应用层:文件传输访问;各类应用进程及服务(界面)
表示层:数据表示(编码结构);协议转化;加密、压缩;语法协商
会话层:会话连接和管理(同步控制)
传输层:建立端到端连接(流量控制、差错控制、服务质量、数据传输管理)
网络层:路由选择(地址解析;网际互联;流量控制、拥塞控制、差错控制) [路由器、多层交换机]
数据链路层:组成帧(流量控制;差错处理;链路管理) [网卡、网桥、交换机]
物理层:透明地传输比特流(物理网络机械、电气和光特性以及接口的定义)[中继器,集线器]
通信子网:下三层
资源共享:上三层
流量控制:数据链路层、网络层、传输层
差错控制:物理层、数据链路层、网络层、传输层、会话层、表示层?、应用层
拥塞控制:网络层
同步:会话层
协议数据单元PDU
对等层次之间传送的数据单位
SDU:数据部分
PCI :控制信息
- 应用层:数据
- 表示层:数据单元
- 会话层:数据单元
- 传输层:报文【主机的进程】(TCP首部:20B;UDP:8B)
- 网络层:分组【主机到主机】(IP首部:20B)
- 数据链路层:帧【数据链路,相邻结点】
- 物理层:比特流【传输介质】
协议体系SAP
- 物理层:网卡接口
- 数据链路层:MAC地址(网卡地址)
- 网络层:IP地址(网络地址)
- 传输层:端口号
- 应用层:用户界面
TCP/IP的体系结构
TCP/IP结构演变:有些程序可以直接使用IP层,有的直接使用下面的网络接口层
TCP/IP各层功能
- 网络接口层:从主机或结点接收IP分组,并把他们发送到指定的物理网络上[物理层+数据链路层]
- 网际层:(TCP/IP关键部分)将IP发往任意网络并独立选择合适的路由[网络层]
- 传输层:使得发送端和目的端主机上的对等实体进行会话(差错控制、流量控制)[传输层]
- 应用层:包含所有高层协议[会话层+表示层+应用层]
TCP/IP协议簇
- Everything over IP:IP可为各式各样的应用程序提供服务
- lP over Everything:IP可应用到各式各样的网络上
ISO/OSI & TCP/IP
相似
- 都采用分层结构
- 都基于协议栈概念
- 都可以解决异构网络的互联
差别
OSI精确定义了服务、协议、接口,与面向对象程序设计思想非常吻合
TCP/IP 在这三个概念没有明确区分,不符合软件工程思想
OSI产生在协议发明之前,通用性良好
TCP/IP 首先出现协议,模型实际是对已有协议的描述
TCP/IP设计之初就考虑了多种异构网络的互联,并将IP作为一个单独的重要层次
OSI最初只考虑一种标准的公用数据网将不同系统互联,只好在网络层划分一个子层完成类IP的功能
ISO/OSI网络层支持无连接和面向连接通信
TCP/IP网络层仅有无连接不可靠通信ISO/OSI传输层仅支持面向连接通信
TCP/IP传输层支持无连接和面向连接通信
五层协议体系
- 应用层:直接为用户的应用进程提供服务。
- 运输层:向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节
- 网络层:选择合适的路由,使 发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层
- 数据链路层:在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息
- 物理层:透明地传送比特流。 物理层还要确定连接电缆插头的定义及连接法
- 第0层:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面