计算机网络之网络概述

概述

互联网概述

网络的网络

计算机网络(简称网络)是由若干节点(node)和连接这些结点的链路(link)组成的。网络中的节点可以是计算机,集线器,交换机或路由器等。
请添加图片描述

网络之间还可以通过路由器互联起来,这就构成了一个覆盖范围更广的计算机网络。这样的网络称为互联网(internet),如上图所示,可以看到,互联网是“网络的网络”。

如下图所示:
请添加图片描述

互联网基础结构发展的三个阶段

互联网的基础结构大体上经历了三个阶段的演进。但这三个阶段在时间划分上并非截然分开而是有部分重叠的,这是因为网络的演进是逐渐的,而并非在某个日期发生了突变。

第一阶段是从单个网络 ARPANET向互连网发展的过程。1969年美国国防部创建的第一个分组交换网 ARPANET最初只是一个单个的分组交换网(并不是一个互连的网络)。所有要连接在 ARPANET上的主机都直接与就近的结点交换机相连。但到了20世纪70年代中期,人们已认识到不可能仅使用一个单独的网络来满足所有的通信问题。于是ARPA开始研究多种网络(如分组无线电网络)互连的技术,这就导致了互连网络的出现。这就成为现今互联网( Internet)的雏形。1983年TCP/IP协议成为 ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信,因而人们就把1983年作为互联网的诞生时间。

第二阶段的特点是建成了三级结构的互联网。从1985年起,美国国家科学基金会NSF(National Science Foundation)就围绕着六个大型计算机中心建设计算机网络,即国家科学基金网NSFNET。它是一个三级计算网络,分为主干网,地区网和校园网(或企业网)。这种三级计算机网络覆盖了全美国主要的大学和研究所,并且成为互联网中的主要组成部分。

第三阶段的特点是逐渐形成了多层次ISP结构的互联网。从1993年开始,由美国政府资助的 NSFNET逐渐被若干个商用的互联网主干网替代,而政府机构不再负责互联网的运营。这样就出现了一个新的名词:互联网服务提供者ISP( Internet Service provider)。在许多情况下,ISP就是一个进行商业活动的公司,因此ISP又常译为互联网服务提供商。例如,中国电信、中国联通和中国移动等公司都是我国最有名的ISP。

根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分为不同层次:主干ISP地区ISP本地ISP

主干ISP由几个专门的公司创建和维持,服务面积最大。有一些地区ISP网络也可直接与主干ISP相连。

地区ISP是一些较小的IP。这些地区ISP通过一个或多个主干ISP连接起来。它们位于ISP等级中的第二层,数据率也低一些。

本地ISP给用户提供直接的服务(这些用户有时也称为端用户,强调是末端的用户)。本地ISP可以连接到地区ISP,也可直接连接到主干ISP。绝大多数的用户都是连接到本地ISP的。本地ISP可以是一个仅仅提供互联网服务的公司,也可以是一个拥有网络并向自己的雇员提供服务的企业,或者是一个运行自己的网络的非营利机构(如学院或大学)。本地ISP可以与地区ISP或主干ISP连接。

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

从原理上讲,只要每一个本地ISP都安装了路由器连接到某个地区ISP,而每一个地区ISP也有路由器连接到主干ISP,那么在这些相互连接的ISP的共同合作下,就可以完成互联网中的所有的分组转发任务。

互联网的标准化工作

互联网在制定其标准上很有特色。其中的一个很大的特点是面向公众。互联网所有的RFC文档都可从互联网上免费下载,而且任何人都可以用电子邮件随时发表对某个文档的意见或建议。这种开放方式对互联网的迅速发展影响很大。

1992年由于互联网不再归美国政府管辖,因此成立了一个国际性组织叫做互联网协会(Internet Society),简称为ISOC,以便对互联网进行全面管理以及在世界范围内促进其发展和使用。ISOC下面有一个技术组织叫做互联网体系结构委员会IAB( Internet Architecture board),负责管理互联网有关协议的开发。IAB下面又设有两个工程部:

  1. 互联网工程部IETF( nternet Engineering Task Force)

