计算机网络概述
互联网(因特网)与互连网
- 互联网(Internet):由数量极大的计算机网络互连起来的,是全球最大的计算机网络
- 互连网(internet):在局部范围互连起来的计算机网络
- 应当注意的是,区分“Internet”和“internet”(大小写)
互联网的两个基本特点:“连通性”、“共享性”
连通性
互联网使上网用户之间,不管相距多远,都可以便捷的交换各种信息
共享性
共享指的是“资源共享”。
资源共享可以是:“信息共享”、“软件共享”、“硬件共享”
互联网
网络的网络
计算机网络(简称为网络)由若干节点(node)和链接这些节点的链路(link)组成。
网络中的节点可以是:“计算机”、“集线器”、“交换机”、“路由器”等
网络把许多计算机连接在一起,而互联网则把许多网络通过一些路由器连接在一起。
与网络相连的计算机常称为主机。
多层次ISP结构的互联网
ISP结构的三个层次:“主干ISP” ->“地区ISP” ->“本地ISP”
主干ISP:由几个专门的公司创建和维护,服务面积最大(一般覆盖国家范围),传输速度最快
地区ISP:通过一个或多个主干ISP连接起来
本地ISP:给用户提供直接的服务
一个典型的多层次ISP结构:
“中国移动ISP” -> “山东省ISP” -> “烟台市莱山区ISP” -> “用户”
在ISP结构中,还有一种加快网络传输速率的结构:“互联网交换点IXP”
IXP允许两个网络直接相连,而不再需要两个ISP之间的传输需要经过更高层的ISP中转,加快了网络传输速度
互联网标准化工作
制定互联网的正式标准要经过以下三个阶段:
- 互联网草案:草案有效期只有六个月
- 建议标准:这个阶段开始称为RFC文档
- 互联网标准:经过检验后某个“建议标准”可以成为互联网标准后,就给它分配一个标准编号,记为STDxx
互联网的组成
互联网的拓补结构,按照工作方式分为:“边缘部分”、“核心部分”
边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的。
互联网的边缘部分
处在互联网边缘部分就是连接在互联网上所有的主机,这些主机又称为“端系统”
大的端系统称为“服务器”
“主机A和主机B进行通信”实际上是指“运行在主机A上的某个程序和主机B上的另一个程序进行通信”
由于“进程”就是“运行中的程序”
因此也就是指:“主机A上的某个进程和主机B上的某个进程进行通信”,这被简称为“计算机之间通信”
在网络边缘的端系统之间的通信通常可划分为两大类:“客户-服务器方式(C/S)”、“对等方式(P2P)”
客户-服务器方式
指两个主机通信时,一个主机作为“服务器”、另一个主机作为“客户”
客户是服务请求方,服务器是服务提供方
对等连接方式
两台主机平等的进行通信,主机可以作为“客户”也可以作为“服务器”
互联网的核心部分
核心部分主要向边缘部分中的大量主机提供连通性,使边缘部分的任何一台主机都能够与其它主机通信
网络核心部分起特殊作用的是“路由器”,它是一种“专用计算机(但不叫主机)”。
路由器是实现“分组交换”的关键构件,其任务是“转发收到的分组”
网络之间的信息交换,主要有三种方式:“电路交换”、“报文交换”、“分组交换”
电路交换
电路交换是指:“两个端系统之间独占一条线路用来信息交换”
电路交换有三步:“建立连接(占用通信资源)”、“通话”、“释放连接(释放通信资源)”
电路交换最显著的特点就是:“两个端系统交换信息时,两个段系统始终独占端到端的通信资源”
电路交换的缺点是:“线路传输效率很低,资源浪费严重”
报文交换
传输的数据被分为“报文”,每份报文都是原数据的一部分,报文之间的传输相互独立,报文传输到目标用户端时,会经过多个报文交换中心。
报文交换中心接收到一份报文,会根据报文目的地址,再进行转发
分组交换
分组交换采用“存储转发技术”
在计算机网络通信的数据我们叫做“报文”
把一个报文划分为“几个分组”后再进行传送,在每个分组前加上一些必要的控制信息组成“首部”,就构成了一个“分组”,分组又称为“包”,分组的首部也叫作“包头”
分组交换的过程:
- 某路由器接收到一个分组,先存放在路由器缓存中
- 路由器查找分组的首部(里面包含了目的地址),再根据路由器内部的“转发表”将分组转发出去
转发表:
一个字典,里面存储着大量地址并且存储着转发到某个地址的所有方式
分组交换的一个重要特点是:“不独占某个链路,只有在传输时才会占用这个链路”
分组交换的优点:
优点 | 具体描述 |
---|---|
高效 | 在分组传输的过程中动态分配带宽,对通信链路逐段占用 |
灵活 | 为每一个分组独立地选择合适的转发路由 |
迅速 | 以分组作为传送单位,不先建立连接而直接向其他主机发送分组 |
可靠 | 保证可靠性的网络协议 |
三种交换方式的主要特点:
- 电路交换:整个报文的比特流连续地从源点直达重点,好像在一个管道中传送
- 报文交换:整个报文先传送到相邻节点,(全部存储下来后查找转发表),转发到下一个节点
- 分组交换:单个分组传送到相邻节点,(不需要全部分组存储下来后再查找转发表,只要传送到节点就立马开始查找转发表),转发到下一个节点
计算机网络的类别
按照网络的作用范围进行分类
- 广域网(WAN):广域网的作用范围通常为几十到几千公里,因而有时也称为“远程网”
- 城域网(MAN):城域网的作用范围一般是一个城市
- 局域网(LAN):局域网一般用于微型计算机或工作站通过高速通信线路相连(典型的例子:校园网和局域网)
- 个人区域网(PAN):个人区域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来,通俗来说就是(WIFI)
按照网络的适用范围进行分类
- 公用网:指电信公司出资建造的大型网络,所有愿意按电信公司的规定缴纳费用的人都可以使用这种网络
- 专用网:某个部门为满足本单位的特殊业务工作的需要而建造的网络。例如:军队、铁路等等
用来把用户接入到互联网的网络
这种网络叫作“接入网AN”,又称为“本地接入网”或“居民接入网”。
计算机网络的性能【重要】
研究计算机网络的性能,我们有七个指标:“速率”、“带宽”、“吞吐量”、“时延”、“时延带宽积”、“往返时间RTT”、“利用率”
速率
计算机发送的信号都是数字形式的。
“比特(bit)”意思是一个“二进制数字”,因此一个比特就是二进制数字中的1或0。
网络技术中的“速率”指的是“数据的传送速率”,也称为“数据率或比特率”,单位是“bit/s(比特每秒或b/s)”
当数据率较高时,通藏在bit/s前面加一个字母,例如:
1Kbit/s = bit/s
1Mbit/s = bit/s
1Gbit/s = bit/s
带宽
带宽有下面两种不同的意义
- 指某个信号具有的“频带宽度”。如某个电话信号的标准宽带是3.1kHz
- 在计算机网络中,带宽指网络中某“通道”传输数据的能力,因此网络带宽表示“在单位时间内网络中的某信道所能通过的最高数据率”。在以后提到带宽时,都表示这个意思。带宽的单位是“数据率的单位bit/s”
吞吐量
吞吐量表示“在单位时间内通过某个网络的实际数据量”
例如某个1Gbit/s的以太网,是说它的额定速率是1Gbit/s,实际的速度达不到这个,吞吐量可能只有100Mbit/s
实际传输中,吞吐量有数据在N条链路中传输“速率最低”的那一条决定
如果N个用户共享一个网络,那么可能实际的每个用户的吞吐量只有“总吞吐量 / N”
时延
时延是指“数据从网络的一端到另一端所需的时间”,有时也被称作“延迟或迟延”
网络中的时延由:“发送时延”、“传播时延”、“处理时延”、“排队时延”四部分组成
发送时延
发送时延是“主机或路由器发送数据帧所需要的时间”
即“从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间”
发送时延是在“路由器内部产生的”
计算公式是:
传播时延
传播时延是“电磁波在信道中传播一定的距离需要的花费时间”
计算公式:
传播时延是在“链路中产生的(光纤、铜线电缆等)”
处理时延
主机或路由器接收到分组时需要花费一定的事件处理(分析分组的首部、从分组中提取数据部分等等)
排队时延
分组在经过网络传输时,要经过许多路由器。
分组进入路由器后要现在“输入队列”中排队等待。
在分析完分组进行转发时,还要进入“输出队列”排队等待。
排队往往取决于网络当时的通信量(当通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延无穷大)
总结
数据在网络中经历的总时延就是:
“总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延”
(小时延的网络优于大时延的网络
时延带宽积
将“传播时延”和“带宽”相乘,得到“时延带宽积”
“时延带宽积 = 传播时延 * 带宽”
上图是一个代表链路的管道,管道的长度是链路的传播时延,管道的截面是带宽。因此时延带宽积代表这个管道的体积,表示“这样的链路可以容纳多少个比特”
时延带宽积又被称为“以比特为单位的链路长度”
只有“代表链路的管道都充满毕特时,链路才得到最充分的利用”
往返时间RTT
发送时间 = 数据长度 / 发送速率
假设A向B发送100MB数据,B接收完数据后,立即向A发送确认。
假定A只有在收到B的确认信息后,才能继续向B发送数据,显然这就要等待一个往返时间RTT
因此有效数据率为:“有效数据率 = 数据长度 / (发送时间 + RTT)”
利用率
利用率有:“信道利用率”和“网络利用率”两种
信道利用率:某信道有百分之几的时间是被利用的
网络利用率:全网络的信道利用率的加权平均值
信道利用率并非越高越好。
我们令表示网络空闲时的时延,D表示网络当前的时延,U表示网络利用率,有以下公式:
如果信道利用率过高就会产生非常大的时延:
计算机网络的非性能特征
费用:网络的价格,价格与性能密切相关
质量:网络的质量取决于所有构件的质量
标准化:网络的硬件和软件设的不同标准
可靠性:可靠性与网络的质量和性能有密切关系
可扩展性和可升级性:在构造网络时应当考虑到今后可能会需要扩展和升级网络
易于管理和维护:网络如果没有良好的管理和维护,就难以达到和保持设计的性能
计算机网络体系结构
协议与划分层次
为进行网络中的数据交换而建立的规则、标准或约定称为“网络协议”,简称“协议”
网络协议主要有以下三个要素组成:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何响应
- 同步:即事件实现顺序的详细说明
“计算机网络的各层及其协议的集合”就是网络的“体系结构”
具有五层协议的体系结构【重要】
五层协议为:“应用层” -> “运输层” ->“网络层” -> “数据链路层” ->“物理层”
TCP/IP只有最上面的三层
应用层
应用层是体系结构中的最高层。
应用层的任务是:“通过应用进程间的交互来完成特定网络应用”
应用层协议有:“DNS”、“HTTP协议”、“SMTP协议”等等
在应用层交互的数据单元叫作:“报文”
运输层
运输层的任务是:“向两台主机中进程之间的通信提供通用的数据传输任务”
运输层主要使用以下两种协议报文:
- 传输控制协议TCP:提供面向连接的、可靠地数据传输服务,其传输的单位是“报文段”
- 用户数据报协议UDP:提供无连接的尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是“用户数据报”
网络层(国际层、IP层)
网络层的任务是“为分组交换网上的不同主机提供通信服务”。
网络层把运输层产生的报文段或数据单元封装成“分组”或“包”进行传送。
在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫“IP数据报”或简称为“数据报”
“数据报”和“分组”是一个东西
数据链路层(链路层)
链路层将网络层给予的IP数据报组装成“帧”,在两个相邻节点之间传送“帧”
每一帧包括数据和必要的控制信息“如同步信息、地址信息、差错控制等”
物理层
在物理层上所传数据的单位是“比特”
实体、协议、服务和服务访问点
- 实体:任何可以发送或接收信息的硬件或软件进程
- 协议:控制两个对等实体(或多个实体)进行通信的规则的集合
- 服务访问点:在同一系统中相邻两层的实体进行交互(即交换信息)的地方
“在协议的控制之下,两个对等实体间的它们通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务”
“协议是水平的,但服务时垂直的”