第一章:概述

1.1互联网概述

计算机网络定义:

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

重要的两点:

1多种硬件 (包括:计算机,智能手机,智能传感器等。)

1多种应用 (包括:数据、语音、视频,以及今后可能出现的各种应用。)

计算机网络的特点:

连通性 (Connectivity)

1使上网用户之间都可以交换信息(数据,以及各种音频视频) ,好像这些用户的计算机都可以彼此直接连通一样。

1注意,互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置。

共享 (Sharing)

当我们使用一朵云来表示网络时,可能会有两种不同的情况。用云表示的网络已经包含了网络中的计算机。但有时为了讨论问题的方便(例如,要讨论几个计算机之间如何进行通信),也可以把有关的计算机画在云的外面。习惯上,与网络相连的计算机常称为主机( host )。在互连网中不可缺少的路由器,是一种特殊的计算机(有中央处理器、存储器、操作系统等),但不能称为主机。

我们初步建立了下面的基本概念:网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(1)

互联网,特指 Internet,它起源于美国,是由数量极大的各种计算机网络互连起来而形成的一个互连网络。它采用 TCP/IP 协议族作为通信规则,是一个覆盖全球、实现全球范围内连通性和资源共享的计算机网络。

internet 和 Internet 的区别

1以小写字母 “i” 开始的 internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。

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

计算机网络技术的重要知识点(计算机网络知识全面梳理)(2)

任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网 (internet),而不是互联网 (Internet)。

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

第一阶段:从单个网络 ARPANET 向互联网发展的过程。

11983 年,TCP/IP 协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。

1人们把 1983 年作为互联网的诞生时间。

11990年,ARPANET 正式宣布关闭。

第二阶段:建成了三级结构的互联网。

1它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(3)

第三阶段:逐渐形成了多层次 ISP 结构的互联网。

1出现了互联网服务提供者 ISP (Internet Service Provider)。

1任何机构和个人只要向某个 ISP 交纳规定的费用,就可从该 ISP 获取所需 IP 地址的使用权,并可通过该 ISP 接入到互联网。

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

随着互联网上数据流量的急剧增长,人们开始研究如何更快地转发分组,以及如何更加有效和更加经济地利用网络资源。于是,互联网交换点 IXP ( Internet eXchange Point )就应运而生了。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(4)

互联网交换点 IXP 的主要作用就是:允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。优点是:使互联网上的数据流量分布更加合理,同时也减少了分组转发的迟延时间,降低了分组转发的费用。

现在许多 IXP 在进行对等交换分组时,都互相不收费。但本地 ISP 或地区 ISP 通过 IXP 向高层的 IXP 转发分组时,则需要交纳一定的费用。 IXP 的结构非常复杂。典型的 IXP 由一个或多个网络交换机组成,许多 ISP 再连接到这些网络交换机的相关端口上。 IXP 常采用工作在数据链路层的网络交换机,这些网络交换机都用局域网互连起来。

互联网的标准化工作

计算机网络技术的重要知识点(计算机网络知识全面梳理)(5)

计算机网络技术的重要知识点(计算机网络知识全面梳理)(6)

计算机网络技术的重要知识点(计算机网络知识全面梳理)(7)

1.2互联网的组成

从互联网的工作方式上看,可以划分为两大块:

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

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

计算机网络技术的重要知识点(计算机网络知识全面梳理)(8)

互联网边缘部分:连接在互联网上的所有主机,又称为端系统。

1小的端系统:个人电脑、智能手机、网络摄像头等。

1大的端系统:大型计算机(通常称为服务器)。

1拥有者:个人、单位或某个ISP。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(9)

端系统之间通信的含义

“主机 A 和主机 B 进行通信”实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。即“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。简称为“计算机之间通信”。

端系统之间的通信方式通常可划分为两大类:

1客户-服务器方式(C/S方式)即 Client/Server 方式,简称为 C/S 方式。

1对等方式(P2P方式)即 peer-to-peer 方式 ,简称为 P2P 方式。

1客户-服务器方式

1客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。