IETF是由许多工作组WG( Working Group)组成的论坛,具体工作由互联网工程指导小组IESG( nternet Engineering Steering Group)管理。这些工作组划分为若干个领域,每个领域集中研究某一特定的短期和中期的工程问题,主要是针对协议的开发和标准化。

  1. 互联网研究部IRTF( Internet Research Task Force)

IRTF是由一些研究组RG( Research Group)组成的论坛,具体工作由互联网研究指导小组IRSG( Internet Research Steering Group)管理。IRTF的任务是研究一些需要长期考虑的问题,包括互联网的一些协议、应用、体系结构等。

所有的互联网标准都是以RFC的形式在互联网上发表的。RFC( Request For Comments)的意思就是“请求评论”。所有的RFC文档都可从互联网上免费下载。但应注意,并非所有的RFC文档都是互联网标准。互联网标准的制定往往要花费漫长的时间,并且是件非常慎重的工作。只有很少部分的RFC文档最后能变成互联网标准。RFC文档按发表时间的先后编上序号(即 RFC XXXX,这里的XXXX是阿拉伯数字)。一个RFC文档更新后就使用一个新的编号,并在文档中指出原来老编号的RFC文档已成为陈旧的或被更新,但陈旧的RFC文档并不会被删除,而是永远保留着,供用户参考。

制定互联网的正式标准要经过以下三个阶段:

  1. 互联网草案(Internet Draft)——互联网草案的有效期只有六个月。在这个阶段还不能算是RFC文档。
  2. 建议标准(Internet Standard)——从这个阶段开始就成为了RFC文档
  3. 互联网标准(Internet Standard)——达到正式标准后,每个标准就分配到一个编号STD xx。一个标准可以和多个RFC文档关联。

互联网的组成

互联网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看

可以划分为以下两大块:

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

互联网的边缘部分

处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(end

system),“端”就是“末端”的意思(即互联网的末端)。端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP(即ISP不仅仅是向端系统提供服务,它也可以拥有一些自己的端系统)。边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。

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

客户-服务器方式

客户-服务器方式 是目前互联网上最常用的,也是传统的通信方式。我们在上网发送电子邮件或在网站上查找资料时,都是使用客户-服务器方式(有时也写为客户/服务器方式)。

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

值得注意的是,服务请求方和服务提供方都要使用网络核心部分所提供的服务。
请添加图片描述

对等连接方式

对等连接( peer-to-peer,简写为P2P)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P方式。

在下图中,主机C、D、E和F都运行了P2P软件,因此这几台主机都可进行对等通信(如C和D、E和F以及C和F)。实际上,对等连接方式从本质上看仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。例如主机C,当C请求D的服务时,C是客户,D是服务器。但如果C又同时向F提供服务,那么C又同时起着服务器的作用。

互联网的核心部分

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

为了弄清分组交换,下面先介绍电路交换的基本概念。

电路交换的主要特点

在电话问世后不久,人们就发现,要让所有的电话机都两两相连接是不现实的。两部电话只需要用一对电线就能够互相连接起来,见下图(a)。但若有5部电话要两两相连,则需要10对电线,见下图(b)所示。显然,若N部电话要两两相连,就需要N(N − 1) / 2对电线。当电话机的数量很大时,这种连接方法需要的电线数量就太大了。

于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如下图所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。电话发明后的一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换( circuit switching )。
请添加图片描述

当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。

从通信资源的分配角度来看,交换(switching) 就是按照某种方式动态地分配传输线路的资源。在使用电路交换通话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。

这种必须经过“建立连接(占用通信资源) → 通话(一直占用通信资源) → 释放连接(归还通信资源)”三个步骤的交换方式称为电路交换(电路交换的定义)。

电路交换的一个典型示意图如下:
请添加图片描述

