# 1. 概述
21 世纪是知识经济的时代,但几乎所有的经济活动都依赖于信息的交流。目前信息的主要载体是计算机,而传播信息靠的就是计算机网络。计算机网络是现代通信技术与计算机技术紧密相结合的产物。
计算机网络的发展使计算机应用发生了巨大的变化,已经遍布经济、文化、科研、军事、政治、教育和社会生活等各个领域,引起了世界范围内信息产业的发展。
计算机网络的发展史:
根据计算机发展的特点,将计算机网络的发展过程大致分为以下 4 个阶段:
1. 面向终端的计算机网络(20 世纪 50 年代末 - 60 年代初)
1951 年,美国麻省理工学院为美国空军设计 SAGE 半自动化地面防空系统。
同期还有美国通用电气公司的信息服务系统(GE Information Service)---- 数据处理网络。
2.计算机网络互联阶段(20 世纪 60 年代中期)
以程控交换机为特征的电信技术发展,典型代表是美国国防部高级研究计划局于 1969 年 12 月投入运行的 ARPANET 网络。
3. 计算机网络标准化阶段(20 世纪 70 年代)
随着计算机网络技术的发展,出现了各种不同体系的网络。为了使这些不同体系结构的计算机网络都能互联,国际标准化组织 ISO 提出 OIS/RM 开放式系统互联参考模型七层组成。
4. 网络互联与高速网络阶段(20 世纪 80 年代末至今)
INTERNET 的飞速发展:电子邮件、电子传输、信息查询、语言图象服务等。
高速与智能发展:宽带综合业务数据网 D—ISDN、异步传输 ATM、ADSL 技术
正在宽带方向上发展的 “蓝牙” 技术:它是一种新兴技术规范,目的是要在移动电话和其他手持式设备之间实现低成本、短距离的无线连接。(类似于红外线技术)
宽带 IP 网的发展:远程教育、视频点播、电子商务、电子会议等。
什么是计算机网络?
所谓的计算机网络就是把分布在不同区域的计算机与专门的设备用通信线路互相连成一个规模大、功能强的网络系统,从而使众多计算机可以方便地互相传递信息、共享硬件、软件、数据信息资源等的系统。
# 1.1 计算机网络在信息时代中的作用
21 世纪的一些重要特征是数字化、网络化和信息化,它是一个以网络为核心的信息时代。
网络现在已经成为信息社会的命脉和发展知识经济的重要基础。
大家熟悉的三大类网络有:
电信网络:提供电话、电报及传真等服务;
有线电视网络:向用户传送各种电视节目;
计算机网络:使用户能在计算机之间传送数据文件;
发展最快的并起到核心作用的是计算机网络。
自从 20 世纪 90 年代以后,以 Internet 为代表的计算机网络得到了飞速的发展。
已从最初的教育科研网络(免费)逐步发展成为商业网络(有偿使用)。
Internet 已成为全球最大的和最重要的计算机网络。
Internet 是人类自印刷术发明以来人类在存储和交换信息领域中的最大变革。
Internet 的中文译名并不统一。现有的 Internet 译名有两种:
因特网,这个译名是全国科学技术名词审定委员会推荐的,但却长期未得到推广;
互联网,这是目前流行最广的、事实上的标准译名。现在我国的各种报刊杂志、政府文件以及电视节目中都毫无例外地使用这个译名。
互联网之所以能够向用户提供许多服务,是因为互联网具有两个重要基本特点:
** 连通性 (connectivity)** 即数据通信
使上网用户之间都可以交换信息(数据,以及各种音频视频),好像这些用户的计算机都可以彼此直接连通一样。注意,互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置。
** 共享 (Sharing)** 即资源共享。
资源共享的含义是多方面的。可以是信息共享、软件共享,也可以是硬件共享。
由于网络的存在,这些资源好像就在用户身边一样,方便使用。
互联网 +
互联网 + 指 “互联网 + 各个传统行业”。
利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合,创造新的发展生态。
特点:把互联网的创新成果深度融合于经济社会各领域之中,从而大大地提升了实体经济的创新力和生产力。
# 1.2 互联网概述
1.2.1 网络的网络
互联网 (Internet)
特指 Internet,起源于美国,现已发展成为世界上最大的、覆盖全球的计算机网络。
计算机网络 (简称为网络)
由若干结点 (node) 和连接这些结点的链路 (link) 组成。
互连网 (internetwork 或 internet)
可以通过路由器把网络互连起来,这就构成了一个覆盖范围更大的计算机网络,称之为互连网。
“网络的网络”(network of networks)。
关于 “云”
当使用一朵 “云” 来表示网络时,可能会有两种不同的情况:
云表示的网络已经包含了和网络相连的计算机。
云表示的网络里面就只剩下许多路由器和连接这些路由器的链路,把有关的计算机画在云的外面。习惯上,与网络相连的计算机常称为主机 (host)。
网络把许多计算机连接在一起。
互连网则把许多网络通过路由器连接在一起。
与网络相连的计算机常称为主机。
1.2.2 互联网基础结构发展的三个阶段
** 第一阶段:** 从单个网络 ARPANET 向互联网发展的过程。
1983 年,TCP/IP 协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。人们把 1983 年作为互联网的诞生时间。1990 年,ARPANET 正式宣布关闭。
第二阶段:建成了三级结构的互联网。
它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。
第三阶段:逐渐形成了多层次 ISP 结构的互联网。
出现了互联网服务提供者 ISP (Internet Service Provider)。
任何机构和个人只要向某个 ISP 交纳规定的费用,就可从该 ISP 获取所需 IP 地址的使用权,并可通过该 ISP 接入到互联网。
根据提供服务的覆盖面积大小以及所拥有的 IP 地址数目的不同,ISP 也分成为不同层次的 ISP:主干 ISP、地区 ISP 和本地 ISP。
互联网交换点 IXP (Internet eXchange Point)
互联网交换点 IXP 主要作用就是允许两个网络直接相连并交换分组
许多互联网交换点 IXP 在进行对等交换分组时互相不收取费用
但本地 ISP 或地区 ISP 通过 IXP 向高层的 IXP 转发分组需交纳一定费用
IXP 采用工作在数据链路层的网络交换机都用局域网互连起来
到 2016 年 3 月,全球已经有 226 个 IXP,分布在 172 个国家和地区。但互联网的发展在全世界还很不平衡。
万维网 WWW
互联网已经成为世界上规模最大和增长速率最快的计算机网络,没有人能够准确说出互联网究竟有多大。
互联网的迅猛发展始于 20 世纪 90 年代。由欧洲原子核研究组织 CERN 开发的 ** 万维网 WWW (World Wide Web)** 被广泛使用在互联网上,大大方便了广大非网络专业人员对网络的使用,成为互联网的这种指数级增长的主要驱动力。
1.2.3 互联网的标准化工作
互联网的标准化工作对互联网的发展起到了非常重要的作用。
所有互联网标准都以 RFC 的形式在互联网上发表。
Request For Comments (RFC)--- 请求评议
互联网草案 (Internet Draft) —— 有效期只有六个月。在这个阶段还不是 RFC 文档。
建议标准 (Proposed Standard) —— 从这个阶段开始就成为 RFC 文档。
互联网标准 (Internet Standard) —— 达到正式标准后,每个标准就分配到一个编号 STD xxxx。一个标准可以和多个 RFC 文档关联。
各种 RFC 之间的关系
除了建议标准和互联网标准这两种 RFC 文档外,还有三种 RFC 文档,即历史的、实验的和提供信息的 RFC 文档。
# 1.3 互联网的组成
1.3.1 互联网的边缘部分
从互联网的工作方式上看,可以划分为两大块:
边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
边缘部分
处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统 (end system)。
端系统在功能上可能有很大的差别
小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的网络摄像头。
大的端系统则可以是一台非常昂贵的大型计算机。
端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个 ISP。
端系统之间通信的含义
“主机 A 和主机 B 进行通信” 实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。简称为 “计算机之间通信”。
端系统之间的通信方式通常可划分为两大类:
客户 - 服务器方式(C/S 方式)
即 Client/Server 方式,简称为 C/S 方式。
对等方式(P2P 方式)
即 PeerToPeer 方式 ,简称为 P2P 方式。
客户 - 服务器方式
客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。
客户 - 服务器方式所描述的是进程之间服务和被服务的关系。
客户是服务的请求方,服务器是服务的提供方。
服务请求方和服务提供方都要使用网络核心部分所提供的服务。
客户软件的特点:
被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
不需要特殊的硬件和很复杂的操作系统。
服务器软件的特点:
一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。
一般需要强大的硬件和高级的操作系统支持。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。
对等方式(P2P 方式)
对等连接 (peer-to-peer,简写为 P2P) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
只要两个主机都运行了对等连接软件 (P2P 软件) ,它们就可以进行平等的、对等连接通信。
双方都可以下载对方已经存储在硬盘中的共享文档。
特点:
对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。
例如主机 C 请求 D 的服务时,C 是客户,D 是服务器。但如果 C 又同时向 F 提供服务,那么 C 又同时起着服务器的作用。
对等连接工作方式可支持大量对等用户(如上百万个)同时工作。
1.3.2 互联网的核心部分网络核心部分是互联网中最复杂的部分。
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
在网络核心部分起特殊作用的是路由器 (router)
互联网的核心部分
互联网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在互联网的边缘部分。
互联网核心部分中的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。
主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。
路由器:
在路由器中的输入和输出端口之间没有直接连线。
路由器处理分组的过程是:
把收到的分组先放入缓存(暂时存储);
查找转发表,找出到某个目的地址应从哪个端口转发;
把分组送到适当的端口转发出去。
路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
为了理解分组交换,首先了解计算机网络中常用的另外两种交换技术电路交换、报文交换的基本概念。
1. 电路交换
2 部电话机只需要用 1 对电线直接连接就能够互相通话。
5 部电话机两两直接相连,需 10 对电线。
N 部电话机两两直接相连,需 N (N – 1)/2 对电线。这种直接连接方法所需要的电线对的数量与电话机数量的平方( N2 )成正比。
当电话机的数量增多时,就要使用交换机来完成全网的交换任务。
每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。
所采用的交换方式就是电路交换 (circuit switching)。
电路交换必定是面向连接的。
电路交换分为三个阶段:
建立连接:建立一条专用的物理通路,以保证双方通话时所需的通信资源在通信时不会被其他用户占用;
通信:主叫和被叫双方就能互相通电话;
释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)。
优点:实时性好,能及时传达信息
缺点:
呼叫时间长
通信带宽不能充分利用,,这导致在传送计算机数据时,通信线路的利用率很低(用来传送数据的时间不到 10% 甚至 1%)。
不同计算机和远程终端的传输速率不同
2. 报文交换技术
报文交换是采用存储转发的方式来传输数据,它不需要在两个站点之间建立一条专用的通信线路。
报文交换的特点是整块报文一起从一个站点传到另一个站点
优点:线路利用率较高,可共享信道;一个报文送到多个目的站点。
缺点:传输延迟长,不能满足实时或交互式通信要求。
报文交换的时延较长,从几分钟到几小时不等。现在报文交换已经很少有人使用了。
3. 分组交换技术
分组交换则采用存储转发技术。
- 在发送端,先把较长的报文划分成较短的、固定长度的数据段。
- 每一个数据段前面添加上首部构成分组 (packet)。
- 分组交换网以 “分组” 作为数据传输单元。
- 依次把各分组发送到接收端(假定接收端在左边)。
分组首部的重要性:
每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。
分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。
每个分组在互联网中独立地选择传输路径。
用这样的存储转发方式,最后分组就能到达最终目的地。 - 接收端收到分组后剥去首部还原成报文。
- 最后,在接收端把收到的数据恢复成为原来的报文。
这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。
分组交换的优点
高效:在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用。
灵活:为每一个分组独立地选择最合适的转发路由。
迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组。
可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性。
分组交换的缺点
分组在各结点存储转发时需要排队,这就会造成一定的时延。
分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。
三种交换的比较
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
# 1.4 计算机网络在我国的发展
1980 年,铁道部开始进行计算机联网实验。
1989 年 11 月,我国第一个公用分组交换网 CNPAC 建成运行。
1994 年 4 月 20 日,我国用 64 kbit/s 专线正式连入互联网,我国被国际上正式承认为接入互联网的国家。
1994 年 5 月,中国科学院高能物理研究所设立了我国的第一个万维网服务器。
1994 年 9 月中国公用计算机互联网 CHINANET 正式启动。
到目前为止,我国陆续建造了基于互联网技术的并能够和互联网互连的多个全国范围的公用计算机网络,其中规模最大的就是下面这五个:
(1) 中国电信互联网 CHINANET(也就是原来的中国公用计算机互联网)
(2) 中国联通互联网 UNINET
(3) 中国移动互联网 CMNET
(4) 中国教育和科研计算机网 CERNET
(5) 中国科学技术网 CSTNET
中国十大国内骨干互联网络
1. 中国公用计算机互联网 -----CHINANET
由中国电信集团主管,1994 年 8 月原邮电部与美国 Sprint 公司签定协议,开始组建 CHINANET 网络,1995 年 6 月正式提供服务。
2. 中国科学技术网络 --------CSTNET
由中国科学院主管,1994 年 5 月 21 日完成我国最高域名 CN 主服务器的设置,实现了与 Internet 的 TCP/IP 连接。
3. 中国教育和科研计算机网 -----CERNET
由国家教育部主管,1994 年开始建设,并于 1995 年 10 月开通,包括全国主干网、地区网、校园网的三级层次结构。(网络控制中心设在清华大学)
4. 中国金桥信息网 ------------CHINAGBN
它是发展以地面光纤通信宽带传输系统为主的全新型电信业务网络。
5. 中国联通互联网 -----UNINET 1998 年开始运营
6. 中国网通宽带高速互联网 ----CNCNET 2000.10.28 年开始运营
7. 中国移动互联网 --------CMNET 2000.1 开始运营
8. 中国国际经济贸易互联网 ----CIETNET
我国唯一的经济类国际互联网络,2000 年初开始组建
9. 中国长城互联网 -------CGWNET 正在建设中
公益性网络
10. 中国卫星集团互联网 ----CSNET 正在建设中
# 1.5 计算机网络的类别
1.5.1 计算机网络的定义
1、最简单的定义:计算机网络是一些互相连接的、自治的计算机的集合。
2、因特网 (Internet) 是 “网络的网络”
3、较好的定义:所谓的计算机网络就是把分布在不同区域的计算机与专门的设备用通信线路互相连成一个规模大、功能强的网络系统,从而使众多计算机可以方便地互相传递信息、共享硬件、软件、数据信息资源等的系统。
1.5.2 几种不同类别的网络
计算机网络有多种类别。典型包括:
- 按照网络的作用范围进行分类
- 按照网络的使用者进行分类
- 用来把用户接入到互联网的网络
1. 按照网络的作用范围进行分类
广域网 WAN (Wide Area Network):作用范围通常为几十到几千公里。
城域网 MAN (Metropolitan Area Network):作用距离约为 5 ~ 50 公里。
局域网 LAN (Local Area Network) :局限在较小的范围(如 1 公里左右)。
个人区域网 PAN (Personal Area Network) :范围很小,大约在 10 米左右。
2. 按照网络的使用者进行分类
公用网 (public network)
按规定交纳费用的人都可以使用的网络。因此也可称为公众网。
专用网 (private network)
为特殊业务工作的需要而建造的网络。
公用网和专用网都可以提供多种服务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。
3. 用来把用户接入到互联网的网络接入网 AN (Access Network),它又称为本地接入网或居民接入网。
接入网是一类比较特殊的计算机网络,用于将用户接入互联网。
接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。
接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络。
# 1.6 计算机网络的性能
1.6.1 计算机网络的性能指标
计算机网络的性能一般是指它的几个重要的性能指标,主要包括:
速率、带宽、吞吐量、时延、时延带宽积、往返时间 RTT、利用率
速率
比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。
比特(bit)来源于 binary digit,意思是一个 “二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。
速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率 (data rate) 或比特率 (bit rate)。
速率的单位是 bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。例如 4 * 10^10 bit/s 的数据率就记为 40 Gbit/s。
速率往往是指额定速率或标称速率,非实际运行速率。带宽
两种不同意义:
“带宽”(bandwidth) 本来是指信号具有的频带宽度,其单位是赫(或千赫、兆赫、吉赫等)。
在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的 “最高数据率”。单位是 bit/s ,即 “比特每秒”。
在时间轴上信号的宽度随带宽的增大而变窄。吞吐量
吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受网络的带宽或网络的额定速率的限制。时延
时延 (delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
有时也称为延迟或迟延。
数据在网络中经历的总时延就是发送时延、传播时延、处理时延和排队时延之和。
网络中的时延由以下几个不同的部分组成:
(1) 发送时延
也称为传输时延。
发送数据时,数据帧从结点进入到传输媒体所需要的时间。
也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
发送时延 = 数据帧长度(bit)/ 发送速率(bit/s)(2) 传播时延
电磁波在信道中需要传播一定的距离而花费的时间。
发送时延与传播时延有本质上的不同。
信号发送速率和信号在信道上的传播速率是完全不同的概念。
传播时延 = 信道长度(米)/ 信号在信道上的传播速率(米 / 秒)(3) 处理时延
主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。(4) 排队时延
分组在路由器输入输出队列中排队等待处理所经历的时延。
排队时延的长短往往取决于网络中当时的通信量。时延带宽积
链路的时延带宽积又称为以比特为单位的链路长度。
时延带宽积 = 传播时延 * 带宽
只有在代表链路的管道都充满比特时,
链路才得到了充分利用。往返时间 RTT
互联网上的信息不仅仅单方向传输,而是双向交互的。因此,有时很需要知道双向交互一次所需的时间。
往返时间表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标。利用率
分为信道利用率和网络利用率。
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
网络利用率则是全网络的信道利用率的加权平均值。
信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
1.6.2 计算机网络的非性能特征
一些非性能特征也很重要。它们与前面介绍的性能指标有很大的关系。主要包括:
费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护
# 1.7 计算机网络的体系结构
1.7.1 计算机网络体系结构的形成
相互通信的两个计算机系统必须高度协调工作才行,而这种 “协调” 是相当复杂的。
“分层” 可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合。
体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
实现 (implementation) 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
世界上第一个网络体系结构是 IBM 公司与 1974 年提出的 “SNA”。
计算机网络的根本目的是为了实现数据通信和软件、硬件资源共享,要想让两台计算机进行通信,必须采用相同的信息交换规则,这就是网络协议。
相互通信的两个计算机系统必须高度协调工作才行,而这种 “协调” 是相当复杂的。
要真正理解网络体系结构,我们先必须知道下面几个概念:协议、实体、系统、层、接口等
网络层次体系结构主要包括五个要素
1. 网络协议
网络协议 (network protocol),简称为协议,是为网络中的数据交换而建立的规则、标准或约定的集合。
语法:数据与控制信息的结构或格式。
语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
同步:事件实现顺序的详细说明。
2. 实体
软件元素(如进程等)或硬件元素(智能 I/O 芯片等)的抽象。
3. 系统
包含一个或多个实体,具有信息处理和通信功能的整体。通常一个系统总是硬件、软件两部分的有机结合。
4. 层:层是处理复杂问题的一种结构化技术。上层只知道下层为其提供哪些服务,并不关心这些服务是如何实现的
5. 接口:同一结点的不同功能层之间的通信规则。(服务访问点 SAP)
注意:
协议是 “水平的”,即协议是控制对等实体之间通信的规则。
服务是 “垂直的”,即服务是由下层向上层通过层间接口提供。
同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
1974 年,美国的 IBM 公司宣布了系统网络体系结构 SNA (System Network Architecture)。这个著名的网络标准就是按照分层的方法制定的。
不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。
由于网络体系结构的不同,不同公司的设备很难互相连通。
1、开放系统互连参考模型 OSI/RM
为了使不同体系结构的计算机网络都能互连,国际标准化组织 ISO 于 1977 年成立了专门机构研究该问题。
他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),简称为 OSI。
只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。
开放系统互连基本参考模型 OSI/RM 七层:
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
2、TCP /IP 参考模型 TCP/IP 是四层的体系结构:
应用层、运输层、网际层、网络接口层
法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。
非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。
1.7.2 协议与划分层次
计算机网络中的数据交换必须遵守事先约定好的规则。
这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
语法:数据与控制信息的结构或格式。
语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
同步:事件实现顺序的详细说明。
分层的好处:
各层之间是独立的、灵活性好、结构上可分割开、易于实现和维护、能促进标准化工作。
缺点:降低效率、有些功能会在不同的层次中重复出现,因而产生了额外开销。
1.7.3 具有五层协议的体系结构
OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。
但最下面的网络接口层并没有具体内容。
因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构。
主机 1 向主机 2 发送数据
1. 应用进程数据先传送到应用层,加上应用层首部,成为应用层 PDU
2. 应用层 PDU 再传送到运输层,加上运输层首部,成为运输层报文
3. 运输层报文再传送到网络层,加上网络层首部,成为 IP 数据报(或分组)
4.IP 数据报再传送到数据链路层,加上链路层首部和尾部,成为数据链路层帧
5. 数据链路层帧再传送到物理层,最下面的物理层把比特流传送到物理媒体
电信号(或光信号)在物理媒体中传播,从发送端物理层传送到接收端物理层
1. 物理层接收到比特流,上交给数据链路层
2. 数据链路层剥去帧首部和帧尾部,取出数据部分,上交给网络层
3. 网络层剥去首部,取出数据部分,上交给运输层
4. 运输层剥去首部,取出数据部分,上交给应用层
5. 应用层剥去首部,取出应用程序数据,上交给应用进程
PDU (Protocol Data Unit):协议数据单元。OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU。
OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。这个名词现已被许多非 OSI 标准采用。
任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的 “对等层”(peer layers) 之间的通信。
各层协议实际上就是在各个对等层之间传递数据时的各项规定。
1.7.4 实体、协议、服务和服务访问点
实体 (entity) 表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
协议和服务在概念上是不一样的
协议的实现保证了能够向上一层提供服务。
本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
协议是 “水平的”,即协议是控制对等实体之间通信的规则。
服务是 “垂直的”,即服务是由下层向上层通过层间接口提供的。
上层使用服务原语获得下层所提供的服务。
同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
服务访问点 SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。
1.7.5 TCP/IP 的体系结构
TCP/IP 是四层体系结构
TCP/IP 体系结构的另一种表示方法
实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。