本文目录
-
第一章 概述
- 1.1 互联网
-
- 1.2 计算机网络
-
- 1.2.1 计算机网络的类别
- 1.2.2 计算机网络的性能指标
- 1.3 计算机网络体系结构
-
- 1.3.1 协议与分层
- 1.3.2 计算机网络的体系结构
- 1.3.3 具有五层协议的体系结构
- 1.3.4 各层之间数据的传递
- 1.3.5 补充说明
- 1.4 重要概念
第一章 概述
1.1 互联网
1.1.1 互联网概述
计算机网络(网络):由若干 节点(node) 和连接这些节点的 链路(link) 组成
互连网(internet)是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。通信协议任选(网络的网络)
网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机(host),也被称为端,是为用户进行信息处理和与其他主机通过网络交换信息的。
计算机之间的通信,例如主机A和主机B通信,实际上指“运行在主机A上的某个程序和运行主机B的另一个程序进行通信”。由于“进程”就是运行着的程序,所以也称”主机A的某个进程和主机B的另一个进程进行通信“
互联网(Internet)(因特网)是一个专有名词,指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则,且前身是美国的ARPANET
- 两个基本特性,连通性(好像用户终端之间直接连通一样)和共享(资源好像在身边,使用方便)。
现在互联网的特点是形成了全球范围的多层次ISP结构的互联网。为提高交换速度,加入了IXP。
- ISP(Internet Service Provider)互联网服务提供商,如中国移动等。
- IXP(Internet eXchange Point)互联网交换点的主要作用是允许两个网络直接相连并交换分组,而不需再通过第三个网络来转发分组。
RFC(Request For Comments)互联网的建议标准文档,公开在互联网上,接受公众建议。但不是所有RFC标准都能成为互联网标准。
WWW:World Wide Web,万维网:是信息资源的网络,方便了非网络专业人员对网络的使用。资源、资源标识和传输协议三部分支撑www的运作。
拓扑:信道的分布方式。常见的拓扑结构:总线型、星型、 环型、树型和网状(全联通)
1.1.2 互联网的组成
互联网从工作方式上可以分成两大块
(1) 边缘部分 由所有连接在互联网的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。边缘部分的端系统通信方式可分为两类
- 客户----服务器方式
客户(client)和服务器(server),客户是服务的请求方,服务器是服务的提供方,都会使用核心部分所提供的服务
- 对等连接(peer-to-peer,P2P)方式
两台主机在通信时,并不区分哪一个是服务请求方和服务提供方。(只要双方都使用对等程序),实际上还是客户----服务器方式,只是同一主机既是客户同时又是服务器。
(2) 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
- 路由器是一种专用计算机,是实现分组交换的关键构件,其任务是转发收到的分组。一个长报文可以分为多个等长分组,再加上分组头。
- 4G(第四代蜂窝移动通信网)以前,使用电路交换,会建立连接(专用的物理通路)–> 通话(一直占用资源) --> 释放连接(归还通信资源)。因为大部分时间时空闲的,所以线路的传输效率很低。
- 分组交换采用存储转发技术,路由器的存储器(内存)存储到达的一个个分组,通过查路由表确定转发出去的路径。
-高效,在分组传输的过程中动态分配传输带宽,对通信链路逐段占用
-灵活,为每一个分组独立选择最适合的转发路由
-迅速,以分组的传送单位,不先连接就能向其他主机发送分组
-可靠,有保证可靠性的网络协议;分布式的多路由的分组交换网,使网络有很好的生存性。
- 分组交换的缺点是造成时延(各路由存储转发时排队),分组头带来额外开销。
1.2 计算机网络
1.2.1 计算机网络的类别
(1) 按照网络的作用范围进行分类
- 广域网WAN(Wide Area Network),作用范围为几十到几千公里,也叫远程网。是网络的核心部分,任务是长距离运送主机主机所发的数据。内部连接各节点的交换机使用高速链路,
- 城域网MAN(Metropolitan Area Network) 一般为一个城市,距离为5~50km,可以是公共设施,将多个局域网进行互连,目前很多城域网采用的是以太网技术。
- 局域网LAN(Local Area Network)局域网一般用微型计算机或工作站通过高速通信线路相连,地理上局限在较小范围。
- 个人区域网PAN(Personal Area Network)指个人工作的地方把属于个人使用的电子设备通过无线技术连接起来的网络
- 若中央处理器之间的距离非常近,则一般就称之为多处理系统,而不是计算机网络
(2) 按照网络的使用者分类
- 公用网(public network) 所有愿意按电信公司的规定交纳费用的人都可以使用的这种网络
- 专用网(private network) 这种网络不向本单位以外的人提供服务。如,军队,铁路,银行,电力等系统有他们的专用网。
(3)用来把用户接入到互联网的网络
- 这种网络就是接入网AN(Access Network),本地接入网和居民接入网。是本地ISP所拥有的网络,可以把某个端系统连接到本地ISP的第一个路由器,即入网(让用户与互联网连接)。
1.2.2 计算机网络的性能指标
(1) 速率(比特率):数据的传送速率。单位是比特每秒、bit/s或bps(bit per second),一般提到网络速率为额定速率
(2) 带宽
- 本来指信号的频带宽度。信号的带宽指该信号所包含的各种不同频率成分所占据的频率范围。单位是Hz。因为过去通信的主干线路传输的是模拟信号(即连续变化的信号)。因此,某信道允许通过的信号频带范围就是该信道的带宽(或通频带)。
- 在计网中,用来表达网络中某通道传送数据的能力。故网络带宽表示在某单位时间内网络中的某信道所能通过的“最高数据率”。单位和数据率的单位bit/s一致。
- 前者是频域称谓,后者是时域称谓,本质是相同的。即一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高
(3) 吞吐量:表示在单位时间内通过某个网络(接口、信道)的实际数据量。即指实际的、可测到的带宽。
(4) 时延(延迟、迟延):指数据(一个报文或分组、比特)从网络的一端传送到另一端所需要的时间。
- 发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间。
-发送时延=数据帧长度(bit) / 发送速率(bit/s)
- 传播时延(propagation delay) 是电磁波在信道中传播一定距离需要花费的时间。
-传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)
- 处理时延 主机或者路由器在收到分组时要花费一定时间进行处理
- 排队时延 进入路由器后要先在输入队列中排队等待处理
- 对于高速网络链路,提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。即提高了某个点或某个接口上的发送速率。
(5) 时延带宽积
- 时延带宽积 = 传播时延 x 带宽
- 表示当第一个比特到达终点时,发送端发送了多少比特。
(6) 往返时间 RTT:可以表示A向B发送数据+B向A回应的时间。
(7) 利用率
- 信道利用率指某信道有百分之几的时间是被利用的
- 网络利用率是全网络的信道利用率的加权平均值
- 此二者利用率一般不超过50%,超过就会产生非常大的时延
(8)一些非性能特性:费用、质量、标准性、可靠性、可拓展性和可升级性、易于管理和维护
1.3 计算机网络体系结构
1.3.1 协议与分层
协议(网络协议):为进行网络中数据交换而建立的规则、标准或约定(把所有的不利条件都事先估计到)
- 语法:即数据与控制信息的结构或格式
- 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:即事件实现顺序的详细说明
分层的好处:
- 各层之间是独立的,不关心其他层的具体实现,仅仅需要知道通过接口提供和使用服务。
- 灵活性好,当接口关系保持不变,层级之间的修改等,变化不相互影响,
- 结构上可分割开,各层之间可以采用最合适的技术来实现
- 易于实现和维护,复杂而庞大的系统分解为若干个相对独立的子系统
- 能促进标准化工作,每层的功能及所提供的服务都已有了精确的说明。
通常各层之间要完成的功能(一种或多种)
- 差错控制 使相应层次对等方的通信更加可靠
- 流量控制 发送端的发送速率应与接收端接收速率相适应
- 分段和重装 发送端将需要发送的数据块划分为更小的单位,接收端将其还原
- 复用和分用 发送端高层会话复用一条低层的连接,在接收端再进行分用
- 连接建立和释放 交换数据前先建立一条逻辑连接,数据传输结束后释放连接。
1.3.2 计算机网络的体系结构
计算机网络的体系结构就是计算机网络各层及其协议的集合。即计算机网络的体系结构就是这个计算机网络及其构件所完成的功能的精确定义。体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件。
计算机网络体系结构:
-
OSI七层模型
-
TCP/IP(DoD)四层模型
实际上,TCP/IP最下面的链路层没有属于TCP/IP体系的具体协议。该层使用的各种局域网标准,而非IEEE制定的标准。
OSI(Open Systems Interconnection Reference Model)开放系统互连基本参考模型,属于法律上的国际标准,但因为其本身的制定者缺乏实际经验,缺少商业驱动力,它的协议实现过于复杂,制定周期过长,层次划分不够合理。所以,最广泛应用的是TCP/IP体系结构,被称为事实上的国际标准。
1.3.3 具有五层协议的体系结构
为了更好理解计算机网络的原理,采用了综合OSI和TCP/IP的优点的五层协议的体系结构来分析。自上而下,各层分别为:
(1) 应用层(application layer)
- 应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。
- 互联网中的应用层协议很多,如域名系统DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议,等等。
- 应用层交互的数据单元被称为报文(message)。
(2) 运输层 / 传输层(transport layer)
- 运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。
- 由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程
- 运输层主要使用以下两种协议
-传输控制协议TCP (Transmission Control Protocol)-----提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment),面向字节流(将报文段分为无意义的比特流来传输)。
-用户数据报协议UDP (User Dalagram Protoco)----提供无连接的尽最大努力 (best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报,即面向报文(应用层给什么转发什么)
(3) 网络层(network layer)
- 网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作IP数据报,或简称数据报。与UDP用户数据报不同。
- 无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。
- 网络层的具体任务有两个。第一个任务是通过一定的算法, 在互联网中的每一个路由器上生成一个用来转发分组的转发表。第二个任务较为简单,就是每一个路由 器在接收到一个分组时,依据转发表中指明的路径把分组转发到下一个路由器。这样就可以使源主机运输层所传下来的分组,能够通过合适的路由最终到达目的主机。
- 互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP (Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫作网际层或IP层。
(4) 数据链路层(data link layer)
- 链路层的任务是为网络层提供服务,保证数据传输的有效、可靠。两台主机之间的数据传输,总是在一段一段的链路上传送的。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报(分组)组装成帧( framing),在两个相邻节点间的链路上传送帧(frame)。 每一帧包括数据和必要的控制信息( 如同步信息、地址信息、差错控制等)。
- 在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
- 控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂
(5) 物理层(physical layer)
- 物理层的任务是提供透明的比特流传输。传输数据的单位是比特。发送方发送1 (或0)时,接收方应当收到1 (或0)而不是0 (或1)。 物理层要考虑用多大的电压代表“1”或“O”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。物理层不解释比特代表的意思。
- 请注意,传递信息所利用的些物理传输媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。因此也有人把物理层下面的物理传输媒体当作第0层。
1.3.4 各层之间数据的传递
这里为简单起见,假定两台主机通过一台路由器连接起来。来观察应用进程的数据在各层之间的传递过程中所经历的变化。
-
假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1 先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H5就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H4, 再交给第3层(网络层),成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2) 和尾部(T2); 而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
-
当这一串的比特流离开主机1经网络的物理传输媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层网络层时,的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第I层,然后在物理传输媒体上把每一个比特发送出去。
-
当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP发送的数据交给目的站的应用进程AP2。
虽然应用进程数据要经过如图所示的复杂过程才能送到终点的应用进程,但这些复杂过程对用户屏蔽掉了,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2。同理,任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同图平虚线所示的那样,把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。
-
对等层次之间传送的数据单元被称为该层的协议数据单元PDU(Protocol Data Unit)以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
-
点到点:信源机和信宿机之间 的通信由一段一段的直接相连 的机器间的通信组成,机器间的直接连接叫做点到点连接。
-
端到端:信源机和信宿机之间直接通信,好象拥有一条直接的线路。
-
封装/打包:将信息打包,从最高层–应用层开始逐渐下行到 最底层–物理层……
-
解封装/解包:将信息解包,从最低层—物理层开始逐渐上行 到最高层—应用层……
-
任何一次通信,总是以发方的封装开始,以收方的解封装结束。
1.3.5 补充说明
在研究开放系统中的信息交换时,往使用实体(enity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。即每层中活动的元素。
协议是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下,数据必须重传或丢弃。
协议是“水平的”,服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。只有那些能够被高一层实体 “看得见”的功能才能称之为“服务”。
在协议的控制下,两个对等实体通过接口使用下一层提供的服务进行通信。
上层使用下层所提供的服务必须通过与下层交换一些命令, 这些命令在OSI中称为服务原语。
在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP (erice Accs Poin)。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接日有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的码件技口(并行的或审行的)并不一样。OSI把层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit),它可以与PDU不一样。例如可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个
TCP/IP体系的另外表示方式(知道就行)
- 应当知道,实际上现在的互联网使用的TCP/IP体系结构有时已经演变成为下图所示的那样,即某些应用程序可以直接使用IP层,或直接使用最下面的网络接口层[PETE12]。虽然TCP/IP 协议族得到了非常广泛的应用,但对TCP/IP体系结构的批评意见也有不少。例如,这个体系结构没有清晰地阐明区分开服务、接口和协议之间的关系,而链路层并非真正的一个层次,而仅仅是强调了IP层需要这样一个与网络的接口。这个体系结构没有把重要的物理层和链路层的内容包含进来。
- 还有另一种方法用来表示TCP/IP协议族(如下图所示),它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很像沙漏计时器形状的TCP/IP协议族表明: IP 层可以支持多种运输层协议(虽然这里只画出了最主要的两种),而不同的运输层协议上面又可以有多种应用层协议(所谓的everything over IP), 同时IP协议也可以在多种类型的网络上运行(所谓的IP over everything)。正因为如此,互联网才会发展到今天的这种全球规模。可以看出IP协议在互联网中的核心作用。
- 实际上,还反映出互联网的一个十分重要的设计理念,这就是网络的核心部分越简单越好,把一切复杂的部分让网络的边缘部分去实现。
1.4 重要概念
- 计算机网络(可简称为网络)把许多计算机连接在一起,而互连网则把许多网络连接在一起,是网络的网络。
- 以小写字母i开始的internet(互连网)是通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的。
- 以大写字母I开始的Internet(互联网)是专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信规则,且其前身是美国的ARPANET。Internet的推荐译名是“因特网”,现很少被使用了
- 互联网现在采用存储转发的分组交换技术,以及三层因特网服务提供者(ISP)结构。
- 互联网按工作方式可划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换。
- 计算机通信是计算机中的进程(即运行着的程序)之间的通信。计算机网络采用的通信方式是客户----服务器方式和对等连接方式(P2P方式)。
- 客户和服务器都是指通信中所涉及的两个应用进程。客户是服务请求方,服务器是服务提供方。
- 按作用范围的不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN和个人区域网PAN。
- 计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道(或网络)利用率。
- 网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构。
- 五层协议的体系结构由应用层、运输层、网络层(或网际层)、数据链路层和物理层组成。运输层最重要的协议是传输控制协议TCP和用户数据报协议UDP,而网络层最重要的协议是IP协议。
本文参考 计算机网络(第8版) / 谢希仁编著. ----北京:电子工业出版社,2021.6
本文参考 学堂在线 / 计算机网络(自主模式) 华南理工大学 | 袁华
本文为受限于自身学识,恐有错漏或其余不足之处,欢迎指出交流。