计算机网络学习笔记(1)

本文参考谢希仁《计算机网络(第6版)》,电子工业出版社出版。
转载请在开头附加本文链接及作者信息,并标记为转载。
博主主页

计算机网络学习笔记(1)——概述

1、计算机网络的定义及相关概念

计算机网络的精确定义并未统一。较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

1.1 网络

“网络”是一个统称,泛指把人或物互连在一起而形成的系统。

网络(network)由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等。

1.2 网络的网络

网络和网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网),因此互联网是“网络的网络”(network ofnetworks)。
在这里插入图片描述

1.3 因特网

因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。习惯上,大家把连接在因特网上的计算机都称为主机(host)。网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。
在这里插入图片描述

注意:网络互连并不是把计算机仅仅简单地在物理上连接起来,因为这样做并不能达到计算机之间能够相互交换信息的目的。我们还必须在计算机上安装许多使计算机能够交换信息的软件才行。因此当我们谈到网络互连时,就隐含地表示在这些计算机上已经安装了适当的软件,因而在计算机之间可以通过网络交换信息。

1.4 internet和Internet的区别

internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的。

Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。

1.5 ISP

因特网服务提供者ISP (Internet Service Provider)就是一个进行商业活动的公司,因此ISP又常译为因特网服务提供商。例如,中国电信、中国联通和中国移动就是我国最有名的ISP。

ISP可以从因特网管理机构申请到很多IP地址(因特网上的主机都必须有IP地址才能上网),同时拥有通信线路(大的ISP自己建造通信线路,小的ISP则向电信公司租用通信线路)以及路由器等连网设备,因此任何机构和个人只要向某个ISP交纳规定的费用,就可从该ISP获取所需IP地址的使用权,并可通过该ISP接入到因特网。所谓“上网”就是指“(通过某个ISP获得的IP地址)接入到因特网”。IP地址的管理机构不会把一个单个的IP地址分配给单个用户(不“零售”IP地址),而是把一批IP地址有偿租赁给经审查合格的ISP(只“批发”IP地址)。由此可见,现在的因特网已不是某个单个组织所拥有而是全世界无数大大小小的ISP所共同拥有的,这就是因特网也称为“网络的网络”的原因。下图说明了用户通过ISP上网(有线接入或无线接入)。
在这里插入图片描述

下是具有三层ISP结构的因特网的概念示意图,但这种示意图并不表示各ISP的地理位置关系。图中给出了主机A经过许多不同层次的ISP与主机B通信的示意图。
在这里插入图片描述

1.6 因特网交换点 IXP(Internet eXchange Point)

因特网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。例如,在上图中右方的两个地区ISP通过一个IXP连接起来了。这样,主机A和主机B交换分组时,就不必再经过最上层的主干ISP,而是直接在两个地区ISP之间用高速链路对等地交换分组。这样就使因特网上的数据流量分布更加合理,同时也减少了分组转发的迟延时间,降低了分组转发的费用。现在许多IXP在进行对等交换分组时,都互相不收费。但本地ISP或地区ISP通过IXP向高层的IXP转发分组时,则需要交纳一定的费用。IXP的结构非常复杂。典型的IXP由一个或多个网络交换机组成,许多ISP再连接到这些网络交换机的相关端口上。IXP常采用工作在数据链路层的网络交换机,这些网络交换机都用局域网互连起来。

1.7 万维网WWW (World Wide Web)

因特网已经成为世界上规模最大和增长速率最快的计算机网络,没有人能够准确说出因特网究竟有多大。因特网的迅猛发展始于20世纪90年代,由欧洲原子核研究组织CERN开发的万维网WWW (World Wide Web)被广泛使用在因特网上,大大方便了广大非网络专业人员对网络的使用,成为因特网的这种指数级增长的主要驱动力。

2、因特网的组成

因特网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看,可以划分为以下的两大块:

  1. 边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
  2. 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
    在这里插入图片描述

2.1 因特网的边缘部分

