计算机网络之概述

本文深入探讨了计算机网络的起源、发展和类型,特别关注了互联网的形成、基础结构、标准化过程。阐述了网络的边缘部分(如端系统、通信方式)和核心部分(如路由器、分组交换)的功能。介绍了电路交换、分组交换和报文交换的区别,以及速率、带宽、吞吐量、时延等相关性能指标。同时,讨论了OSI七层模型和TCP/IP四层模型,解析了网络协议、服务和实体的概念。
摘要由CSDN通过智能技术生成
  1. 信息时代的计算机网络
    最初,为了按服务进行分工,产生三大类网络,即电信网络(电话电报传真服务),有线电视网络(电视节目)和计算机网络(计算机之间)。

随着技术的发展,计算机网络也同时能够向用户提供电话通信和视频服务,其中以Internet(互连网)为代表的计算机网络逐步发展成为全球使用的商业网络。

互连网有两个重要的特点:连通性(彼此联通)和共享(资源共享(信息共享,软件共享,硬件共享))。

  1. 互联网概述
    2.1 网络的概念
    计算机网络 (简称为网络)由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等.

互连网(internet,通用名词) 将许多网络通过路由器连接在一起,是一个更大范围的网络,其相当于网络的网络。

互联网(Internet,专用名词) 指全球最大的,开放的,由众多网络相互连接而成的特定的互连网,它采用TCP/IP协议族作为通信的规则。

2.2 互联网基础结构发展的三个阶段
(1)单个分组交换网络APRANET——》互连网——》互联网

(2) 三级结构互联网(美国国家科学基金网NSFNET):分为主干网、地区网和校园网(或企业网)。

(3) 多层次ISP结构的互联网:美国政府管理的主干网被商用主干网替代,这样就出现了互联网服务提供商(Internet Service Provider,ISP),例如中国电信,中国移动和中国联通。

以下介绍关于第三个阶段有关多层次ISP结构的互联网的内容:

(1)ISP: ISP可以从互联网管理机构申请到很多IP地址,个人可以从ISP那里缴纳费用以获取IP地址的使用权。

(2)ISP也可以按照提供服务的覆盖面积分为不同的层次:主干ISP,地区ISP,本地ISP。

(3)本地ISP可以是一个提供互联网服务的公司,也可以是一个向自己雇员分配IP的企业或非营利机构。

(4)三层ISP的逻辑组织类似于树形结构(如下图),同时慢慢发展出了互联网交换点(Internet Exchange Point, IXP)。

img

(5)互联网交换点 (IXP)的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。例如,上图右方的两个地区ISP通过一个IXP连接起来,这样,主机A和主机B交换分组时,就不必再经过最上层的主干ISP,而是直接在两个地区ISP之间用高速链路对等地交换分组。

2.3 互联网标准化
制定互联网的正式标准要经过以下三个阶段:
(1) 互联网草案(Internet Draft)——互联网草案的有效期只有六个月。在这个阶段还不能算是RFC(Request For Comments)文档。

(2) 建议标准(Proposed Standard)——从这个阶段开始就成为RFC文档。

(3) 互联网标准(Internet Standard)——达到正式标准后,每个标准就分配到一个编号STD XX。一个标准可以和多个RFC文档关联。

现在制定互联网标准的过程变为两个阶段,即建议标准→互联网标准。

  1. 互联网的组成
    互联网的组成按工作方式可以划分为边缘部分和核心部分。

(1) 边缘部分由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。

(2) 核心部分由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

3.1 边缘部分
处在互联网边缘的所有主机又称为端系统(处在互联网的末端)。可以是个人计算机、服务器或者网络摄像头等设备。

通常所说的主机A与主机B通信是指主机A的某个进程和主机B上的另一个进程进行通信。

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

(1)客户-服务器方式

客户( client)和服务器 (server)都是指通信中所涉及的两个应用进程。客户是服务请求方,服务器是服务提供方。服务请求方和服务提供方都要使用网络核心部分所提供的服务。

(2)对等连接方式

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