电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间往往不到10%甚至1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。

分组交换的主要特点

分组交换则采用存储转发技术。下图表示把一个报文划分为几个分组后再进行传

送。通常我们把要发送的整块数据称为一个报文( message)。在发送报文之前,先把较长的

报文划分成为一个个更小的等长数据段。

例如,每个数据段为1024bit。在每一个数据段前面,加上一些由必要的控制信息组成的首部( header)后,就构成了一个分组(packet)。分组又称为“包”,分组的首部也可称为“包头”。分组是在互联网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。
请添加图片描述
互联网的核心是由许多网络和把它们互连起来的路由器组成的,而主机处在互联网的边缘部分。在互联网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接,这种核心部分的组成可以参考下面的示意图(a):
请添加图片描述
当我们讨论互联网核心部分中的路由器转发分组的过程时,往往把单个网络简化为一条链路,如上图中的(b),这样就可以清晰的显示路由器之间的连接关系,方便我们研究转发分组的过程。

分组交换在传送数据之前,不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。

分组交换的优点:
请添加图片描述
分组交换虽然有很多优点,但它也带来了一些新的问题。例如,分组在各路由器存储转发时需要排队,这就会造成一定的时延。因此,必须尽量设法减少这种时延。此外,由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。

分组交换带来的另一个问题是各分组必须携带的控制信息也造成了一定的开销,整个分组交换网还需要专门的管理和控制机制。

计算机网络的类别

计算机网络的定义

关于计算机网络的精确定义并没有一个统一的定论。

关于计算机网络的一个较好的定义是这样的:

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

根据这个定义,我们可以得到几条信息:

  1. 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机。
  2. 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)

几种不同类别的计算机网络

对计算机网络进行分类有多种方法。

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

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

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

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

公用网和专用网都可以提供多种服务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。

计算机网格的性能

计算机网络的性能一般是指它的几个重要的性能指标,但除了这些重要的性能指标外,还有一些非性能指标也会对计算机网络的性能造成较大影响。

速率

我们知道,计算机发送出的都是数字信号,也就是0或1,它的计量单位是比特(bit)。比特也是信息论中使用的信息量的单位。网络技术中的速率指的是数据的传送速率,它也称为数据率或比特率。

速率是计算机网络中最重要的一个性能指标,速率的单位是bit/s(比特每秒),有时也写为bps,即bit per second。当数据量较大时,就常常在bit/s的前面加上一个字母。例如,Kbit/s(kilo 103,千),Mbit/s(Mega106,兆),Gbit/s(Giga 109,吉)和Tbit/s(Tera 1012,太)等。

注:这里的K,M并不是指计算机数据计量单位KB,MB中的“K”和“M”,KB中的K表示1024,MB中的“M”表示220,而这里的Kbit/s和Mbit/s中的“K”和“M”分别表示1000和106。应当注意,这两者的意义和数值是完全不一样的。

带宽

“带宽”(bandwidth)这个词在生活中用的很频繁,它其实有以下两种不同的意义:

(1).带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。

例如,在传统通信线路上传送的电话信号的标准带宽是3.1kHz(从300Hz到3.4kHz,这是语音主要成分的频率范围),当带宽表示这种意义时,它的单位是赫兹。

在过去的很长一段时间里,通信的主干线路传送的是模拟信号(即连续变化的信号),因此,表示某信道允许通过的信号频带范围就称为该信道的带宽。

在电气工程中的“带宽”是这个意思:在一种电气介质中所能传输的电磁波的频率范围。超过这个范围的电磁波就不能在这种介质中传播(带宽:能传输的最大频率 ~ 能传输的最小频率)。
请添加图片描述

(2). 在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”。当带宽表示这种意义时,它的单位就是数据传送速率bit/s,即“比特每秒。”

吞吐量

**吞吐量(througtput)**表示在单位时间内通过某个网络的实际的数据量,它常用作对现实世界中网络的测量,以便知道实际上到底有多少数据量能够通过该网络。

