导图社区 计算机网络概述
这是关于计算机网络概述一章的思维导图,内容包括:计算机网络的定义、计算机网络的发展、计算机网络的功能及其分类、计算机网络的组成、计算机网络的分类、资源子网和通信子网的概念。
编辑于2021-04-24 13:59:21计算机网络概述
互联网概述
Internet (互联网/因特网)
指当前全球最大的、开放的、由众多网络互相连接而成的特定互连网
使用TCP/IP协议族作为通信的规则,前身是美国的ARPANET
两个重要基本特点
连通性 (connectivity)
共享:资源共享
计算机网络由若干结点 (node) 和连接这些结点的链路 (link) 组成
结点可以是计算机、集线器、交换机或路由器等
网络把许多计算机连接在一起
与网络相连的计算机常称为主机 (host)
互连网 (internet 或 internetwork)
网络的网络 (networks of networks)
互连网把许多网络通过路由器连接在一起
互联网服务提供商 ISP (Internet Service Provider)
ISP可以从互联网管理机构中申请到很多IP地址,拥有通信线路及路由器等连网设备
用户必须通过ISP才能接入互联网
我国有名的ISP:中国电信、中国联通、中国移动
不同层次的ISP
主干ISP
由几个专门的公司创建并维持,服务面积最大 (一般覆盖全国范围),拥有高速主干网
地区ISP
本地ISP
给用户提供直接的服务。可与本地ISP或主干ISP连接。可以是企业、大学等
互联网交换点 IXP (Internet eXchange Point)
主要作用是允许两个网络直接相连并交换分组,不需要再通过第三个网络来转发分组
典型的IXP由一个或多个网络交换机组成,许多ISP再连接到网络交换机的相关端口上
互联网的标准化工作
互联网协会 ISOC (Internet Society)
一个国际性组织,对互联网进行全面管理以及在世界范围内促进其发展和使用
IAB (Internet Architecture Board)
互联网体系结构委员会,ISOC下面的一个技术组织,负责管理互联网有关协议的开发
设有工程部
IETF
研究短期和中期的工程问题,主要针对协议的开发和标准化
IRTF
研究一些需长期考虑的问题,包括互联网的一些协议、应用、体系结构等
RFC (Request For Comments)
所有互联网标准都是以RFC的形式在互联网上发表的。并非所有RFC都是互联网标准
制定互联网正式标准的三个阶段
互联网草案 (Internet Draft)
还不能算是RFC文档
建议标准 (Proposed Standard)
成为RFC文档
互联网标准 (Internet Standard)
达到正式标准后,每个标准分配一个编号STD xx,一个标准可与多个RFC关联
另外3种RFC文档
历史的RFC文档
被后来的规约所取代,或未达到必要的成熟等级而未变成互联网标准
实验的RFC文档
表示其工作属于正在实验的情况,而不能在任何实用的互联网服务中进行实现
提供信息的RFC文档
包括与互联网有关的一般的、历史的或指导的信息
获取RFC文档:https://www.rfc-editor.org/
互联网的组成
按工作方式划分
互联网的边缘部分
由所有连接在互联网上的主机组成。用户直接使用,用来进行通信和资源共享
主机又称为端系统 (end system)
"主机A和主机B进行通信"
实际上是"主机A的某个进程与主机B的某个进程进行通信",简称为"计算机之间通信"
端系统之间的通信方式
客户-服务器方式 (C/S方式)
客户 (client) 和服务器 (server) 都是指通信中涉及的两个应用程序
表示机器时,可翻译成 "客户端/客户机","服务器端/服务器"
主要特征:客户是服务请求方,服务器是服务提供方
程序主要特点
客户程序
被用户调用后运行,在通信时主动向远程服务器发起通信 (请求服务)。因此,客户程序必须知道服务器程序的地址
不需要特殊的硬件和很复杂的系统
服务器程序
是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求
系统启动后即自动调用并一直运行着,被动地等待并接受来自各地的客户的请求通信
一般需要有强大的硬件和高级的操作系统支持
浏览器-服务器方式 (B/S方式) 是C/S方式的一种特例
对等连接方式 (P2P方式,peer-to-peer)
指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方
P2P方式从本质上看仍然是使用C/S方式,只是对等连接中的每一个主机既是客户又同时是服务器
P2P方式可支持大量对等用户 (如上百万个) 同时工作
互联网的核心部分
由大量网络和连接这些网络的路由器组成。为边缘部分提供服务 (提供连通性和交换)
路由器 (router) 是实现分组交换的关键构件,其任务是转发收到的分组
交换 (switching)
从通信资源的分配角度来看,交换是按照某种方式动态地分配传输线路的资源
电路交换 (circuit switching)
三个步骤
建立连接 (占用通信资源) -> 通话 (一直占用通信资源) -> 释放连接 (归还通信资源)
重要特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低
分组交换 (packet switching)
采用存储转发技术
报文 (message)
通常把要发送的整块数据称为一个报文
分组 (packet)
在发送报文前,先把较长的报文划分成一个个更小的等长数据段
在每个数据段前面,加上一些由控制信息组成的首部 (header) 后,构成一个分组
分组又称为"包",分组的首部也可称为"包头"
分组是互联网中传送的数据单元
分组交换的优点
高效:在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
灵活:为每一个分组独立地选择最合适的转发路由
迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
分组暂存在路由器存储器 (内存) 而非磁盘中,交换速率高
可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
分组交换的问题
分组在各路由器存储转发时需要排队,这会造成一定的时延
不是通过建立连接来保证通信时所需的资源,因而无法确保通信时端到端所需的带宽
各分组必须携带的控制信息也造成了一定的开销 (overhead)
整个分组交换网还需专门的管理和控制机制
交换方式的区别
电路交换
整个报文的比特流连续地从源点直达终点,好像在一个管道中传送
报文交换
整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点
分组交换
单个分组 (报文的一部分) 传送到相邻结点,存储后查找转发表,转发到下一个结点
不需预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率
计算机网络在我国的发展
发展情况
1980年,铁道部开始进行计算机联网实验
1989年11月,我国第一个公用分组交换网CNPAC建成运行
1940年4月20日,我国用64kbit/s专线正式连入互联网
从此,我国被国际上正式承认为接入互联网的国家
1940年5月,中国科学院高能物理研究所设立了我国第一个万维网服务器
1940年9月,中国公用计算机互联网CHINANET正式启动
公用计算机网络:CHINANET、UNINET、CMNET、CERNET、CSTNET
2004年2月,我国第一个下一代互联网CNGI的主干网CERNET2试验网正式开通
标志着中国在互联网发展过程中,已逐渐达到与国际先进水平同步
中国互联网络信息中心 CNNIC (China Network Information Center)
每年两次公布我国互联网的发展情况
网站:www.cnnic.cn
对互联网影响较大的人物事件
1996年,张朝阳创立中国第一家以风险投资资金建立的互联网公司——爱特信公司
1998年,推出"搜狐"产品,更名为搜狐公司 (Sohu)
1997年,丁磊创立网易公司 (NetEase),推出中国第一家中文全文搜索引擎
开发超大容量免费邮箱 (如163和126等)
1998年,王志东创立新浪网站 (Sina.com)
新浪微博
1998年,马化腾、张志东创立腾讯公司 (Tencent)
1999年,腾讯推出用在个人电脑上的即时通信软件QICQ,简称QQ
2011年,腾讯推出专门供智能手机使用的即时通信软件"微信" (WeChat)
1999年,马云创建阿里巴巴网站 (Alibaba.com),是一个企业对企业的网络贸易市场平台
2003年,马云创立个人网上贸易市场平台——淘宝网 (Taobao.com)
2004年,阿里巴巴集团创立第三方支付平台——支付宝 (Alipay.com)
2000年,李彦宏、徐勇创建百度网站 (Baidu.com)
计算机网络的类别
计算机网络的定义
较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些硬件可用来传送多种不同类型的数据
计算机网络所连接的硬件,并不限于一般的计算机,还包括智能手机
计算机网络并非专门用来传送数据,而是能够支持很多种的应用
"可编程的硬件"表明这种硬件一定包含有中央处理器CPU
几种不同类别的计算机网络
按照网络的作用范围进行分类
若CPU之间距离非常近 (1米数量级或更小),称之为多处理机系统,而不称它为计算机网络
广域网 WAN (Wide Area Network)
作用范围通常为几十到几千公里,有时也称为远程网 (long haul network)
WAN是互联网的核心部分,任务是通过长距离运送主机所发送的数据
连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量
城域网 MAN (metropolitan Area Network)
作用范围一般是一个城市,作用距离约为5~50km
局域网 LAN (local Area Network)
一般用微型计算机或工作站通过高速通信线路相连 (速率通常在10Mbit/s以上)
作用范围较小 (1km左右)
学校或企业大都拥有多个互连的局域网 (校园网或企业网)
个人区域网 PAN (Personal Area Network)
在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络
WPAN (Wireless PAN)
作用范围很小,大约在10m左右
按照网络的使用者进行分类
公用网/公众网 (public network)
指电信公司 (国有或私有) 出资建造的大型网络
"公用"的意思是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络
专用网 (private network)
某个部门为满足本单位的特殊业务工作的需要而建造的网络
这种网络不向本单位以外的人提供网络。如军队、银行等系统均有专用网
用来把用户接入到互联网的网络
接入网 AN (Access Network)
又称为本地接入网或居民接入网
是从某个用户端系统到互联网中第一个路由器 (边缘路由器) 之间的一种网络
接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分
计算机网络的性能
计算机网络的性能指标
速率
指数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)
单位是 bit/s (比特每秒),或 b/s,有时也写为 bps,即 bit per second
当数据率较高时,常在bit/s前面加上一个字母
k(kilo)、M(Mega)、G(Giga)、T(Tera)、P(Peta)、E(Exa)、Z(Zetta)、Y(Yotta)
在通信领域中,k=1000,M=1000k,G=1000M,... 在计算机领域中,数的计算使用二进制。K=1024 (2的10次方),M=1024K (2的20次方),... 所有这些单位都使用大写字母。此外,计算机中数据量常用字节B作为度量单位。1B=8bit。例,15GB的数据块以10G的速率传送,表明数据块大小为 15*(2^30)*8 bit,速率为 10*(10^9)bit/s。
4000bit/s = 4kbit/s。M=1000k,...
当说起网络速率时,常省略速率单位中应有的 bit/s,比如"40G的速率"
当提到网络速率时,往往指的是额定速率或标称速率,而非实际运行的速率
带宽 (bandwidth)
带宽本来指某个信号具有的频带宽度
表示某信道允许通过的信号频带范围就称为该信道的带宽 (或通频带)
单位是Hz
在计算机网络中,带宽用来表示网络中某通道传送数据的能力
网络带宽表示在网络中的某信道所能通过的最高数据率
单位是 bit/s
在上述2种表述中,前者为频域称谓,后者为时域称谓,其本质是相同的
一条通信链路的"带宽"越宽,其所能传输的"最高数据率"也越大
吞吐量 (throughput)
吞吐量表示在单位时间内通过某个网络 (或信道、接口) 的实际数据量
常用于对现实世界中网络的一种测量,了解实际上有多少数据量能通过网络
吞吐量受网络的带宽或网络的额定速率的限制
单位是 bit/s,有时吞吐量还可用每秒传送的字节数或帧数来表示
时延 (delay/latency)
指数据 (一个报文或分组、或比特) 从网络 (或链路) 的一端传送到另一端所需的时间
有时也称为延迟或迟延
组成部分
发送时延 (transmission delay)
主机或路由器发送数据帧所需的时间
即从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完所需时间
发送时延 = 数据帧长度 (bit) / 发送速率 (bit/s)
传播时延 (propagation delay)
是电磁波在信道中传播一定的距离需要花费的时间
传播时延 = 信道长度 (m) / 电磁波在信道上的传播速率 (m/s)
处理时延
主机或路由器在收到分组时进行处理所需的时间
比如分析分组的首部、从分组中提取数据部分、进行差错检验、查找适当的路由等
排队时延
分组在进入路由器后要先在输入队列中排队等待处理;在路由器确定转发接口后,在输出队列中排队等待转发
往往取决于网络当时的通信量
当通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
时延带宽积
时延带宽积 = 传播时延 (s) x 带宽 (bit/s)
链路的时延带宽积又称为以比特为单位的链路长度
管道中的比特数表示从发送端发出的但尚未到达接收端的比特
往返时间 RTT (Round-Trip Time)
在许多情况下,互联网上的信息不仅仅单方向传输而是双向交互的
在互联网中,RTT还包括各中间结点的处理时延、排队时延和转发数据的发送时延
当使用卫星通信时,RTT相对较长
利用率
信道利用率
指出某信道有百分之几的时间是被利用的 (有数据通过)
信道利用率并非越高越好
根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加
一些拥有较大主干网的ISP通常控制信道利用率不超过50%。否则扩容,增加带宽
网络利用率
全网络的信道利用率的加权平均值
在适当假定条件下,D=D0/(1-U)
D0表示空闲网络时的时延,D表示网络当前的时延,U表示网络的利用率
信道或网络的利用率过高会产生非常大的时延
计算机网络的非性能特征
费用
网络的价格,包括设计和实现的费用
网络的价格与其性能密切相关
一般说来,网络的速率越高,其价格也越高
质量
取决于网络中所有构件的质量,以及这些构件是怎样组成网络的
影响到很多方面,如网络的可靠性、网络管理的简易性、网络的一些性能
标准化
网络的硬件和软件的设计既可以按照通用的国际标准,也可遵循特定的专用网络标准
最后采用国际标准的设计——更好的互操作性、更易于升级和维修、易得到技术支持
可靠性
与网络的质量和性能有密切关系
可扩展性和可升级性
扩展即规模扩大,升级即性能和版本的提高
易于管理和维护
计算机网络体系结构
计算机网络体系结构的形成
早在最初的ARPANET的设计时即提出了分层的方法
"分层"可将庞大而复杂的问题转换为若干较小的局部问题,比较易于研究和处理
1974年,美国的IBM公司宣布了 SNA (系统网络体系结构)
ISO提出OSI标准,即开发系统互连基本参考模型 OSI/RM
法律上的国际标准
TCP/IP常被称为是事实上的国际标准
协议与划分层次
网络协议 (network protocol)
为进行网络中的数据交换而建立的规则、标准或约定
也可简称为协议
三个组成要素
语法
数据与控制信息的结构或格式
语义
需要发出何种控制信息,完成何种动作,做出何种响应
同步
事件实现顺序的详细说明
两种不同的形式
使用便于人阅读和理解的文字描述
使用让计算机能够理解的程序代码
分层的好处
各层之间是独立的
因而可将一个复杂问题分解为若干个较容易处理的比较小的问题
灵活性好
当某一层发生变化时,只要层间接口关系保持不变,其他层则不受影响
结构上可分割开
各层都可以采用最合适的技术来实现
易于实现和维护
因为整个系统已被分解为若干个相对独立的子系统
能促进标准化工作
因为每一层的功能及其所提供的服务都已有了精确的说明
各层所要完成的主要功能 (可包含一种或多种)
差错控制
使相应层次对等方的通信更加可靠
流量控制
发送端的发生速率必须使接收端来得及接收,不要太快
分段和重装
发送端将要发送的数据块划分为更小的单位,在接收端将其还原
复用和分用
发送端几个高层会话复用一条底层的连接,在接收端再进行分用
连接建立和释放
交换数据前先建立一段逻辑连接,数据传送结束后释放连接
分层的缺点
有些功能会在不同的层次中重复出现,产生了额外开销
计算机网络的体系结构 (architecture)
计算机网络的各层及其协议的集合就是网络的体系结构
换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义[GREE82]
这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现 (implementation) 的问题
体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件
具有五层协议的体系结构
综合OSI和TCP/IP的优点,采用一种五层协议的体系结构
OSI的七层协议体系结构的概念清除,理论也较完整
TCP/IP是一个四层的体系结构,包含应用层、运输层、网络层、网络接口层
TCP/IP往往表示互联网所使用的整个TCP/IP协议族 (protocol suite)
五层
应用层 (application layer)
任务:通过应用进程间的交互完成特定网络应用
应用层协议定义的是应用进程间通信和交互的规则
应用层协议有DNS、HTTP、SMTP等
应用层交互的数据单元称为报文 (message)
运输层 (transport layer)
任务:负责向两台主机中进程之间的通信提供通用的数据传输服务
一台主机可同时运行多个进程,因此运输层有分用和复用的功能
复用是多个应用层进程可同时使用下面运输层的服务
分用是运输层把收到的信息分别交付上面应用层中的相应进程
协议
TCP
提供面向连接的、可靠的数据传输服务
数据传输的单位是报文段 (segment)
UDP
提供无连接的、尽最大努力 (best-effort) 的数据传输服务 (不保证数据传输的可靠性)
数据传输的单位是用户数据报
网络层 (network layer)
任务
负责为分组交换网上的不同主机提供通信服务
选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机
在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送
无论在哪一层传送的数据单元,都可笼统地用"分组"表示
在TCP/IP体系中,网络层使用IP协议,分组也叫做IP数据报,简称为数据报
互联网使用的网络层协议是网际协议 IP 和许多路由选择协议
因此互联网的网络层也叫做网际层或IP层
数据链路层 (data link layer)
两台主机之间的数据传输,在一段一段的链路上传送,这需要使用专门的链路层协议
数据链路层常简称为链路层
在相邻结点之间传送数据时,链路层将网络层交下来的数据报封装成帧 (framing)
在相邻结点之间的链路上传送帧 (frame)
每一帧包括数据和控制信息 (同步信息、地址信息、差错控制等)
物理层 (physical layer)
在物理层上所传数据的单位是比特。即 0 或 1
物理层要考虑用多大的电压代表 1 或 0,以及接收方如何识别发送发所发送的比特
物理层要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接
传递信息所利用的一些物理媒体,并不在物理层协议之内而是在物理层协议的下面
有人把物理媒体 (如双绞线、光缆、无线信道等) 当作第0层
对等层 (peer layers) 之间的通信
OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU
协议栈 (protocol stack)
因为几个层次画在一起很像一个栈 (stack) 的结构
实体、协议、服务和服务访问点
实体 (entity)
表示任何可发送或接收信息的硬件或软件进程
在许多情况下,实体是一个特定的软件模块
协议
控制两个实体 (或多个实体) 进行通信的规则的集合
协议与服务
联系
在协议的控制下,两个对等实体的通信使得本层能够向上一层提供服务
要实现本层协议,还需要使用下一层提供的服务
区别
协议的实现保证了能够向上一层提供服务
下面的协议对上面的实体是透明的
协议是水平的,服务是垂直的
服务是由下层向上层通过层间接口提供的
并非在一个层内完成的全部功能都称为服务
只有那些能被上一层实体"看得见"的功能才称为服务
服务原语
上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语
服务访问点 SAP (Service Access Point)
在同一系统中相邻两层的实体进行交互 (即交换信息) 的地方
这是一个抽象概念,实际上是一个逻辑接口,有点像邮政信箱 (放邮件、取邮件)
服务数据单元 SDU
OSI把层与层之间交换的数据的单位称为SDU
可以是多个SDU合成一个PDU,也可以是一个SDU划分成多个PDU
协议的一个重要特点
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的
看网络协议是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况
一个有关网络协议的著名例子
蓝军、白军 作战
TCP/IP的体系结构
TCP/IP四层协议表示方法
图中的路由器在转发分组时最高只用到网络层,而没有使用运输层和应用层
实际上现在的互联网使用的TCP/IP体系结构有时演变成左图所示,即某些应用程序可直接使用IP层,或直接使用网络接口层[PETE11]
沙漏计时器形状的TCP/IP协议族表明:TCP/IP协议可以为各式各样的应用提供服务 (everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上允许 (IP over everything)