(转载)
独创性声明 作者声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特另tIDN以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学和其它教育机构的学位和证书而使用过的材料。与我一 同工作的同志对本研究所作的任何贡献均己在论文中作了明确的说 明并表示了感谢。 签名:.起量鱼 日期: 互:查i 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即 学校有权保留交向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务。 (保密的论文在解密后应遵守此规定) 研究生(签名):杠如 导师(签 日期 武汉理工大学硕士学位论文 1.1课题的背景及意义 第1章引言 随着移动通信与计算技术的结合发展,移动终端拥有了更多的计算能力, 人们使用移动终端来处理和存储各种数据一名片、日程安排、邮件乃至文档、 目录等各种结构化/非结构化的数据,同时这些数据又经常需要在不同用户之间 进行交换以完成复杂的交互与合作。为了保证这种协作任务的正确完成,必须 有一种手段确保不同设备上的数据集内容的及时性与一致性,我们把这种手段 定义为数据同步,数据同步已经成为移动计算的一种基础应用模式,目前一些 国际著名的数据库厂商也纷纷推出了自己的移动数据库系统。 由于受到诸如网络条件、无线通讯费用、移动设备本身资源等多方面因素 的限制,移动设备通常不能和网络保持实时通信,因此大部分时间移动设备和 网络断开连接。这种情况下,为了要满足移动用户在断开状态下对数据的存取 需求,目前最常用的解决方案是采用数据同步技术,即把用户所需数据先下载 在移动设备上,这些数据成为主数据库中的数据在移动设备上的数据副本。当 移动设备和网络断开连接时,对数据的存取 *** 作在本地数据副本上进行。这必 然要求系统提供一种同步机制,使得移动设备和网络连通时,能够将移动设备 上数据更新反映到主数据库中,并且将主数据库中的最新数据下载到移动设备 上,以使移动设备的本地数据副本和主数据库取得一致。由于多个移动用户异 步地在各自的数据副本上进行数据存取,在进行数据同步时,很容易产生冲突 问题,如何有效地检测和解决冲突问题,也是一个完整的同步机制必须要考虑 的重要方面。 数据同步不仅可以使个人用户通过很简单的 *** 作自动保持各种终端同类型 数据的一致,而且帮助企业用户迅速提升信息其竞争力。随着市场竞争的日益 激烈,企业需要快速高效地对客户的需求做出反应,并提供高质量的服务,而 随时随地从企业信息中心获取和更新各种客户信息以便快速反应就成了致胜的 关键。数据同步产品可以让企业雇员无论何时何地都能够通过各种终端设备获 武汉理工大学硕士学位论文 取和更新各种客户信息,制定销售和服务决策,并快速实施。 在本文的讨论中,选择移动事务分两次在移动设备和主数据库服务器上执 行的方法。数据同步包括数据传输、同步冲突检测和解决这三个方面。 1.2课题来源和研究内容 本课题来源于交通部湖北港航局信息系统二期工程《湖北水路规费征稽管 理系统》软件开发项目中的移动征稽子系统。 该系统是按照交通部有关规费管理的规范开发,适用于以省级港航管理局 (规费中心)为龙头,覆盖各市州港航局(所、处)规费中心和各县市港航处 (所),各基层费收站点的四级网络规费征稽系统,兼容了光纤专线、电信专线、 ADSL和MODEM拨号等多种网络通信方式。规费征稽的网络传输系统具备数 据实时性功能,确保数据的一致性与准确性。该子系统完成的主要功能为:利 用移动设备PDA和微型打印机实现移动征稽以及规费数据业务信息管理。 本系统涵盖湖北境内长江所有流域,目前移动通信网络在长江沿线存在着 部分盲点不能保障网络通信的实时性,而本系统业务对时间的要求较高,尤其 是现场开票业务,要求现场能查询到船舶的基本信息并根据相关信息开票收费。 为了进一步提升稽查的强度和力度,同时降低网络使用费用成本,采用在移动 设备中存储数据库副本的方式,分别在移动设备和远程数据库服务器上处理各 自数据,这样就引出了移动数据库和远程数据库的数据同步问题。 本文的主要内容是对现有同步机制进行研究,在深入研究基于XML数据同 步方式和合并复制两种数据同步机制的基础上提出了一种移动数据库数据同步 实现模式,并编程实现移动设备上的数据与数据库服务器数据的同步,最终达 到数据统一。具体研究内容如下: 1)深入研究移动计算的特点,移动数据库的结构特点及其应用现状。 2)深入研究数据同步技术的原理,在流行的基于XML复制和合并复制数 据同步技术的基础上提出了一种移动数据库同步实现模式。 3)设计并实现移动数据库的数据同步技术,将其应用于实际项目中。 4)结合实际应用中出现的问题分析原因,改进同步技术。 2 武汉理工大学硕士学位论文 1.3研究现状 1.3.1移动数据库研究现状 移动计算技术l的发展导致了普遍化计算概念的出现。普遍化计算即无所不 在的计算,它要求人们摆脱以往相对单一的计算平台所造成的局限,而提供个 性化的服务,即系统可以根据用户的爱好、需求进行自由的裁剪和定制,这些 需求的出现使得移动数据库技术成为移动计算技术的基础和核心。鉴于以上考 虑,移动数据库已经成为一个十分活跃的研究领域,并引起了越来越广泛的关 注。以下仅仅列出近年在移动数据库及其相关领域具有代表性的研究成果: 1)Purdue大学对移动事务处理、移动数据库同步等技术进行了大量的研究, 并提出了许多有效的算法,如移动数据库加锁机制,移动事务管理机制等; 2)CarnegieMellon大学(CMU)对移动技术平台进行了大量的研究,并对 系统的自适应性(Adaptation)进行了分析。代表性的成果包括Odyssey系统和 Coda系统。Odyssey系统是一个 *** 作平台,它集中了 *** 作系统和网络通讯的核 心功能,是CMU研究自适应性的基础设施;Coda系统是一个文件系统,它是 ~个应用支撑软件,CMU的许多工作,如复制技术,各种应用规模的分析比较 等均是基于Coda系统完成的; 3)Rutgers大学对移动数据库技术进行了较为全面的研究,如移动技术体系 结构、移动复制算法、移动事务处理、移动通讯及数据管理等,他们获得了许 多有价值的成果,在移动计算领域处于领先地位; 4)Monash大学(澳大利亚),Pittsburgh大学、Washington大学、Bilkent 大学(土耳其)、SouthMethodist大学、Okiahoma大学等对移动事务处理、位置 相关数据的处理等进行了研究; 5)澳大利亚国立大学、Stanford大学、Bilkent大学、Southwestern Louisiana 大学、香港理工大学、香港城市大学、新加坡国立大学等对数据广播技术、移 动信息发表技术及数据广播环境下的查询技术进行了研究; 在国内,中国人民大学、哈尔滨工业大学、国防科技大学、华中科技大学 等对移动数据库进行了研究。在系统开发方面,各大数据库厂商均对嵌入式移 动数据库的研制给予了相当的关注,把开发相应主打数据库系统的嵌入式移动 数据库系统作为一个重要的发展方向。Sybase、Oracle、IBM分别推出了各自的 3 武汉理丁大学硕士学位论文 嵌入式数据库系统Sybase Ultralite、OracleLite、DB2 Everywhere。1 999年7月 中国人民大学研究和开发了“小金灵”基于掌上电脑的嵌入式移动数据库系统, 开始了对嵌入式移动数据库系统的研究。 1.3.2数据同步研究现状 市面上主要存在下面几种数据同步技术2J: 1)PalmHotSyncProtocol:Palm运行系统通常运用在个人掌上电脑和个人 领航器上,这些装置通过掌上 *** 作系统的界面,运用其提出的协议如HotSync来 同步(HotSync仅提供两种模式的 *** 作:慢同步和快同步)。 2)IntellisyncProtocol:Intellisync公司为了减少联系的时间,积极寻求快同 步而提出同步协议。全部技术都是建立在远程服务器架构上,远程服务器上存 储每个嵌入式设备的修改和状态标志,只用发送最新发生变化的同步,即快速 同步方式。微软公司的Outlook和Exchange采用了这个同步系统,将其运用在 包括台式和移动设备中的个人掌上电脑、微型PC机中。某些symbian设备中也 使用了这个协议。这个协议的主要缺点在于它的集中架构,如它在两个设备中 要通过服务器来同步,不能自己相互同步。 3)ActiveSync:ActiveSync是运用在微软公司Windows平台的微型PC机 上的同步协议。它有一套配套软件建立在微软 *** 作系统平台上。使用该软件可 以同步Web收藏夹、Outlook等,并且可以自动感测同步数据中内容的改变。 目前,主流的商业数据库管理系统DBMS(DatabaseManagementSystem) 如Oracle、Sybase、DB2、SQL Server等在移动计算环境下,针对分布式系统的 实际需求提出了各自的移动数据同步方案。实现的技术手段有同步技术、复制 技术和刷新技术。所适用的网络类型有高速局域网、广域网、较低速率的拨号 上网、无线、间接连接。采用的系统拓扑结构有对等(Peer-To—Peer)和级联/树 状(Hierarchical);对应的产品种类繁多,在这里选用主流DBMS的产品来加以 分析。 1.3.3移动数据库复制研究现状 随着数据仓库技术的发展、联机分析处理(OLAP)、决策支持系统(DSS)、 电子商务等需求的推动下,海量数据存储、数据实时更新、数据一致性维护愈显 4 武汉理工大学硕士学位论文 重要。目前主要的数据库管理系统如Oracle,MSSQLServer,Sybase,DB2,My SQL等都在原有的数据复制功能上,添加更多的组件,提供了许多数据复制工具, 针对不同的应用提出并研究了各种数据复制方法,增加了更强大的技术支持。 (1)Oracle复制系统 Oracle复制系统主要支持多主复制(MultimasterReplication)、实体化视图 复制(Materializedview Replication)、多主和实体化视图混和复制(Multimaster andmaterializedview hybridReplication)以及程序复制这四种类型的复制。 多主复制是一种对等复制,每个主站点都有相同的权限,每个站点都可以 修改复制数据库的数据,并传播到其它站点。 实体化视图又称为快照复制,就是在某个时间点上从目标数据库中获得数 据库副本,刷新组定时按照增量方式刷新实体化视图。实体化视图包括只读实 体化视图、可更新实体化视图、可写实体化视图。实体化视图本身又可以作为 其它的站点实体化视图的目标数据库,而且还可以一级一级进行下去,成为多 层实体化视图。 多主和实体化视图混和模式,顾名思义,就是在数据复制环境中进行多主 复制与实体化视图混和配置的复制。一个复制站点可以既是多主复制站点,又 是实体化视图站点。 程序复制指对于大量数据行更新的复制,不是将变化的数据直接进行复制, 而是产生与源站点相同的包含事务 *** 作的包,在其它站点执行。 (2)MS SQLServer复制技术 MS SQLServer支持快照复制、事务复制以及合并复制。 快照复制是一种较简单的复制方法,它将出版方的出版物通过快照代理拷 贝到分发者的分送工作,再通过分发代理拷贝到订阅者。 事务复制要通过日志代理完成。系统通过日志阅读器代理将出版服务器上 的事务传送到分发服务器的分送数据库,再通过分发代理将分发数据库的数据 传送到订阅服务器上。 合并复制中允许发布者和订阅者修改复制的数据,它能自动监视数据库内 容的变化,并定期进行结果合并,然后将合并后的结果发布给所以订阅者。 (3)Sybase数据复制技术 Sybase数据复制技术采用一种基本的“发布一预定”模式来实现跨网络的 数据复制。复制模式有基本主复制模式、分布式主段、Corporaterollup模式、 Redistributed CorporateRollup模式。 5 武汉理工大学硕士学位论文 基本主复制模式中,指定主数据库中的源表为主表,该表的其他副本为复 制表,对主表可进行读/写 *** 作,对复制表只能执行读 *** 作。因此复制过程比较 简单,只需从一个主数据库将更新分发到一个和多个副本数据库就可以确保数 据的一致性。 分布式主段复制模式中,每个站点上的复制服务器把对本地数据的修改分 发到其他站点,并把其他站点接收到的修改应用到本地复制的数据。 Corporaterollup模式有多个分布式主段和一个集合式合并复制表。每个主站 点上的表只包含对该站点而言是主数据的数据,没有任何数据复制到这些站点, 最后这些站点的数据变化合并到Corporaterollup表。 Redistributed CorporateRollup模式与CorporateRollup模式相似,不同的是 在每个分布式主段上有一个复制代理将合并表当成主数据来进行处理,并且将 这些数据转发给复制服务器,分发给预定方。 (4)DB2的复制技术 DB2的主要复制方式是PeerToPeer的方法。PeerToPeer复制给每个站点 都赋予了同等的权限,通过复制代理服务器进行数据复制,通过触发器获取变 化的数据并进行传播。 (5)MySQL数据复制技术 MySQL数据库提供数据复制的主要方法是通过在中心数据库服务器上跟 踪二进制同志,将变化的部分发送到副本数据库服务器,然后在副本数据库服 务器中读耿日志,在副本上执行相应的 *** 作。 1.4本文的结构安排 本文主要研究移动数据库的数据同步技术,全文共分七章,其主要内容如下: 第1章绪论,概述课题的研究背景及意义,分析国内外相关方向的研究 情况,给出论文的组织结构。 第2章介绍移动计算环境下的移动数据库系统结构特征,以及移动数据 关键技术及应用,深入分析移动数据库数据同步复制系统特征,从数据捕获、 分发、冲突的检测与处理等方面详细介绍了移动数据库同步复制过程中涉及的 关键技术。 第3章 以湖北水路规费征稽管理移动子系统为背景提出移动数据库同步 6 武汉理下大学硕十学位论文 方案,并对该方案的运用同步技术进行介绍。根据提出的方案,从同步各个功 能模块出发,详细介绍了系统各功能模块的设计思想及可行性。 第4章给出系统详细设计,详细介绍各功能模块的类库设计及相关实现。 第5章对实际应用中遇到的问题进行总结,并提出同步模型改进方向。 7 武汉理工大学硕十学位论文 第2章移动数据库复制和同步机制 随着网络技术的迅速发展和不断渗透,在任何时候、任何地点能接入信息 网获得所需的信息成为人类的普遍需求,移动数据库复制和同步机技术将使得 这种需求得以实现。本章介绍移动计算及其特点、移动数据库的特点、移动数 据应用。数据库同步复制按照过程划分,可以分为变化捕获、分发、冲突检测 与解决三个阶段。本章将对当前常见的复制模型中所使用的同步复制技术进行 详细介绍。 2.1移动计算概述 移动计算的英文是“MobileComputing”。狭义的定义为:使用便携终端在 流动中进行信息处理。便携终端通常指体积小、重量轻、集成度高的便携机, 如笔记本电脑、掌上型的个人数字助理(PDA)、个人通信器(Personal Communicator)。移动计算的作用在于,将有用、准确、及时的信息与中央信息 系统相互作用,分担中央信息系统的计算压力,使有用、准确、及时的信息能 提供给在任何时间、任何地点需要它的任何用户l71。 在传统的分布计算系统中,各个结点之间都是假定通过固定网络连接,并 保持网络的持续连接性,而移动计算系统改变了这种假设条件。移动计算系统 是由固定结点和移动结点构成的分布计算系统,它将使用户不再需要停留在固 定位置不变,而是可以携带着移动计算机自由移动,并在移动的同时通过移动 通信网络保持与固定将固定结点或其他移动结点的连接。 一个典型的移动计算系统由移动客户机、无线单元、移动支持结点、固定 结点和固定网络连接组成。其中高速固定网络构成连接固定结点的主干;固定 结点包含通常的文件服务器和数据库服务器;移动支持结点则是带有支持无线 通信的接口,负责建立一个无线网络单元;无线网络单元内的移动计算机通过 无线网络和移动支持结点连接,进而通过移动支持结点和固定网络和固定结点 以及其他移动计算机连接,从而实现自由的移动性。 8 武汉理rT大学硕+学位论文 由于移动计算环境的上述特点,使得传统的分布式数据库技术不能支持或 是不能有效支持移动计算环境。因此,研究移动计算技术、移动数据库技术成 为目前分布式数据库研究的一个新的方向。 2.2移动数据库 与固定网络的传统分布计算环境相比,移动计算环境具有特点使得传统的 分布式数据库技术不能支持或是不能有效地支持移动计算环境。因此必须对已 有的传统的分布式数据库加以改进,或者重新设计,形成一种能全面支持移动 计算环境的崭新数据库技术——移动数据库Ljl(Mobiledatabase)。 移动数据库是指在移动环境中的分布式数据库,其数据在地理上(或物理 上)分布而在逻辑上集中的,是一种动态的分布式数据库。它包含两层含义: ①人在移动时可以存取后台数据或其副本;②人可以带着后台数据库的副本移 动。由于移动数据库系统通常应用在诸如掌上电脑、PDA。车载设备、移动电 话等嵌入式设备中,因此又被称为嵌入式移动数据库系统。 2.2.1移动数据库系统结构及特点 通常认为,带有移动连接性的分布式系统,有完整的数据库系统功能,能 支持完全的空间移动性,支持无线和有线的网络连接的系统可以称之为一个移 动数据库系统14〕。移动数据库系统和传统的分布式数据库管理系统有很多相似的 方面。一般把移动数据库系统看作是分布式数据库管理系统的继承和发展5,是 对分布式数据库的延伸和推广。 根据参考文献〔6,一个典型的移动数据库系统结构如图2.1所示。网络分 为两个部分,分别为固定网络部分和无线网络部分。固定网络具有较高的传输 速率和较好的可靠性,又称为可信部分17。 可信部分包括了数据库服务器DBSVR(DatabaseServer)、位置服务器LS (Location Server)和同步服务器Sync Server。DBSVR可以是大型数据库系统, 如Oracle、Sybase、DB2、SQLServer,一般为固定结点。每个DBSVR上维护 本地数掘库的一个完整的副本,服务器之间由可靠的高速互联网连接在一起, 构成一个传统意义上的分布数据库系统。DBSVR同时可以处理客户的联机请求, 并可以保持所有请求的历史记录。无线网络部分主要包括移动支持结点MSS (Mobile SupportStation)、移动客户机MC(MobileClient)、本地数据库副本 9 武汉理T大学硕士学位论文 Rcp(Replication)s和嵌入式移动数据库EMDB(EmbeddedManagement Database)。 MSS位于高速网络中,并具有无线联网能力,它们用于支持一个无线网络 单元(Cell),该单元内的移动客户机既可以通过无线链路与一个MSS通信,从 而与整个固定网络连通,也可以接收由MSS发送的广播信息。服务器与MSS 可以是同一物理设备。 MC处理能力与存储能力相对于DBSVR来说非常有限,且具有移动性(即 可以出现在任意一个无线单元中),经常与服务器断开(指MC无法与服务器联 机通信)。而且由于MC所处的网络环境(即当时可用的无线单元)多变,MC 图2.1 典型的移动数据库系统结构 10 武汉理T大学硕士学位论文 移动数据库与固定网络的传统分布式数据库相比,它具备有以下的主要特 点: �9�9 移动性及位置相关性 移动数据库可以在无线通讯单元内及单元间自由移动,而且在移动的同时 仍然可能保存通讯连接。此外,应用程序及数据查询可能是位置相关的¨1,这 一要求MDB支持移动性,解决区切换问题,并实现位置相关的处理。 �9�9 频繁的断接性 MDB与固定网络之间经常处于主动或被动的断接状态,这要求MDB中的 事务在断接情况下仍能继续运行,或者自动进入休眠状态,而不会因网络断接 而撤销。 ●网络条件的多样性 在整个移动计算空间中,不同的时间和地点连网条件相差十分悬殊。因此, MDB应该提供充分的灵活性和适应性,提供多种系统运行方式和资源优化方式, 以适应网络条件的变化。 ◆系统规模庞大 在移动计算环境下,用户规模比常规网络环境庞大得多,采用普通的处理 方法将导致MDB的效率极为低下。系统的安全性及可靠性较差。由于移动计算 平台可以远程访问系统资源,从而带来新的不安全因素。此外,移动主机遗失、 失窃等现象也容易发生。因此,MDB应该提供比普通数据库系统更强的安全机 制。 ●资源的有限性 移动设备的电源通常只能维持几个小时。此外,移动设备还受通讯带宽、 存储容量、处理能力的限制。MDB必须考虑这些限制,在查询优化、事务处理、 存储管理等环节提供资源的利用效率。传输层的 核心任务 : 应用进程 之间提供 端到端 的 逻辑通信 服务
回顾:只有 主机 才有传输层,网络核心中的路由器、交换机、集线器等只用到 下三层 的功能
记:分复流拥寻差错-可靠
一台计算机中,不同应用进程用 进程标识符(进程ID) 来区分
网络环境下:
TCP/IP 体系结构网络的解决方法:
在传输层使用协议端口号,通常简称为端口(port), 在全网范围内利用 IP地址+端口号 唯一标识一个通信端点
传输层端口号为16位整数,可以编号65536个(2的16次方)
常用端口: 端口号小于256的端口
传输层端口号:
1、服务器端使用的端口号:熟知端口号和登记端口号
2、客户端使用的端口号临时性,在客户进程运行时由 *** 作系统随机选取唯一的未被使用的端口号:
多路复用 :在源主机,传输层协议从不同的套接字收集应用进程发送的数据块,并为每个数据块封装上首部信息(包括用于分解的信息)构成报文段,然后将报文段传递给网络层
多路分解 : 在目的主机,传输层协议读取报文段中的字段,标识出接收套接字,进而通过该套接字,将传输层报文段中的数据交付给正确的套接字
多路复用与多路分解(复用与分解/复用与分用): 支持众多 应用进程共用 同一个传输层协议,并能够将接收到的数据准确交付给 不同的应用进程
用户数据报协议(User Datagram Protocol, UDP):Internet提供无连接服务的传输层协议
UDP套接字二元组:<目的IP地址,目的端口号>
传输控制协议(Transmission Control Protocol, TCP): Internet提供面向连接服务的传输层协议
TCP套接字四元组: <源IP地址,源端口号,目的IP地址,目的端口号>
基于不可靠信道实现可靠数据传输采取的措施
差错检测:利用编码实现数据报传输过程中的比特差错检测
确认: 接收方向发送方反馈接收状态。 ACK(肯定确认) ;NAK(否定确认)
重传:发送发 重新 发送接收方没有正确接收的数据
序号:确保数据按序提交(对数据进行编号,即便不按序到达,可以按序提交)
计时器: 解决 数据丢失问题
TCP提供可靠数据传输服务
UDP不提供可靠数据传输服务
最简单的自动重传请求协议是停等协议
流水线协议:管道协议,允许发送方在没有收到确认前连续发送 多个 分组
最典型的流水线协议: 滑动窗口协议
1、 增加分组序号
2、发送方和接收方可以缓存多个分组
发送方的发送窗口:发送方可以发送未被确认分组的最大数量
接收方的接收窗口: 接收方可以缓存到正确到达的分组的最大数量
发送:
接收:
滑动窗口协议:根据窗口的大小,可以具体分为:
回退N步协议:GBN协议(Go-Back-N)
选择重传协议:SR协议(Selective Repeat)
GBN协议: 发送窗口>=1; 接收窗口=1 ;
发送端 缓存能力高,可以在没有得到确认前发送多个分组
接收端 缓存能力很低,只能接收一个按序到达的分组,不能缓存未按序到达的分组
GBN发送方响应的3类事件:
SR协议: 发送窗口>1 接收窗口>1
发送端缓存能力高
接收端缓存能力高
SR发送方响应事件:
用户数据协议(User Datagram Protocal, UDP): Internet 传输层 协议,提供 无连接 、不可靠、数据报尽力传输服务
0-15-31: 32位二进制
UDP首部四个字段: 每个字段长度都是2字节,共8个字节
源端口号和目的端口号:UDP实现复用和分解
长度:指示UDP报文段中的字节数(首部和数据的总和)
校验和:接收方使用检测数据报是否出现差错
应用数据字段:应用层数据占用
UDP校验和:提供差错检测功能
UDP的校验和用于检测UDP报文段从源到目的地传送过程中,其中的数据是否发生了改变
UDP校验和计算规则
1、所有参与运算的内容按16位对齐求和
UDP校验和计算的内容包括3部分:UDP伪首部、应用数据
传输控制协议(Transmission Control Protocol ,TCP): Internet 传输层协议
提供面向连接、可靠、有序、字节流传输服务
第一:应用进程 先建立连接
第二:每一条TCP连接只有 两个 端点
第三: 可靠交付 :无差错、不丢失、不重复、按序到达
第四: 全双工 通信
第五:面向 字节流
流:字节序列,应用程序和TCP的交互是一个个数据块,TCP把他们看做是无结构字节流
1、源端口号字段、目的端口号字段:占16位、复用和分解上层应用的数据
2、序号字段、确认序号字段:占32位
序号字段:TCP序号是对每个应用层数据的每个字节进行编号
确认序号字段:期望从对方接受数据的字节序号,即该序号对应的字节尚未收到
9选项字段长度可变,最短为0字节,最长为40字节
TCP连接管理:连接建立与连接拆除
以客户端上的一个应用进程与服务器上的一个应用进程建立一条TCP连接为例
一、建立连接
第一次握手:
客户向服务器发送连接请求段:(SYN=1, seq=x)
SYN = 1; 建立连接请求控制段
seq=x; 表示传输的报文段第1个数据字节的序列号是x,此序列号代表整个报文段的序号
客户端进入SYN_SEND (同步发送)
第二次握手:
服务端发回确认报文段:(SYN=1, ACK=1,seq=y,ack_seq=x+1)
SYN=1 同意建立新连接的确认段
ack_seq = x + 1; 表示已经收到序列号为x的报文段,准备接受序列号为x+1的报文段
seq=y : 服务器告诉客户确认报文段的序列号是y
服务器由LISTEN进入SYN_RCVD(同步收到)
第三次握手
客户端对服务器的同意连接报文段进行确认:(ACK=1,seq=x+1, ack_seq=y+1)
seq=x+1 : 客户端此次的报文段的序列号是x+1;
ack_seq = y+1 : 客户端期望接收服务器序列号y+1的报文段
当客户端发送ACK时,客户端进入ESTABLISHED状态
当服务端收到ACK后,也进入ESTABLISHED状态
第三次 握手可携带数据
二、连接拆除:四次挥手
第一次挥手
客户端向服务器发送释放连接报文段:(FIN=1, seq=u)
FIN=1发送端数据发送完毕,请求释放连接
seq=u 传输的第一个数据字节的序号是u
客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态)
第二次挥手
服务器向客户发送确认段:(ACK=1, seq=v, ack_seq=u+1)
ACK=1; 确认字号段有效
ack_seq=u+1 : 服务器期望接受客户数据序号为u+1
seq=v: 服务器传输的数据序号是v
服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待)
客户端收到ACK段后,由FIN_WAIT_!进入FIN_WAIT_2
第三次挥手
服务器向客户发送释放连接报文段:(FIN=1, ACK=1, seq=v+1, ack_seq=u+1)
FIN =1: 请求释放连接
ACK = 1:确认字号段有效
ack_seq=u+1: 表示服务器期望接受客户数据序列号为1
seq=v+1 表示自己传输的第一个数据字节的序号是v+1
服务器状态由CLOSE_WAIT进入LAST_ACK(最后确认状态)
第四次挥手:
客户向服务器发送确认段:(ACK=1,seq=u+1,ack_seq=w+1)
ACK=1: 确认字号段有效
ack_seq=v+1+1 : 表示客户期望接受服务器数据序号为v+1+1
seq=u+1 表示客户传输的数据的序号是u+1
客户端状态由FIN_WAIT_2进入TIME_WAIT 等待2MSL时间,进入CLOSED状态
服务器再收到最后一次ACK后,由LAST_ACK进入CLOSED
一、可靠:保证接收方应用进程从缓冲区读出的字节流与发送发发出的字节流是完全一样的
二、TCP实现可靠数据传输服务的工作机制
1、应用层数据被 分割 成TCP认为最适合发送的数据块
2、序号,发送方对发送的数据包进行编号,确保数据按序提交给接收方 采用累积确认
3、确认,接收方向发送方反馈接收状态,确认是否正确接收数据
4、差错检测,利用差错编码实现数据包传输过程中的比特差错检测(甚至纠正)
5、重传,发送方重新发送接收方没有正确接收的数据
6、计时器,在发送方引入计时器,解决数据丢失问题
最大报文段长度:1500字节
报文段中封装的应用层数据的最大长度:1480字节 = 1500 - 最短的首部长度
TCP生成ACK的策略
流量控制:协调发送方与接收方的数据发送与接收 速度
在通信过程中,接收方设置报文段的 接收窗口字段 来将窗口大小通知给发送方
一、网络拥塞: 太多的主机``以太快的速度 向网络中发送 太多的数据 ,超出了网络处理能力,导致大量数据分组拥挤在中间设备队列中等待转发, 网络性能 显著下降的现象
二、拥塞控制:通过合理调度、规范、调整向网络中发送数据的主机数量、发送速率、数据量、以 避免 拥塞或 消除 已发生的拥塞
三、概念补充介绍
四、TCP拥塞控制算法
阈值之前:慢启动阶段
阈值之后:拥塞避免阶段
l例如: 发生计时器超时,当前拥塞窗口24MSS,当前阈值为16MSS
新的阈值:为当前拥塞窗口的一半,新的阈值=24/2=12MSS
新的拥塞窗口:直接调整为1MSS 新的拥塞窗口=1MSS
调整好新的阈值和新的拥塞窗口之后,使用 慢启动。拥塞避免 算法增加拥塞窗口大小
例如:发送3次重复确认时,当前拥塞窗口为24MSS,当前阈值为16MSS
新的阈值:为当前拥塞窗口的一半
新的拥塞窗口:调整为新的阈值
调整好新的阈值和新的拥塞窗口后,使用 拥塞避免 算法增加拥塞窗口大小
五、窗口调整的基本策略(Additive Increase,Multiplicative Decrease, AIMD):
网络未发生拥塞时:逐渐"加性"增大窗口
网络拥塞时“乘性”减小窗口
六、拥塞预防策略:流量整型技术:规范主机向网络发送数据的流量就是一个表空间里面有N个用户表,系统表,N个存储过程和N个视图这样子? 一个数据库实例就相当于一个sql server(下面简称mss)的一个服务,
假设你的机器叫做AA,安装mss后,和默认建立一个服务名叫做aa,如果再安装一次mss,会提示你是否使用现有的服务名。Oracle的一个实例可以认为是一个服务。
表空间是一个虚拟概念,是一组文件的简称,例如我的Oracle有一个表空间myspace,用来存放临时的数据,我可以给temp指定三个文件,c:myspaceora d:myspace1ora e:myspace2ora 我见一个表,设置这个表的数据存放在myspace上,如果我向表中插入1000行数据,可能会被均匀的存放到myspaceora中。1、你检查一下你的SQL 服务是否启动
运行---》servicesmsc----》SQL Server (示例名称),默认SQL Server (MSSQLSERVER)
把它启动
2、如果还装有SQLEXPRESS,那么你的默认连接可能是SQL Server (SQLEXPRESS),检查
一下连接的服务器名称是否为 服务器名称\SQLEXPRESS,这样的话就修改一下,改为:
服务器名称\实例名称,假如你计算机名称为ABC,实例名称为MSSQLSERVER,那么就写
成 ABC\MSSQLSERVER,或者你直接使用 (Local)或半角句号 " "
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)