显然,吞吐量受网络的带宽或网络额定速率的限制。例如,对于一个1Gbit/s的以太网,就是说其额定速率是1Gbit/s,那么这个数值也是该以太网吞吐量的绝对上限值。

时延

时延(delay) 是指数据从网络的一端传送到另一端所需的时间。时延是个很重要的性能指标,它有时也称为延时或迟延。

需要注意的是,网络中的时延实际上是由以下几个不同的部分组成的:

发送时延(transmission delay)。

发送时延是主机或路由器发送数据帧所需的时间,也就是从发送数据帧的第一个比特开始算起,到该帧最后一个比特发送完毕所需的时间。

发送时延的计算公式是:

发送时延 = 数据帧长度 ( b i t / s ) 发送速率 ( b i t / s ) \mathbf{发送时延} = \frac{数据帧长度(bit/s)}{发送速率(bit/s)} 发送时延=发送速率(bit/s)数据帧长度(bit/s)

由公式可得,对于一个特定的网络,发送时延并非固定不变,它与发送的帧长(单位是比特)成正比,与发送速率成反比。

传播时延(propagation delay)

传播时延是电磁波在信道中传播一定距离所需花费的时间。传播时延的计算公式是:

传播时延 = 信道长度 ( m ) 电磁波在信道上的传播速率 ( m / s ) \mathbf{传播时延}\mathbf{=}\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)} 传播时延=电磁波在信道上的传播速率(m/s)信道长度(m)

电磁波在自由空间的传播速率是光速,即3.0×1053km/s。电磁波在网络传输媒体中的传播速率比在自由空间要略低一些:在铜线电缆中的传播速率约为23×105kms,在光纤中的传播速率约为20×103km/s。例如1000km长的光纤线路产生的传播时延大约为5ms。

(3). 处理时延

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

(4). 排队时延

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

这样,通过对以上四种时延的分析和解释,数据在网络中经历的总时延就是以上四种时延之和:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。
请添加图片描述

时延带宽积

将前述的两个网络性能的度量——传播时延和带宽一一相乘,就可以得到另一个很有用的度量——时延带宽积,即:时延带宽积 = 传播时延*× 带宽

我们可以用下面的示意图来表示时延带宽积:
请添加图片描述
管道的长度表示链路的传播时延(注意:现在以时间为单位来表示链路长度),而管道的截面积是链路的带宽。所谓时延带宽积就表示这个管道的体积,意义为:这样的链路可以容纳多少个比特

6. 往返时间RTT(Round-Trip Time)

很多情况下,互联网上的信息不仅仅是单方面而是双向交互的,因此,往返时间RTT也是衡量网络性能的一项重要指标。

下面通过一个例子来看看RTT的应用。例如,A向B发送数据。如果数据长度是100MB,发送速率是100Mbis,那么

发送时间 = 数据长度 发送速率 = 100 × 2 20 × 8 100 × 1 0 6 ≈ 8.39   s 发送时间 = \frac{数据长度}{发送速率} = \frac{100 \times 2^{20} \times 8}{100 \times 10^{6}} \approx 8.39\ s 发送时间=发送速率数据长度=100×106100×220×88.39 s

如果B正确接收完100MB的数据后,就立即向A发送确认。再假定A只有在收到B的确认信息后,才能继续向B发送数据。显然,这需要等待一个往返时间RTT(这里假定确认信息很短,可忽略B发送确认的时间)。如果RTT=2s,那么就可以算出A向B发送数据的有效数据率:

有效数据率 = 数据长度 发送时间 + RTT = 100 × 2 20 × 8 8.39 + 2 = 80.7 × 1 0 6 bit / s ≈ 80.7 M b i t / s 有效数据率 = \frac{数据长度}{发送时间 + \text{RTT}} = \frac{100 \times 2^{20} \times 8}{8.39 + 2}\newline = 80.7 \times 10^{6}\text{bit}/s \approx 80.7Mbit/s 有效数据率=发送时间+RTT数据长度=8.39+2100×220×8=80.7×106bit/s80.7Mbit/s

