ch2计算机网络体系结构与协议rft.ppt_第1页
ch2计算机网络体系结构与协议rft.ppt_第2页
ch2计算机网络体系结构与协议rft.ppt_第3页
ch2计算机网络体系结构与协议rft.ppt_第4页
ch2计算机网络体系结构与协议rft.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 1 21 1 第2章计算机网络体系结构及协议 本章将对计算机网络模型进行分析和讨论 先介绍网络的两类标准 再简述OSI参考模型 计算机网络的体系结构及TCP IP模型 最后对两种模型进行了比较 并论述了他们各自的意义 2020 1 21 2 第2章计算机网络模型 2 1计算机网络的标准化2 2ISO OSI参考模型2 3OSI参考模型中的数据传送2 4通信协议与网络的功能特性2 5计算机网络的体系结构2 6TCP IP模型2 7练习与思考 2020 1 21 3 2 1计算机网络的标准化 在计算机网络发展初期 公司和厂家各自开发出了多种网络产品 网卡 电缆 网络操作系统 协议 推出了若干种计算机网络的体系结构 这些产品和体系结构互不兼容 一方面 他们针对着不同的应用对象 凭借的是各自不同的技术条件 另一方面 为了市场竞争 总希望自己异军突起 独领风骚 更不用说对其产品实行高度的技术保密 这种情况严重地妨碍了用户的投资方向 他们从不同厂家买回的产品不能互连成网 这显然不利于网络应用的普及 也不利于网络技术本身的发展 于是人们普遍要求制定一套统一的标准来规范网络产品 而只要使用遵从这些标准的网络组件 就可以将不同种类的计算机互连成网络系统 这不仅有利于用户 也有利于开发商 因为它为符合标准的产品扩大了市场 从而导致大规模生产 促使成本的降低 显然系统之间的相互作用只涉及系统的外部行为 而和系统内部的结构与功能无关 因此 关于互联系统的任何标准都只是对系统外部特性的规定 2020 1 21 4 2 1计算机网络的标准化 2 1 1两类标准2 1 2国际电信联合会ITU2 1 3国际标准化组织ISO 2020 1 21 5 2 1 1两类标准 有两类标准 既成的与法定的 前者是在没有计划的情况下自发形成并得到一致公认的 例如IBMPC及其系列产品就是小型办公计算机的既成事实的标准 因为尽管没有任何一个权威机构以权威的文件宣布 然而许多厂商都追随他 竞相仿造 后者为某些权威标准化机构制定或采纳 因而是正式的 合法的标准 国际标准权威机构可以分为两类 根据政府间的协议而建立的以及义务性的非协议组织 在计算机网络标准化领域里 属于前一类的机构中最重要的一个是国际电信联合会 InternationalTelecommunicationUnion ITU 而属于后一类的机构中最重要的一个则是国际标准化组织 InternationalStandardsOrganization ISO 2020 1 21 6 2 1 2国际电信联合会ITU 国际电信联合会是国际电信界最有影响的组织 他的工作是标准化国际电信 其前身成立于1865年 当时的成员是欧洲许多政府的代表 1947年ITU成为联合国的一个办事处 他有三个主要部门 无线通信部门 ITU R 电信标准化部门 ITU T 开发部门 ITU D ITU R为世界范围的利益竞争组织分配无线频率 ITU T的前身是CCITT ConsultativeCommittee InternationalTelegraphandTelephone 国际电报电话咨询委员会 他们处理电话和通信系统 在此两个领域中提出建议 ITU T有五类成员 政府部门 国家邮电部 得到许可的私人营运商 AT T MCI 英国电信 电信制造商和科研组织 地区电信组织 欧洲ETST 对ITU T工作感兴趣的组织 银行业和航空公司网络 所有成员都可以参与工作 但只有政府部门成员才能参加表决 2020 1 21 7 2 1 2国际电信联合会ITU 各国电信领域的法律地位很不一样 一个极端是美国 由公用电信公司 CommonCarrier 提供通信服务 价格由价目表 Tariff 文档规定 州内通信部分由州公共事业委员会批准 州与州之间通信部分以及国际通信部分必须经联邦委员会批准 很多国家属于另一个极端 电信业完全由政府控制 在世界范围内 潮流是从政府控制转向自由化和竞争 如美国一类国家 由其政府派员参与工作和表决 ITU T的任务是制定电话 电报和数据通信接口的技术建议 尽管只是建议 各国政府最好还是采纳 以避免把自己和别人隔开 ITU T的开支由各成员国支付 富有的国家多给 贫穷的国家少给 越来越多的组织愿意参加到ITU T中来 2020 1 21 8 2 1 3国际标准化组织ISO 这是在国际标准界最有影响的组织 成立于1946年 成员是89个成员国的国家标准化组织 其中包括美国的ASNI 英国的BSI 德国的AFNOR 法国的DIN 他有大约200个技术委员会 TC 按创建顺序编号 分别处理专门的主题 例如 TC1处理螺钉和螺帽 TC97处理计算机及信息处理 委员会下设子委员会 SC 子委员会下设工作组 WG 实际工作大部分由工作组完成 其成员为世界各地正在标准化自己产品的雇主所指定 另有一些是政府官员 他们热心于使自己国家的实现方法成为国际标准 学术专家活跃于各个工作组中 ISO是ITU T的成员 他们合作得很好 从而避免了两个正式的 但互不兼容的标准的出现 ISO采纳标准的程序大体相同 某个国家的标准化组织觉得在某一领域里需要有一个国际标准 于是就成立一个工作组以提出委员会草案 CommitteeDraft CD 2020 1 21 9 2 1 3国际标准化组织ISO 在得到多数成员赞同后 就制定一个称为国际标准草案的修订文档 DraftInternationalStandard DIS 将此文档在成员中传阅以评价 投票 最后准备好国际标准 InternationalStandard IS 文本 再经核准出版 对有争议的领域来说 整个过程可能要持续好几年 除了ISO和CCITT外 另一个标准化主角是电器和电子工程师协会 InstituteofElectricalandElectronicsEngineers IEEE 他是世界上最大的专业组织 在电子工程和计算机领域内 IEEE有一个标准化组织制定各种标准 2020 1 21 10 2 1 4IAB IRTF IETF与因特网协会 IAB IRTF IETF与InternetSociety 因特网协会 都是因特网标准界最有影响的一些组织 当ARPANET组建时美国国防部设立了一个非正式委员会来监督它 1983年 该委员会更名为IAB InternetActivitiesBoard 即因特网活动委员会 IAB的意义后来变为InternetArchitectureBoard 即因特网体系结构委员会 1989年夏天 IAB被重组 研究人员被转移到因特网研究特别任务组IRTF InternetResearchTaskForce 及因特网工程特别任务组IETF InternetEngineeringTaskForce 两者都是IAB的附属机构 而IAB则接纳了更广泛组织的人员 成员服务2年 新成员由老成员指定 后来由对因特网感兴趣的人组成了因特网协会 InternetSociety 在某种意义上 该协会可以比之于美国计算机协会 AssociationforComputingMachinery ACM 或IEEE 他由选举的理事会管理 理事会指定IAB成员 2020 1 21 11 2 1 4IAB IRTF IETF与因特网协会 最初 IAB大约每10个成员带领一队人专门研究某些重要问题 当需要新的标准时 IAB成员就会将其研究出来并公之于众 研究生即可将其实现 他们之间的交流通过一系列被称为请求评注RFC RequestForComments 的技术报告来完成 RFC按时间顺序编号 在线存放 感兴趣的人都可以得到他 后来把研究和工程分开了 IRTF集中注意长期的研究 而IETF则处理短期的工程问题 按照ISO模式 更正式的标准化程序被采纳 为了成为提议标准 ProposedStandard 必须在RFC中详细阐明基本思想 并能在团体中引起足够的兴趣 为了能达到草案标准 DraftStandard 必须至少在两个独立的地点 经过四个月完全测试的运行实现 若IAB认为该思想可行 软件能工作 就宣布此RFC为因特网标准 InternetStandard 2020 1 21 12 2 2ISO OSI参考模型 OSI参考模型对于计算机网络的发展有着十分深远的影响 包括像TCP IP这样的协议 都在从它那里吸取有价值的成份 它揭示了组成网络各组件的内在联系 揭示了网络运行的根本原理 要想很好地掌握各种网络 就必须要真正理解OSI参考模型 OSI参考模型表示在图3 1中 下面我们按照从第1层至第7层的顺序 依次介绍OSI参考模型的各层协议 2020 1 21 13 2 2ISO OSI参考模型 2 2ISO OSI参考模型 2020 1 21 14 2 2ISO OSI参考模型 2 2 1物理层 PhysicalLayer 2 2 2数据链路层 DataLinkLayer 2 2 3网络层 NetworkLayer 2 2 4传输层 TransportLayer 2 2 5会话层 SessionLayer 2 2 6表示层 PresentationLayer 2 2 7应用层 ApplicationLayer 2020 1 21 15 2 2 1物理层 PhysicalLayer 这是OSI模型的最低层 向下直接与物理传输介质相连接 他不是软件 物理协议是各种网络设备进行互连时必须遵守的低层协议 设立物理层的目的是实现两个物理设备之间二进制比特流的透明传输 对数据链路层屏蔽物理传输介质的特性 以便对高层协议有最大的透明性 在发送端 物理层将来自链路层的比特流逐位发送给传输介质 在相邻的下一个节点 物理层逐位接收比特流 无论是发送端还是接收端 物理层都并不过问这些比特流的结构与含义 物理层规定了传输介质的接口特性 包括机械 电气 功能与规程特性 以建立 保持和释放数据链路实体之间的物理连接 其基本功能包括 物理连接的建立 保持和释放 比特的发送和接收 差错控制以及内部管理等 该层涉及通信介质的机电 特性参数与规格 包括介质的直接 数据传输速率及特性阻抗 连接器的引脚数目及功能 2020 1 21 16 2 2 1物理层 PhysicalLayer 分配 信号的约定 信号允许传输的最大距离及其调制或编码方式等 在几种常用的物理层标准中 通常将具有一定数据处理及发送 接收数据能力的设备称为数据终端设备 DataTerminalEquipment DTE 而把介于DTE与传输介质之间的设备称为数据电路终端设备 DataCircuit terminatingEquipment DCE DCE在DTE与传输介质之间提供信号变换和编码功能 并负责建立 维护和释放物理连接 DTE可以是一台计算机 也可以是一台I O设备 DCE的典型设备是与电话线路连接的调制解调器 在物理层通信过程中 DCE一方面要将DTE传送的数据按比特流顺序逐位发往传输介质 同时也需要将从传输介质接收到的比特流顺序传送给DTE 因此在DTE与DCE之间 既 2020 1 21 17 2 2 1物理层 PhysicalLayer 有数据信息传输 也应有控制信息传输 这就需要高度协调地工作 需要制定DTE与DCE接口标准 而这些标准就是物理接口标准 可见 物理接口标准定义了物理层与物理传输介质之间的边界与接口 物理接口的四个特性是机械特性 电气特性 功能特性与规程特性 2020 1 21 18 2 2 2数据链路层 DataLinkLayer 链路层软件运行于插入主机与插入路由器的网卡中 在发送端 链路层将来自网络层的分组 加上帧头 帧尾组织成一帧 向下发送给物理层 在相邻的接收节点 链路层将来自物理层的比特流重新组织成一帧 并校验其是否正确 若正确 则剥去帧头 帧尾 再向上传送给网络层 并向相邻的前一节点发回正确收到该帧的应答 若不正确 则向相邻的前一节点发回收到错误帧的应答 前一节点若收到正确应答 则发送下一帧 若收到错误应答 则重发该帧 节点每发出一个帧 就启动定一个时器 若定时时间到还没有收到应答 也重发该帧 若节点收到正确的帧 但应答帧丢失 前一节点也会重发该帧 这样 接收节点将会收到重复的帧 并将其丢弃 定时器的定时时间是系统根据相邻的下一节点的距离自动计算出来的 是传送一个帧 并收到应答帧的往返时间之和 2020 1 21 19 2 2 2数据链路层 DataLinkLayer 设立数据链路层的主要目的是将一条原始的 有差错的物理线路变为对网络层无差错的数据链路 为了实现这个目的 数据链路层必须具备以下基本功能 在相邻的两个网络实体之间建立 保持和释放数据链路 确定信息怎样在链路中传输 信息的格式 成帧和拆帧 产生校验码 差错控制 数据流量控制及链路管理等 根据数据传输线路的结构及系统要求性能的不同 数据链路控制协议可分成两大类 面向字符的数据链路控制协议和面向比特的数据链路控制协议 前者主要包括ISO1745 IBM二进制同步通信 BSC DEC的数字数据通信报文协议 DDCMP 等 后者主要包括ANSI的高级数据通信控制规程 ADCCP ISO的高级数据链路控制 HDLC 规程 IBM的同步数据链路控制 SDLC 等协议 2020 1 21 20 2 2 3网络层 NetworkLayer 网络层软件通常运行于所有主机及路由器上 在源端主机中 它接收来自传输层的分组 根据分组上标记的目标主机 从路径表中寻找路径 确定应该发送去往的下一个节点并标记在分组头上 再将分组向下发送给链路层 在中间节点 路由器 网络层先是收到来自链路层的一个分组 根据分组上标记的目标主机 从路径表中寻找路径 确定应该发送去往的下一个节点并修改分组头上的标记 再将分组向下发送给链路层 在目标端主机中 网络层先是收到来自链路层的一个分组 再将分组头剥去 并向上传送给传输层 网络层也叫通信子网层 主要负责对通信子网进行监控 其基本功能是 在两个通信的端系统之间 为建立 保持及释放连接和数据传送而提供路由选择 数据交换 流量控制 拥塞控制 差错控制及恢复等功能 数据链路层协议是两个 2020 1 21 21 2 2 3网络层 NetworkLayer 直接连接的节点间的通信协议 他不能解决数据经过通信子网中多个转接节点的通信问题 设置网络层的主要目的就是要为报文分组以最佳路径通过通信子网到达目的主机提供服务 而网络用户不必关心网络的拓扑结构与所使用的通信介质 从OSI参考模型的角度看 网络层提供的服务可分为两类 面向连接的网络服务 ConnectionOrientedNetworkService 和面向无连接的网络服务 ConnectionlessNetworkService 网络层的典型协议可包括CCITT的X 25建议 2020 1 21 22 2 2 4传输层 TransportLayer 只运行于所有主机上 在源端主机中 传输层将来自会话层的报文 按照当前网络的要求分成若干分组 每个分组都要标记上目标主机及分组序号 再按照顺序将一个分组向下发送给网络层 在目标端主机中 当传输层收到来自网络层的分组后 要按照分组序号将其重新组装成报文 然后向上传送给会话层 传输层是七层模型中最关键的一层 其基本功能是 将报文分割为分组或将分组组织成报文 为会话实体提供传输连接的建立 数据传输和连接释放 为源主机和目的主机之间提供可靠透明的数据传送 该层位于面向通信业务的通信子网和面向网络应用的资源子网之间 同时也是主机与通信处理机 网卡 的界面 传输层的任务是向用户提供可靠的 透明的 端到端 EndtoEnd 的数据传输 以及差错控制和流量控制机制 2020 1 21 23 2 2 4传输层 TransportLayer 由于它的存在 网络硬件技术的任何变化对高层都是不可见的 也就是说 会话层 表示层 应用层的设计不必考虑底层硬件细节 所谓端到端是相对链接而言的 OSI参考模型的四层到七层属于端到端方式 而一层到三层属于链接方式 在通信双方的两机器之间 有一对应用程序或进程直接对话 他们并不关心底层的实现技术 这是端到端的 底层的链接方式就不一样 他要负责处理通信链路中的任何相邻机器之间的通信 一般情况下 传输层为每一条传输连接生成一条网络连接 而需要高吞吐率的传输连接可以同时占用多条网络连接 相反 为了节省网络带宽及降低费用 也可以有多条传输连接复用同一条网络连接 典型的传输层协议是ISO第0类 Class0 至第4类 Class4 传输协议 2020 1 21 24 2 2 5会话层 SessionLayer 在OSI环境中 一次会话 会晤 是指两个用户进程之间为完成一次完整的通信而建立的会话连接 反过来说 应用进程之间为完成某项处理任务就要进行一系列内容相关的信息交换 会话层的目的就是为有序地 方便地进行这种信息交换 提供有效的控制和管理机制 会话层允许在不同机器上的两个应用建立 使用和结束会话 在会话的两台机器之间建立对话控制 管理哪边发送 何时发送 占用多长时间等 当两个应用进程进行相互通信时 希望有第三者的进程能组织他们的通话 协调他们之间的数据流 以便使应用进程专注于信息交互 这就是设立会话层的目的 从OSI参考模型上看 会话层之上各层是面向应用的 会话层之下各层是面向通信的 会话层在两者之间起到连接的作用 会话层的主要功能是向会话的应用进程之间提供会话组织和同步服务 对数据的传送提供控制和管理 以达到协调会话过程 为表示层实体提供更好的服务 2020 1 21 25 2 2 6表示层 PresentationLayer 表示层包含了处理网络应用程序数据格式的协议 表示层从应用层获得数据并将其格式化 排成一个有含义的格式 并传送给会话层 供网络通信使用 这一层也提供诸如数据加密的服务来负责处理安全问题 提供压缩数据的服务以尽量减少网络上传输的数据 比表示层低的层次用于将数据从源端主机传送到目的端主机 而表示层则要保证所传输的数据经传送后其意义不变 因此 表示层要解决的问题是如何描述数据结构使之与机器无关 各个不同的端系统可能有不同的数据表示 不同的机器字长 不同的浮点数格式以及不同的字符编码等 因此 同一个信息在不同的端系统上会表现为不同的内部形式 显然这些不同的内部数据表示不能用来在开放系统之间交换 开放系统之间必须有一种共同的语言作为信息交换的 2020 1 21 26 2 2 6表示层 PresentationLayer 工具 这种工具应该与任何实际系统无关 即具有抽象性 有很强的表达能力 还能方便地转变成各种具体形式 一种通用的数据表示语言首先在CCITT关于报文处理系统的X 400系列建议中出现 这种表示语法后来由ISO改编为ASN 1 AbstractSyntaxNotaion 1 标准 即ISO8824 与之配套的基本编码规则BER BasicEncodingRule 包含在ISO8825文件中 ASN 1用一种抽象的方法描述数据 这种对信息的抽象描述叫做抽象语法 抽象语法形成了各种端系统之间的共同语言 应用元素用抽象语法表示他们要交换的信息 这样可以保证信息在端系统之间交换时保持语义一致 BER则负责把抽象语法表示的信息变成适合于传输的比特流 BER确定的一组规则叫做传输语法 2020 1 21 27 2 2 6表示层 PresentationLayer ASN 1和BER共同构成了OSI的表示层标准 ASN 1提供了与机器无关的表示信息的形式方法 这可以看作是表示层提供的一种服务 这个服务的用户就是应用元素 若应用协议数据单元 APDU 用ASN 1来定义 那么用ASN 1描述的APDU交给表示层后成为表示服务数据单元PSDU 表示层根据PSDU中的抽象语法选择适当的编码规则 即传送语法 把信息传送到远端系统 远端系统再根据同样的编码规则对信息进行还原 值得注意的是对应一种抽象语法不止有一种编码规则 例如 有时需要加密 有时需要压缩 有时两者都需要 有时两者都不需要 只是编码为简单代码 2020 1 21 28 2 2 7应用层 ApplicationLayer 应用层是OSI模型的最高层 他为用户的应用进程访问OSI环境提供服务 是最终用户应用程序访问网络服务的地方 OSI关心的主要是进程之间的通信行为 因而对应用进程所进行的抽象只保留了应用进程与应用进程间交互行为的有关部分 经过抽象后的应用进程就是应用实体 AppilcationEntity AE 对等应用实体间的通信使用应用协议 应用协议的复杂性差别很大 有的涉及两个实体 有的涉及多个实体 而有的应用协议则涉及两个或多个系统 为完成作业所必须的 用于这一连串处理的实体 例如计算机程序 称为应用进程 AppilcationProcess AP 在OSI的AP功能中 对与通信有关的功能进行了模块化处理 以使得他无论在什么计算机系统中 都可以同样使用 这些与通信有关的功能称为应用实体 可以说 AE是AP中通信功能的代办 通常 为完成某一任务的程序 2020 1 21 29 2 2 7应用层 ApplicationLayer 存放在磁盘一类的媒体中 当需要时 才把他调入内存中执行 AP与API的关系 很类似于存放在磁盘中的程序与执行程序的关系 与应用实体相关联的是应用实体调用 AppilcationEntityInvocation AEI 应用实体和应用实体调用之间的关系也与AP和API的关系相同 AEI是由几个基本的通信功能的集合组成的 这些基本通信功能 在OSI中称为应用服务元素 ApplicationServiceElement ASE 在ASE中 有很多业务都通用 或比较通用 的基本功能和各业务特有的功能 目前已成为OSI标准的应用层协议有以下几种 1 作为各通信业务通用的ASE联合控制服务元素 ACSE 远程操作服务 ROS 高可靠性传送服务 RTS 2020 1 21 30 2 2 7应用层 ApplicationLayer 托付 并发和恢复控制 CCR 2 作为各通信业务特有的ASE文件传送 访问和管理 FTAM 虚拟终端 VirtualTerminal VT 作业传送和操纵 JobTransferandManipulation JTM 报文处理系统 MessageOrientedTextInterchangeSystem MHS MOTIS 业务处理 TransactionProcessing TP 文档传送和操纵 DocumentTrasferandManipulation DTAM 远程数据库访问 RemoteDatabaseAccess RDA 2020 1 21 31 2 3OSI参考模型中的数据传送 本节讲述的内容是 在OSI模型中传送的数据的基本格式 讲述在不同协议层次传送的不同数据块 讲述数据是如何传送的 以及虚拟通信与实际通信的概念 2020 1 21 32 2 3OSI参考模型中的数据传送 3 3 1数据传送单元和路径3 3 2数据传送操作 2020 1 21 33 2 3 1数据传送单元和路径 图3 3描述了数据模块在OSI参考模型中传送的基本模块和路径 下面分别解释 主机A应用进程与主机B应用进程 两者中有一个是发送进程 负责发送数据 另一端则是接收进程负责接收数据 1 数据的包装与传送在发送端 用户通过应用进程将数据以字节流的格式传送到应用层 应用层对其加上头信息H7形成应用层的协议数据单元APDU ApplicationProtocolDataUnit 传送到表示层后成为表示层的数据 表示层在其数据前加上头信息H6形成表示层的协议数据单元PPDU 传送到会话层后成为会话层的数据 依此类推 通常把应用层 表示层 会话层和传输层传送的协议数据单元称为报文 而把网络层传输的协议数据单元称为分组或数据包 Packet 数据链路层传输的协议数据单元是数据帧 frame 而物理层传输的协议数据单元则是比特 需要指出的是 从网 2020 1 21 34 2 3 1数据传送单元和路径 2020 1 21 35 2 3 1数据传送单元和路径 络层传到数据链路层的数据 除了要加上头信息H2之外 还要加上尾信息M 然后整个作为数据部分传送到物理层 物理层不再增加头 尾信息 而是直接将二进制数据通过物理介质发送到目的节点的物理层 目的节点的物理层收到该数据后 逐层上传到接收进程 其中数据链路层负责去掉H2和M 网络层负责去掉H3 依此类推 一直到应用层去掉H7 把最原始用户数据传递给了接收进程 2 虚拟通信与实际传送所谓协议数据单元 PDU 就是对等层实体之间通过协议传送的数据 我们看到 对等层实体中被传送的协议数据单元是完全一样的 在发送方 实体所发出的协议数据单元 就是在接收方对等层实体所接收到的协议数据单元 从形式上说 通信在对等层实体之间进行 但这是虚拟的 发送方实体调用它相邻的下一层实体来实现这一通信 而相邻的下一层实体又调用其相邻的下一层实体 直 2020 1 21 36 2 3 1数据传送单元和路径 到物理层 可见 数据的传送大多数是在同一台计算机内的各层协议的垂直方向上进行 只有物理层的数据传送才是实际的 3 头信息的作用在某一层所加的头信息是传送给对等层实体的控制信息 一般地说 是要求对等层实体要完成的操作 而在数据链路层加在数据尾端的信息M一般是校验数据 要求对等层链路实体以此检查本次帧的传送是否正确 2020 1 21 37 2 3 2数据传送操作 现在来看看数据传送过程是怎样进行的 一个网络应用程序启动后 通过系统调用 调用应用层实体 应用层实体运行 通过函数调用 调用表示层实体 依此类推 网络层实体运行后 也通过函数调用 调用设备驱动程序 链路层实体 而设备驱动程序运行后则通过I O协议启动硬件 网卡 工作 一帧数据被逐位发送到传输介质上 接收端的物理层逐位接收数据 产生硬中断 设备驱动程序响应中断 逐位接收数据 并组织成一帧 去掉帧头和帧尾 然后产生软中断 网络层实体响应中断 从链路层接收一个分组 去掉分组头 然后产生一个软中断 传输层实体响应此中断 从网络层接收一个报文 去掉报文头 然后产生一个软中断 依此类推 当应用层实体收到报文后 去掉报文头 然后使用一个端口号提供给应用程序 2020 1 21 38 2 4通信协议与网络的功能特性 数据通信协议 这个名词听起来有些陌生 可能有些不好理解 其实 它是一种软件 是计算机网络中最为核心的软件 它运行于所有节点中 协议也同时揭示了计算机网络的功能特性 2020 1 21 39 2 4通信协议与网络的功能特性 3 4 1协议与协议栈3 4 2实体和系统3 4 3通信地址3 4 4协议是一组规则的组合3 4 5协议分层 2020 1 21 40 2 4 1协议与协议栈 协议是计算机网络中实体之间有关通信规则约定的集合 是关于同一层次的对等实体之间的概念 而协议栈是指特定系统中所有层次的协议的集合 协议有以下三要素 1 语法 Syntax 以二进制形式表示的命令和相应的结构 如数据与控制信息的格式 数据编码等 2 语义 Semantics 由发出的命令请求 完成的动作和返回的响应组成的集合 其控制信息的内容和需要做出的动作及响应 3 时序 Timing 事件先后顺序和速度匹配 2020 1 21 41 2 4 2实体和系统 实体和系统两词都是泛指 实体的例子可以是一个用户应用程序 如文件传输系统 数据库管理系统 电子邮件系统等 也可以是一块网卡 系统可以是一台计算机或一台网络设备等 一般说来 实体能够发送或接收信息 而系统可以包含一个或多个实体 而且在物理上是实际存在的物体 位于不同系统的同一层次的实体称之为对等实体 2020 1 21 42 2 4 3通信地址 计算机网络中的通信要经过源端主机 若干中间节点以及目标端主机 因此 包括源端主机 目标端主机在内的每一个节点都必须要有一个唯一的地址来标识一个连接 在计算机网络中有若干不同类型的地址 它们分别使用在不同的场合下 下面分别介绍 1 IP地址这称为逻辑地址 是人为规定的 与计算机硬件无关 IP地址分为两部分 可表示为 网络号 主机号 Internet是由若干网络使用路由器 IP网关 连接在一起的 全世界连接在因特网上的任何一个网络都有唯一的网络号 此网络号由因特网网络信息中心 networkinformationcenter NIC 统一分配 以避免冲突 连接在同一网络上的任何一台主机都有唯一的主机号 由该网络的管理员统一分配 以避免同一个网络上有两台主机具有相 2020 1 21 43 2 4 3通信地址 同的主机号 我们必须进一步说明 一台主机一般通过一个硬件端口只连接在一个网络上 本书只讨论这种连接 而路由器却要连接到两个 至少 或更多的网络上 每一个连接都需要一个硬件端口 都要分配一个IP地址 因此 IP地址标识的实际上是一个连接 而不是一台机器 端口连接在哪个网络上 就具有那个网络的网络号 而该连接的主机号便由那个网络的管理员统一分配 使其具有唯一性 这既保证了因特网上的任意两台主机的IP地址不会相同 也唯一地确定了路由器的一个连接 IP地址是逻辑地址 为IP协议所识别 用来在网间网 互连网 层进行间接寻径 确定IP数据报应该送往的下一个IP网关 然而信息的实际传送是在物理网络上进行的 物理网络在链路层确认分组应该送往位于当前网络上的下一个节点的物理地址 2020 1 21 44 2 4 3通信地址 2 物理地址我们说过 网络上的任何一台主机或路由器 都是通过插入其中的网卡而与传输介质相连的 网卡上的ROM中 写入有一个硬件地址称物理地址 MAC 在全世界范围内 同一类网卡中的任意一张网卡都有唯一的物理地址 在一台主机或路由器上 只要你换了一张网卡 也就换了一个物理地址 物理地址是由物理网络的链路层直接识别的 物理地址与IP地址之间并不存在必然的对应关系 由间接寻径得到的下一个路由器的IP地址并不能在物理网路上使用 为此 网络接口层必须通过调用ARP协议完成该IP地址到物理地址的映射 3 物理端口号我们知道 每台PC计算机的主机板上都有若干扩展插槽 每个扩展槽里可以插入一张外部设备接口板 不同的 2020 1 21 45 2 4 3通信地址 外部设备使用不同的接口板 接口板的另一边带有一个插座 一台外部设备通过一条两端带有接头的电缆线与计算机连接起来 电缆线的一头插入接口板的插座中 而另一头则插入本台外部设备自己的接口插座中 一台外部设备接口板上留给连接外部设备电缆的硬件插座通常只有一个 而接口板上有若干寄存器 每个寄存器如同内存中的一个存储单元一样可以供CPU访问 因此 每个存储单元都有一个唯一的地址 称外部设备的硬件端口号 CPU访问一个端口类似于访问一个内存单元 不同之处有二 其一 使用的访问指令不同 其二 访问内存是随机的 访问端口却必须要具备一定的条件 设备的忙 闲状态 CPU识别任何一个端口号 需要时选择某端口号对接口进行相应的操作 如果这台计算机要连网 那么 网卡就作为一个接口板插入到某一扩展槽中 计算机使用网卡上的一个端 2020 1 21 46 2 4 3通信地址 口号向网络上发送信息 或从网络上接收信息 这个端口号是硬件端口号 这是计算机网络中使用的又一类地址 显然 这个端口号与网卡上的物理地址也不存在必然的对应关系 但主机是能识别的 主机很容易通过执行一段包含输入输出指令的简单程序将网卡上的物理地址与某个端口号对应起来 4 软件端口号说网络中的通信是计算机之间的通信是不准确的 因为 计算机之间的通信实质上是程序之间的通信 对于多任务操作系统 网络操作系统必须是多任务的 来说 一台计算机上可以运行多个程序 因此 它可以同时同网络上若干其它计算机上运行的程序通信 因此 当一台计算机上的一个程序要发起一次通信时 就不仅要指明目标主机 还要指明该主机上的目标程序 那么 如何来标识一个应用程序呢 通常使用的是软件端口号 软件端口是传 2020 1 21 47 2 4 3通信地址 输层 OSI模型或TCP IP模型 与应用程序打交道的访问点 是传输层协议软件的一部分 称为传输层服务访问点TSAP 传输层协议 例如TCP协议 保留了一些标准端口号用于服务器进程 用户进程可以申请使用非保留端口 因为端口号是本机唯一的 故可以使用它作为进程本身的描述符 至于一个进程如何将自己与TSAP连接起来是属于网络模型以外的问题 它完全依赖于本地的操作系统 5 网络模型中的其它服务访问点我们在第1章中说过 协议分为若干层次 每层之间留有多个接口 只有相邻的两层之间才能通过这些接口传递信息 这些接口称为服务访问点 网络上任意两台主机之间的通信 必定要经过主机上各层协议的服务访问点 传输层服务访问点TSAP是由一个应用进程选择的 那么 网络层服务访问点NSAP便是由传输实体选择的 如果网络层服务访问点NSAP不止一个的话 其余类推 2020 1 21 48 2 4 4协议是一组规则的组合 网络上主机之间的交互是通过数据通信来实现的 双方要通信 就必须要约定一组规则 否则通信根本不可能进行 这组规则主要包括以下一些内容 1 被传输的信息如何封装 2 报文的分割和重组 报文的组合和拆分 3 确定通信方式 4 通信只在对等实体间进行 5 地址标识 6 路由选择 7 路径表 8 路径算法 9 虚电路和临时寻径 2020 1 21 49 2 4 4协议是一组规则的组合 10 建立连接 11 信息的校验与重传 12 定时时钟 13 流量控制 14 交通控制 15 多路复用与分流 16 控制信息与数据信息 17 通信是实现网络功能所必须的手段 2020 1 21 50 2 4 5协议分层 在网络系统中实现网络基本功能的软件称为协议软件 为了实现网络功能 当然需要硬件的参与 但硬件的功能是确定的 协议所实现的只是所有网络应用都共同需要的那部分功能 因此 如果需要某一方面的应用 还必须运行一个特定的网络应用程序 如运行IE浏览器浏览Internet某个网站上的网页 网络应用程序的任务之一就是要向用户提供界面 使用户能与网络交互 由于所有网络应用都需要进行数据通信 因此 协议又可分为与通信直接相关的部分以及与通信不直接相关的部分 后者的一部分内容 会话协议 表示协议 是所有网络应用都需要的 而对另一部分内容 应用协议 来说 不同应用选择其中不同的一些使用 协议软件所完成的一系列操作有的有明显的顺序 而有的则放在先后顺序中的某几个位置都可以 我 2020 1 21 51 2 4 5协议分层 们将这些操作按先后顺序排列起来 就可以明显的划分为若干层次 一个层次实现一种功能 最先操作的层次是最高层次 面向用户 因为一个网络应用总是用户通过鼠标或键盘操作来启动的 称应用层 最后操作的层次是最低层次 面向传输介质 称物理层 距离用户最远 应用层协议向用户提供编程界面 一个特定的网络应用程序通过编程界面调用应用层协议 以实现该应用程序的特定功能 这就是所谓协议分层的实质 现在我们来看这些层次之间的关系 有两种关系 层与层之间的关系 同等层之间的关系 协议软件中与通信直接相关那一部分运行于所有结点 主机 路由器 上 而与通信不直接相关的那一部分则只运行于主机上 这是显而易见的 因为作为中间接点的路由器仅负责传送信息 而作为用户主机 则不仅要传送 2020 1 21 52 2 4 5协议分层 信息 还要面对用户 接受用户的操作 理解用户的意图 实现除了通信之外的其他许多网络功能 网络通信是所有网络应用共同需要的 而在主机上实现的许多其它功能 也是各种网络应用共同需要的 层与层之间的关系自然是针对同一个节点上的协议而言 要运行一个网络应用程序 必须调用所有层次的功能 每一层都只调用相邻的下一层来实现它本层的功能 并向相邻的上一层提供服务 因此每一层的功能都包含了所有比它低的层次的功能 每一对相邻层之间都有一个或多个接口 接口定义下层向上层提供的原语操作和服务 接口要十分清晰 尽量减少在相邻层之间传递信息的数量 不同节点 主机 路由器 上的同一层称对等层 运行一个网络应用程序 必定涉及信息传输路径上的每一个节点 是这些节点上的协议软件的协同工作才实现了相应的网络功能 对于同一个节点来说 相邻层次之间是提 2020 1 21 53 2 4 5协议分层 供服务与使用服务的关系 而不同节点之间的关系仅建立在对等层之间 这种关系用 协议 来规范 对等实体利用协议进行通信 但这种通信是虚拟的 协议本身只是一组规则 实现协议使用软件 只要层与层之间的接口保持不变 协议 实现协议的软件是可以不同的 由此可见 各层协议软件之间构成一种堆栈式的结构 从应用层到物理层是一个自上而下的单向依赖关系 相邻层之间有个预先建立的界面 从物理层到应用层则是一个逐层抽象和完善的过程 各层软件都要根据报文类型和信宿地址选择相应操作 各层软件都要判断报文的正确性 还要确定是发送报文还是接收报文 协议分层有四方面的原因 第一 协议操作本身有一定的层次和顺序 面向用户一面是最高层次 面向传输介质一面是最低层次 可以说分层是顺其自然 第二 网络互联有两种方式 其一是应用程序级互联 其二是网络级 2020 1 21 54 2 4 5协议分层 互联 前者没有将通信软件与应用程序分开 通信与用户操作都揉合在一起 因而在软件结构上缺乏明确的层次性 后者应用软件与通信软件是分开的 通信软件处理网络细节 提供通信服务 应用软件建立在通信软件所提供的通用界面上 处理用户需要 提供应用服务 可见网络级互联就要求协议必须分层 使人们可以从某一个协议层次开始 屏蔽低层协议软件和相关硬件之间的差异与区别 从而保证高层协议与应用之间的互联 互通与资源共享 因此正是通信软件与应用软件的分离才实现了异种网之间方便灵活的互联 第三 网络通信可能出现各种各样的硬件故障 机器故障 传输线故障 网络拥塞 网络带宽有限 分组延迟或丢失 在不可靠传输系统中 数据损坏 电磁干扰或硬件故障 数据重复或失序 提供多路径的网络 对于这些故障 协议软件必须能够检测 纠正 然而这些故障极其复杂 2020 1 21 55 2 4 5协议分层 单一协议解决起来相当困难 于是采纳了分而制之的思想 使问题的解决简化 第四 分层是一种结构化技术 它减少了协议设计的复杂性 分层的协议清晰地描述了计算机网络的体系结构 功能特性和运行原理 2020 1 21 56 2 5计算机网络的体系结构 为了完成计算机间的通信合作 把计算机互连的功能划分成有明确定义的层次 规定了同层次实体通信的协议及相邻层之间的接口服务 网络体系结构就是这些同层次实体通信的协议及相邻层接口的统称 即层和协议的集合 2020 1 21 57 2 5计算机网络的体系结构 2 5 1接口和服务2 5 2服务原语2 5 3服务与协议2 5 4体系结构分析2 5 5ISO OSI参考模型的意义 2020 1 21 58 2 5 1接口和服务 n 层实体利用 n 1 层提供的服务来实现 n 层的功能 为 n 1 层提供增值服务 n 层被称为服务提供者 ServiceProvider n 1 层为服务用户 ServiceUser OSI模型的每一层都是由一些实体所组成的 如图3 4所示 n 层通过它的服务接入点SAP ServiceAccessPoint 将自己的服务提供给 n 1 层使用 反过来说 n 层SAP是 n 1 层可以访问n层服务的地方 n 层可能有几个SAP 每个SAP都有一个唯一的地址标识它 n 层可以通过不同的SAP向 n 1 层提供几类服务 如快速昂贵的通信或慢速低廉的通信 且每一层都是使用SAP来标识发送方与接收方以实现虚拟通信的 一个 n SAP只能由一个 n 实体提供 也只能为一个 n 1 实体所利用 然而一个 n 实体却可以提供几个 n SAP 一个 n 1 实体也可能利用几个 2020 1 21 59 2 5 1接口和服务 n SAP为其服务 事实上 n SAP只是代表了 n 实体和 n 1 实体建立他们之间的服务和被服务关系的手段 2020 1 21 60 2 5 1接口和服务 现在来看在网络中传递的几种数据单元 如图3 5所示 首先 不同节点对等层间传送的是协议数据单元 N PDU 它由两部分构成 一部分是本层服务数据单元 N SDU 它是上层的协议数据单元 N 1 PDU传送到本层来的 另一部分则是本层协议控制信息 N PCI 位于 N SDU之前 欲将 N 1 层协议数据单元 N 1 PDU传送到N层 必须在其头部加上 N 1 层的接口控制信息 N 1 ICI 形成 N 1 层的接口数据单元 N 1 IDU 而当N 1层的接口数据单元 N 1 IDU通过相应的SAP传送到 N 层后 N 层实体便对 N 1 IDU中的 N 1 ICI进行解释并执行相应的操作 然后再从 N 1 IDU中提取 N 1 PDU 从而得到 N 层的服务数据单元 N SDU 2020 1 21 61 2 5 1接口和服务 2020 1 21 62 2 5 1接口和服务 为了将 N 1 PDU传送到对等层实体 N 1 PDU必须通过N层服务接入点SAP将整个 N 1 PDU交给N层实体 为此 N层实体把整个 N 1 PDU作为N层用户数据 N 1 PDU中包含的 N 1 PCI是传给对等层的 由 N 1 层实体根据其通信协议和内部控制状态产生 而 N 1 ICI则用以控制 协调 N 1 层实体与 N 层实体的操作 2020 1 21 63 2 5 2服务原语 服务在形式上是由一组原语 primitive 或操作来描述的 这些原语供用户和其它相关实体访问该服务 原语通知服务提供者采取某些行动或报告某个对等实体的活动 服务原语是服务提供者与服务使用者交互作用的原子行动 即最基本的不再细分的行动 的描述 它描述服务提供者与服务使用者一次原子交互作用的功能和交互作用的意义 服务原语可以划分为四类 但有的服务是有证实的 Confirmed 而有的服务是无证实的 Unconfirmed 前者包括请求 指示 响应和证实4个原语 后者只有请求和指示2个原语 CONNECT服务总是有证实的服务 因为远程对等实体必须同意才能建立连接 数据传送服务要么是有证实的 要么是无证实的 这取决于发送方是否要求确认 2020 1 21 64 2 5 3服务与协议 服务是各层向它的上层提供的一组原语 操作 服务定义了该层能够代表它的上层完成的操作 但并未涉及这些操作是如何完成的 服务定义了两层之间的接口 上层是服务用户 下层是服务提供者 协议是定义同层对等实体之间交换的帧 链路层 分组 网络层 和报文 网络层以上的层 的格式及意义的一组规则 实体利用协议来实现他们的服务定义 只要不改变提供给用户的服务 实体可以任意改变他们的协议 由此 服务和协议就被完全分离开来 协议关系到服务的实现 但对服务的用户来说是不可见的 然而OSI之前的许多网络模型却并没有这样做 2020 1 21 65 2 5 4体系结构分析 不同的计算机网络具有不同的体系结构 其层的数量 各层的名字和功能以及各相邻层之间的接口都不一样 然而在任何网络中 每一层都是为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论