计算机网络概述
最早有三类网络:电信网络、有线电视网络和计算机网络,后来“三网融合”,将三种网络融合成一种网络就可以提供上述的所有服务。
互联网概述
两个基本特点
- 互联网有两个重要的基本特点,即连通性和共享。
- 连通性:用户之间不论相距都远的距离,通过互联网都可以便捷地、经济地交换各种信息。
- 共享:也就是资源共享,可以是信息共享、软件共享或者是硬件共享。这些资源就好像在用户身边一样,使用非常方便。
计算机网络
-
计算机网络由若干节点(node)和连接这些节点的链路(link)构成,节点可以是计算机、集线器、交换机、路由器等。所谓互联网也就是将各部分计算机网络连接起来,形成一张更大的网络,即“网络的网络”。
-
网络把计算机连接在一起,而互联网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机(host)。
互联网基础结构发展的三个阶段
-
第一阶段:从单个网络ARPANET向互联网发展的过程。
1969年美国国防部创建的第一个分组交换网ARPANET最初只是一个单个的分组交换网,各主机都直接与就近的节点交换机相连。后来逐渐应用在民用技术上,互联网络由此出现,成为现今互联网的雏形。
-
第二阶段:建成了三级结构的互联网。
1985年,美国国家科学基金会NSF围绕六个大型计算机中心建设计算机网络,由三级构成,分别为主干网、地区网和校园网(或企业网),这个网络覆盖了美国主要的大学和研究所。1991年,NSF和其他政府机构认为互联网不应只限于大学和研究机构,于是允许众多公司接入互联网,网络上的信息量急剧增大,使互联网的容量已无法满足需要,政府决定将互联网主干网交给私人公司经营,并开始收费。
-
第三阶段:逐渐形成了全球范围的多层次ISP结构的互联网。
从1993年开始,由美国政府自主的NSFNET逐渐被若干个商用的互联网主干网替代,由此出现了互联网服务提供者ISP(Internet Service Provider),例如我国的中国电信、中国联通和中国移动。ISP可以从互联网管理机构申请到很多IP地址,同时拥有通信线路和路由器等联网设备,因此任何个人或机构向ISP缴纳规定费用,就可以从ISP获取到IP地址和租用权,并通过ISP接入互联网。
互联网服务提供者层次
-
互联网服务提供者ISP也分为多个层次,主干ISP、地区ISP和本地ISP,目前覆盖全世界的互联网,主干ISP只有十几个,但本地ISP数量达到几十万个。
- 主干ISP:由特定公司创建和维护,服务面积最大(一般覆盖国家范围),并且拥有高速主干网。不同网络运营商都有自己的主干ISP网络,并且可以彼此互通。
- 地区ISP:这些地区ISP通过主干ISP连接起来,数据率也比主干ISP低一些。
- 本地ISP:给用户提供直接的服务,可以连接到地区ISP,也可以直接连接到主干ISP。可以是提供互联网服务的公司,或是向内部提供服务的企业,或是运行自己网络的非营利机构(比如学校)。
-
随着互联网数据的急剧增长,以及为了给主干ISP减轻转发分组的压力和提高转发效率,互联网交换点IXP(Internet eXchange Point)应运而生。其作用是:允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组,由此,转发分组不必再经过最上层的主干ISP,而是直接在两个地区ISP之间用高速链路对等地交换分组。
两个主机的信息传递方式:主机A→本地ISP→地区ISP→主干ISP→地区ISP→本地ISP→主机B
互联网标准化
- 1992年后成立了一个国际性组织互联网协会ISOC(Internet Society)来对互联网进行全面管理以及在世界范围内促进起发展和使用。
- 所有的互联网标准都是以RFC(Request For Comments,“请求评论”)的形式在互联网上发表的,指定互联网的正式标准要经过三个阶段:
- 互联网草案(Internet Draft):六个月有效期,但不算是RFC文档
- 建议标准(Proposed Standard):开始成为RFC文档
- 互联网标准(Internet Standard):如果经过长期的检验,证明某个检疫标准可以成为互联网标准,则为其分配一个标准编号
互联网的组成🌟
-
互联网从工作方式上看可以分为两大模块,边缘部分和核心部分。其核心功能是分组转发。
边缘部分
-
边缘部分由所有连接在互联网上的主机(端系统)组成,这部分是用户直接使用的,用来进行通信(传输数据、音频或视频)和资源共享。端系统可以是个人电脑、智能手机、网络摄像头,或者是大型计算机(服务器),拥有者可以是个人或者单位,或者也可以属于某一ISP。
-
端系统之间的通信方式有两大类:
-
客户-服务器方式(C/S方式)
互联网上最常用、最传统的方式,客户(client)是服务请求方,服务器(server)是服务提供方。
-
对等连接方式(P2P方式)
对等连接(peer-to-peer)的两台主机通过对等连接软件就可以进行平等的对等连接通信,双方都可以下载对方已经存储在硬盘中的共享文档。这一种连接方式中,每一台主机既是客户又是服务器。
-
核心部分
- 核心部分由大量网络和链接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换),使得边缘部分中的任何一台主机都能与其他主机通信。
- 网络核心部分起特殊作用的是路由器(router),是一种专用计算机,是实现分组交换(packet switching)的关键构件,任务是转发收到的分组。路由器和边缘部分的主机有很大不同,主机是为用户进行信息处理的,路由器则是用来转发分组,即进行分组交换。分组转发是网络核心部分最重要的功能。
- 典型的交换技术包括:电路交换、分组交换和报文交换。
电路交换
-
必须经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。
-
特点:
- 突发性:数据是突发式地出现在传输线路上的
- 利用率低:线路上真正用来传送数据的时间往往不到10%甚至1%,已被用户占用的通信线路资源在绝大部分时间里都是空闲的。
分组交换
-
分组交换采用存储转发技术,把一个报文划分为几个分组后再进行传送。每一个数据段前面都会加上一些必要的控制信息组成首部(header),包括目的地址、源地址等重要信息。
-
分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。每个分组在互联网中独立地选择传输路径。用这样的存储转发方式,最后分组就能到达最终目的地。
-
优点:
- 高效:再分组传输的过程中动态分配传输带宽,对通信链路逐段占用
- 灵活:为每一个分组独立地选择最合适的转发路由
- 迅速:以分组作为传送单位,不先建立连接就能向其他主机发送分组
- 可靠:保证可靠性的网络协议,分布式多路由的分组交换网使得网络有很好的生存性
-
缺点:
- 造成一定的时延:分组在各路由器存储转发时需要排队
- 造成一定的开销:数据在转发过程中可能会丢失
交换方式的对比
-
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
-
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
-
由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
计算机网络的类别🌟
计算机网络的定义
- 计算机网络主要是由一些通用的、可编程的硬件互联而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的目的和日益增长的应用。
网络分类
按照作用范围
- 广域网WAN(Wide Area Network):几十到几千公里,可以跨越不同的国家
- 城域网MAN(Metropolitan Area Network):5~50公理,一般覆盖一个城市,或者几个街区
- 局域网LAN(Local Area Network):通常局限在较小范围,满足某个特定区域内的局域互联需求
- 个人区域网PAN(Personal Area Network):10米左右,使用无线技术连接起来的网络
按照使用者
- 公用网(public network):即公众网,缴纳费用就可以使用的网络
- 专用网(private network):某个部门为了满足本单位特殊业务需要而建造的网络
用来把用户接入到互联网的网络
- 接入网AN(Access Network)又称为本地接入网或居民接入网,实际上是本地ISP拥有的网络,借助多种接入网技术可以把用户的端系统连接到互联网。接入网既不是互联网的核心部分,也不是互联网的边缘部分。
按照拓扑结构
- 广播信道通信子网中的基本拓扑结构:总线型、环型、星型
- 点-点线路的通信子网中的基本拓扑结构:环型、星型、网状
总线型
-
总线型适用于计算机数目相对较少的局域网络,网络连接选用同轴电缆,如传统以太网。
-
特点:
- 结构简单,可靠性好
- 各结点共用总线,广播式传输
- 扩充性好,增减结点容易
- 总线争用,故障后果严重、诊断困难,传输率低
-
演变结构:树型拓扑
- 非常适用于构建网络主干,一般采用光纤作为网络主干,用于军事单位、政府单位等上下界限相当严格和层次分明的网络结构
- 特点:
- 总线型结构的扩展
- 在总线网上加上分支形成
- 容错能力较好
- 广播式传输
- 扩充性好,增减结点容易
- 与星型拓扑类似,对根节点要求高
星型
- 星型拓扑结构是局域网普遍采用的一种拓扑结构,一般使用双绞线或光纤作为传输介质。
- 特点:
- 所有结点与中央结点连接(switch or hub)
- 结构简单、控制简单、稳定
- 易于网络的扩展
- 结点出现故障易于诊断与隔离
- 易于提高网络的传输速度
- 中央结点的可靠性、布线费用大、资源共享能力较差
环型
- 适用于局域网,结点个数有限
- 优点:
- 结构简单、传输延时确定
- 资源共享性好
- 采用令牌控制
- 实时控制
- 缺点:
- 各结点共享环路,结点出现故障,网络瘫痪
- 扩展不易
网状
- 一般用于Internet骨干网上,使用路由算法来计算发送数据的最佳路径。
- 特点:
- 端结点之间存在多条通路,需选择路径
- 可靠性高、传输速率高、容错性好
- 通信控制复杂
计算机网络的性能🌟
-
存储容量单位:数据块大小的基本单位B(Byte字节)。
$1Byte=8bits$
$1KB=1024B=2^{10}B$
$1MB=1024KB=2^{20}B$
-
速率基本单位:数据率的单位bit/s(bps,b/s),比特每秒。
$1kbps=10^3bps$
$1Mbps=10^6bps$
$1Gbps=10^9bps$
性能指标
速率
- 速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率 (data rate) 或比特率 (bit rate)。
- 单位:bit/s(bps)、kbit/s、Mbit/s、 Gbit/s……
- 速率往往是指额定速率或标称速率,非实际运行速率。
带宽
-
带宽(bandwidth)用来表示网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”。
-
单位:bit/s(bps)、kbit/s、Mbit/s、 Gbit/s……
吞吐量
- 吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或网络的额定速率的限制。
时延
-
时延 (delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,有时也称为延迟或迟延。时延由四个不同的部分组成:
发送时延ts
-
也称为传输时延。发送数据时,数据帧从结点进入到传输媒体所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
-
计算方法:$发送时延=\frac{数据帧长度(bit)}{发送速率(bps)}$
对于一定的网络,发送时延并非固定不变,而是与发送的帧长度成正比,与发送速率成反比。
10MB数据块在传输数率为1Mbps的信道上发送,发送时延为?
发送时延:$\frac{10\times 2^{20}\times 8}{10^6bps}=83.89s$
传播时延tp
-
电磁波在信道中需要传播一定的距离而花费的时间。 发送时延与传播时延有本质上的不同。信号发送速率和信号在信道上的传播速率是完全不同的概念。
-
计算方法:$传播时延=\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}$
电磁波在真空(空气)中的传播速率为$3×10^8m/s$,在电缆中的传播速率要比在真空中的略低,约为$2.3×10^8m/s$,在光纤中的传播速率约为$2.0×10^8m/s$。
1000km长的光纤线路带来的传播时延
传播时延:$\frac{10^6m}{2.0\times 10^8m/s}=5ms$
处理时延
- 主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
排队时延
- 分组在路由器输入输出队列中排队等待处理所经历的时延,排队时延的长短往往取决于网络中当时的通信量。
总时延
-
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。
综合计算
收发两端之间的传输距离为$1000km$,信号在媒体上的传播速率为$2×10^8m/s$。试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为$10^7bit$,数据发送速率为$100kb/s$。
(2) 数据长度为$10^3bit$,数据发送速率为$1Gb/s$。
(3)从上面的计算中可以得到什么样的结论?- 发送时延:$ts=\frac{10^7bit}{10^5bps}=100s$
传播时延:$tp=\frac{10^6m}{2×10^8m/s}=0.005s=5ms$ - 发送时延:$ts=\frac{10^3bit}{10^9bps}=1μs$
传播时延:$tp=\frac{10^6m}{2×10^8m/s}=0.005s=5ms$ - 若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。
但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。
- 发送时延:$ts=\frac{10^7bit}{10^5bps}=100s$
-
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。
-
提高链路带宽减小了数据的发送时延。
-
“在高速链路(或高带宽链路)上,比特会传送得更快些”的说法是错误的
时延带宽积
-
链路的时延带宽积又称为以比特为单位的链路长度。 只有在代表链路的管道都充满比特时,链路才得到了充分利用。
-
$时延带宽积=传播时延\times 带宽$
往返时间RTT
- 往返时间 RTT (round-trip time) 表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
利用率
-
分为信道利用率和网络利用率。
- 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
- 网络利用率则是全网络的信道利用率的加权平均值。
-
信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。若令$D_0$表示网络空闲时的时延,$D$表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示$D$和$D_0$之间的关系: $D=\frac{D_0}{1-U}$。其中$U$是网络的利用率,数值在$0\sim 1$之间。
非性能特征
- 非性能特征主要包括:费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护。
计算机网络的体系结构🌟
计算机网络体系结构的形成
- 为了使不同体系结构的计算机网络都能互连,国际标准化组织 ISO 于 1977 年成立了专门机构研究该问题。他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM (Open Systems Interconnection Reference Model),简称为 OSI。
- OSI并没有得到市场的认可,非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的国际标准。
- OSI失败的原因:
- OSI 的专家们在完成 OSI 标准时没有商业驱动力;
OSI 的协议实现起来过分复杂,且运行效率很低;
OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
- OSI 的专家们在完成 OSI 标准时没有商业驱动力;
协议与划分层次
网络协议的三个组成要素
- 语法(数据与控制信息的结构或格式)
- 语义(需要发出何种控制信息,完成何种动作以及做出何种响应)
- 同步(事件实现顺序的详细说明)
协议的两种形式
- 文字描述:便于人阅读和理解的形式
- 程序代码:让计算机能够理解的形式
- 这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
分层的优缺点
- 优点:
- 各层之间是独立的
- 灵活性好
- 结构上可分割开
- 易于实现和维护
- 能促进标准化工作
- 缺点:
- 降低效率
- 有些功能会在不同的层次中重复出现,因而产生了额外开销
各层完成的主要功能
- 差错控制:使相应层次对等方的通信更加可靠。
- 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
- 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
- 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
- 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
五层体系结构
-
OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
-
TCP/IP 是四层体系结构,但最下面的网络接口层并没有具体内容。
-
在学习计算机网络原理时往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。
OSI七层协议体系结构
- 物理层:利用传输介质为通信的网络结点之间建立、管理和释放物理连接;实现比特流的透明传输,为数据链路层提供数据传输服务;物理层的数据传输单元是比特。
- 数据链路层:在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接;传输以“帧”为单位的数据包;采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
- 网络层:通过路由选择算法为分组通过通信子网选择最适当的路径;为数据在结点之间传输创建逻辑链路;实现拥塞控制、网络互连等功能。
- 传输层:可提供可靠端到端(end-to-end)服务;处理数据包错误、数据包次序,以及其他一些关键传输问题;传输层向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中关键的一层。
- 会话层:负责维护两个结点之间的传输链接,以便确保点对点传输不中断,管理数据交换。
- 表示层:用于处理在两个通信系统中交换信息的表示方式,数据格式变换、数据加密与解密、数据压缩与恢复。
- 应用层:为应用程序提供了网络服务;应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步;建立传输错误纠正与保证数据完整性的控制机制。
五层协议
实体、协议、服务和服务访问点
- 实体:任何可发送或接收信息的硬件或软件进程
- 协议:控制两个对等实体(或多个实体)进行通信的规则的集合
- 在协议的控制下,两个对等实体间的通信使得本层能向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。协议可以向上提供服务,而被服务的实体无法看到具体的协议。即协议是“水平的”(控制对等实体之间通信的规则),服务是“垂直的”(服务是由下层向上层通过层间接口提供的)。
- 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中被称为服务原语。
- 在同一系统中相邻两层的实体进行交互的地方被称作服务访问点SAP(Service Access Point),层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit)。
TCP/IP体系结构
-
现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。