1客户-服务器方式所描述的是进程之间服务和被服务的关系。

1客户是服务的请求方,服务器是服务的提供方

服务请求方和服务提供方都要使用网络核心部分所提供的服务。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(10)

客户软件的特点

1被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址

1不需要特殊的硬件和很复杂的操作系统。

服务器软件的特点

1一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。

1系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。

1一般需要强大的硬件和高级的操作系统支持。

客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。

1对等连接方式

1对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。

1只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信

1双方都可以下载对方已经存储在硬盘中的共享文档。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(11)

对等连接方式的特点

1对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。

1例如主机 C 请求 D 的服务时,C 是客户,D 是服务器。但如果 C 又同时向 F提供服务,那么 C 又同时起着服务器的作用。

对等连接工作方式可支持大量对等用户(如上百万个)同时工作。

互联网的核心部分

1网络核心部分是互联网中最复杂的部分。

1网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。

1在网络核心部分起特殊作用的是路由器 (router)。

1路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(12)

典型交换技术包括:

1电路交换

1分组交换

1报文交换等。

互联网的核心部分采用了分组交换技术。

电路交换的主要特点

N 部电话机两两直接相连,需 N(N –1)/2 对电线。这种直接连接方法所需要的电线对的数量与电话机数量的平方()成正比。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(13)

使用交换机

当电话机的数量增多时,就要使用交换机来完成全网的交换任务。每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。 所采用的交换方式就是电路交换 (circuit switching)。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(14)

“交换”的含义“交换”(switching)的含义就是转接 —— 把一条电话线转接到另一条电话线,使它们连通起来。从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。

电路交换特点

1电路交换必定是面向连接的。

1电路交换分为三个阶段:

1建立连接:建立一条专用的物理通路,以保证双方通话时所需的通信资源在通信时不会被其他用户占用;

1通信:主叫和被叫双方就能互相通电话;

1释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)。

电路交换举例

1A 和 B 通话经过四个交换机。

1通话在 A 到 B 的连接上进行。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(15)

电路交换特点

1计算机数据具有突发性。

1这导致在传送计算机数据时,通信线路的利用率很低(用来传送数据的时间往往不到 10% 甚至不到 1% )。

分组交换的主要特点

1分组交换则采用存储转发技术。

1在发送端,先把较长的报文划分成较短的、固定长度的数据段。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(16)

1每一个数据段前面添加上首部构成分组 (packet)。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(17)

1假定分组在传输过程中没有出现差错,在转发时也没有被丢弃:

1接收端收到分组后剥去首部还原成报文;

1最后,在接收端把收到的数据恢复成为原来的报文。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(18)

分组交换的传输单元

1每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。

1分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。

1每个分组在互联网中独立地选择传输路径。

1用这样的存储转发方式,最后分组就能到达最终目的地。

位于网络边缘部分的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则用来转发分组,即进行分组交换。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把组交付最终的目的主机。

各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(19)

当我们讨论互联网的核心部分中的路由器转发分组的过程时,往往把单个的网络简化成一条链路,而路由器成为核心部分的节点。下图(b)这种简化图看起来可以更加突出重点,因为在转发分组时最重要的就是要知道路由器之间是怎样连接起来的。现在假定图图( b )中的主机 H1向主机 H5发送数据。主机 H1 先将分组逐个地发往与它直接相连的路由器 A 。此时,除链路 H1 - A 外,其他通信链路并不被目前通信的双方所占用。需要注意的是,即使是链路 H1 - A ,也只是当分组正在此链路上传送时才被占用。在各分组传送之间的空闲时间,链路 H1 - A 仍可为其他主机发送的分组使用。

路由器 A 把主机 H 发来的分组放入缓存。假定从路由器 A 的转发表中查出应把该分组转发到链路 A - C 。于是分组就传送到路由器 C 。当分组正在链路 A - C 传送时,该分组并不占用网络其他部分的资源。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(20)

路由器

1在路由器中的输入和输出端口之间没有直接连线。

1路由器处理分组的过程是:

1把收到的分组先放入缓存(暂时存储);

