您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机网络的协议与体系结构
第二章计算机网络的协议与体系结构2.1计算机网络体系结构的形成2.2协议与划分层次2.3具有五层协议的计算机网络体系结构2.4TCP/IP体系结构2.1计算机网络体系结构的形成相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。分层结构A经理B经理B秘书A邮递员A秘书B邮递员1974年,美国的IBM公司宣布了它研制的系统网络体系结构SNA(SystemNetworkArchitecture)。不久后,其他一些公司也相继推出本公司的一套体系结构,并都采用不同的名称。关于开放系统互连参考模型OSI/RM只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。在市场化方面OSI却失败了。OSI的专家们在完成OSI标准时没有商业驱动力;OSI的协议实现起来过分复杂,且运行效率很低;OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场;OSI的层次划分并也不太合理,有些功能在多个层次中重复出现。两种国际标准法律上的国际标准OSI并没有得到市场的认可。是非国际标准TCP/IP现在获得了最广泛的应用。TCP/IP常被称为事实上的国际标准。2.2协议与划分层次计算机网络中的数据交换必须遵守事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。为进行网络中的数据交换而建立的规则、标准或约定即网络协议(networkprotocol),简称为协议。网络协议的组成要素语法语义同步数据与控制信息的结构或格式如:一个数据分组有多长,具体划分为几个字段等。需要发出何种控制信息,完成何种动作以及做出何种响应。语义规定命令和应答的含义。事件实现顺序的详细说明协议的两种不同的形式一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。两种不同形式的协议都必须能够对网上交换的信息做出精确的解释。划分层次的概念举例计算机1向计算机2通过网络发送文件。可以将要做的工作进行如下的划分。第一类工作与传送文件直接有关。确信对方已做好接收和存储文件的准备。双方协调好一致的文件格式。两个计算机将文件传送模块作为最高的一层。剩下的工作由下面的模块负责。两个计算机交换文件文件传送模块计算机1计算机2文件传送模块只看这两个文件传送模块好像文件及文件传送命令是按照水平方向的虚线传送的把文件交给下层模块进行发送把收到的文件交给上层模块再设计一个通信服务模块文件传送模块计算机1计算机2文件传送模块只看这两个通信服务模块好像可直接把文件可靠地传送到对方把文件交给下层模块进行发送把收到的文件交给上层模块通信服务模块通信服务模块再设计一个网络接入模块文件传送模块计算机1计算机2文件传送模块通信服务模块通信服务模块网络接入模块网络接入模块通信网络网络接口网络接口网络接入模块负责做与网络接口细节有关的工作例如,规定传输的帧格式,帧的最大长度等。分层的好处各层之间是独立的。灵活性好。结构上可分割开。易于实现和维护。能促进标准化工作。层数多少要适当若层数太少,就会使每一层的协议太复杂。层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。计算机网络的体系结构计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。2.3具有五层协议的计算机网络体系结构OSI的七层协议体系结构的概念清楚,理论完整,但它既复杂又不实用。TCP/IP是四层的体系结构:应用层、运输层、网际层和网络接口层。最下面的网络接口层并没有具体内容。因此往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的原理体系结构。五层协议的体系结构应用层(applicationlayer)运输层(transportlayer)网络层(networklayer)数据链路层(datalinklayer)物理层(physicallayer)数据链路层5应用层4运输层3网络层2数据链路层1物理层各层的作用(一)应用层:直接为用户的应用进程提供服务。运输层:负责向两个主机中进程之间的通信提供服务。运输层使用两种不同协议:传输控制协议TCP:传输单位是报文段。用户数据报协议UDP:传输单位为用户数据报。各层的作用(二)网络层:负责为分组交换网上的不同主机提供通信服务;选择合适的路由,使源主机运输层所传下来的分组,能够通过路由器找到目的主机。传输单位:分组或IP数据报或数据报协议:网际协议(InternetProtocol)注意:网络层也叫网际层、IP层各层的作用(三)数据链路层:实现点对点无差错、透明地传输以帧为单位的数据。传输单位:帧物理层:透明地传送比特流。传输单位:比特计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2应用进程数据先传送到应用层加上应用层首部,成为应用层PDU计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2应用层PDU再传送到运输层加上运输层首部,成为运输层报文计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2运输层报文再传送到网络层加上网络层首部,成为IP数据报(或分组)计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2IP数据报再传送到数据链路层加上链路层首部和尾部,成为数据链路层帧计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2数据链路层帧再传送到物理层最下面的物理层把比特流传送到物理媒体计算机1向计算机2发送数据应用层(applicationlayer)5432154321物理传输媒体计算机1AP2AP1电信号(或光信号)在物理媒体中传播从发送端物理层传送到接收端物理层计算机2计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2物理层接收到比特流,上交给数据链路层计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2数据链路层剥去帧首部和帧尾部取出数据部分,上交给网络层计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2网络层剥去首部,取出数据部分上交给运输层计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2运输层剥去首部,取出数据部分上交给应用层计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2应用层剥去首部,取出应用程序数据上交给应用进程计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2我收到了AP1发来的应用程序数据!计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2应用程序数据应用层首部H510100110100101比特流110101110101注意观察加入或剥去首部(尾部)的层次应用程序数据H5应用程序数据H4H5应用程序数据H3H4H5应用程序数据H4运输层首部H3网络层首部H2链路层首部T2链路层尾部计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机210100110100101比特流110101110101计算机2的物理层收到比特流后交给数据链路层H2T2H3H4H5应用程序数据H3H4H5应用程序数据计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层H2T2H3H4H5应用程序数据H4H5应用程序数据H3H4H5应用程序数据计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2网络层剥去分组首部后把分组的数据部分交给运输层H5应用程序数据H4H5应用程序数据计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2运输层剥去报文首部后把报文的数据部分交给应用层应用程序数据H5应用程序数据计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2应用层剥去应用层PDU首部后把应用程序数据交给应用进程计算机1向计算机2发送数据5432154321计算机1AP2AP1计算机2我收到了AP1发来的应用程序数据!实体、协议、服务协议栈指几个层次画在一起很象一个栈的结构。实体(entity)表示任何可发送或接收信息的硬件或软件进程。协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务。实体、协议、服务(续)本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。协议是“水平的”,即协议是控制对等实体之间通信的规则。服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。协议很复杂协议必须将各种不利的条件事先都估计到,而不能假定一切情况都是很理想和很顺利的。必须非常仔细地检查所设计协议能否应付所有的不利情况。应当注意:事实上难免有极个别的不利情况在设计协议时并没有预计到。在出现这种情况时,协议就会失败。因此实际上协议往往只能应付绝大多数的不利情况。著名的协议举例占据两个山顶的蓝军与驻扎在这山谷的白军作战。力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战就可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,电文出错的可能性很大。因此要求收到电文的友军必须发送确认电文。但确认电文也可能出错。试问能否设计出一种协议,使得蓝军能实现协同作战因而一定(即100%)取得胜利?明日正午进攻,如何?同意收到“同意”收到:收到“同意”………………这样的协议无法实现!结论这样无限循环下去,两边的蓝军都始终无法确定自己最后发出的电文对方是否已经收到。没有一种协议能够蓝军能100%获胜。2.4TCP/IP体系结构应用层运输层网络层表示层会话层数据链路层物理层7654321OSI的体系结构应用层网络接口层网际层IP(各种应用层协议如TELNET,FTP,SMTP等)运输层(TCP或UDP)TCP/IP的体系结构在一些问题的处理上,TCP/IP与OSI是很不相同的。(1)TCP/IP一开始就考虑到多种异构网的互连问题。(2)TCP/IP一开始就对面向连接服务和无连接服务并重。(3)TCP/IP有较好的网络管理功能。在讨论两个主机通过两个网络互连在一起时,可以使用如图2-4所示的层次关系。TCP/IP四层协议的表示方法举例应用层运输层网际层网络接口层主机A主机B路由器网络2网络1应用层运输层网际层网络接口层网际层网络接口层4321沙漏计时器形状的TCP/IP协议族HTTPSMTPDNSRTPTCPUDPIP网际层网络接口层运输层应用层………网络接口1网络接口2网络接口3EverythingoverIPIP可为各式各样的应用程序提供服务IPoverEverythingIP可应用到各式各样的网络上应用层的客户-服务器方式在TCP/IP的应用层协议使用的是客户-服务器方式客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。(即客户是主叫方,服务器是被叫方)利用协议栈说明在因特网中常用的C/S工作方式数据链路层物理层运输层网络层数据链路层物理层运输层网络层①客户发起连接建立请求②服务器接受连接建立请求应用层应用层因特网客户服务器以后就逐
本文标题:计算机网络的协议与体系结构
链接地址:https://www.777doc.com/doc-5574546 .html