计算机网络
第一章 概述
重要内容:(1)因特网的边缘部分和核心部分的作用
(2)计算机网络的一些性能指标
(3)计算机网络的分层次的体系结构,包括协议和服务
1.1 计算机网络在信息时代的作用
计算机网络向用户提供的功能
(1)连通性:计算机网络使上网用户之间都可以交换信息
(2)共享:资源共享(信息、软件、硬件)电子文档供用户自由读取下载
1.2 因特网概述
1.2.1 网络的网络
网络(network)由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等
网络和网络可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网),因此互联网是“网络的网络”(network of networks)。
因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。习惯上,大家把连接在因特网上的计算机都称为主机(host)。
网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。
1.2.2 因特网发展的三个阶段
(1)第一阶段是从单个网络ARPANET向互联网发展的过程。
Internet(因特网)是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。
(2)第二阶段的特点是建成了三级结构的因特网。
美国国家科学基金会NSF (National Science Foundation)就围绕六个大型计算机中心建设计算机网络,即国家科学基金网NSFNET。它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。这种三级计算机网络覆盖了全美国主要的大学和研究所,并且成为因特网中的主要组成部分。
(3)第三阶段的特点是逐渐形成了多层次 ISP 结构的因特网。
因特网服务提供者ISP (Internet Service Provider)。在许多情况下,因特网服务提供者ISP就是一个进行商业活动的公司,因此ISP又常译为因特网服务提供商。所谓“上网”就是指“(通过某个ISP获得的IP地址)接入到因特网”。
主干ISP由几个专门的公司创建和维持,服务面积最大(一般都能够覆盖国家范围),并且还拥有高速主干网(例如10Gb/s或更高)。有一些地区ISP网络也可直接与主干ISP相连。
地区ISP是一些较小的ISP。这些地区ISP通过一个或多个主干ISP连接起来。它们位于等级中的第二层,数据率也低一些。
本地ISP给端用户提供直接的服务。本地ISP可以连接到地区ISP,也可直接连接到主干ISP。绝大多数的端用户都是连接到本地ISP的。
因特网交换点 IXP (Internet eXchange Point):因特网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。例如:两个地区ISP通过一个IXP连接起来了。这样,主机A和主机B交换分组时,就不必再经过最上层的主干ISP,而是直接在两个地区ISP之间用高速链路对等地交换分组。这样就使因特网上的数据流量分布更加合理,同时也减少了分组转发的迟延时间,降低了分组转发的费用。
1.2.3因特网的标准化工作
1992年由于因特网不再归美国政府管辖,因此成立了一个国际性组织叫做因特网协会(Internet Society,简称为ISOC)[W-ISOC],以便对因特网进行全面管理以及在世界范围内促进其发展和使用。
制定因特网的正式标准要经过以下的四个阶段[RFC 2026]:
(1) 因特网草案(Internet Draft) ——在这个阶段还不是RFC文档。
(2) 建议标准(Proposed Standard) ——从这个阶段开始就成为RFC文档。
(3) 草案标准(Draft Standard)。
(4) 因特网标准(Internet Standard)。
1.3 因特网的组成
(1) 边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
(2) 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
1.3.1因特网的边缘部分
端系统(end system):处在因特网边缘部分的连接在因特网上的所有的主机。
计算机之间通信:主机A的某个进程和主机B上的另一个进程进行通信,系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。
-
客户-服务器方式
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。服务请求方和服务提供方都要使用网络核心部分所提供的服务。 -
对等连接方式
对等连接(peer-to-peer,简写为P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P文件共享。
1.3.2 因特网的核心部分
网络核心部分是因特网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。
在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(但不是主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
1.4 计算机网络在我国的发展
1.5 计算机网络的类别
- 按网络的作用范围进行分类
(1) 广域网WAN (Wide Area Network) 广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是因特网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。
(2) 城域网MAN (Metropolitan Area Network) 城域网的作用范围一般是一个城市,可跨越几个街区甚至整个的城市,其作用距离约为5~50km。城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互连。
(3) 局域网LAN (Local Area Network)局域网一般用微型计算机或工作站通过高速通信线路相连(速率通常在10Mb/s以上),但地理上则局限在较小的范围(如1km左右)。
(4) 个人区域网 PAN (Personal Area Network)个人区域网就是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网WPAN (Wireless PAN),其范围大约在10 m左右。
-
按网络的使用者进行分类
(1) 公用网(public network) 这是指电信公司(国有或私有)出资建造的大型网络。
(2) 专用网(private network) 这是某个部门、某个行业为各自的特殊业务工作需要而建造的网络。这种网络不对外人提供服务。 -
用来把用户接入到因特网的网络
这种网络就是接入网 AN (Access Network),它又称为本地接入网或居民接入网。这是一类比较特殊的计算机网络。接入网是从某个端系统到另一个端系统的路径中,由这个端系统到第一个路由器(也称为边缘路由器)之间的一些物理链路所组成。
1.6 计算机网络的性能
1.6.1计算机网络的性能指标
-
速率
网络技术中的速率指的是连接在计算机网络上的主机在数字信道上传送数据的速率,它也称为数据率(data rate)或比特率(bit rate)。速率的单位是b/s(比特每秒)(或bit/s,有时也写为bps,即bit per second)。 -
带宽
在计算机网络中,带宽用来表示网络的通信线路传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。带宽的单位是“比特每秒”,记为b/s。 -
吞吐量
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。 -
时延
时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延是个很重要的性能指标,它有时也称为延迟或迟延。
(1)发送时延:发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也叫做“传输时延”。
(2)传播时延:传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。
(3) 处理时延:主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等等,这就产生了处理时延。
(4) 排队时延:分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。提高数据的发送速率只是减小了数据的发送时延 -
时延带宽积、
以上讨论的网络性能的两个度量——传播时延和带宽——相乘,就得到另一个很有用的度量:传播时延带宽积。 -
往返时间RTT
往返时间RTT (Round-Trip Time)也是一个重要的性能指标,它表示从发送方发送数据开始,到发送方收到来自接收方的确认(接收方收到数据后便立即发送确认),总共经历的时间。往返时间与所发送的分组长度有关。发送很长的数据块的往返时间,应当比发送很短的数据块的往返时间要多些。 -
利用率
利用率有信道利用率和网络利用率两种。
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
网络利用率则是全网络的信道利用率的加权平均值。
信道利用率并非越高越好,这是因为,根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。
1.6.2计算机网络的非性能特征
- 费用
- 质量
- 标准化
- 可靠性
- 可拓展性和可升级性(规模扩大、性能版本提高)
- 易于管理和维护
1.7 计算机网络的体系结构
分层次的体系结构
1.7.1
系统网络体系结构SNA (System Network Architecture)。这个著名的网络标准就是按照分层的方法制定的。
开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),简称为OSI
1.7.2协议与划分层次
网络协议:在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(如发送一个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)。
1.7.3具有五层协议饿体系结构
TCP/IP是一个四层的体系结构(图1-18(b)),它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)
(1) 应用层(application layer)
应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程(process)就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,等等。我们将应用层交互的数据单元称为报文(message)。
(2) 运输层(transport layer)
运输层的任务就是负责向两个主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓通用,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用与复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。
● 传输控制协议TCP (Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
● 用户数据报协议 UDP (User Datagram Protocol)——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。
(3) 网络层(network layer)
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet)进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作 IP数据报,或简称为数据报(datagram)。
(4) 数据链路层(data link layer)
数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
(5) 物理层(physical layer)
在物理层上所传数据的单位是比特。发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各条引脚应如何连接。
1.7.4 实体、协议、服务和服务访问点
- 实体 任何可发送或接收信息的硬件或软件进程
- 协议 控制两个对等实体(或多个实体)进行通信的规则的集合。
- 服务 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
- 服务访问点 SAP (Service Access Point)。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。
1.7.5 TCP/IP的体系结构
TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IP over everything)。