1查找转发表,找出到某个目的地址应从哪个端口转发;

1把分组送到适当的端口转发出去。

主机和路由器的作用不同

1主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。

1路由器对分组进行存储转发,最后把分组交付目的主机。

分组交换的优点

优点

所采用的手段

高效

在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用。

灵活

为每一个分组独立地选择最合适的转发路由。

迅速

以分组作为传送单位,可以不先建立连接就能向其他主机发送分组。

可靠

保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性。

分组交换带来的问题

1分组在各结点存储转发时需要排队,这就会造成一定的时延。

1分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。

存储转发原理并非完全新的概念

1在 20 世纪 40 年代,电报通信也采用了基于存储转发原理的报文交换 (message switching)。

1报文交换的时延较长,从几分钟到几小时不等。现在报文交换已经很少有人使用了。

电路交换、报文交换与分组交换

计算机网络技术的重要知识点(计算机网络知识全面梳理)(21)

1电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。

1报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。

1分组交换:单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。

三种交换的比较

1若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。

1报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。

1由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

1.3计算机网络在我国的发展

11980 年,铁道部开始进行计算机联网实验。

11989 年 11 月,我国第一个公用分组交换网 CNPAC 建成运行。

11994 年 4 月 20 日,我国用 64 kbit/s 专线正式连入互联网,我国被国际上正式承认为接入互联网的国家。

11994 年 5 月,中国科学院高能物理研究所设立了我国的第一个万维网服务器。

11994 年 9 月,中国公用计算机互联网 CHINANET 正式启动。

到目前为止,我国陆续建造了基于互联网技术的并能够和互联网互连的多个全国范围的公用计算机网络,其中规模最大的就是下面这五个:

1中国电信互联网 CHINANET(也就是原来的中国公用计算机互联网)

1中国联通互联网 UNINET

1中国移动互联网 CMNET

1中国教育和科研计算机网 CERNET

1中国科学技术网 CSTNET

1中国教育和科研计算机网 CERNET (China Education and Research NETwork) 始建于 1994 年,是我国第一个 IPv4 互联网主干网。

12004 年 2 月,我国的第一个下一代互联网 CNGI 的主干网 CERNET2 试验网正式开通,并提供服务。

1中国互联网络信息中心 CNNIC (ChiNa Network Information Center) 每年两次公布我国互联网的发展情况。

1.4计算机网络的类别

计算机网络的定义

计算机网络的精确定义并未统一。

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

根据这个定义:

1计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等。

1计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

请注意,上述的“可编程的硬件”表明这种硬件一定包含有中央处理机 (CPU)。

几种不同类别的网络

计算机网络有多种类别。典型包括:

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

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

1用来把用户接入到互联网的网络

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

1广域网 WAN (Wide Area Network):作用范围通常为几十到几千公里。

1城域网 MAN (Metropolitan Area Network):作用距离约为 5~50 公里。

1局域网 LAN (Local Area Network) :局限在较小的范围(如 1 公里左右)。

1个人区域网 PAN (Personal Area Network) :范围很小,大约在 10 米左右。

