第4章网络体系结构和基本概念4.1简介►建立网络体系结构的目的为了减少计算机网络的复杂程度,按照结构化设计方法,计算机网络将其功能划分为若干个层次,较高层次建立在较低层次的基础上,并为其更高层次提供必要的服务功能。网络中的每一层都起到隔离作用,使得低层功能具体实现方法的变更不会影响到高一层所执行的功能。►网络体系结构的定义完成计算机间的通信合作,把每个计算机互联的功能划分成有明确定义的层次,并规定同层次进程通信的协议及相邻层之间的接口服务;4.2计算机网络协议►协议(Protocol)协议就是为实现网络中的数据交换建立的规则标准或约定。►协议的中心任务在计算机网络的一整套规则中,任何一种协议都需要解决3方面的问题。①协议的语法(如何讲)问题。②协议的语义(讲什么)问题。③协议的定时(讲话次序)问题。协议的组成部分1.通信环境2.提供的服务3.词汇表4.消息的编码格式5.时序、规则和过程协议的功能作为计算机数据交换语言的协议必须具备以下一些功能。(1)分割与重组协议的“分割”功能,可以将较大的数据单元分割成较小的数据单元,其反过程为“重组”,如下图所示。用户A用户B报文报文P报文分割为信息包信息包重组为报文分割重组PPPP(2)寻址►协议的“寻址”功能使得设备彼此识别,同时可以进行路径选择,如下图所示。发送方选择哪条路径?AXB数据包C数据包(3)封装与拆封协议的“封装”功能是指在数据单元(数据包)的始端或者末端增加控制信息,其相反的过程是“拆封”(拆装),如下图所示。用户A数据封装用户B拆装数据数据数据控制信息控制信息(4)排序协议的排序功能是指报文发送与接收顺序的控制,如下图所示。数据设备1数据设备23123数据设备数据设备(5)信息流控制协议的流量控制功能是指在信息流过大时,所采取的一系列措施。(6)差错控制差错控制功能使得数据按误码率要求的指标,在通信线路中正确地传输。(7)同步协议的同步功能可以保证收发双方在数据传输时的一致性(8)干路传输协议的干路传输功能可以使多个用户信息共用干路。(9)连接控制协议的连接控制功能可以控制通信实体之间建立和终止链路的过程。协议的种类(1)标准或非标准协议标准协议涉及各类的通信环境;而非标准协议只涉及专用环境。(2)直接或间接协议当设备直接进行通信时,需要一种直接通信协议;而设备之间,间接通信时,则需要一种间接通信协议。4.3计算机网络体系结构邮政系统的工作流程通信者活动界面通信者活动界面邮局服务业务邮局服务业务邮局转运业务邮局转运业务运输部门的(邮件)运输业务书写信件粘贴邮票投递进信箱收集信件加盖邮戳邮件分检邮件打包转送运输部门选择运输路径(路由)转送邮局接收邮件接收邮件邮件拆包邮件投递邮件分检信箱取信阅读邮件发信者收信者相关概念(1)协议(protocol)协议是一种通信约定。在计算机网络通信过程中,为了保证计算机之间能够准确地进行数据通信,也必须制定一套通信规则,这套规则就是通信协议。(2)层次(layer)层次是人们对复杂问题的一种基本处理方法。当人们遇到一个复杂问题的时候,通常习惯将其分解为若干个小问题,再一一进行处理。在计算机网络中,每个节点都划分为相同的层次。不同节点的相同层次具有相同的功能,这些都与邮政系统的类似。(3)接口(interface)接口就是同一节点内,相邻层之间交换信息的连接之点。在网络中,同一节点内的各相邻层之间都应有明确的接口,高层通过接口向低层提出服务请求,底层通过接口向高层提供服务。(4)实体(Entity)在网络分层体系结构中,每一层都由一些实体组成。这些实体抽象地表示了通信时的软件元素(如进程或子程序);或硬件元素。多数情况下,实体是指一个特定的软件模块。(5)层次性模型结构(NetworkArchitecture)计算机网络的体系结构就是这个计算机网络及其部件所应完成功能的精确定义。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。计算机网络体系结构的特点①各层之间相互独立。这样,某一高层只需知道如何通过接口(界面)向下一层提出服务请求,并使用下层提供的服务,并不需要了解下层执行时的细节。②结构上独立分割。由于各层独立划分,因此,每层都可以选择最合适的实现技术。③灵活性好。如果某一层发生变化,只要接口的条件不变、则以上各层和以下各层的工作均不受影响,这样,有利于技术进步和模型的修改。④易于实现和维护。整个系统被分割为多个部分,系统变得容易实现、管理和维护。⑤有益于标准化的实现。由于每一层都有明确的定义,十分利于标准化的实施。网络体系结构化分的基本原则是:把应用程序和网络通信管理程序分开;同时又按照信息在网络中传输的过程,将通信管理程序分为若干个模块;把原来专用的通信接口转变为公用的、标准化的通信接口。4.4ISO/OSI网络体系结构国际标准化组织(InternationalStandardsOrganization,ISO)于1981年颁布了开放系统互连OSI参考模型(OpenSystemInterconnectionReferenceModel,OSI/RM)的格式,通常简称为“七层模型”,参见下图OSI网络体系结构的示意图OSI参考模型各层的功能OSI参考模型每一层的功能、传输的数据单元,以及特点如下:1.物理层(PhysicalLayer)物理层是OSI模型的第1层,该层传输以“位”为单位的数据流,其主要功能用一句话表示就是“确定如何使用物理传输介质,实现两个节点间的物理连接,透明地传送比特位流。”。※说明:第一,物理层直接与物理信道相连接,因此物理层是7层中惟一的“实连接层”;而其他各层由于都间接地使用到物理层的功能,因此为“虚连接层”。第二,“透明”是一个很重要的术语。它表示的是某一个实际存在的事物看起来却好像不存在一样。OSI参考模型各层的功能(续)2.数据链路层(DataLinkLayer)数据链路层是OSI模型的第2层,该层传输以“帧”为单位的数据单元,其主要功能用一句话表示就是“在物理层服务的基础上,通过各种控制协议,将有差错的实际物理信道变为无差错的、能可靠传输数据的数据链路”。3.网络层(NetworkLayer)网络层是OSI模型的第3层,该层传输以“分组”为单位的数据单元,其主要任务用一句话表示就是“为数据通过网络建立逻辑链接,即该层通过路由选择算法,为报文、或分组通过通信子网选择最适当的路径,并提供网络互联及拥塞控制功能”。OSI参考模型各层的功能(续)4.传输层(TransportLayer)传输层是OSI模型的第4层,该层传输以“报文”为单位的数据单元,其主要任务用一句话表示就是“向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输”。传输层的目的是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。一般,OSI模型下3层的主要任务是数据通信,上3层的任务是数据处理。由于传输层(transportlayer)位于OSI模型的第4层,因此,也是计算机通信体系结构中最关键的一层,它是通信子网和资源子网的接口和桥梁,起到承上启下的作用。OSI参考模型各层的功能(续)5.会话层(SessionLayer)会话层是OSI模型的第5层,它是用户应用程序和网络之间的接口,其主要任务用一句话表示就是“负责维护节点间的传输链接,确保点到点的数据传输与交换”。6.表示层(PresentationLayer)表示层是OSI模型的第6层,它的主要功能用一句话表示就是“处理节点间或通信系统间信息表示方式方面的问题,如数据格式的转换、压缩与恢复,及加密与解密等”。7.应用层(ApplicationLayer)应用层是OSI参考模型的最高层,即第7层,它提供用户应用程序和网络之间的接口,其主要功能用一句话表示为“直接向用户提供服务,完成用户希望在网络上完成的各种工作”。这一层还为用户提供各种服务,包括文件传送、远程登录、电子函件,及网络管理等。OSI网络体系结构中数据传输时的数据变化过程SHPHNHDHL7L6L5L4L3L2L1L7L6L5L4L3L2L1传输媒体交换数据单元的名称系统A数据L7DATAPHL6DATASHL5DATAPHL4DATANH01010110101001011010110110101010DTL3DATADH比特数据帧数据包报文报文报文报文AH系统B数据L7DATAPHL6DATAL5DATAL4DATA01010110101001011010110110101010L3DATAAHDT数据应用进程数据应用进程4.5Internet网络体系结构OSI参考模型研究的初衷是希望为网络体系结构与协议的发展提供一种国际标准,但由于Internet在全世界的飞速发展,使得TCP/IP协议得到了广泛的应用,虽然TCP/IP不是ISO标准,但广泛的使用也使TCP/IP成为一种“实际上的标准”,并形成了TCP/IP参考模型。不过,ISO的OSI参考模型的制定,也参考了TCP/IP协议集及其分层体系结构的思想。而TCP/IP在不断发展的过程中也吸收了OSI标准中的概念及特征。TCP/IP协议的特点►开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统;►独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互连网中;►统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有唯一的地址;►标准化的高层协议,可以提供多种可靠的用户服务。TCP/IP的层次结构TCP/IP分为四个层次,分别是通信子网层、网络层、运输层和应用层。TCP/IP协议与OSI协议的对比基于TCP/IP协议的数据变化TCP/IP协议集运输层应用层TCPUDPSMTPFTPDNSSNMPNFSHTTPTEL-NET通信子网层LANMANWAN网络层IPICMPIGMPARPRARP网络层的协议——IP网络协议IP(InternetProtocol)IP协议的任务是对数据包进行相应的寻址和路由,并从一个网络转发到另一个网络。IP协议在每个发送的数据包前加入一个控制信息,其中包含了源主机的IP地址、目的主机的IP地址和其他一些信息。IP协议的另一项工作是分割和重编在传输层被分割的数据包。由于数据包要从一个网络到另一个网络,当两个网络所支持传输的数据包的大小不相同时,IP协议就要在发送端将数据包分割,然后在分割的每一段前再加入控制信息进行传输。当接收端接收到数据包后,IP协议将所有的片段重新组合形成原始的数据。IP是一个无连接的协议。无连接是指主机之间不建立用于可靠通信的端到端的连接,源主机只是简单地将IP数据包发送出去,而数据包可能会丢失、重复、延迟时间大或者IP包的次序会混乱。因此,要实现数据包的可靠传输,就必须依靠高层的协议或应用程序,如传输层的TCP协议。网络层的协议——ICMP网络控制报文协议ICMP(InternetControlMessageProtocol)网络控制报文协议ICMP为IP协议提供差错报告。由于IP是无连接的,且不进行差错检验,当网络上发生错误时它不能检测错误。向发送IP数据包的主机汇报错误就是ICMP的责任。例如,如果某台设备不能将一个IP数据包转发到另一个网络,它就向发送数据包的源主机发送一个消息,并通过ICMP解释这个错误。ICMP能够报告的一些普通错误类型有:目标无法到达、阻塞、回波请求和回波应答等。网络层的协议——IGMP网际主机组管理协议IGMP(InternetGroupManagementProtocol)IP协议只是负责网络中点到点的数据包传输,而点到多点的数据包传输则要依靠网际主机组管理协议IGMP完成。它主要负责报告主机组之间的关系,以便相关的设备(路由器)支持多播发送。网络层的协议——ARP和RARP地址解析协议ARP(AddressResolutionProtocol)和反向地址解析协议RARP计算机网络中各主机之间要进行通信时,必须要知道彼此的物理地址(OSI模型中数据链路层的地址)。因此,在TCP/IP的网际层有ARP协议和RARP协