本文共--字 阅读约--分钟 | 浏览: -- Last Updated: 2021-04-18
计算机网络是互连的、自治的计算机的集合。是利用通信设备与通信链路或者通信网络,互连位置不同、功能自治的计算机系统,并遵循一定的规则实现计算机系统之间的信息交换。
“自治”是指互连的计算机系统彼此独立,不存在主从或者控制与被控制的关系。
“互连”是指利用通信链路连接相互独立的计算机系统。
协议是网络通信实体之间数据交换过程中需要遵循的规则或约定,是计算机网络有序运行的重要保证。 计算机网络中的所有通信过程都是由某个或某些协议所控制。协议三个基本要素:语法、语义和时序。
语法:定义实体之间信息的格式与结构,或者定义实体(比如硬件设备)之间传输的电平等。
语义:定义实体之间交换的信息中需要发送哪些控制信息,这些信息的具体含义,以及针对不同含义的控制信息,接收信息端应如何响应。
时序:也称为同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度。
计算机网络的功能是在不同主机之间实现快速的信息交换,通过信息交换,实现资源共享这一核心功能。包括硬件资源共享、软件资源共享、信息资源共享。
1.按覆盖范围分类:个域网、局域网、城域网、广域网;
2.按拓扑结构分类:
星状拓扑结构:包括一个中央结点,网络中的主机通过点对点通信链路与中央结点连接,主机之间的通信都需要通过中央结点进行,多见于局域网和个域网。优点是易于监控与管理,故障诊断与隔离容易;主要缺点是中央结点一旦故障,全网瘫痪,网络规模受限中央结点的端口数量。
总线型拓扑结构:采用一条广播信道作为公共传输介质,称为总线,所有结点均与总线连接,结点间的通信均通过共享的总线进行。在早期的局域网中比较常见。优点是结构简单,所需电缆数量少,易于扩展;缺点是通信范围受限,故障诊断与隔离比较困难,容易产生冲突。(如果同时有两个或两个以上的结点同时向共享信道中发送数据,就会产生干扰,导致任何一个结点的数据发送失败,这一现象称为冲突)。
环形拓扑结构:利用通信链路将所有结点连接成一个闭合的环,每个结点可以从环中接收数据,并向环中进一步转发数据,如果某结点判断数据是发送给自己的,则复制数据。数据沿特定的方向绕环一周,回到发送数据的结点,此结点需要负责从环中清除其发送的数据,即 “自灭”,多见于早期的局域网和城域网中。优点是所需电缆长度短,可以使用光纤,易于避免冲突;缺点是某结点的故障容易引起全网瘫痪,新结点的加入或撤出过程比较麻烦,存在等待时间问题。
网状拓扑结构:网络中的结点通过多条链路与不同的结点直接连接,如果任一结点与其余所有结点均有直接链路连接,则成为完全网状拓扑结构,否则称之为非完全网状拓扑结构,多见于广域网、核心网络等。优点是网络可靠性高,一条或多条链路故障时,网络仍然可连通;缺点是网络结构复杂,造价成本高,选路协议复杂。
树形拓扑结构:可以看做是总线型拓扑或星形拓扑网络的扩展,通过级联星形拓扑结构网络中的中央结点构建树形拓扑结构网络,目前很多局域网采用这种拓扑结构。优点是易于扩展,故障隔离容易;缺点是对根结点的可靠性要求高,一旦根结点故障,则可能导致网络大范围无法通信。
混合拓扑结构:有两种以上简单拓扑结构网络混合连接而成的网络,绝大多数实际网络的拓扑结构都属于混合拓扑结构,比如Internet。优点是易于扩展,可以构建不同规模网络,并可根据需要优选网络结构;主要缺点是网络结构复杂,管理与维护复杂。
3.按交换方式分类:电路交换网络、报文交换网络和分组交换网络;
4.按网络用户属性分类:公用网、私有网;
大规模现代计算机网络结构分为网络边缘(network edge)、接入网络(access network)与网络核心(network core)3部分。
连接到网络上的计算机、服务器、智能手机、智能传感器、智能家电等称为主机或端系统,这些端系统位于网络的最边缘,因此**连接到网络上的所有端系统构成了网络边缘。**网络边缘为网络用户提供了网络应用服务。
大部分端系统相聚遥远,这些端系统之间网络连接和通信需要网络核心进行数据中继或转发,接入网络是实现网络边缘的端系统与网络核心连接和接入的网络。
常见的接入网络包括以下几类:
1.电话拨号接入
电话拨号接入是利用电话网络,通过调制解调器将数字信号调制到模拟电话线路,通过电话网络的模拟语音信号作为载波传送到远端,在利用调制解调器将数字信号从模拟信号解调出来。这种接入方式的接入链路带宽有限,最大带宽通常为56k bit/s,已经很少使用。
2.非对称数字用户线路 ADSL (Asymmetrical Digital Subscriber Line)
也是利用现有的电话网络的用户线路实现的接入网络,是目前家庭用户接入网络中比较常见的一种接入方式。ADSL基于频分多路复用(FDM)技术实现电话语音通信与数字通信(即网路数据传输)共享一条用户线路。
之所以称为“非对称”数字用户线路,是因为在ADSL接入网络中,在用户线路上实现的上行带宽(从用户端向网络上传数据)比下行带宽(从网络向用户端下载数据)小。当用户线路长度在3~5KM范围时,上行带宽为512k bit/s ~ 1M bit/s,下行带宽为1 ~ 8M bit/s,当用户线路长度在1.3km以内时,上行带宽为19.2M bit/s,下行带宽为55M bit/s。主要用于家庭用户或小型商业门店接入网络。
3.混合光纤同轴电缆接入网络 HFC (Hybrid Fiber-Coaxial)
HFC接入网络也称为电缆调制解调器接入网络,利用有线电视网络实现网络接入的技术。HFC接入网络的用户端使用电缆调制解调器连接有线电视网的入户同轴电缆,同轴电缆连接到光纤结点,再通过光纤链路连接电缆调制解调器连接系统,进而连接网络,如Internet。HFC也是基于频分多路复用技术,利用有线电视网络同轴电缆剩余的传输能力实现电视信号传输与网络数据传输的共享,也是“非对称”的,即上行带宽小于下行带宽,上行带宽为30.7M bit/s,下行带宽为42.8M bit/s。
HFC也是家庭用户接入网络的常见选择,是共享式网络,即连接到同一段同轴电缆上的用户共享上行和下行带宽,当用户数量较大时,HFC没有ADSL速率快,因为ADSL是独享式接入。
4.局域网
企业、学校等机构会在组织范围内建设局域网,连接所有需要接入外部网络的主机,然后通过企业网络或校园网的边缘路由器连接网络核心。典型的局域网技术是以太网、Wi-Fi等。
5.移动接入网络
移动接入网络主要利用移动通信网络,如3G/4G/5G网络,实现智能手机、移动终端等设备的网络接入,是个人设备接入网络的首选途径。
网络核心是由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继与转发,比较典型的分组交换设备是路由器和交换机。
相距遥远的主机之间不可能通过一条物理通信链路直接相连,而是各自通过接入网络连接到网络核心上,彼此传输的数据都是通过网络核心进行中继与转发,最后送达目的主机。
计算机网络的根本目的是在网络边缘的主机之间实现相互的数据传输、信息交换。
交换设备具有多通信端口,可以同时连接多个通信结点(即主机或交换设备),实现通信端口间物理或逻辑上的动态、并行通信。通过交换设备,每个主机只需一个通信链路与交换设备相连,即可实现与其他主机的通信。
为了连接更大范围、更多数量的主机,可以将许多交换设备互联,构成一个数据中继与转发的“中间网络”,然后再将主机连接到距离较近的交换设备上,主机之间的数据传输通过“中间网络”实现中继与转发,同时这个中间网络不需要关心所传输数据的内容,被称之为数据交换网络,组成交换网络的结点(即交换设备)称之为交换结点,交换结点和传输介质的集合称为通信子网,即网络核心。
常见的数据交换技术包括:电路交换(circuit switching)、报文交换(message switching)和分组交换(packet switching)。
电话网络是最早、最大的电路交换网络。在电路交换网络中,首先需要通过中间交换结点为两台主机之间建立一条专用的通信线路,称为电路,然后再利用该电路进行通信,通信结束后再拆除电路。
利用电路交换进行通信包括建立电路、传输数据和拆除电路3个阶段。
1.建立电路
电路建立过程实际上是一个个交换结点的接续过程。发送主机需要先发出呼叫请求信号给接收主机,然后经过若干结点沿途接通一条物理链路后,再由接收主机发出应答信号给发送主机,这样电路连接就建立成功了。
电路建立之后在两个主机之间的每一段物理链路上都为双方的通信预留了相应的带宽,这个带宽在双方通信期间将一直保留并独占。为了充分利用物理链路的带宽,通常会采用相关的信道复用技术,如频分多路复用,时分多路复用等,将交换结点之间的线路进行信道共享。电路彼此之间是独立的,每条电路专门为某一对特定主机间的通信服务,而主机到交换结点之间的链路则通常为独占的。
2.传输数据
电路建立之后,主机之间就能进行数据传输了,被传输的数据可以是数字数据也可以是模拟数据,数据的传输可以是单工也可以是全双工。
在发送主机和接收主机之间存在一条“独占”的物理线路为双方的本次通信服务,这里的独占指的交换结点之间的线路是相对独占的,因为通过信道复用技术对一条物理信道进行信道划分。而主机与交换结点之间的线路往往是绝对独占的。
3.拆除电路
数据传输结束后,要释放(拆除)该物理链路。该释放动作可由两个通信主机之间的任何一方发起并完成。释放信号必须传送到电路所经过的各个结点以便重新分配资源。
总结
电路交换方式在传输数据之前需要建立电路,电路建立时间存在延迟。
电路建立后即为专用的电路,即使没有数据传输也要占用资源,从而造成线路的利用率低。
在传送数据期间,网络通常不对用户信息进行误码校正等处理,没有任何差错控制措施,不利于可靠性要求高的数据业务。
一旦电路建立,用户就可以使用固定的速率传输数据,传输实时性好,中间结点也不对数据进行其他缓冲和处理,不需要添加额外的控制信息,即为“透明”传输,因此交换效率高。
电路交换的特点是有连接的,优点是实时性高,时延和时延抖动较小;缺点是对于突发性数据传输,信道利用率低,且传输速率单一;主要使用语音和视频这类实时性强的业务。
报文交换的工作过程为发送方把要发送的信息附加上发送/接收主机的地址及其他控制信息,构成一个完整的报文(Message),然后以报文为单位在交换网络的各结点之间以存储-转发的方式发送,直至目的主机。
一个报文在每个结点的延迟时间,等于接收报文所需的时间加上向下一个结点转发所需的排队延迟事件之和。
报文交换事先不需要建立连接,发送方组装好报文之后即可向相邻的交换结点发出,交换结点收到整个报文并且检查无误后,暂时存储报文,然后利用路由选择找出需要转发的下一个结点的地址,再把整个报文转发给下一个结点。这种接收-暂存-转发的工作方式,就称为“存储-转发”交换方式。
只有当报文被转发时才占用相应的信道,不存在电路交换中通信双方空闲时信道也要被占用的情况,相对于电路交换线路利用率高。
报文交换网络中交换结点需要缓冲存储,报文需要排队,会导致报文经过网络的延迟时间变长且不固定,对于实时通信而言会容易出现不能满足速度要求的情况,
有时候结点收到的报文过多而存储空间不够或者输出链路被占用不能及时转发时,就不得不丢弃报文。
报文交换中的交换结点必须接受了一个完整的报文,然后才可能开始把报文转发到某个输出链路上,因为时延较长,现代计算机网络没有采用报文交换技术的。
分组交换是目前计算机网络广泛采用的技术,分组交换需要将待传输数据(即报文)分割成较小的数据块,每个数据块附加上地址、序号等控制信息构成数据分组(packet),每个分组独立传输到目的地,目的地将接收到的分组重新组装,还原为报文。也是采用存储-转发交换方式。
分组交换的优点
交换设备存储容量要求低:它将完整的报文拆分成若干个分组,每个分组的长度有一个上限,有限长度的分组使得每个结点所需的存储能力降低。
交换速度快:分组交换设备由于只需要缓存一定数量的较短的分组,因此可以利用主存储器进行存储-转发处理,不需要访问外存,处理转发速度加快。多个分组可以在网络中的不同链路上进行并发传送,大大提高了传输效率和线路利用率,大幅缩短整个报文通过网络的时间。
可靠传输率高:在实际通信链路中不可能实现100%无差错,纠正错误最常见的措施就是请求发送方重新发送出错的数据,直到接收端接收到正确的数据为止。对于分组交换网络,一个分组出错,只需要传出错的分组。在出错概率相同的条件下,报文交换如果出错需要重传整个报文,因此在存在差错的情况下,分组交换实现的可靠传输的效率要高于报文交换。
更加公平:在报文交换网络中,最常见的转发调度规则,即先到先服务。后到达的报文总是需要等待先到达的报文转发结束后才能转发,在这种场景下,如果小报文晚于大报文到达交换结点将经历更长时间到达目的地,不能确保小报文用更短的时间通过网络,是不公平的。而分组交换,如果分组大小相同,那么大报文将拆分出更多的分组。不同报文的分组在交换结点上可能交替排队,每个分组通过网络的时间相当,总体上,小报文将用较短时间通过网络到达目的地,因此更加公平。
分组长度的确定
分组交换方式中分组长度的选择非常重要,它与交换过程中的延迟时间、交换设备存储容量、线路利用率、信道传输质量、数据业务统计特性以及交换机费用等诸多因素有关。
1.分组长度与延迟时间
当分组具有相同的长度时,分组在交换过程中的延迟时间较小,因此,把报文按一定的标准长度分割为“分组”,就能够使交换设备以分组为单位对信息进行处理,从而缩短信息在交换过程中的延迟时间,这正是产生分组交换方式的重要理论依据之一。
分组长度越长,延迟时间越长,所以对于实时交互式通信,要求延迟时间短,分组长度应该尽可能的短;对于诸如文件传送类的非实时数据通信,延迟要求不高,分组长度可以适当长些。当然分组长度不宜太短,因为分组长度太短,就意味着一个报文需要拆分的分组数增加,而每个分组是需要附加控制信息的,额外开销会增加,有效数据传输效率会降低,因此需要在延迟时间与开销之间进行平衡。实际的分组交换网络的分组长度并不总是相同的,通常会规定一个分组长度的范围,这样既具有灵活性,又尽可能优化网络延时。
2.分组长度与误码率
设分组长度为L位,其中h为分组头长度,数据长度为x位,即有L = x + h。若信道误码率为Pe,则分组传输正确的概率为 Ps = (1 - Pe)x + h,分组传输错误需要重发的概率为1 - Ps,在考虑到可能存在多次连续传输错误的情况下,可以得到最佳分组长度为:Lopt = √(h / Pe),最高信道利用率为n = (1 - √hPe ) 2。
因此错码率Pe越小,最佳长度Lopt越长;最高信道利用率n随分组头长度h、错误率Pe的增大而降低。所以可以看出最佳分组长度与最高信道利用率对于错误率的变化均比较敏感,因此分组交换中必须具有差错控制,以提高传输数据的可靠性。国际电信联盟(International Telecom Union, ITU)以建议的形式指定出,分组长度以16B 到 4096B 之间的 2^n B为标注分组长度,如32B、64B、256B、512B和1024B等。
速率是指网络单位时间内传送的数据量,用以描述网络传输数据的快慢,基本单位是bit/s(位每秒),通常给出的网络速率是指网络的额定速率或标称速率,网络在实际运行时的速率可能并不总能达到额定速率。
带宽原本是指信号具有的频带宽度,即信号成分的最高频率与最低频率之差,单位是Hz(赫兹)。在计算机网络中,当描述一条链路或信道的数据传输能力时,经常使用“带宽”一词表示链路或信道的最高数据速率,单位也是bit/s。
**时延是指数据从网络中的一个结点(主机或交换设备)到达另一结点所需要的时间。**计算机网络中,通常将连接两个结点的直接链路称为一个“跳步”(hop),分组在每跳传输过程中产生4类时间延迟:结点处理时延(nodal processing delay) 、排队时延(queueing delay)、传输时延(transmission delay)和传播时延(propagation delay)。
结点处理时延
每个分组到达交换结点,交换设备通常可能需要验证分组是否有差错、确定如何转发分组、还有可能修改分组的部分控制信息。这些操作所消耗的时间总和就是结点处理时延。记作dc。
排队时延
分组可能需要在交换结点进行暂时缓存(这就是存储-转发概念的由来),排队等待输出链路可用,分组在缓存中排队等待的时间就是排队时延,记为dq。
传输时延
当一个分组在输出链路发送时,从发送第一位开始,到发送完最后一位为止,所用的时间称为传输时延,记为dt,假设分组长度为L bit,链路带宽为 R bit/s,则有 dt = L / R
。
传播时延
信号端从发送端发送出来,经过一定距离的物理链路到达接收端所需的时间,称为传播时延,记为dp。若物理链路长度为D(m),信号传播速度为V m/s,则传播时延为dp = D / V
。
综上,一个分组一个跳步的所需的时间为dh = dc + dq + dt + dp
,如果一个分组从源主机到目的主机经过 N个 交换结点,即经过的跳步为(N + 1)步,则该分组到达目的主机的所需时间总和为,dh1 + dh2 + … + dh(n+1)。
一段物理链路的传播时延和链路带宽的乘积,称为时延带宽积,记为G,则有G = dp * R
。它的物理意义在于,如果将物理链路看作一个传输数据的管道的话,时延带宽积表示一段链路可以容纳的数据位数。
当网络拥塞特别严重时,新到达的分组甚至已无缓存空间暂存该分组,此时交换结点会丢弃该分组,就会发生“丢包”现象。丢包率是评价和衡量网络性能的指标,引发丢包的主要因为就是网络拥塞,丢包率可以定义为n = Nl / Ns = (Ns - Nr) / Ns
,其中Ns指发送分组总数,Nr为接收分组总数,Nl为丢失分组总数。
吞吐量(throughput)表示在单位时间内源主机通过网络向目的主机实际送达的数据量,单位为bit/s,记为Thr。是用于度量网络的实际数据传送能力,即网络实际可以达到的源主机到目的主机的数据传送速率,受网络链路带宽、网络连接复杂性、网络协议、网络拥塞程度等因素的影响。Thr = min(R1, R2, ..., Rn)
,其中R1到R2表示的每段链路的传输速率。如果能确定两个主机之间的吞吐量,则可以利用吞吐量来计算从一个主机到另一个主机发送一定量数据所需要的时间。
计算机网络所划分的层次以及各层协议的集合称为计算机网络体系结构。
OSI参考模型由底层到高层分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
在OSI参考模型中,各层的数据并不是从一端的第N层直接送到另一端的对等层,而是第N层接收第N+1层的协议数据单元(PDU, Protocol Data Unit),按照第N层的协议进行封装,构成第N层的PDU,再通过层间接口传递给第N-1层,依次类推,最后数据链路层PDU(通常称为数据帧)传递给最底层的物理层,数据在垂直的层次中自上而下地逐层传递直至物理层,在物理层的两个端点进行物理通信,这种通信被称为物理通信。由于对等层通信并不是直接进行,因而称为虚拟通信。
中间系统(比如路由器)通常只有物理层、数据链路层和网络层功能。物理层、数据链路层、网络层被称为结点到结点层,传输层、会话层、表示层、应用层被称为端到端层。
所谓无结构比特流是指不关心比特流实际代表的信息内容,只关心如何将0和1这些比特以合适的信号传送到目的地。另一项主要任务就是规定数据终端设备(DTE)与数据通信设备(DCE)之间接口的相关特性,主要包括机械、电气、功能和规程4个方面的特性。
为了实现有效的差错控制,就采用了一种以“帧”为单位的数据块传输方式,要采用帧格式传输,就必须有相应的帧同步技术,这就是数据链路层的“成帧”功能(也称帧同步),包括定义帧的格式、类型、成帧的方法。
网络层解决的核心问题是如何将分组通过交换网络传送至目的主机,一般信息从源结点出发到达目的结点,有多条路径可以选择,这种路由的选择就是网络层主要功能之一。网络层与要具备寻址功能,确保分组可以被正确的传输到目的主机;
传输层是第一个端到端层,也是进程-进程的层次,数据的通信表面上看是在两个主机之间进行,但实质上是发生在两个主机的进程之间的,主要协议有TCP、UDP。
会话层是指用户与用户的连接,通过在两台计算机建立、管理和终止通信来完成对话。在会话建立后需要对进程间的对话进行管理与控制。实际网络中,会话层的功能已经被应用层所覆盖,很少单独存在。
其目的是解决格式和数据表示的差别,从而为应用层提供一个一致的数据格式,使字符、格式等有差异的设备之间相互通信。还可以实现文本压缩/解压缩,数据加密/解密,字符编码的转换;实际网络中,这一层的功能由应用层来实现,不独立存在。
应用层与提供给用户的网络服务相关,为用户提供了一个使用网络应用的接口。
OSI参考模型的7层中,1~3层主要完成数据交换和数据传输,称之为网络低层;5~7层主要是完成信息处理服务的功能,称之为网络高处层;低层与高层之间由第4层传输层衔接。
OSI参考模型的每一层的真正功能是为其上一层提供服务,N层的实体为N+1层的实体提供服务,同时N层的服务则需要使用N-1层以及更低层提供的功能服务。
数据单元:在层的实体之间传送的比特组称为数据单元,在对等层之间传送数据单元是按照本层协议进行的,因此这是的数据单元称为协议数据单元PDU,SDU是服务数据单元,PCI是协议控制信息。
PCI通常作为PDU的首部,N+1层的PDU越过N+1层和N层的边界时,变换为N层SDU,在加上N层的PCI,形成N层的PDU。到达目的站的N-PDU,在送往N+1层之前要把N-PCI去电,使得信息的结构得以恢复。
PDU在不同层有不同的叫法,在物理层称为位流或比特流;在数据链路层称为帧;在网络层称为分组或包;在传输层中称为数据段或报文段;在应用层中称为报文等。
服务访问点:相邻层间的服务是通过其接口面上的服务访问点(Server Access Point, SAP)进行的,N层的SAP就是N+1层可以访问N层的地方,每一个SAP都有一个唯一的地址号码。
OSI参考模型的重要意义在于很好的从理论上很好地解释网络概念、层次与通信过程,是学习计算机网络必须学习和掌握的技能。存在在现实网络中的大多数都是采用TCP/IP参考模型:应用层、传输层、网络互联层、网络接口层。
TCP/IP参考模型将OSI参考模型中的会话层和表示层的功能合并到了应用层来实现,用户通过应用层来使用Internet提供的各种服务,如WWW服务(对于HTTP协议)、文件传输服务(对应FTP协议)、电子邮件(对应SMTP协议和POP3)等。
当应用层的程序将用户数据按照特定应用层协议封装好后,接下来就由传输层的协议负责将这些数据传输到接收方主机上对等的应用层程序。
网络互联层是整个TCP/IP参考模型的核心,主要解决把数据分组发往目的网络或主机的问题。要为分组的传输选择相应的路径(路由选择),完成分组的转发,提供网络层的寻址(IP地址)。
实际上,TCP/IP参考模型没有真正描述这一层的功能,只是要求能够提供给其上层-网络互联层一个访问接口,以便在其上传递IP分组。这一层对应OSI参考模型上的数据链路层和物理层,网络层IP分组在这一层被封装到低层网络的链路层数据帧中,并最终以比特流的形式在物理介质上进行传输。
结合上述两个参考模型,提出综合理论需求与实际网络的五层参考模型:物理层、数据链路层、网络层、传输层与应用层。各层功能基本与OSI参考模型对应,是近年来,在描述计算机网络中最常用的、最接近实际网络的参考模型。
基于五层参考模型来描述网络通信的过程,用户的数据在应用层以报文的形式开始向下一层进行封装,形成段、数据报、帧,最后以比特流的形式进行传输。在中间结点处(路由器、交换机)分别从对应的数据报、帧中取出相应的路由或地址信息并进行处理,并依据转发策略向正确的接口转发数据报或帧。当数据到达目的主机后,自下而上,逐层处理并去掉相应的头部信息,最终还原成最初的报文,交服给用户。
数据-报文-段-数据报-帧-比特流。