3.2 互联网的核心部分
在网络核心部分起特殊作用的是路由器 (router), 它是一种专用计算机(但不叫做主机)。路由器是实现分组交换 ( packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

在介绍分组交换之前,先介绍电路交换:

(1)电路交换

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

于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如下图所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。

img

分析: 电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端(从源到目的)的通信资源,其线路的传输效率往往很低。这是因为已被用户占用的通信线路资源在绝大部分时间里都是空闲的。

(2)分组交换

分组交换则采用存储转发技术。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的
报文划分成为一个个更小的等长数据段,再在其前面加上首部(控制信息),就构成了一个分组(packet)。

分组又称为包,而分组的首部也可称为“包头”。**分组是在互联网中传送的数据单元。**分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。

路由器是用来进行分组交换的。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。

为了提高分组交换网的可靠性,互联网的核心部分常采用网状拓扑结构,使得当发生网络拥塞或少数结点、链路出现故障时,路由器可灵活地改变转发路由而不致引起通信的中断或全网的瘫痪。

分析: 分组交换在传送数据之前不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。分组在传输时一段一段地断续占用通信资源(转发),而且还省去了建立连接和释放连接的开销,因而数据的传输效率更高。同时可靠性更高。

但是,这种非端到端占用资源就会导致存储转发时需要排队,这就产生了时延。此外,分组所携带的首部种的控制信息也会占用一定的开销。

(3)报文交换

报文交换也采用的存储转发机制,但是其时延相比于使用计算机处理的分组交换要大很多。

(4)总结

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

  1. 计算机网络的类别
    按照网络的作用范围:

(1) 广域网WAN(Wide Area Network)

(2) 城域网MAN(Metropolitan Area Network)

(3) 局域网 LAN(Local Area Network)

(4) 个域网PAN(Personal Area Network)

按照网络的使用者:

(1) 公用网(public network):这是指电信公司(国有或私有)出资建造的大型网络。

(2) 专用网(private network):这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、银行、电力等系统均有本系统的专用网。

  1. 计算机网络的性能
    5.1 速率
    计算机发送出的信号都是数字形式的。比特(binary digit,bit)是一个“二进制数字”,因此一个比特就是二进制数字中的一个1或0。网络技术中的速率指的是数据的传送速率,它也称为数据率(data rate)或比特率(bit rate)。速率的单位是bit/s(比特每秒)(或b/s,有时也写为bps,即 bit per second)。另外要注意的是,当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率。

5.2 带宽
(1)信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。单位是赫(或千赫,兆赫,吉赫等)例如,在传统的通信线路上传送的电话信号的标准带宽是3.1kHz(从300Hz到3.4kHz,即话音的主要成分的频率范围)。同样,表示某信道允许通过的信号频带范围就成为该信道的带宽(或通频带)。

(2)在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”。单位是数率的单位bit/s,是“比特每秒”。在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。

5.3 吞吐量
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。显然,吞吐量受网络的带宽或网络的额定速率的限制。 例如,对于一个Gbis的以太网,就是说其额定速率是1Gits,那么这个数值也是该以太网的吞吐量的绝对上限值。因此,对1 Gbit/s的以太网,其实际的吞吐量可能也只有100Mbit/s,或甚至更低,并没有达到其额定速率。请注意,有时吞吐量还可用每秒传送的字节数或帧数来表示。

5.4 时延
时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。网络中的时延是由以下几个不同的部分组成的:
(1) 发送时延(transmission delay) 是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。计算公式是:
发 送 时 延 = 发 送 帧 长 度 ( b i t ) 发 送 速 率 ( b i t / s ) 发送时延=\frac{发送帧长度(bit)}{发送速率(bit/s)}
发送时延=
发送速率(bit/s)
发送帧长度(bit)

发送时延与发送的帧长成正比,与发送速率成反比。

(2) 传播时延( propagation delay) 是电磁波在信道中传播一定的距离需要花费的时间。计算公式是:
传 播 时 延 = 信 道 长 度 ( m ) 电 磁 波 在 信 道 上 的 传 输 速 率 ( m / s ) 传播时延=\frac{信道长度(m)}{电磁波在信道上的传输速率(m/s)}
传播时延=
电磁波在信道上的传输速率(m/s)
信道长度(m)

电磁波在自由空间的传播速率是光速,即3.0 × 1 0 5 k m / s 3.0×10^5km/s3.0×10
5
km/s。在铜线电缆中的传播速率约为2.3 × 1 0 5 k m / s 2.3×10^5km/s2.3×10
5
km/s,在光纤中的
传播速率约为2.0 × 1 0 5 k m / s 2.0×10^5km/s2.0×10
5
km/s。

信号传送的距离越远,传播时延就越大。

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

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

总时延=发送时延+传播时延+处理时延+排队时延

img

分析:对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。荷载信息的电磁波在通信线路上的传播速率(这是光速的数量级)取决于通信线路的介质材料。提高数据的发送速率只是减小了数据的发送时延。数据的发送速率的单位是每秒发送多少个比特,而传播速率的单位是每秒传播多少公里,是指在某一段传输线路上比特的传播速率。

5.5 时延带宽积
把传播时延和带宽相乘,就得到传播时延带宽积,即时 延 带 宽 积 = 传 播 时 延 × 带 宽 时延带宽积=传播时延\times带宽时延带宽积=传播时延×带宽

img

这是一个代表链路的圆柱形管道,管道的长度是链路的传播时延,而管道的截面积是链路的带宽。因此时延带宽积就表示这个管道的体积,表示这样的链路可容纳多少个比特。因此,链路的时延带宽积又称为以比特为单位的链路长度。

5.6 往返时间RTT
RTT(Round-Trip Time)往返时间在计算机网络中它是一个重要的性能指标。表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认,不包含数据传输时间)总共经历的时间。