可见,比原来的数据率100 Mbit/s小不少。

在互联网中,往返时间还包括各中间结点的处理时延,排队时延以及转发数据时所产生的发送时延。

7. 利用率

利用率有信道利用率和网络利用率两种。

信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道利用率是零。

网络利用率则是全网络的信道利用率的加权平均值。

值得一提的是,信道利用率并非越高越好,这是因为当某信道的利用率增大时,该信道引起的时延也就迅速增加。

如果令D 0 _0 0表示网络空闲时的时延, D D D表示网络当前的时延,那么在适当的假定条件下,可以使用下面的公式来粗略的表示D, D 0 D_0 D0和网络利用率 U U U之间的关系:

D = D 0 1 − U D = \frac{D_{0}}{1 - U} D=1UD0

网络利用率U的值在0到1之间。

当网络的利用率达到其容量的1/2时,时延就要加倍。当网络的利用率接近最大值1时,网络的时延就趋于无穷大。因此我们必须要有这样的概念:信道或网络的利用率过高会产生非常大的时延
请添加图片描述

计算机网络体系结构

具有五层协议的体系结构

请添加图片描述

(1). 应用层(application layer)

应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。我们把应用层交互的数据单元称为报文(message)。

(2). 运输层(transport layer)

运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“通用的”,意思是说这种协议并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。

由于一台主机上可以同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务。分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程运输层主要使用以下两种协议:

  • 传输控制协议TCP(Transmission Control Protocol)-一提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段( segment)。
  • 用户数据报协议UDP(User Datagram Protocol)——提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

(3). 网络层(network layer)

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。

互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层。

(4). 数据链路层(data link layer)

数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧(frame)。

每一帧包括数据和必要的控制信息(如同步信息地址信息差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。

(5). 物理层(physical layer)

在物理层上所传数据的单位是比特。发送方发送1或0时,接收方应当收到1或0而不是0或1。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。

值得注意的是,解释比特流代表的意思不是物理层的任务。传递信息所利用的那些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议的定义之内,而是在物理层协议的下面。因此也有人把物理层下面的物理媒体当作第0层。
请添加图片描述
注:传送比特流时应从帧的首部开始传送。

OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元PDU(Protocol Data Unit),这个名词现在已被很多非OSI标准采用。

虽然应用进程数据要经过如上图所示的复杂过程才能送到终点的应用进程,但这些复杂的过程对用户来说,却都被屏蔽掉了,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2。

任何两个同样的层次之间,就好像上图中的水平虚线那样,把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”( peer layers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。

实体,协议,服务和服务访问点

当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。许多情况下,实体就是一个特定的软件模块。

协议就是控制两个对等实体(或多个实体)之间进行通信的规则的集合。协议中关于语法方面的规则定义了所交换的信息的格式,而协议中关于语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下,数据必须重传或丢弃。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

值得一提的是,协议和服务在概念上的意义是很不一样的。首先,本层协议的实现保证了能够向上一层提供服务。使用服务的实体只能看见下层提供的服务接口而无法看见下面的协议,也就是说,下层的协议对于上面正在使用下层提供给它的服务的实体来说是透明的。

协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,这指的是服务是由下层向上层通过层间接口提供的。另外,并不是说在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能被称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语

同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP( Service Access Point)。

服务访问点SAP是一个抽象的概念,它实际上是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。

OSI把层与层之间交换的数据的单位称为服务数据单元SDU( Service Data Unit),它可以与PDU不一样。例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。
请添加图片描述
第n层向上面的第n+1层所提供的服务实际上就已包括了在它以下各层所提供的服务。

下面来看一下网络连接中超时重传的来历——“蓝军白军”:
请添加图片描述





参考:1.《计算机网络(第7版)》·谢希仁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值