处在因特网边缘的部分就是连接在因特网上的所有的主机,这些主机又称为端系统(endsystem)。端系统在功能上可能有很大的差别,小的端系统可以是一台普通个人电脑(包括笔记本电脑或平板电脑)和具有上网功能的手机,甚至是一个很小的网络摄像头(可监视当地的天气或交通情况,并在因特网上实时发布),而大的端系统则可以是一台非常复杂和昂贵的大型计算机。端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP(即ISP不仅仅是向端系统提供服务,它也可以拥有一些端系统)。边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。

在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。

1.客户-服务器方式

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。在下图中,主机A运行客户程序而主机B运行服务器程序。在这种情况下,A是客户而B是服务器。客户A向服务器B发出请求服务,而服务器B向客户A提供服务。这里最主要的特征就是:客户是服务请求方,服务器是服务提供方。
在这里插入图片描述

客户程序:
  • 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
  • 不需要特殊的硬件和很复杂的操作系统。
服务器程序:
  • 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
  • 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需 要知道客户程序的地址。
  • 一般需要有强大的硬件和高级的操作系统支持。
2.对等连接方式

对等连接(peer-to-peer,简写为P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P文件共享。对等连接工作方式可支持大量对等用户(如上百万个)同时工作。
在这里插入图片描述

2.2 因特网的核心部分

网络核心部分是因特网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(但不是主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

1.电路交换的主要特点

在电话问世后不久,人们就发现要让所有的电话机都两两相连接是不现实的。两部电话只需要用一对电线就能够互相连接起来。但若有5部电话要两两相连,则需要10对电线,见下图所示。显然,若N部电话要两两相连,就需要N(N - 1)/2对电线。当电话机的数量很大时,这种连接方法需要的电线数量就太大了(与电话机的数量的平方成正比)。于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如下图所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换(circuit switching)。
在这里插入图片描述

当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源。在使用电路交换打电话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的拨号音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫,则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。

电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
在这里插入图片描述

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间往往不到10%甚至低到1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。例如,当用户阅读终端屏幕上的信息或用键盘输入和编辑一份文件时,或计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源并未被利用而是白白被浪费了。

2.分组交换的主要特点

分组交换则采用存储转发技术。下图画的是把一个报文划分为几个分组的概念。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,例如,每个数据段为1024bit。在每一个数据段前面,加上一些必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组又称为“包”,而分组的首部也可称为“包头”。分组是在因特网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在因特网中独立地选择传输路径,并被正确地交付到分组传输的终点。
在这里插入图片描述

下图强调因特网的核心部分是由许多网络和把它们互连起来的路由器组成的,而主机处在因特网的边缘部分。在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。
在这里插入图片描述

位于网络边缘的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的,即进行分组交换的。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和维持在路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。

因特网采取了专门的措施,保证了数据的传送具有非常高的可靠性。当网络中的某些结点或链路突然出故障时,在各路由器中运行的路由选择协议(protocol)能够自动找到其他路径转发分组。

分组交换的优点:
优点 所采用的手段
高速 在分组的传输过程中动态分配传输带宽,对通信链路是逐段占用。
灵活 为每一个分组独立地选择转发路由。
迅速 以分组作为传输单位,可以不先建立连接就能向其他主机发送分组。
可靠 保证可靠性的网络协议,分布式多路由的分组交换网,使网络有很好的生存性。

分组交换也带来一些新的问题。例如,分组在各路由器存储转发时需要排队,这就会造成一定的时延。因此,必须尽量设法减少这种时延。此外,由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。分组交换网带来的另一个问题是各分组必须携带的控制信息也造成了一定的开销(overhead)。整个分组交换网还需要专门的管理和控制机制。

3.报文交换

从本质上讲,分组交换这种断续分配传输带宽的存储转发原理并非是完全新的概念。自古代就有的邮政通信,就其本质来说也属于存储转发方式。而在20世纪40年代,电报通信也采用了基于存储转发原理的报文交换(message switching) 。在报文交换中心,一份份电报被接收下来,并穿成纸带。操作员以每份报文为单位,撕下纸带,根据报文的目的站地址,拿到相应的发报机转发出去。这种报文交换的时延较长,从几分钟到几小时不等。现在报文交换已经很少有人使用了。分组交换虽然也采用存储转发原理,但由于使用了计算机进行处理,这就使分组的转发非常迅速。例如ARPANET建网初期的经验表明,在正常的网络负荷下,当时横跨美国东西海岸的端到端平均时延小于0.1秒。这样,分组交换虽然采用了某些古老的交换原理,但实际上已变成了一种崭新的交换技术。

4.三种交换方式的特点及区别
  • 电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
  • 报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
  • 分组交换——单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

下图表示电路交换、报文交换和分组交换的主要区别。

若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

3、计算机网络的类别

3.1 按网络的作用范围进行分类

  • 广域网WAN (Wide Area Network) 广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是因特网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。
  • 城域网MAN (Metropolitan Area Network) 城域网的作用范围一般是一个城市,可跨越几个街区甚至整个的城市,其作用距离约为5~50km。城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互连。目前,很多城域网采用的是以太网技术,因此城域网有时也常纳入局域网的范围进行讨论。
  • 局域网LAN (Local Area Network) 局域网一般用微型计算机或工作站通过高速通信线路相连(速率通常在10Mb/s以上),但地理上则局限在较小的范围(如1km左右)。在局域网发展的初期,一个学校或工厂往往只拥有一个局域网,但现在局域网已非常广泛地使用,一个学校或企业大都拥有许多个互连的局域网(这样的网络常称为校园网或企业网)。
  • 个人区域网 PAN (Personal Area Network) 个人区域网就是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网WPAN (Wireless PAN),其范围大约在10 m左右。

3.2 按网络的使用者进行分类

  • 公用网(public network) 这是指电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网,如CHINANET。
  • 专用网(private network) 这是某个部门、某个行业为各自的特殊业务工作需要而建造的网络。这种网络不对外人提供服务。例如,政府、军队、银行、铁路、电力、公安等系统均有本系统的专用网。

3.3 用来把用户接入到因特网的网络

接入网 AN (Access Network) ,又称为本地接入网或居民接入网。这是一类比较特殊的计算机网络。由于从用户家中接入到因特网可以使用的技术有许多种,因此就出现了可以使用多种接入网技术连接到因特网的情况。接入网本身既不属于因特网的核心部分,也不属于因特网的边缘部分。接入网是从某个端系统到另一个端系统的路径中,由这个端系统到第一个路由器(也称为边缘路由器)之间的一些物理链路所组成。从覆盖的范围看,很多接入网还是属于局域网。从作用上看,接入网只是起到让用户能够与因特网连接的“桥梁”作用。在因特网发展初期,用户多用电话线拨号接入因特网,速率很低(每秒几千比特到几十千比特),因此那时并没有使用接入网这个名词。直到最近,由于出现了多种宽带接入技术,宽带接入网才成为因特网领域中的一个热门课题。

4、计算机网络的性能

计算机网络的性能一般是指它的几个重要的性能指标。但除了这些重要的性能指标外,还有一些非性能特征(nonperformance characteristics)也对计算机网络的性能有很大的影响。

4.1 计算机网络的性能指标

1.速率

比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。英文单词bit来源于binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个1或0。网络技术中的速率指的是连接在计算机网络上的主机在数字信道上传送数据的速率,它也称为数据率(datarate)或比特率(bit rate)。速率是计算机网络中最重要的一个性能指标。速率的单位是b/s(比特每秒)(或bit/s,有时也写为bps,即bit per second)。当数据率较高时,就可以用kb/s(k = 103 =千)、Mb/s(M = 106 = 兆)、Gb/s(G = 109 = 吉)或Tb/s(T = 1012 = 太)。现在人们常用更简单的但很不严格的记法来描述网络的速率,如100M以太网,而省略了单位中的b/s,它的意思是速率为100Mb/s的以太网。顺便指出,上面所说的速率往往是指额定速率或标称速率。

2.带宽

“带宽”(bandwidth)有以下两种不同的意义:

  • 带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成份所占据的频率范围。例如,在传统的通信线路上传送的电话信号的标准带宽是3.1kHz (从300 Hz到3.4kHz,即话音的主要成分的频率范围)。这种意义的带宽的单位是赫(或千赫、兆赫、吉赫等)。在过去很长的一段时间,通信的主干线路传送的是模拟信号(即连续变化的信号)。因此,表示通信线路允许通过的信号频带范围就称为线路的带宽(或通频带)。
  • 在计算机网络中,带宽用来表示网络的通信线路传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。在本书中在提到“带宽”时,主要是指这个意思。这种意义的带宽的单位是“比特每秒”,记为b/s。在这种单位的前面也常常加上千(k)、兆(M)、吉(G)或太(T)这样的倍数。

在“带宽”的两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。

3.吞吐量

吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。显然,吞吐量受网络的带宽或网络的额定速率的限制。例如,对于一个100Mb/s的以太网,其额定速率是100Mb/s,那么这个数值也是该以太网吞吐量的绝对上限值。因此,对于100Mb/s的以太网,其典型的吞吐量可能只有70Mb/s。请注意,有时吞吐量还可用每秒传送的字节数或帧数来表示。

4.时延

时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延是个很重要的性能指标,它有时也称为延迟或迟延。需要注意的是,网络中的时延是由以下几个不同的部分组成的:

(1)发送时延 发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也叫做“传输时延”。发送时延的计算公式是:
= ( b ) ( b / s ) 发送时延=\frac{发送帧长度(b)}{发送速率(b/s)}
由此可见,对于一定的网络,发送时延并非固定不变,而是与发送的帧长(单位是比特)成正比,与发送速率成反比。

(2)传播时延 传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:
= ( m ) ( m / s ) 传播时延=\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}
电磁波在自由空间的传播速率是光速,即3.0×105km/s。电磁波在网络传输媒体中的传播速率比在自由空间要略低一些:在铜线电缆中的传播速率约为2.3×105km/s,在光纤中的传播速率约为2.0×105km/s。例如,1000km长的光纤线路产生的传播时延大约为5ms。

(3)处理时延 主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等等,这就产生了处理时延。

(4)排队时延 分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。

数据在网络中经历的总时延就是以上四种时延之和:
= + + + 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
下图画出了这几种时延所产生的地方
在这里插入图片描述

5.时延带宽积

把传播时延和带宽相乘,就得到另一个很有用的度量:传播时延带宽积,又称以比特为单位的链路长度,即
= × 时延带宽积 = 传播时延 \times 带宽

6.往返时间RTT

在计算机网络中,往返时间RTT (Round-Trip Time)也是一个重要的性能指标,它表示从发送方发送数据开始,到发送方收到来自接收方的确认(接收方收到数据后便立即发送确认),总共经历的时间。在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。

7.利用率

利用率有信道利用率网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好。这是因为,根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。这和高速公路的情况有些相似。当高速公路上的车流量很大时,由于在公路上的某些地方会出现堵塞,因此行车所需的时间就会增长。网络也有类似的情况。当网络的通信量很少时,网络产生的时延并不大。但在网络通信量不断增大的情况下,由于分组在网络结点(路由器或结点交换机)进行处理时需要排队等候,因此网络引起的时延就会增大。如果令 D0表示网络空闲时的时延,D 表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D和D0及网络利用率U之间的关系:
D = D 0 1 U D = \frac{D_0}{1-U}

4.2 计算机网络的非性能特征

1.费用

网络的价格(包括设计和实现的费用)总是必须考虑的,因为网络的性能与其价格密切相关。一般说来,网络的速率越高,其价格也越高。

2.质量

网络的质量取决于网络中所有构件的质量,以及这些构件是怎样组成网络的。网络的质量影响到很多方面,如网络的可靠性、网络管理的简易性,以及网络的一些性能。但网络的性能与网络的质量并不是一回事。例如,有些性能也还可以的网络,运行一段时间后就出现了故障,变得无法再继续工作,说明其质量不好。高质量的网络往往价格也较高。

3.标准化

网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准。最好采用国际标准的设计,这样可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。

4.可靠性

可靠性与网络的质量和性能都有密切关系。速率更高的网络的可靠性不一定会更差。但速率更高的网络要可靠地运行,则往往更加困难,同时所需的费用也会较高。

5.可扩展性和可升级性

在构造网络时就应当考虑到今后可能会需要扩展(即规模扩大)和升级(即性能和版本的提高)。网络的性能越高,其扩展费用往往也越高,难度也会相应增加。

6.易于管理和维护网络

如果没有良好的管理和维护,就很难达到和保持所设计的性能。

5、计算机网络协议与体系结构

5.1 协议与划分层次

1.网络协议的三要素
  1. 语法,即数据与控制信息的结构或格式;
  2. 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
  3. 同步,即事件实现顺序的详细说明。
2.划分层次

分层可以带来的好处:

  • 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
  • 灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,也可以将这层取消。
  • 结构上可分割开。各层都可以采用最合适的技术来实现。
  • 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
  • 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。

分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常各层所要完成的功能主要有以下一些(可以只包括一种,也可以包括多种):

  • ① 差错控制 使得和网络对等端的相应层次的通信更加可靠。
  • ② 流量控制 使得发送端的发送速率不要太快,要使接收端来得及接收。
  • ③ 分段和重装 发送端把要发送的数据块划分为更小的单位,在接收端将其还原。
  • ④ 复用和分用 发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  • ⑤ 连接建立和释放 交换数据前先建立一条逻辑连接。数据传送结束后释放连接。

分层当然也有一些缺点,例如,有些功能会在不同的层次中重复出现,因而产生了额外开销。

我们把计算机网络的各层及其协议的集合,称为网络的体系结构(architecture)。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义[GREE82]。这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(implementation)的问题。总之,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

5.2 计算机网络体系结构

在这里插入图片描述

  • OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
  • TCP/IP体系结构则不同,它现在已经得到了非常广泛的应用。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层基本上和一般的通信链路在功能上没有多大差别,对于计算机网络来说,这一层并没有什么特别新的具体内容。
  • 五层协议的体系结构综合了OSI和TCP/IP的优点,这样既简洁又能将概念阐述清楚。五层协议的体系结构只是为了介绍网络原理而设计的,实际应用还是TCP/IP四层体系结构。
1.五层协议的体系结构
  • 应用层(application layer) :应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程(process)就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,等等。我们将应用层交互的数据单元称为报文(message)。

  • 运输层(transport layer) :提供的是进程间的通用数据传输服务。由于应用层协议很多,定义通用的运输层协议就可以支持不断增多的应用层协议。运输层主要包括两种协议:

    • 传输控制协议TCP (Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。

    • 用户数据报协议 UDP (User Datagram Protocol)——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

    TCP 主要提供完整性服务,UDP 主要提供及时性服务。

  • 网络层(network layer) :为主机间提供数据传输服务,而运输层协议是为主机中的进程提供服务。网络层把运输层传递下来的报文段或者用户数据报封装成分组。(负责选择最佳路径 规划IP地址)

    • 路由器查看数据包目标IP地址,根据路由表为数据包选择路径。路由表中的类目可以人工添加(静态路由)也可以动态生成(动态路由)。
  • 数据链路层(data link layer) :不同的网络类型,发送数据的机制不同,数据链路层就是将数据包封装成能够在不同的网络传输的帧。能够进行差错检验,但不纠错,监测处错误丢掉该帧。

    • 帧的开始和结束,透明传输,差错校验
  • 物理层(physical layer) :物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的主要任务描述为:确定与传输媒体的接口的一些特性,即:

    • 机械特性:例接口形状,大小,引线数目
    • 电气特性:例规定电压范围 ( -5V 到 +5V )
    • 功能特性:例规定 -5V 表示 0,+5V 表示 1
    • 过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤
2.数据在各层之间的传递过程

在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。

  1. 路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要运输层和应用层。
  2. 交换机只有下面两层协议
    在这里插入图片描述
3.TCP/IP的体系结构

TCP/IP的体系结构比较简单,它只有四层。相当于五层协议中数据链路层和物理层合并为网络接口层

现在的 TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。实际上现在的因特网使用的TCP/IP体系结构有时已经演变成为下图所示的那样。
在这里插入图片描述

还有一种表示方法,就是分层次画出具体的协议来表示TCP/IP协议族,它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很像沙漏计时器形状的TCP/IP协议族表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IP overeverything)。正因为如此,因特网才会发展到今天的这种全球规模。从图中不难看出IP协议在因特网中的核心作用。
在这里插入图片描述

发布了36 篇原创文章 · 获赞 75 · 访问量 1999

猜你喜欢

转载自blog.csdn.net/qq_43472474/article/details/104518839