RTT由三个部分决定:传播时延、处理时延和排队时延。其中前两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。简单来说就是发送方从发送数据开始,到收到来自接受方的确认信息所经历的时间。

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

(1)信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。计算方法为:
信 道 的 利 用 率 = 发 送 时 间 发 送 时 间 + 来 回 传 播 时 间 信道的利用率=\frac{发送时间}{发送时间+来回传播时间}
信道的利用率=
发送时间+来回传播时间
发送时间

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

信道利用率并非越高越好。打个比方:车子在道路上多了起来,道路的利用率变大了,道路被占满了,但是道路变拥挤了,这样就导致排队时延的增大了。

如果令D 0 D_0D
0

表示网络空闲时的时延,D DD表示网络当前的时延,那么在适当的假定条件下,可以用下面的公式来表示D DD,D 0 D_0D
0

和利用率U UU之间的关系:
D = D 0 1 − U D=\frac{D_0}{1-U}
D=
1−U
D
0

img

从图中可以看出,信道或网络的利用率过高会产生非常大的时延。

  1. 计算机网络的体系结构
    为了使不同体系结构的计算机网络都能互连,国际标准化组织ISO提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型 OSI/RM( Open Systems Interconnection Reference Model),简称为OSI。OSI只获得了一些理论硏究的成果,但在市场化方面则事与愿违地失败了。现今规模最大的、覆盖全球的、基于TCP/P的互联网并未使用OSI标准。

6.1 协议
在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步(时序同步)问题。这些为进行网络中的数据交换而建立的规则标准或约定称为网络协议(network protocol)。网络协议主要由以下三个要素组成:

(1) 语法:即数据与控制信息的结构或格式;

(2) 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;

(3) 同步:即事件实现顺序的详细说明。

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

6.2 五层协议体系结构
OSI分为七层协议体系结构,而TCP/IP体系结构则是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层。因此在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCPP的优点,采用一种只有五层协议的体系结构。

img

(1)应用层 (application layer)

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

(2)运输层(transport layer)

运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。 应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

输层主要使用两种协议:传输控制协议TCP(Transmission Control protocol,提供面向连接的、可靠的数据传输服务)和用户数据报协议UDP(User Datagram Protocol,提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性))。

(3)网络层(network layer)

网络层负责为分组交换网上的不同主机提供通信服务。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

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

数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing,在两个相邻结点间的链路上传送帧(fame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

(5)物理层(physical layer)

在物理层上所传数据的单位是比特。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。 物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。请注意,传递信息所利用的些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理层下面的物理媒体当作第0层。

总结:

假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(I2);而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。

当这一串的比特流离开主机1经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理媒体上把每一个比特发送出去。

当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP1发送的数据交给目的站的应用进程AP2。

img

任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同上图的水平虚线所示的那样,把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”( peer layers)之间的通信。**我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。**OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元PDU(ProtocolData Unit)。

协议栈”( protocol stack)是指个栈( stack)的结构

6.3 实体-协议-服务-服务访问点
实体(entity)表示任何可发送或接收信息的硬件或软件进程。

协议是控制两个对等实体(或多个实体)进行通信的规则的集合。

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

在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access point)。 服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口

OSI把层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit),它可以与PDU不一样。例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值