若中央处理机之间的距离非常近(如仅 1 米的数量级甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络

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

1公用网 (public network)按规定交纳费用的人都可以使用的网络。因此也可称为公众网。

1专用网 (private network)为特殊业务工作的需要而建造的网络。

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

1用来把用户接入到互联网的网络

1接入网 AN (Access Network),它又称为本地接入网或居民接入网。

1接入网是一类比较特殊的计算机网络,用于将用户接入互联网。

1接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。

1接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络

1从覆盖的范围看,很多接入网还是属于局域网。

1从作用上看,接入网只是起到让用户能够与互联网连接的“桥梁”作用。

1.5计算机网络的性能

计算机网络的性能指标

计算机网络的性能一般是指它的几个重要的性能指标,主要包括:

1速率

1带宽

1吞吐率

1时延

1时延带宽积

1往返时间 RTT

1利用率

1.速率

1比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。

1比特(bit)来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。

1速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率 (data rate) 或比特率 (bit rate)。

1速率往往是指额定速率或标称速率,非实际运行速率。

1速率的单位是 bit/s,或 kbit/s、Mbit/s、 Gbit/s等。例如4 * 1010 bit/s 的数据率就记为 40 Gbit/s

1注意与存储容量的区别:

数据量的常用单位有字节(byte,记为大写B)、干字节(KB)、兆字节(MB)、吉字节(GB)以及太字节(TB)。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(22)

计算机网络技术的重要知识点(计算机网络知识全面梳理)(23)

2. 带宽

两种不同意义:

1“带宽”(bandwidth) 本来是指信号具有的频带宽度(允许通过的最高频率成分与最低频率成分之差),其单位是赫(或千赫、兆赫、吉赫等)。

1在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”。单位是 bit/s,即 “比特每秒”。

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

在时间轴上信号的宽度随带宽的增大而变窄

计算机网络技术的重要知识点(计算机网络知识全面梳理)(24)

3. 吞吐量

1吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。

1吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。

1吞吐量受网络的带宽或网络的额定速率的限制。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(25)

4. 时延

1时延 (delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟或迟延。

1网络中的时延由以下几个不同的部分组成:

1发送时延

1传播时延

1处理时延

1排队时延

1发送时延

1也称为传输时延。

1发送数据时,数据帧从结点进入到传输媒体所需要的时间。

1也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(26)

1传播时延

1电磁波在信道中需要传播一定的距离而花费的时间。

1发送时延与传播时延有本质上的不同。

1信号发送速率和信号在信道上的传播速率是完全不同的概念。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(27)

1处理时延

1主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。

1排队时延

1分组在路由器输入输出队列中排队等待处理所经历的时延。

1排队时延的长短往往取决于网络中当时的通信量。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(28)

数据在网络中经历的总时延就是发送时延、传播时延、处理时延和排队时延之和。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(29)

容易产生的错误概念

1对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。

1提高链路带宽减小了数据的发送时延。

以下说法是错误的:“在高速链路(或高带宽链路)上,比特会传送得更快些”。

5.时延带宽积

链路的时延带宽积又称为以比特为单位的链路长度。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(30)

计算机网络技术的重要知识点(计算机网络知识全面梳理)(31)

6.往返时间

1互联网上的信息不仅仅单方向传输,而是双向交互的。因此,有时很需要知道双向交互一次所需的时间。

1往返时间 RTT (round-trip time) 表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。

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

1当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标

7.利用率

1分为信道利用率网络利用率

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

1完全空闲的信道的利用率是零。

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

1信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。

时延与网络利用率的关系

1据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。

1当网络的通信量较少时,产生的时延并不大,但在网络通信量不断增大时,分组在交换节点 (路由器或交换机)中的排队时延会随之增大,因此网络引起的时延就会增大。

1若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D0 之间的关系:

计算机网络技术的重要知识点(计算机网络知识全面梳理)(32)

其中:U 是网络的利用率,数值在 0 到 1 之间。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(33)

计算机网络的非性能特征

一些非性能特征也很重要。它们与前面介绍的性能指标有很大的关系。主要包括:

1费用

1质量

1标准化

1可靠性

1可扩展性和可升级性

1易于管理和维护

1.6计算机网络的体系结构

计算机网络体系结构的形成

1计算机网络是个非常复杂的系统。

1相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。

1“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

1由于网络体系结构的不同,不同公司的设备很难互相连通。

开放系统互连参考模型 OSI/RM

1为了使不同体系结构的计算机网络都能互连,国际标准化组织 ISO 于 1977 年成立了专门机构研究该问题。他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),简称为 OSI。只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信

1OSI 只获得了一些理论研究的成果,在市场化方面却失败了。原因包括:

1OSI 的专家们在完成 OSI 标准时没有商业驱动力;

1OSI 的协议实现起来过分复杂,且运行效率很低;

1OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;

1OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。

两种国际标准

1法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。

1非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。

协议与划分层次

1计算机网络中的数据交换必须遵守事先约定好的规则。

1这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。

1网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

网络协议的三个组成要素

1语法:数据与控制信息的结构或格式 。 解决交换信息格式问题。

1语义:需要发出何种控制信息,完成何种动作以及做出何种响应。 解决做什么的问题。

1同步:事件实现顺序的详细说明。 解决先做什么后做什么的问题。

协议的两种形式

1一种是使用便于人来阅读和理解的文字描述。

1另一种是使用让计算机能够理解的程序代码。

1这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释

分层的原则

层次适度

层次少,层次功能多,实现困难;层次多,层次功能少,开销大

功能确定

每个层次有自己的分工,并且有确定的方式完成这些工作

层次独立

每个层次的工作,不影响其他层次,层次变化也不影响其他层次

层次关联

相邻层次间存在一种工作上的联系

层次分合

层次按实际需求划分,可以合并,分解,也可以取消

层次对等

双方要有完成相同功能的对等层次

两个系统间通信 需要满足的条件

层次协议

对等层次要遵守一系列共同的规约(协议)

层次接口

相邻层次间通过接口交互信息

划分层次的概念举例

可以将要做的工作进行如下的划分:

1第一类工作与传送文件直接有关。

1确信对方已做好接收和存储文件的准备。

1双方已协调好一致的文件格式。

1两个主机将文件传送模块作为最高的一层 ,剩下的工作由下面的模块负责。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(34)

分层的好处与缺点

好处

1各层之间是独立的。

1灵活性好。

1结构上可分割开。

1易于实现和维护。

1能促进标准化工作。

缺点

1降低效率。

1有些功能会在不同的层次中重复出现,因而产生了额外开销。

层数多少要适当

层数太少,就会使每一层的协议太复杂。

层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

各层完成的主要功能

1差错控制:使相应层次对等方的通信更加可靠。

1流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。

1分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。

1复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。

1连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

计算机网络的体系结构

1计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合。

1体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。

1实现 (implementation) 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。

1体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

1OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。

1TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(35)

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

1任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。

1各层协议实际上就是在各个对等层之间传递数据时的各项规定。

各层的主要功能

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

(2) 运输层(transport layer) 运输层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。 由于一台主机可同时运行多个进程,因此运输层有复用分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务;分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

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

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

(4) 数据链路层(data link layer) 简称为链路层。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装程帧(framing),在两个相邻结点间的链路上传送(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、交错控制等)。 在接受数据时,控制信息使接受端能够知道一个帧从哪个比特开始和到哪个比特结束。这样数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个帧,以免继续传送浪费资源。如果需要改正数据在传输时出现的差错,那么就要采用可靠传输协议来纠正出现的差错,这种方法会使数据链路层的协议复杂些。

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

请注意:不要将运输层的“用户数据报协议 UDP ”和网络层的“ IP 数据报”弄混。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。

数据传递过程

计算机网络技术的重要知识点(计算机网络知识全面梳理)(36)

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

1实体 (entity) 表示任何可发送或接收信息的硬件或软件进程。

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

1在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

1要实现本层协议,还需要使用下层所提供的服务。

协议和服务在概念上是不一样的

1协议的实现保证了能够向上一层提供服务。

1本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。

1协议是“水平的”,即协议是控制对等实体之间通信的规则。

1服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。

1上层使用服务原语获得下层所提供的服务。

服务访问点

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

1服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。

1OSI把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)

1SDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(37)

相邻两层之间的关系

计算机网络技术的重要知识点(计算机网络知识全面梳理)(38)

1协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。

1看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况

TCP/IP 的体系结构

计算机网络技术的重要知识点(计算机网络知识全面梳理)(39)

TCP/IP 体系结构的另一种表示方法

实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(40)

沙漏计时器形状的TCP/IP协议族

实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。

计算机网络技术的重要知识点(计算机网络知识全面梳理)(41)

【例1-2】客户进程和服务器进程使用 TCP/IP 协议栈进行通信

计算机网络技术的重要知识点(计算机网络知识全面梳理)(42)

功能较强的计算机可同时运行多个服务器进程

计算机网络技术的重要知识点(计算机网络知识全面梳理)(43)

来源:懒蛋的日记

,