zoukankan      html  css  js  c++  java
  • 计算机网络体系结构

    大纲要求

    (一)计算机网络概述

    1. 计算机网络的概念、组成与功能

    2. 计算机网络的分类

    3. 计算机网络的标准化工作及相关组织

    (二)计算机网络体系结构与参考模型

    1. 计算机网络分层结构
    2. 计算机网络协议、接口、服务等概念
    3. ISO/OSI参考模型和TCP/IP模型

    核心考点

    1. (★★★★)OSI参考模型与TCP/IP模型
    2. (★★★)掌握计算机网络协议、接口、服务等概念
    3. (★★)掌握网络体系结构的概念,分层的必要性(包括5层和7层结构)
    4. (★)无连接服务和面向连接服务的联系与区别

    计算机网络概述

    计算机网络概念

    最简洁的定义∶计算机网络就是一些互连的、自治的计算机系统的集合。

    注意∶在计算机网络发展的不同阶段,对计算机网络的定义是不一样的,但这个不是考试重点。

    广义观点的定义∶计算机网络是能实现远程信息处理的系统或进一步能达到资源共享的系统。

    资源共享观点的定义∶计算机网络是以能够相互共享资源的方式互连起来的、自治的计算机系统的集合。

    用户透明性观点的定义∶计算机网络是一个能为用户自动管理资源的网络操作系统,它能够调用用户所需要的源,整个网络像一个大的计算机系统一样对用户透明。

    可能疑问点∶什么是自治计算机?

    解析∶自治计算机就是能够进行自我管理、配置和维护的计算机,也就是现在的计算机;而像以前的终端(只有示器,仅仅显示数据),则不能称为自治计算机。

    计算机网络的组成

    物理组成

    从物理组成上看,计算机网络包括硬件、软件、协议三大部分。

    1. 硬件∶由主机、通信处理机(或称为前端处理器)、通信线路(包括有线线路和无线线路等)和交换设备(交换机等连接设备)组成。
    2. 软件∶主要包括实现资源共享的软件和方便用户使用的各种工具软件(如QQ)。
    3. 协议∶就是一种规则,如汽车在道路上行驶必须遵循交通规则一样,数据在线路上传输也必须遵循一定的规则。

    工作方式组成

    从工作方式上看,计算机网络可分为边缘部分核心部分,如图1-1所示。

    image-20200905192224163

    1. 边缘部分∶由所有连接在互联网上,供用户直接使用的主机组成,用来进行通信和资源共享。
    2. 核心部分∶由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。

    功能组成

    从功能组成上看,计算机网络由通信子网和资源子网两部分构成。

    1. 通信子网∶由各种传输介质、通信设备和相应的网络协议组成,为网络提供数据传输、交换和控制能力,实现联网计算机之间的数据通信。

    2. 资源子网∶由主机、终端以及各种软件资源、信息资源组成,负责全网的数据处理业务,向网络用户提供各种网络资源与服务。

      注意∶通信子网包括物理层、数据链路层和网络层,请读者务必记住!

    计算机网络的功能

    数据通信∶计算机网络最基本和最重要的功能,包括连接控制、传输控制、差错控制、流量控制、路由选择、多路复用等子功能。

    资源共享∶包括数据资源、软件资源以及硬件资源。

    分布式处理∶当计算机网络中的某个计算机系统负荷过重时,可以将其处理的任务传送给网络中的其他计算机系统进行处理,利用空闲计算机资源提高整个系统的利用率。

    信息综合处理∶将分散在各地计算机中的数据资料进行集中处理或分级处理,如自动订票系统、银行金融系统、数据采集与处理系统等。

    负载均衡∶将工作任务均衡地分配给计算机网络中的各台计算机。提高可靠性∶计算机网络中的各台计算机可以通过网络互为替代机。

    当然,为了满足人们的学习、工作和生活需要,计算机网络还有其他一些功能,如远程教育、电子化办公与服务、娱乐等。

    可能疑问点∶什么是分布式计算机系统?与计算机网络比较有什么区别?

    解析∶分布式计算机系统最主要的特点是整个系统中的各台计算机对用户都是透明的。用户通过输入命令可以运行程序,但用户并不知道具体是哪一台计算机在为其运行程序。操作系统为用户选择一台最合适的计算机来运行其程序,并将运行的结果传送到合适的地方。

    计算机网络则不同,用户必须首先在欲运行程序的计算机上进行登录;然后按照计算机的地址,将程序通过计算机网络传送到该计算机上去运行;最后根据用户命令将结果传送到指定的计算机。

    计算机网络的标准化相关工作及相关组织

    1. 计算机网络的标准化工作
      计算机网络的标准化需要经历以下4个步骤∶①互联网草案;②建议标准(RFC文档);③草案标准;④互联网标准。
    2. 相关组织
      相关组织有国际标准化组织(ISO)、国际电信联盟(ITU)、美国电气和电子工程师协会(IEEE)等。

    计算机网络体系结构与参考模型

    计算机网络的分层结构

    首先,我们要明白计算机网络为什么要采用分层结构?这里用一个小的生活实例来解释。任何一个公司都是从小企业创办而来的,当公司规模很小(比如只有一个老总和3个员工)时,老总和员工可以同处于一个平面,不需要分层,员工可以直接向老总汇报问题。但是,如果该公司是诸如微软这样的公司(也就是计算机网络具有相当大的规模时),比尔·盖茨当然处于最高层,他的作用就是实现公司的长远发展,而不可能每天与公司的员工讨论某功能模块应该使用哪种算法。

    同理,当网络结构大时,就必须要分层,并且每一层都需实现所对应的功能,这样才会有更好的发展。

    但是,分层又不能太多,如果分层太多,资源浪费就很多。

    所以,TCP/IP折中地采用了4层结构模型(在教材中为了更好地描述各层的工作原理经常被看作5层)。

    下面介绍3个专业术语。

    1. 实体∶任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块。
    2. 对等层∶不同机器上的同一层。
    3. 对等实体∶同一层上的实体。

    以上概念第一次看可能比较抽象,考生可这样理解∶A省和B省分别表示不同的机器,可将A省和B省的各层干部看成实体,将A省省长职位和B省省长职位看成对等层,而将此对等层上的实体,即A省省长和B省省长,可看成对等实体。

    协议

    协议是一种规则,并且是控制两个对等实体进行通信的规则,也就是水平的。协议由以下3个部分组成。

    1. 语义∶对构成协议元素的含义的解释,即"讲什么"。
    2. 语法∶数据与控制信息的结构或格式,即"怎么讲"。
    3. 同步∶规定了事件的执行顺序。

    接口

    接口又称为服务访问点,从物理层开始,每一层都向上层提供服务访问点,即没有接口就不能提供服务。

    5个不得不知的专业术语∶

    1. 服务数据单元(SDU)。第n层的服务数据单元,记作n-SDU。
    2. 协议控制信息(PCI)。第n层的协议控制信息,记作n-PCI。
    3. 接口控制信息(ICI)。第 n层的接口控制信息,记作 n-ICI。
    4. 协议数据单元(PDU)。第n层的服务数据单元(SDU)+ 第n层的协议控制信息(PCI)= 第n层的协议数据单元,即n-SDU+n-PCl-nPDU,表示的是同等层对等实体间传送的数据单元。另外,nPDU=(m-1)-SDU。这个公式看完,后面的内容就会很清楚。
      例如,网络层的整个IP分组交到数据链路层,整个IP分组成为数据链路层的数据部分(现在不理解可直接跳过)。
    5. 接口数据单元(IDU)。第n层的服务数据单元(SDU)+ 第n层的接口控制信息(IC)= 第n层的接口数据单元,即n-SDU+n-ICI=n-IDU,表示的是在相邻层接口间传送的数据单元。

    服务

    服务指下层为相邻上层提供的功能调用

    协议是水平的,而服务则是垂直的,即下层向上层通过接口提供服务。

    服务分为以下3类。

    面向连接的服务和面向无连接的服务

    1. 面向连接的服务∶当通信双方通信时,要事先建立一条通信线路,该线路包括建立连接、使用连接和释放连接3个过程。TCP(后面介绍)就是一种面向连接服务的协议,电话系统是一个面向连接的模式。
    2. 面向无连接的服务∶通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。IP和UDP(后面介绍)就是两种无连接服务的协议,邮政系统是一个无连接的模式。

    面向连接与面向无连接的对比见表1-1。

    image-20200905194129926

    故事助记∶你每年都要给女朋友写12封信(每月一封),有两种送达方式可选择。

    第一种∶你可以每个月找一个非常可靠的朋友帮你送到,这样你可以保证信从第一封到最后一封都是按序到达,且不会丢失(面向连接)。

    第二种∶通过邮局发送,因为邮局很有可能在发送的过程中丢失信件,即使不丢失也有可能3月份的信比2月份的信早到(面向无连接)。

    有应答服务与无应答服务(了解)

    1. 有应答服务∶接收方在收到数据后向发送方给出相应的应答。
    2. 无应答服务∶接收方收到数据后不自动给出应答。

    可靠服务与不可靠服务

    1. 可靠服务∶网络具有检错、纠错、应答机制,能保证数据正确、可靠地传送到目的地。
    2. 不可靠服务∶网络不能保证数据正确、可靠地传送到目的地,网络只能是尽量正确、可靠,是一种"尽力而为"的服务。

    注意∶并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体"看得见"的功能才称为服务。

    关于服务不得不知的"内幕"∶

    1. 第n层的实体不仅要使用第n-1层的服务,还要向第n+1层提供本层的服务,该服务是第n层及其以下各层所提供服务的总和。最高层向用户提供服务。
    2. 上一层只能通过相邻层的接口使用下一层的服务,而不能调用其他层的服务,即下一层提供服务的实现细节对上一层透明。

    可能疑问点∶怎样理解透明?

    解析∶用户只需要清楚手机上的每个按钮具有什么样的功能,尽管使用其功能即可,至于这个功能内部是怎么实现的,用户并不需要知道,这就是透明。

    ISO/OSI参考模型和TCP/IP参考模型

    image-20200905224336430

    5层结构的总结

    OSI参考模型具有7层结构,而TCP/IP模型仅有4层结构(一般看作5层)。在OSI参考模型中表示层和会话层不是重点,大致浏览一遍即可,无须深究,所以只需掌握5层结构即可。

    考生应该能快速地默写出5层结构以及每层所完成的任务、功能、协议(遇到选择题能选"对"即可),5层参考模型各层的总结见表1.2。

    image-20200905194601698

    补充知识点∶主机A和主机B通信的实质是什么?

    故事助记∶我们把A栋楼和B栋楼看作两台主机,A栋楼的甲想把某物品给B栋楼的乙,甲和乙分别看成主机上的两个进程,则类似两台主机传送数据,那么甲所给的物品不能仅仅只放在B栋楼的门口,肯定要将物品交到乙的手上才行,所以说两台主机的通信实质上是两台主机的进程在相互通信。再补充一点∶假设A、B宿舍都是单人间,每个房间只有一个人(一个进程),那么房间号就是端口号(后面讲解TCP时会详细讲解端口号)。

    补充知识点∶会话层与表示层的基本功能补充(了解)

    1. 会话层。会话层的主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。既然会话层和传输层都有建立连接,那么二者之间有什么区别Y?例如,作为某公司的老总,你要求秘书给某某打个电话。这时你就相当于会话层,而秘书相当于传输层。因为由你提出建立连接的请求,但是不必自己动手去查号码簿和拨号,而是由秘书打电话,建立传输连接。当对方拿起电话时,传输层连接建立成功,秘书将电话递给你,此时会话层连接建立成功。
    2. 表示层。表示层负责处理在两个内部数据表示结构不同的通信系统间交换信息的表示格式(数据格式转换,2013年统考真题考查了此功能),为数据加密和解密以及为提高传输效率提供心需的数据压缩及解压等功能。

    OSI参考模型和TCP/IP模型的区别

    image-20200905200411547

    可能疑问点∶TCP/IP模型是4层还是5层?

    解析∶一般教材上讲解的5层模型是综合了OSI和TCP/IP的优点,才有了5层模型。

    TCP/IP一定是4层模型(因为TCP/P模型的网络接口层包含了5层模型的物理层和数据链路层,如果出选择题需注意)。
    补充知识点∶关于OSI参考模型的工作原理(了解即可,考生应重点关注5层模型)。

    解析∶下面通过给朋友发一封电子邮件的例子来解释7层的工作原理。在发电子邮件的过程中,首先要在应用层编辑这封信件,然后再把编辑好的信件发给表示层,这时表示层会把这封信件加密,当然也可以不加密,为了提高速度,表示层要把它压缩,然后再传给会话层,这时会话层就会把信息发给你,并提示你要给别人发邮件了,要你准备好,然后再把这个信息发送给传输层,这时传输层就会把这封信件分段(其原因是数据无法一次被传输,所以要分段),然后被分段的信件被传输到网络层,这时网络层会对数据段再次进行封装并加入报头(形成数据报),其实从应用层开始每往下层传输一灰就会加入一次报头(在数据链路层既要加报头又要加报尾)及其相关信息。不仅如此,网络层还要对传输路径进行一种选择,之后再传给数据链路层,数据链路层将这些数据报封装成帧(这就是人们通常所说的以太网),最后再把这个信息发送到物理层形成比特流,进而送到传输媒体(或者直接称为网线),这时信件就会变成比特流在网线上传输了,此时你的计算机就完成了发送过程,而你朋友的计算机负责接收该电子邮件,自然这个过程就是与发送过程相反的了。

    计算机网络性能指标

    时延

    数据从网络或链路的一端传送到另一端所需要的时间,有时也称为延迟或迟延。网络时延由以下几部分组成。
    发送时延(或者称为传输时延)∶主机或路由器发送数据帧所需要的时间,即从发送数据帧的第一位算起到该帧的最后一位发送完毕所需要的时间。因此,发送时延也称为传输时延。发送时延的计算公式为

    发送时延=数据帧长度(bit)/发送速率(bits)
    由以上公式可以得出∶对于某网络,发送时延并非固定不变,而是与发送的帧长成正比。

    传播时延∶电磁波在信道中传播一定的距离所需要的时间。传播时延的计算公式为

    传播时延=信道长度(m)/电磁波在信道上的传播速度(m/s)

    处理时延∶主机或路由器在接收到分组时进行处理所需要的时间。

    排队时延∶分组在进入网络传输时,要经过许多路由器,但分组在进入路由器后要先在输入队列中排队等待处理,在路由器确定了转发接口后,还需要在输出队列中排队等待转发,这就产生了排队时延。

    总时延=发送时延+传播时延+处理时延+排队时延

    注意∶一般在做题时,排队时延和处理时延都忽略不计(除非题目说明要加)。另外,对于高速网络链路,提高的仅是数据发送速率而不是比特在链路上的传播速度。提高数据的发送速率只是减小了数据的发送时延,参考例1-1.

    论坛答疑∶既然有发送时延,为什么没有接收时延?

    解析∶事实上接收时延包含在发送时延和传播时延当中,当这两个时延结束时,接收时延也就结束了。

    时延带宽积

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

    寸延带宽积=传播时延×带宽

    往返时间

    从发送方发送数据开始,到发送方收到来自接收方的确认消息(接收方收到数据后便立即发送确认),总共经历的时间。

    利用率

    包括信道利用率网络利用率两种。

    信道利用率指某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率为零。

    网络利用率是全网络的信道利用率的加权平均值。但是需要注意一点,不是信道利用率与网络利用率越高越好,因为利用率越高,会导致数据在路由器中转发时延过长。

    【例1-1】判断下面两个结论的正误。

    ①带宽为1Mbit/s的网络比带宽为1kbitv/s的网络的比特流在链路的传播速率要高很多。

    ②带宽为1Mbit/s的网络比带宽为1kbit/s的网络的数据传输率大得多。

    解析∶

    在过去的通信干线中用来传送模拟信号时,带宽是指信号的最高频率与最低频率之差,单位为Hz。随着数字信号在通信中的广泛应用,带宽表示在数据链路上每秒传输的比特数,不是字节数,所以一般带宽的单位是Mbit/s(或者直接写M),而不是MB/s。即使是MB/s,也要转换成Mbit/s(转换方法就是直接乘以8)。

    带宽越宽的含义就是发送每一比特的速度变快,而不是每一比特在数据链路的传播速度变快。就好比某中学有两扇门,一个大门,一个小门,当放学时,大门肯定每秒出去的人数更多,对应带宽越大,但无论是从大门还是小门走出之后,每个同学在回家路上的速度都是一样的。所以,前一个结论是错误的,而正确的描述应该是带宽为1Mbit/s的网络和带宽为 1kbit/s的网络的比特流在链路上的传播速度是一样的。

    数据传输率是由总时延(总时延=发送时延+传播时延+处理时延+排队时延)决定的,而带宽仅决定了发送时延,比如A同学从大门走出去比B同学从小门走出去节省10s,但是A 和B同学从学校到家各自的时间都是1h,这样总时延就几乎一样了。在这种情况下,带宽为1Mbit/s的网络比带宽为1kbit/s的网络的数据传输率大不了多少。如果A、B同学都住在学校对面(出了大门回家只需10s),在这种情况下,带宽为1Mbit/s的网络比带宽为1kbit/s的网络的数据传输率就有可能大很多。综上所述,后一个结论也是错误的。

    【例1-2】计算下列情况的总时延(从发出第一位开始到收到最后一位为止)。

    1)在通路上配置一个存储转发交换机的10Mbit/s以太网,分组大小是5000位。假定每条链路的传播时延是10us,并且交换机在接收完分组后立即转发(没有处理时延)。

    2)跟1)的情况相同,但有3个交换机。

    3)跟1)的情况相同,但是假定交换机实施直通交换∶它可以在收到分组的开头200位后就转发分组(就是说5000位的分组不用等待交换机接收完就可以转发,所以只有前面200 位被交换机挡住,后面的4800位就好像中间没有交换机,所以称为直通)。

    解析∶

    1)发送一位的延迟是1bit/(10x106bit/s)=0.1us,一个分组由5000位组成,在每条链路上的发送时延是 500us,分组在每条链路上的传播时延都是 10us,因此总时延=500us×2+10us×2=1020us(500us×2是因为发送数据的主机和交换机各有一次转发)。

    2)3个交换机共有4条链路,所以总延迟=500us×4+10us×4=2040us。

    3)使用直通交换,首先有一个500us的发送时延,两个10us的传播时延,而20us的交换机转发延迟就不需要计算了,因为与500us的发送时延重叠了,因此总延迟=500us×1+10us×2=520us(这里不乘以2是因为5000位只要前200位到了交换机就开始转发)。

    可能疑问点∶MB/s与Mbit/s的区别以及"K"与"K"的含义。

    解析∶

    1. MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒。前者是指每秒传输的字节数量,后者是指每秒传输的比特(位)数,二者是完全不同的。

      在计算机中每8位为1字节,即1B=8bit,因此1MB/s=8Mbit/s。

      例如,家庭上网一般都是2M、4M带宽,而这个2M默认就是2Mbit/s,而不是2MB/s,由于2M=2000k,因此2M带宽用户的下载速度被限制在2Mbit/s/8 = 250kB/s。

    2. 关于K和k,在此做一个一般性总结。当描述磁盘容量时(计算机领域),用KB,K=210

      当描述带宽或者数据传输率时(通信领域),用 kbit/s,k=10³。

      以上仅仅是根据笔者的做题经验给出的一般性总结。但是,读者可能在看某些教材的习题解析时,发现以上的总结根本不适用,甚至仍无法确定,这些都是不可避免的。

      鉴于此,编者认为,判断K(或k)的取值最稳妥的解决办法有以下两种∶

      ①哪个好约分取哪个,因为一般题目给的都是比较简洁的答案,特别是历年真题(适用范围99%)。
      ②参考大纲解析或者教育部给的历年真题解析,看看教育部认为"K(k)"是多少(适用范围100%)。

  • 相关阅读:
    P3916 图的遍历 dfs
    P4568 [JLOI2011]飞行路线 分层图最短路
    P1948 [USACO08JAN]电话线Telephone Lines spfa 二分答案
    P1849 [USACO12MAR]拖拉机Tractor bfs
    P1730 最小密度路径 floyed
    P1661 扩散 二分答案 并查集
    使用unittest和Django搭配写一个接口测试平台
    AJAX解决跨域的几种方式
    Django
    基于pytest框架自动化测试脚本的编写
  • 原文地址:https://www.cnblogs.com/lihello/p/13619343.html
Copyright © 2011-2022 走看看