计算机网络 第一章(概述)
参考教程:1.1 计算机网络在信息时代的作用_哔哩哔哩_bilibili
一、因特网概述
1、网络、互联网和因特网
(1)网络(Network)由若干结点(Node)和连接这些点的链路(Link)组成。
(2)多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是“网络的网络(Netwrok of Networks)”。
(3)因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
2、internet和Internet的区别
(1)internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
(2)Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
3、互联网发展的三个阶段
4、互联网服务提供者ISP
(1)普通用户通过ISP接入互联网,互联网服务提供者ISP可以从互联网管理机构申请到很多IP地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP交纳规定的费用,就可以从ISP得到所需要的IP地址(互联网上的主机都必须有IP地址才能上网)。我国主要的ISP是中国电信、中国联通和中国移动这三大运营商。
(2)根据提供服务的覆盖面积大小以及所拥有的的IP地址数量不同,ISP也分成不同的层次:主干ISP、地区ISP和本地ISP。
①主干ISP是最高级别的第一层ISP,其服务面积最大(一般都能够覆盖国际性区域范围),并拥有高速链路和交换设备。不同的网络运营商都有自己的主干ISP网络,并且可以彼此互通。
②地区ISP是第二层ISP,它们和一些大公司都是第一层ISP的用户,通常具有区域性或国家性覆盖规模,与少数第一层ISP相连接。
③本地ISP是第三层ISP,它们是第二层ISP的用户,且只拥有本地范围的网络,一般的校园网或企业网以及住宅用户和无线移动用户都是第三层ISP的用户。
④相隔较远的两台主机间通信可能需要经过多个ISP。
⑤一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的就是购买一些如调制解调器或路由器之类的设备,让其他用户能够和他相连即可,这也说明了一个ISP可以很方便地在因特网拓扑上增添新的层次和分支。
5、因特网的标准化工作
(1)因特网的标准化工作对因特网的发展起到了非常重要的作用。
(2)因特网在制定其标准上的一个很大的特点是面向公众。
①因特网所有的RFC(Request For Comments)技术文档都可以从因特网上免费下载。
②任何人都可以随时用电子邮件发表对某个文档的意见或建议。
(3)因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
①因特网体系结构委员会IAB,负责管理因特网有关协议的开发。
②因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化。
③因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
(4)制定因特网的正式标准要经过以下4个阶段:
①因特网草案(在这个阶段还不是RFC文档)
②建议标准(从这个阶段开始就成为RFC文档)
③草案标准
④因特网标准
注:并非所有的RFC文档都是因特网标准
6、因特网的组成
(1)边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。边缘部分中的主机可以是台式电脑或大型服务器,也可以是笔记本电脑或平板电脑甚至是物联网智能硬件(如空气质量监测仪)
(2)核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(通过连通性和交换)。在网络核心部分起特殊作用的是路由器,它是一种专用计算机,是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
二、三种交换方式
1、电路交换
(1)从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源。
(2)当电话机的数量庞大时,让所有的电话机两两直接相连是不现实的,这时就要使用交换机来完成交换任务,每个电话机只需接一根电话线到电话交换机上即可,而电话交换机接通电话线的方式就称为电路交换。
(3)下图所示的是电路交换示意图(为了简单起见,图中没有区分市电话交换机和长途电话交换机),用户线归电话用户专用,而电话交换机之间拥有的大量话路的中继线则是许多用户共享的。电路交换有以下三个步骤:
①建立连接(分配通信资源):例如在使用电路交换打电话之前,必须先拨号请求建立连接,当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端就建立了一条连接(也就是一条专用的物理通路),这条连接保证了双方通话时所需的通信资源,这些资源在双方通信时不会被其他用户占用。
②通话(一直占用通信资源):也就是主叫和被叫双方互相通电话,在整个通话期间,第一步建立连接所分配的通信资源始终被占用。
③释放连接(归还通信资源):通话完毕并挂机后,电话交换机释放刚才使用的专用物理通路,也就是把占用的所有通信资源归还给电信网。
(4)当使用电路交换来传输计算机数据时,其线路的传输效率往往很低,这是因为计算机数据是突发式地出现在传输线路上的,如果当时物理通路被其它计算机占用,那么传输效率就会大打折扣,因此计算机传输数据通常采用分组交换。
2、分组交换
(1)在因特网中,最重要的分组交换机就是路由器,它负责将各种网络互连起来并对接收到的分组进行转发,也就是进行分组交换。
(2)假设主机H6的用户要给主机H2的用户发送一条消息:
①通常我们把表示该消息的整块数据称为“报文”,在发送报文之前,需要先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面加上一些由必要的控制信息组成的首部后就构成了一个分组(也可简称为“包”,相应地,首部可称为“包头”)。
②首部中包含了分组的目的地址,分组交换机收到一个分组后先将分组暂时存储下来,然后检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机,以此往复,最终将全部分组送到目的地址。
③目的地址的主机收到分组后会去掉它们的首部,将各数据段组合还原出原始报文。
④各分组在传输的过程中可以走不同的路径(也就是不同的路由),只要起始地点和目的地点相同即可;各分组到达目的站的顺序不一定与分组在源站的发送顺序相同。
(3)分组交换中,发送方需要构造分组和发送分组,路由器负责缓存分组和转发分组,接收方需要接收分组和还原报文。
3、报文交换
报文交换主要用于早期的电报通信网,现在较少使用,这里不详细介绍。
4、电路交换、报文交换、分组交换的对比
(1)假设A、B、C、D是分组传输路径上所要经过的4个结点交换机,纵坐标为时间。
(2)电路交换:通信之前首先需要建立连接,连接建立完成后就可以使用该连接进行数据传送,数据传送结束后需要释放连接,归还之前建立连接所占用的通信线路资源。当使用电路交换时,一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点。
①电路交换的优点:
[1]通信时延小。通信线路为通信双方用户专用,数据可以直达,当连续传输大量数据时这一优点非常明显。
[2]有序传输。通信双方只有一条专用的通信线路,数据只在这一条线路上传输,不会出现失序问题。
[3]没有冲突。不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。
[4]适用范围广。电路交换既适用于传输模拟信号,也适用于传输数字信号。
[5]实时性强。得益于通信时延小的优点,电路交换的实时性强。
[6]控制简单。电路交换的结点交换机及其控制都比较简单。
②电路交换的缺点:
[1]建立连接时间长。电路交换的平均连接建立时间对计算机通信而言过长。
[2]线路独占,使用效率低。电路交换一旦建立连接,物理通路就被通信双方独占,即使通信线路空闲,也不能供其他用户使用。
[3]灵活性差。只要连接所建立的物理通路中的任何一点出现故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信时很不利的。
[4]难以规格化。使用电路交换时数据直达,不同类型、不同规格、不同速率的中端很难相互进行通信,也难以在通信过程中进行差错控制。
(3)报文交换:可以随时发送报文,不需要事先建立连接,整个报文先传送到相邻的结点交换机,结点交换机将报文全部存储下来后进行查表转发,将报文发送到下一个相邻的结点交换机。当使用报文交换时,整个报文需要在各结点交换机上进行存储转发,由于不限制报文的大小,因此需要各结点交换机都具有较大的缓存空间。
①报文交换的优点:
[1]无需建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送报文。
[2]动态分配线路。当发送方把报文传送给结点交换机时,结点交换机先存储整个报文,然后选择一条合适的空闲线路将报文发送出去。
[3]提高线路可靠性。如果某条传输路径发生故障,可以重新选择另一条路径传输数据。
[4]提高线路利用率。通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路。
[5]提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中是难以实现的。
②报文交换的缺点:
[1]引起了转发时延。报文在结点交换机上要经历存储转发的过程。
[2]需要较大的存储缓存空间。报文交换对报文的大小没有限制。
[3]需要传输额外的信息量。报文需要携带目的地址、源地址等信息。
(4)分组交换:可以随时发送分组,不需要事先建立连接,构成原始报文的诸多分组依次在各结点交换机上存储转发,各结点交换机在发送分组的同时缓存接收到的分组。当使用分组交换时,构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
①分组交换的优点:
[1]无需建立连接。分组交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送分组。
[2]线路利用率高。通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路。
[3]简化了存储管理。相对于报文交换,由于分组的长度固定,所以缓冲区的大小也固定,管理起来相对更方便。
[4]加速传输。由于分组是逐个传输的,这就使得后一个分组的存储操作与前一个分组的转发操作可以同时进行。
[5]减少了出错概率和重发数据量。因为分组的大小比报文小,因此出错的概率必然减小,即便分组出错,也只需重传出错的分组即可,不需要重传整份报文。
②分组交换的缺点:
[1]引起了转发时延。分组在结点交换机上要经历存储转发的过程。
[2]需要传输额外的信息量。将原始报文分割成等长的数据块,每个数据块都要加上源地址、目的地址等控制信息(包头)从而构成分组,这导致了传输的信息量增加。
[3]采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时需要重新还原成原始报文,比较麻烦;采用虚电路服务时,虽然没有分组失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
三、计算机网络的定义和分类
1、计算机网络的定义
(1)计算机网络的精确定义并未统一。
(2)计算机网络的最简单定义是:一些互相连接、自治的计算机的集合。
①互连:计算机之间可以通过有线或无线的方式进行数据通信。
②自治:独立的计算机,它有自己的硬件和软件,可以单独运行使用。
③集合:至少需要两台计算机。
(3)计算机网络的较好定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号),这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
①计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
②计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
2、计算机网络的分类
(1)按交换技术分类,可分为电路交换网络、报文交换网络和分组交换网络。
(2)按网络的使用者分类,可分为公用网和专用网。
①公用网是电信公司出资建造的大型网络,“公用”的意思是所有愿意按电信公司的规定交纳费用的人都可以使用该网络,因此公用网也可称为公众网。
②专用网是指某个部门为本单位的特殊业务工作的需要而建造的网络,这种网络不向本单位以外的人提供服务。
(3)按传输介质分类,可分为有线网络(包括双绞线网络、光纤网络等)和无线网络。
(4)按网络的覆盖范围分类,可分为广域网WAN、城域网MAN、局域网LAN、个域网PAN。
①广域网的覆盖范围通常可达几十公里到几千公里,可以覆盖一个国家、地区甚至横跨几个洲,有时也称为远程网。广域网是因特网的核心部分,其任务是为核心路由器提供远距离、高速的连接,互连分布在不同区域的城域网和局域网。
②城域网的覆盖范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离为5至50公里。城域网通常作为城市骨干网,互连大量企业、机构和校园局域网。
③局域网一般用微型计算机或工作站通过高速通信线路相连,速率通常在10Mbit/s以上,地理上局限在较小的范围内,距离一般在1公里左右。局域网通常由某个单位单独拥有、使用和维护,一个学校或企业大都拥有许多个互连的局域网,这样的网络常称为校园网或企业网。
④个域网是个人区域网络的简称,它不同于上述三种网络,不是用来连接普通计算机的,而是在个人工作的地方把属于个人使用的电子设备(例如便携式计算机、鼠标、键盘、耳机等)用无线技术连接起来的网络,因此也常称为无线个人局域网WPAN,其覆盖范围大约为10平方米。
⑤若中央处理机之间的距离非常近,则一般称之为多处理机系统,而不称它为计算机网络。
(5)按拓扑结构分类,可分为总线型网络、星型网络、环型网络和网状型网络。
①总线型网络使用单根传输线把计算机连接起来,它的优点是建网容易、增减结点方便、节省线路,缺点是重负载时通信效率不高,总线任意一处出现故障则全网瘫痪。
②星型网络是将每个计算机都以单独的线路与中央设备(现在一般是交换机或路由器)相连,这种网络拓扑便于网络的集中控制和管理,因为端用户之间的通信必须经过中央设备,缺点是成本高,中央设备对故障敏感。
③环型网络是将所有计算机的网络接口连接成一个环,环中信号是单向传输的。
④网状型网络一般情况下每个节点至少由两条路径与其它结点相连,多用在广域网中,其优点是可靠性高,缺点是控制复杂,线路成本高。
注:以上四种基本的网络拓扑还可以互连为更复杂的网络。
四、计算机网络的性能指标
? ? ? ? 性能指标可以从不同的方面来度量计算机网络的性能,常用的计算机网络的性能指标有8个,分别为速率、带宽、吞吐量、时延、时延带宽积、往返时间和利用率。
1、速率
(1)比特:计算机中数据量的单位,也是信息论中信息量的单位。
①一个比特(位)就是二进制数字中的一个1或0。
②单位换算:8 bit = 1 Byte(8位=1字节);1 KB = 1024 B;1 KB = 1024 B;1 MB = 1024 KB;1 GB = 1024 MB;1 TB = 1024 GB。
(2)连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率,常用的数据率单位有bit/s(可以简写为b/s或者bps)、kb/s(1 kb/s = 1000 b/s)、Mb/s(1 Mb/s = 1000 kb/s)、Gb/s(1 Gb/s = 1000 Mb/s)、Tb/s(1 Tb/s = 1000 Gb/s)。
2、带宽
(1)带宽在模拟信号系统中的意义:信号所包含的各种不同频率成分所占据的频率范围,单位为Hz(kHz、MHz、GHz)。
(2)带宽在计算机网络中的意义:用来表示网络的通信线路传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”,单位为b/s(kb/s、Mb/s、Gb/s、Tb/s)。
(3)其实,上述“带宽”的两种表述之间有着密切的联系,一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。
3、吞吐量
(1)吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
(2)吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
(3)吞吐量受网络的带宽或额定速率的限制。
4、时延
(1)分组从源主机传送给目的主机的过程中:
①源主机将分组发往传输线路,这需要花费一定的时间,这段时间称为发送时延。
②代表分组的电信号在链路上传输,这也需要花费一定的时间,这段时间称为传播时延。
③路由器收到分组后对其进行存储转发,这也需要花费一定的时间,这段时间称为处理时延。(排队时延在这里和处理时延合并在一起)
④一般来说,源主机和目的主机之间的路径会由多段链路和多个路由器构成,因此会有多个传播时延和处理时延。
(2)分组交换的网络时延由发送时延、传播时延和处理时延构成。
①发送时延的计算公式为分组长度除以发送速率。下图所示是一个家庭局域网的一部分,发送速率受网卡发送速率、信道带宽和接口速率影响,可见在构建网络时应该做到各设备间以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能。
②传播时延的计算公式为信道长度除以电磁波传播速率。电磁波在自由空间的传播速率是光速,在网络传输媒体中的传播速率比在自由空间要略低一些,在计算传播时延时应确定采用的是哪种传输媒体。
③处理时延没有简单的计算公式,一般不方便计算。
④在处理时延忽略不计的情况下,发送时延和传播时延没有哪个占据主导地位的说法,具体情况需要具体分析。
5、时延带宽积
(1)时延带宽积是传播时延与带宽的乘积。
(2)若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特。
(3)链路的时延带宽积又称为以比特为单位的链路长度。
6、往返时间
(1)在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互,我们有时很需要知道双向交互一次所需的时间,因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标。
(2)往返时间是指从源主机发送分组开始,直到源主机收到来自目的主机的确认分组为止所需要的时间。下图中以太网上的某台主机要与无线局域网中的某台主机进行信息交互,针对下图,一般情况下卫星链路的距离比较远,所以在卫星链路上耗费的时间会比较多。
7、利用率
(1)利用率有两种,一种是信道利用率,另一种是网络利用率。
①信道利用率:表示某信道有百分之几的时间是被利用的(也就是有数据通过)。
②网络利用率:全网络的信道利用率的加权平均。
(2)根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此信道利用率井非越高越好。
(3)如果令D0表示网络空闲时的时延,D表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D、D0和利用率U之间的关系:
①当网络的利用率达到50%时,时延就会加倍;当网络的利用率超过50%时,时延急剧增大;当网络的利用率接近100%时,时延就趋于无穷大。
②因此,一些拥有较大主千网的ISP通常会控制它们的信道利用率不超过50%,如果超过了,就要准备扩容,增大线路的带宽。
8、丢包率
(1)丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
(2)丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
(3)丢包率是网络运维人员非常关心的一个网络性能指标,不过对于普通用户来说往往并不关心这个指标,因为他们通常意识不到网络丢包。
(4)分组丢失主要有两种情况:
①一种情况是分组在传输过程中出现误码,被结点交换机丢弃。
②另一种情况是分组到达一台队列已满的分组交换机时被丢弃。
(5)在通信量较大时就可能造成网络拥塞,路由器会根据自身的拥塞控制方法在输入缓存还未满的时候就主动丢弃分组,因此丢包率反映了网络的拥塞情况:
①无拥塞时路径丢包率为0。
②轻度拥塞时路径丢包率为1%~4%。
③严重拥塞时路径丢包率为5%~15%。
五、计算机网络体系结构
1、常见的计算机网络体系结构
(1)OSI体系结构和TCP/IP体系结构:
①OSI体系结构是一个七层协议的体系结构,从下往上依次是物理层、数据链路层、网络层、运输层、会话层、表示层、应用层;TCP/IP体系结构是一个四层协议的体系结构,从下往上依次是网络接口层、网际层、运输层、应用层。(协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文的发送/接收或其它事件所采取的操作)
②TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为网络接口层,并去掉了会话层和表示层,另外由于TCP/IP在网络层使用的协议是IP协议(网际协议),因此TCP/IP体系结构的网络层通常称为网际层。
③大多数的用户每天都有接入因特网的需求,这就要求用户的主机必须使用TCP/IP协议。在用户主机的操作系统中通常都带有符合TCP/IP体系结构标准的TCP/IP协议族,用于网络互连的路由器中也带有符合TCP/IP体系结构标准的TCP/IP协议族,不过路由器一般只包含网络接口层和网际层。
④TCP/IP体系结构的网络接口层并没有规定什么具体的内容,这样做的目的是可以互连全世界各种不同的网络接口,因此本质上TCP/IP体系结构只有网络接口层上面的三层。
⑤IP协议是TCP/IP体系结构网际层的核心协议;TCP和UDP是TCP/IP体系结构运输层的两个重要协议;TCP/IP体系结构的应用层包含了大量的应用层协议,例如HTTP、SMTP、DNS、RTP等。
⑥IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务,而TCP协议在享受IP协议提供的网络互连服务的基础上可向应用层的相应协议提供可靠传输的服务,UDP协议在享受IP协议提供的网络互连服务的基础上可向应用层的相应协议提供不可靠传输的服务。
⑦IP协议作为TCP/IP体系结构中的核心协议,一方面负责互连不同的网络接口(IP over everything),另一方面为各种网络应用提供服务(Everything over IP)。
⑧在TCP/IP协议体系中包含大量的协议,IP协议和TCP协议是其中非常重要的两个协议,因此,用TCP和IP这两个协议表示的整个协议家族常称为TCP/IP协议族。(在嵌入式开发领域,TCP/IP协议族常称为TCP/IP协议栈)
(2)原理体系结构(用于学习):原理体系结构从下往上依次是物理层、数据链路层、网络层、运输层、应用层(前两层实际上合并为网络接口层)。
2、计算机网络体系结构分层的必要性
(1)计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念,“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
(2)下图所示的是两台计算机通过一条网线连接起来,对于这种最简单的情况需要考虑下图所示的3个问题,解决这3个问题后两台计算机就可以通过信号来传输比特0或1了,我们把这些问题划归到物理层。(严格来说,传输媒体并不属于物理层,它并不包含在体系结构之中;计算机网络中传输的信号并不是下图举例的简单方波信号)
(3)实用的计算机网络一般都由多台主机构成。下一图所示是5台主机通过总线互连构成的一个总线型网络,在解决了物理层问题(两台计算机可以通过信号来传输比特0或1)的基础上:
①如果主机A需要给主机C发送数据,表示数据的信号会通过总线传播到总线上的每一台主机,主机C如何知道该数据是自己应该接收的,主机B、D、E如何知道自己应该拒绝该数据,这就引出了如何标识网络中的各主机的问题,也就是主机编址问题。
②主机在发送数据时应该给数据附加上目的地址,当其它主机收到数据后,它们需要根据目的地址和自身地址来决定是否接收数据,这就引出了如何从信号所标识的一连串比特流中区分出地址和数据本身的问题,也就是需要解决分组的封装格式问题。
③对于总线型网络,还会出现碰撞的典型问题。假设某个时刻总线时空闲的,也就是没有主机使用总线来发送数据,片刻之后主机B和D同时向总线发送数据,这必然会造成信号碰撞,因此,如何协调各主机争用总线也是必须要解决的问题。(现在更常用的是使用以太网交换机将多台主机互连形成的交换式以太网,如下二图所示,需要解决的则是如何实现以太网交换机)
④上述的几个问题全部划归到数据链路层。
(4)只要解决了物理层和数据链路层各自所面临的问题,就可以实现分组在一个网络上传输,不过日常生活中使用的因特网是由非常多的网络和路由器互连起来的,仅解决物理层和数据链路层的问题还远远不够。下图所示的是由3个路由器、4个网络互连起来的小型互连网,可以把它看作是因特网中很小的一部分:
①由于有多个网络,于是面临着如何标识各网络以及网络中各主机的问题,也就是网络和主机共同编址的问题。例如下图所示的IP地址,在本例中,网络N1的网络号为192.168.1,该网络上的笔记本电脑、服务器以及路由器接口IP地址的前三个数应该都是192.168.1,而第四个十进制数各不相同,用于标识他们自己,网络N2同理。
②源主机与目的主机之间的传输路径往往不止一条,分组从源主机传送到目的主机可以走不同的路径,这就引出了路由器如何转发分组的问题以及如何进行路由选择的问题。
③上述的几个问题全部划归到网络层。
(5)如果解决了物理层、数据链路层和网络层各自的问题,就可以实现分组在网络间传输的问题,不过对于计算机网络应用而言还远远不够。假设一台主机同时运行两个与网络通信相关的应用进程(浏览器进程和聊天软件进程),一台服务器中运行着与网络通信相关的服务器进程:
①某个时刻主机收到了来自服务器的分组,这些分组应该交给浏览器进程还是交给聊天软件进程处理,这就引出了如何标识与网络通信相关的应用进程的问题,进而解决进程之间基于网络的通信问题。
②如果某个分组在传输过程中出现了误码,或者由于路由器繁忙导致路由器丢弃分组,这就引出了如何处理传输错误的问题。
③上述的几个问题全部划归到运输层。
(6)如果解决了物理层、数据链路层、网络层和运输层各自的问题,则可以实现进程之间基于网络的通信,在此基础上只需制定各种应用层协议,并按协议标准编写相应的应用程序,就可以通过应用进程间的交互来完成特定的网络应用。
3、计算机网络体系结构分层思想举例
(1)假设网络拓扑如下图所示,主机属于网络N1,Web服务器属于网络N2,N1和N2通过路由器互连。(假设N1、N2是以太网)
(2)如果使用主机中的浏览器来访问Web服务器,当输入网址后,主机会向Web服务器发送请求,Web服务器收到请求后会发回相应的响应,主机的浏览器收到响应后将其解析为具体的网页内容并显示出来。
(3)主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信。
(4)体系结构的各层在整个通信过程中起到的作用:
①主机端的处理过程:
[1]应用层按HTTP协议的规定构建一个HTTP请求报文,接着应用层将HTTP请求报文交付给运输层处理。
[2]运输层给HTTP请求报文添加一个TCP首部(该首部的作用主要是区分应用进程以及实现可靠传输),使之成为TCP报文段,接着运输层将TCP报文段交付给网络层处理。
[3]网络层给TCP报文段添加一个IP首部(该首部的作用主要是使IP数据报可以在互连网上传输,也就是被路由器转发),使之成为IP数据报,接着网络层将IP数据报交付给数据链路层处理。
[4]数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧,接着数据链路层将帧交付给物理层。其中首部的作用主要是让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收;尾部的作用是让目的主机检查所接收到的帧是否有误码。
[5]物理层将帧看作是比特流,由于N1是以太网,物理层还会在该比特流前面添加前导码(其作用是让目的主机做好接收帧的准备),接着物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体,信号通过传输媒体到达路由器。
②路由器的处理过程:
[1]物理层将收到的信号变换为比特流,然后去掉前导码,将其交付给数据链路层(实际上交付的是帧)。
[2]数据链路层将帧的首部和尾部去掉后,将其交付给网络层(实际上交付的是IP数据报)。
[3]网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口以便进行转发,接着网络层将IP数据报交付给数据链路层。
[4]数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧,接着数据链路层将帧交付给物理层。
[5]物理层将帧看作是比特流,由于N2是以太网,物理层还会在该比特流前面添加前导码,接着物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体,信号通过传输媒体到达Web服务器。
③Web服务器的处理过程:
[1]物理层将收到的信号变换为比特流,然后去掉前导码,将其交付给数据链路层(实际上交付的是帧)。
[2]数据链路层将帧的首部和尾部去掉后,将其交付给网络层(实际上交付的是IP数据报)。
[3]网络层将IP数据报的首部去掉后,将其交付给运输层(实际上交付的是TCP报文段)。
[4]运输层将TCP数据报的首部去掉后,将其交付给应用层(实际上交付的是HTTP请求报文)。
[5]应用层对HTTP请求报文进行解析,然后给主机发回HTTP响应报文。
④给主机发回HTTP响应报文的过程与之前的过程类似,HTTP响应报文需要在Web服务器层层封装,然后通过物理层变换成相应的信号再通过传输媒体传输到路由器,路由器转发该响应报文给主机,主机通过物理层将收到的信号转换为比特流,之后通过逐层解封,最终取出HTTP响应报文。
4、计算机网络体系结构中的专用术语
(1)以下介绍的专用术语来源于OSI的七层协议体系结构,不过它们也适用于TCP/IP的四层体系结构和五层协议原理体系结构。将这些专用术语中最具代表性的三个术语——实体、协议、服务作为分类名称:
①实体是指任何可发送或接收信息的硬件或软件进程,对等实体是指通信双方相同层次中的实体。
②协议是控制两个对等实体进行逻辑通信的规则的集合。
[1]逻辑通信的意思是,逻辑上可理解为通信存在,但实际上并不存在,只是假设出来的一种通信。
[2]协议的三要素:语法、语义、同步(时序)。
语法:定义通信双方所交换信息的格式(所交换信息由哪些字段以及何种顺序构成)。
语义:定义收发双方所要完成的操作(例如主机访问远程Web服务器)。
同步:定义收发双方的时序关系(例如TCP的“三报文握手”建立连接的过程)。
③在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务;要实现本层协议,还需要使用下面一层所提供的服务。
[1]协议是“水平的”,服务是“垂直的”。
[2]实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议,也就是说,下面的协议对上面的实体是“透明”的。
[3]把同一系统中相邻两层的实体交换信息的逻辑接口称为服务访问点,用于区分不同的服务类型。数据链路层的服务访问点为帧的“类型”字段;网络层的服务访问点为IP数据报首部中的“协议字段”;运输层的服务访问点为“端口号”。
④上层要使用下层所提供的的服务,必须通过与下层交换一些命令,这些命令称为服务原语。
(2)在计算机网络体系结构中,对通信双方所交互的数据包有专门的术语:
①把对等层次之间传送的数据包称为该层的协议数据单元(PDU),如下图所示(运输层对等实体逻辑通信的数据包一般根据协议而定)。
②把同一系统内,层与层之间交换的数据包称为服务数据单元称为服务数据单元(SDU)。
③多个SDU可以合成为一个PDU,一个SDU也可划分为几个PDU。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!