当前位置:文档之家› BT协议分析文档(new)

BT协议分析文档(new)

BitTorrent协议分析文档

1 协议相关概念

1.1 简介

BitTorrent协议(简称BT,俗称比特洪流、BT下载)是一个网络文件传输协议,它能够实现点对点文件分享的技术。比起其他点对点的协议,它更有多点对多点的特性,这个特点简单的说就是:下载的人越多,速度越快。下载完不去马上关闭BitTorrent软件,就可以成为种子(拥有完整的文件者)分享让其他人下载。

1.2 原理

普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。

根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。

.torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。

下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。

下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有

的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。

下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

一般的HTTP/FTP下载,发布文件仅在某个或某几个服务器,下载的人太多,服务器的带宽很易不胜负荷,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,种子也会越来越多,下载速度就越快。

而有些人下载完成后关掉下载任务,提供较少量数据给其他用户,为尽量避免这种行为,在非官方BitTorrent协议中存在超级种子(super seed)的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容,而是慢慢开放的下载内容的比例,延长下载时间。此时,速度快的人由于未下载完必须提供给他人数据,速度慢的人有更多机会得到数据。

1.3 相关概念

Tracker:收集下载者信息的服务器,并将此信息提供给其他下载者,使下载者们相互连接起来,传输数据。

种子:指一个下载任务中所有文件都被某下载者完整的下载,此时下载者成为一个种子。发布者本身发布的文件就是原始种子。也指.torrent文件。

做种:发布者提供下载任务的全部内容的行为;下载者下载完成后继续提供给他人下载的行为。

DHT网络:DHT全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。使用支持该技术的BT下载软件,用户无需连上Tracker就可以下载,因为软件会在DHT网络中寻找下载同一文件的其他用户并与之通讯,开始下载任务。有些软件(如比特精灵)还会自动通过DHT搜索种子资源,构成种子市场。另外,这里使用的DHT算法叫Kademlia(在eMule中也有使用,称为KAD,具体实现协议有所不同)。这种技术好处十分明显,就是大大减轻了Tracker的负担(甚至不需要)。用户之间可以更快速建立通讯(特别是与Tracker连接不上的时候)。

2 交互流程

为了部署BT,首先需要将一个扩展名为.torrent 的文件放在一个普通的web服务器上。.torrent文件包含了要共享的文件的信息,包括文件名、大小、文件的散列信息和一个指向tracker的url。Tracker负责帮助下载者能够获取其它下载者的信息。Tracker和下载者之间使用一种很简单的基于HTTP的协议进行交互,下载者告诉tracker自己要下载的文件、自己使用的端口以及类似的信息,tracker告诉下载者其它下载同样文件的下载者的联系信息。下载者利用这些信息相互之间建立连接。一个被成为“种子”的下载者,必须首先被启动,它知道完整的文件信息。对tracker和web服务器的带宽需求很低,而种子必须至少发送原始文件的一份完整拷贝。

P2P的核心思想就是没有服务器的概念,任何一个下载者既是client,又是server。下载者从别人那里取文件的时候,称为下载,而为别人提供文件的时候,称为上载(传)。为了完成一次部署,至少需要一个tracker和一个seed。所谓tracker,是一个服务器,负责帮助peers 之间相互建立连接。而seed,通常是第一个向tracker注册,然后它就开始进入循环,等待为别人提供文件,也就是说,第一个seed只负责上传文件。一旦有一个peer向tracker注册后,就可以取得seed的信息,从而与seed建立连接。从seed处读取文件。由于原始的文件,只有seed拥有,所有说,seed至少要上传原始文件的一份完整拷贝。如果又有一个peer加入进来,那么它可以同时和seed和前一个peer建立连接,然后从这两者处获取文件。

3 协议详解

3.1. 种子文件

种子文件(以.torrent 结尾的文件)的内容是一个编码的字典,包含以下列表中的各项。所有字符串值都以UTF-8 编码。标记没有为“可选”的键值是必需的字段:

表1 种子文件内容列表

对于“单一文件”来说,信息字典包含以下的结构:

length: 文件字节数长度(整数)

md5sum: (可选)一个32 位的16 进制字符串,它对应于文件的MD5和。不被BitTorrent 所使用,但被一些程序包含,以提供更大的兼容性。

name: 文件的名称。建议使用(字节串)。

piece length: 每个片断的字节数(整数)。

pieces: 包含所有20 字节SHA-1 散列值的字符串,每个片断都有唯一的值。(字节串)

对于“多文件”来说,信息字典包含以下的结构:

name: 结构中根目录的名称--包含上述文件列表中所有文件的目录(字符串)

piece length: 每个片断的字节数(整数)。

pieces: 包含所有20 字节SHA-1 散列值的字符串,每个片断都有唯一的值。(字节串)files: 字典列表,每个文件都有一个。每个在表中的字典包含以下内容:

length:文件长度的字节数(整数)

md5sum:(可选)一个32 位的16 进制字符串,它对应于文件的MD5和。不被BitTorrent 所使用,但被一些程序包含,以提供更大的兼容性。

path:一个包含着一个或多个字符串元素的,它包含路径和文件名。每个表中元素对应于一个目录名或(在最后的元素的情况下)文件名。

例:文件名“dir1/dir2/file.ext”将包含三种串元素:“dir1”、“dir2”和“file.ext”。编码为串表的例子“l4:dir14:dir28:file.exte”

需要注意的是,piece length指定了标准的片断大小,通常是2 的n 次方。片断长度的一般是根据torrent 文件中所有数据的数量来决定的,如果片断太大,会导致效率低,出错

概率增加;而如果太小,则会使生成的torrent 元数据文件过大。常识决定使用最小的片断大小,这样就会使生成的torrent 文件不大于50-75 KB (可以减轻存储torrent 文件服务器的负担)。但是,由于没有严格限制存储和带宽,即使为了高效率的共享文件可能导致生成更大的torrent 文件,也建议将小于8-10 GB 文件的片断大小设为小于或等于512 KB。通常大小是256 KB,512 KB 和 1 MB。除了最后的片断大小不定以外,其余片断大小是相等的。因此片断的数目由总大小决定。对于多文件模式下的片断边界,将文件数据设想为一个长的连续流,由文件有序列表中的每个文件相互连接而成。片断数目和其边界的决定方式与单一文件相同。片断可能由两个文件的边界组成。

还有,每个piece都有相应的SHA-1 hash 数据校验码。这些校验码相互连接形成上述的信息字典的片断值(pieces)。注意这不是一个表,而是一个字符串。其长度必须是20 字节的整数倍。

3.2. Tracker HTTP/HTTPS 协议

Tracker是用来响应HTTP GET 请求的一种HTTP/HTTPS 服务。该请求包括客户端的度量标准,这个标准可以帮助服务器全面统计torrent 文件。基本的URL 包括元数据文件(torrent)中定义的“发布URL”。再将那些参数通过标准CGI 方法添加到此URL 中(如:“?”在发布URL 之后,紧接着“参数=值”的序列,分隔符“&”)

注意所有在URL 中的二进制数据(特别是info_hash 和peer_id)必须使用转义符。这意味着除0-9,a-z,A-Z和$-_.+!*'()外,其余字节需要采用“%nn”格式的编码,其中的“nn”是字节的16 进制数值。(详细见RFC1738)

3.2.1客户端向服务器的GET 请求的参数如下:

客户端向服务器的GET 请求的参数如下:

info_hash:种子文件中20 字节的SHA-1 散列值。注意此值会进入编码字典中,如上述的信息关键字的定义所述。与不需编码的peer_id 相比,它总是被URL 编码。

peer_id:客户端ID ,客户端用来唯一标识自己ID 的20 字节的串,它在客户端启动时生成。允许为任何值,包括二进制数据。目前没有特定的算法来生成客户端ID。但是,人们会认为它至少对于自己的本地机器是唯一的,从而应该像进程ID 一样合并数据,也可能在启动时由时标记录。见本区域下面的一般客户端编码的peer_id。

port(端口):客户端监听的端口号。BitTorrent 所使用的典型端口是6881-6889。如果此范围的端口都无效,可以选择其他的。

uploaded(已上传的):从客户端发送“已开始”事件到服务器算起的上传总量,数值采用10 进制的ASCII。对于没有在官方规范明确指出的,该值应为已上传的字节总数。

downloaded(已下载的):从客户端发送“已开始”事件到服务器算起的下载总量,数值采用10 进制的ASCII。对于没有在官方规范明确指出的,该值应为已下载的字节总数。

left(剩下的):客户端需要下载的字节数,以10 进制ASCII 编码。

compact(紧密的):客户端接受一个紧密的响应。客户端列表由客户端串代替,此串中每个客户端都编码成6 字节。前4 字节是主机名(以网络的字节顺序),后两个字节是端口号(同样以网络字节的顺序)。

event(事件):如果被指定,则是started, completed, stopped,(已开始,已完成,已停止,具体含义如下)中的一个,或者为空(表示未指定)。如果未指定,此请求为常规时间间隔中的一次交互。

started(已开始):向服务器发送的第一个请求,必须包含开始值的事件关键字。

stopped(已停止):如果客户端关机则须发送到服务器上。

completed(已完成):完成下载时必须发送到服务器上。但是,当客户端启动时下载完成度为100% (即:做种中)则不会发送。可能这是允许服务器增加“已完成

下载”的方法。

ip:可选。客户端的真实IP 地址,以点分四元组格式或RFC3513 中定义的16 进制IPv6 地址。注意:大体上此参数没有客户端地址重要,它能由IP 地址决定,HTTP 请求也来自该处。仅在请求参与的IP 地址不是客户端的IP 地址的情况下才需要。这种情况发生在客户端通过代理服务器与服务器进行通信的情形。当客户端和服务器同时处在本地NAT 网关时也需要。原因是服务器会发出客户端的内部地址(RFC1918),这是不可到达的。所以客户端必须清楚地把自己的外部可到达的IP 地址发送到其他客户端中。不同的服务器对此参数的解释有所不同。某些只有当请求参与的IP 地址属于RFC1918 时才允许。有些无条件允许,但有些则完全忽略。如果使用IPv6 地址(如:2001:db8:1:2::100),则表示客户端能通过IPv6 进行通信。

numwant(需求数目):可选。客户端想从服务器接收的用户数目。允许此值为“0”。如果不用此项,则默认值为50 个用户。

key关键字:可选。一个不与任何用户共享的另外的标识。当IP 地址改变后,允许客

户端证明它们的标识。

trackerid:可选。如果先前发布包含tracker的id,它应放在这里。

no_peer_id(可选):可选。其值为1,表示不需要其它用户的peer_id信息。

一个实际的数据包如下图所示:

图 1 客户端对Tracker的请求

上图是HTTP协议的负载部分,其中的URL中包含着我们前面介绍过的各字段及其对应信息。该URL为

/announce?info_hash=%ca%2b%5cNT%f6%b0%c9%00%c7%0bq%9d%29A4%f3%bc%99% cb&peer_id=M6-0-0--%8b%92%22%dag%8a%8a%96%aa%16%c9h&port=53779&uploaded=0& downloaded=0&left=100887162&key=A8FD6ACC&numwant=200&compact=1&no_peer_id=1 所以,对应的其“info_hash=”之后的字符串为前面提到的种子文件中20 字节的SHA-1 散列值。但是这里这个值是经过编码的,比如%ca%2b%5c代表16进制0xca2b5c。“&”是分隔符,之后的peer_id=M6-0-0--%8b%92%22%dag%8a%8a%96%aa%16%c9h即为客户端用来唯一标识自己ID 的20 字节的串,它采用了同样的编码。我们还可以得到port=53779 :端口是53779

uploaded=0 :上传了0字节

downloaded=0 :下载了0字节

left=100887162 :还剩下100887162字节

key=A8FD6ACC :客户端标识为A8FD6ACC

numwant=200 :客户端想从服务器接收的用户数目为200

compact=1 :客户端接受一个紧密的响应

no_peer_id=1 :不需要其它用户的peer_id信息

3.2.2tracker的响应

服务器作出“text/plain”文档的响应包括以下编码字典的关键字:

failure reason(失败原因):如果当前使用此值,则其余关键字不会使用。该值是可读的错误消息,包括请求失败的原因。(字符串)

warning message(警告消息):(新,可选)与失败原因相似,但响应仍然会被正常处理。警告消息看起来像错误。

interval(时间间隔):以秒计算,是客户端发送定期请求到服务器之后等待的时间。(强制)

min interval(最小时间间隔):最小发布时间间隔。当前客户重发间隔不能小于此值。

tracker id:一个客户端应在下一个通告发回的字符串。如果没有该值,先前通告会发出一个trackerid,不要丢弃旧的值,一直使用它。

complete(完成):拥有完整文件的用户数,即做种者(整数)

incomplete(未完成):非种子用户的数目,也叫“吸血者”(整数)

注:以上2项有时候为

done peers :下载完毕的节点个数

num peers :当前下载的节点个数

peers(用户):这个字段在字典模式(dictionary model)下是字典的列表,每个值都有如下的关键字:

peer id(用户id):用户的自选择ID,如上述用来发送服务器请求的(字符串) ip:用户的IP 地址(IPv4 或IPv6 格式)或域名(字符串)

port(端口):用户的端口号(整数)

peers在二进制模式(binary model)下,其值是一个6个字节的串,其中前4个字节是ip,后2个字节是端口号(都采用网络字节序也就是大字节序)。

注意此响应有三层字典嵌套。例如:

d5:files d20:....................d8:complete i5e10:downloaded i50e10:incomplete i10eeee

其中“....................”是20 字节的info_hash,以上表明有5 个做种者,10 个吸血者和50 个完成下载的用户。

一个真实的数据包如下所示

图 2 Tracker 响应

上图中,“10:done peersi5e”表示5个完成用户;“8:intervali1800e”表示间隔时间是1800秒;“9:num peersi6e”表示有6个peer;“5:peers36:…...”表示用户的ip和端口信息,注意到6个字节表示一个用户的信息,6个用户,6*6正好是36个字节。

如上所述,用户(peers)列表长度默认值为50。如果连接的用户少于该值,列表会更小。另外,服务器随机选择用户及其响应。服务器在响应请求时可能使用一个更智能的机构来选择用户。例如,应避免向其他做种者报告种子。

在事件发生(即:已停止或已完成)或客户端需要连接更多的用户时,客户端向服务器发送请求的间隔可以低于指定的时间间隔。但是,为了获得更多的用户而向服务器频繁地请求会被认为是错误的行为。如果客户端想在回应中得到许多用户,则需要在“需求数目”参数中设定。

使用者注意:30 个用户就算丰富的源了,官方客户端版本3(v3)实际上在连接数少于30 时会尝试增加新的连接,当连接数大于或等于55 时会拒绝连接多余的用户。这个值对性能很重要。当完成下载一个新的片断时,“已拥有”消息(见下面)将会发送到最活动的用户。结果广播通信量与用户数目成正比例增加。大于25 时,新用户不太可能会增加下载速度。有人强烈建议用户界面设计者使该项模糊和很难修改,因为那样做几乎没有用。

3.2.3服务器“scrape”约定

根据惯例,多数服务器支持请求的另一种形式,这种方式询问给定的服务器正在处理的torrent (或所有的torrent)。通常叫做“刮页”("scrape page"),因为它自动处理“刮屏”("screen scraping",服务器统计页)冗长的部分。刮URL 也是一种类似于上面描述的HTTP GET 方法。但基本URL 不同。用以下步骤来得到刮URL:从发布URL 开始寻找其中最后一个“/”。如果在文本之后的“/”不是“announce”,它将被作为一个符号,此符号不支持刮约定。如果是,则以“scrape” 代替“announce”来找到刮页。

例:(发布URL -> scrape后的URL)

https://www.doczj.com/doc/c111610420.html,/announce -> https://www.doczj.com/doc/c111610420.html,/scrape https://www.doczj.com/doc/c111610420.html,/x/announce -> https://www.doczj.com/doc/c111610420.html,/x/scrape

https://www.doczj.com/doc/c111610420.html,/announce.php -> https://www.doczj.com/doc/c111610420.html,/scrape.php https://www.doczj.com/doc/c111610420.html,/a -> (不支持scrape)

https://www.doczj.com/doc/c111610420.html,/announce?x=2%0644 ->

https://www.doczj.com/doc/c111610420.html,/scrape?x=2%0644

https://www.doczj.com/doc/c111610420.html,/announce?x=2/4 -> (不支持scrape)

https://www.doczj.com/doc/c111610420.html,/x%064announce -> (不支持scrape) 此“scrape”标准是由Bram 在BitTorrent 开发列表文件中说明的。具体见

https://www.doczj.com/doc/c111610420.html,/group/BitTorrent/message/3275

可选参数“info_hash”可以作为scrape后的URL的一个补充,是一个20 字节的值。为了降低服务器的负载和带宽,强烈建议软件作者尽可能使用“info_hash”参数。

3.3. Peer wire protocol (用户线路协议)

用户线路协议使种子文件中片断(pieces)的交换变得更容易。

注意原始规范在描述用户协议时也使用术语“片断”(piece),但与种子文件中的术语“片断”(piece)不同。由于该原因,在本文档中将用术语“块”(block)来描述用户之间通过线路交换的数据。

客户端必须为每个远程用户的连接保持状态信息:

choked(被阻塞):远程用户是否阻塞此客户端。当用户阻塞客户端时,不会响应任何请求。客户端不应尝试发送请求块,所有未响应的请求会被远程用户丢弃。

interested(感兴趣):远程用户是否对此客户端感兴趣。当客户端未阻塞时,远程用户将开始发送请求块。

注意这也意味着客户端需要记住自己是否对远程用户感兴趣和阻塞它。因此,真正的列表看起来像这样:

am_choking:此客户端阻塞远程用户

am_interseted:此客户端对远程用户感兴趣

peer_chokong:远程用户阻塞此客户端

peer_interested:远程用户对此客户端感兴趣

客户端的连接以“被阻塞”和“不感兴趣”开始。也就是:

am_choking= 1

am_interested= 0

peer_choking= 1

peer_interested= 0

当客户端对远程用户感兴趣并且远程用户未阻塞该客户端时,客户端开始下载块。当客户端没有阻塞远程用户并且远程用户对该客户端感兴趣时,客户端开始上传块。

客户端保持通知远程用户自己是否对它们感兴趣,这是很重要的。与每个远程用户连接的状态信息应保持最新,直到该客户端被阻塞。这允许远程用户知道当自己未阻塞时,客户端是否会开始下载;反之亦然。

3.3.1数据类型

如果不特别指定,在用户线路协议中的所有整数都会编码成 4 字节big endian(大字节序)值,包括在握手之后所有消息中的长前缀,。

3.3.2消息流

用户线路协议包括初始握手。之后,用户通过带有长度前缀消息的交换来进行通信。长度前缀是上述的一个整数。

3.3.3握手消息

握手是必需的消息,它一定是由客户端发送的第一条消息,长度是(49+len(pstr)) bytes。它的具体格式如下

handshake::

一个真实的数据包如下图所示

图 3 handshake消息

其中,各个个字段的含义为:

pstrlen:串的长度,作为单个原始字节

pstr:协议的串标识符

reserved:8 个保留字节。当前的执行使用全0。字节中的每位可以用来改变协议的行为。一封Bram 的电子邮件建议首先使用末位,以使首位可用来改变末位的含义。

info_hash:种子文件信息关键字的20 字节SHA-1 散列值。这与服务器请求中发送的info_hash 意义相同。

peer_id:每个客户端用来作为唯一标识的20 个字节的串。这与服务器请求中发送的peer_id 意义相同。

在BitTorrent 协议v1.0 中:pstrlen=19,pstr="BitTorrent protocol"

连接的发起者应该立即发送彼此的握手信息。即使接收者能同时提供多个torrent(torrent 通过自己的info_hash 来唯一标识),它也应等待发起者的握手信息。但是,接收者在看到握手的info_hash 部分后必须迅速回应。服务器的NAT 检查特性不会发送握手的peer_id 字段。

如果客户端收到一个当前不能处理的握手info_hash,该客户端就会断开那个连接。

如果连接的发起者收到一个握手信息,其中的peer_id 与预期的不同,那么发起者就会断开该连接。注意发起者可能会收到来自服务器的远程用户信息,它包括远程用户注册的peer_id。来自服务器的peer_id 与握手信息中的应该相同。

peer_id

主要有两种将客户端及其版本信息编码到peer_id 的方法:Azureus 型和Shadow 型。

Azureus 型使用如下编码:“-”,一个客户端标识使用两个字符,版本号用4 个ASCII 数字表示,“-”紧跟在随机数字之后。

例如:'-AZ2060-'...

已知采用这种方法编码的客户端是:

?'AR' - Arctic

?'AZ' - Azureus

?'BB' - BitBuddy

?'BC' - BitComet

?'BS' - BTSlave

?'BX' - Bittorrent X

?'CD' - Enhanced CTorrent

?'CT' - CTorrent

?'LP' - Lphant

?'LT' - libtorrent

?'lt' - libTorrent

?'MP' - MooPolice

?'MT' - MoonlightTorrent

?'QT' - Qt 4 Torrent example

?'RT' - Retriever

?'SB' - Swiftbit

?'SS' - SwarmScope

?'SZ' - Shareaza

?'TN' - TorrentDotNET

?'TR' - Transmission

?'TS' - Torrentstorm

?'UT' - μTorrent

?'XT' - XanTorrent

?'ZT' - ZipTorrent

Shadow 型采用如下编码:用1 个ASCII 字母或数字标识客户端,3 个ASCII 数字标识版本号,“----”紧跟在随机数字之后。

例如:'S587----'...

已知采用此种类型编码的客户端为:

?'A' - ABC

?'O' - Osprey Permaseed

?'R' - Tribler

?'S' - Shadow's client

?'T' - BitTornado

?'U' - UPnP NAT Bit Torrent

Bram 的客户端现在采用的形式:'M3-4-2--'

BitComet则不同。它的peer_id 由四个ASCII 字符组成“exbc”,后面是两个字节的“x”和“y”,之后才是随机字符。版本号“x”是在小数点前的十进制数值,“y”是小数点之后的两个十进制数值。BitLord使用相同的结构,但在版本号后添加“LORD”字符。一个BitComet 的非官方补丁将“exbc”替换成了“FUTB”。BitComet 用户标识的编码在0.59 及其以前的版本都采用的Azureus 型。

XBT Client也有自己的风格。其peer_id 由三个大写字母“XBT”紧跟三个代表版本号的ASCII 数字。如果客户端处在调试阶段,第七字节则是小写字母“d”,其他情况下是“-”。之后是“-”和随机数字,大写和小写字母。例:'XBT054d-'表示0.5.4 版的开始调试阶段。

Opera 8 previews采用以下结构:前面两个字符“OP”紧跟四个相等的构建号。之后所有字符都是随机小写16 进制的数字。

Bits on Wheels采用格式“-BOWAxx-yyyyyyyyyyyy”,其中“y”是随机大写字母,x 取决于版本。版本1.0.6 中xx=0C。

许多客户端使用随机数字或12 个0紧跟着随机数字(如以前旧版本的Bram 客户端)。

3.3.4消息

协议中所有发送的消息均采用“<长度前缀><消息标识符><有效负载>”的形式。长度前缀是一个占4 字节的值(big endian)。消息标识符是一个十进制字符。有效负载是与具体消息有关的。具体的消息种类如下所示

keep-alive:

“保持活动”消息是由0组成的字节串,将长前缀设为0可指定。没有消息标识符和有效负载。如果在一段时间内,用户没有收到消息,它会断开连接,所以需要发送活动消息来维持连接。一条保持活动消息大概每两分钟发送一次。

choke:

阻塞消息是定长的,无有效负载。

unchoke:

未阻塞消息是定长的,无有效负载。

interested:

感兴趣消息是定长的,无有效负载。

not interested:

不感兴趣消息是定长的,无有效负载。

have:

拥有消息是定长的。有效负载是刚成功下载和通过散列值校验的0基片段的索引。

使用者注意:这是严格的定义,实际上会用到某些游戏程序。特别地,因为用户极不可能下载已经拥有的片断,用户可能不会选择向另一个用户宣布已拥有那个片断的消息。少量“拥有抑制”会导致拥有消息减少一半,在协议前面将转化到25-35%。

恶意用户可能会选择宣布拥有别人永远不会下载的片断。因此,向普通用户发送此信息是坏主意。

bitfield:

位字段消息可能在握手序列发送完成后,在其他任何消息发送之前立即发送。它是可选的,如果客户端没有此片断则不必发送。

位字段消息是变长的,其中的“X”是位字段的长度。有效负载是代表成功下载片断的位字段。首字节的高位对应片断索引0。已清除的位则指出缺少的片断,通过一个有效可用的片断来设置位。末位剩下的位设置为0。

一个错误长度的位字段被认为是错误。客户端在收到不正确大小的位字段或已有设置为剩下位的位字段时应断开连接。

request: <索引><开始><长度>

请求消息是定长的,用来请求块。有效负载包含以下信息:

索引:指定0基片断索引的整数。

开始:指定片断内0基字节的偏移量整数。

长度:指定被请求长度的整数。

根据官方规范有关主要版本3,“所有当前执行应使用2^15(32 KB),请求数量大于2^17 (128 KB)时应断开连接。”在主要版本4中,此反应修改到了2^14 (16 KB),超过该值的用户会强迫拒绝。注意到块请求小于片断大小(>=2^18 字节),所以为下载一个完整片断需要多次请求。

由于新版本将限制定在16 KB,尝试使用32 KB 的块就好比用4 发子弹来玩俄式轮盘--会遇到困难。更小的请求会导致更大的系统时间和空间开销,因为要跟踪很多请求。结果应使用所有客户端都允许的16 KB。

请求块大小的限制执行的选择没有减少一部分清楚。在主要版本4 中,强制使用16 KB 的请求,许多客户端会使用该值,只有一个严格客户端组不会使用。大多数旧客户端使用32 KB 请求,不允许明显减少可能用户的批次。同时16 KB 是现在部分官方的限制(“部分”是因为官方协议文档没有更新),所以强制使用没有错。另外,允许更大的请求增大了可能用户的批次,除在非常低的带宽连接(小于256 kbps)中,多个块会在一个阻塞周期内完成下载,从而强迫使用旧的限制仅会降低很少的性能。因此,推荐仅在旧的128 KB 下才强行限制。

piece: <索引><开始><块>

片断消息是变长的,其中的“X”是块长度。有效负载包含以下信息:

索引:由0基片断索引指定的整数

开始:由片断内0基字节偏移量指定的整数

块:数据块,是索引指定片断的子集。

cancel: <索引><开始><长度>

取消信息是定长的,用来取消块的请求。有效负载与“请求”消息相同。典型用在“最后阶段”中。(见下面的算法段)

port:

端口消息是由运行DHT服务器的新版本的主要部分。监听端口是用户DHT 节点正在监听的端口。如果DHT 服务器支持,则应把此用户加入本地的路由表中

一个真实的数据包如下图所示

图 4 Piece消息

其中data in a piece 就是该消息承载的真正的数据,这是整个文件中的一小片(piece)。当所有的片都被下载下来,整个下载就完成了,当然,此时上传仍然在进行。

附录1 B编码

B编码是一种以简洁格式指定和组织数据的方法。支持下列类型:字节串、整数、表和字典。

字符串

字节串按如下编码:<以十进制ASCII编码的串长度>:<串数据>

注意没有开始和结束的分隔符。例:“4:spam” 代表字符串“spam”

整数

整数按如下编码:i<以十进制ASCII 编码的整数>e

开始的“i”与结尾的“e”分别是开始和结束分隔符。可以使用如“i-3e”之类的负数。但不能把“0”放到数字的前面,如“i04e”。另外,“i0e”是有效的。

例:“i3e”代表整数“3”

表按如下编码:l<编码值>e

开始的“l”与结尾的“e”分别是开始和结束分隔符。表可以包含任何已编码的类型,包括整数、串、字典和其他的表。

例:l4:span4:eggse 代表两个串的表“spam”、“eggs”

字典

字典按如下编码:d<编码串><编码元素>e

开始的“d”与结尾的“e”分别是开始和结束分隔符。注意关键字必须被编码为串。值可以是任何已编码类型,包括整数、串、表和其他字典。关键字必须是串,以分类的顺序出现(以原始串排列,而不是以字母数字)

例1:d3:cow3:moo4:spam4:eggse 代表字典{ "cow" => "moo", "spam" => "eggs" }

例2:d4:spaml1:a1:bee 代表字典{ "spam" => ["a", "b"] }

附录2 参考资料

BitTorrent Specification - 本文参考英文原文

https://www.doczj.com/doc/c111610420.html,/protocol.html - 官方协议规范。

BitTorrent Tracker Extensions - 描述了正在使用的服务器协议的不同扩展。

附录3 BT协议交互数据包与种子文件

项目合作协议模板

项目合作协议 甲方: 乙方: 地址:地址: 本着互利、共同发展的原则,经友好协商双方就 的项目开发和项目实施建立合作关系,达成以下协议: 第一节合作范围与合作方式 一、甲乙双方就项目展开合作; 二、对甲乙双方达成合作意向的项目由甲方负责对外洽谈,但没有一 方书面同意,另一方不得代表其签署任何具有法律责任的文件,否则相关文件视为无效; 三、甲乙双方在项目开发中相互配合并各自承担己方费用;共同推动具体项目的签订,并通过签订具体的项目商务合同落实进一步合作和进行结算。 四、具体合作程序:甲方负责与客户洽谈,乙方期间提供技术支持。甲方先向乙方采购客户所需产品,而后再就特定产品与客户订立买卖合同,由甲方向客户承担售后服务全部内容。 第二节双方定位和职责 一、甲方定位和职责: 甲方负责项目整体开发,负责同潜在项目客户进行技术交流和商务谈判。 二、乙方定位和职责:

乙方使用自己的资质和技术产品力量为甲方项目开发提供技术支持,包括但不限于技术资料提供、对甲方人员技术培训、为甲方具体项目开发和谈判提供项目系统设计方案、完成甲方需要向客户提交的投标文件等,乙方为提供技术支持所花费的费用由甲方承担,如资料成本费、培训费等。 第三节合作期限 双方的合作期限为:年,自合作期限年月日至年月日。协议期满后,双方本着自愿平等、互惠互利、共同发展的原则,可以续定新的协议。 第四节资质及知识产权承诺 一、乙方保证其拥有合法有效的经营资质,其产品达到国家及地方标准,并符合其在招投标文件中描述和承诺的标准。乙方应在具体项目合作中提供营业执照、资质证明、业绩证明等与业务合作相关的资料; 二、乙方保证对其产品和服务所采用的专利技术、非专利技术和所使用的商标拥有合法的权利(专利权、被许可使用权、商标权或其他知识产权),不侵犯任何第三方的合法权益。乙方应对违反承诺给甲方造成的一切损失负责。 第五节保密及排他条款 甲乙双方应对合作过程中所知悉的对方的文件、信息以及其他往来交流材料等重要信息保密,该秘密信息包括但不限于非专利技术信息、金融财务信息、供应和服务信息以及客户信息、市场信息等一方已经明示为保密信息的信息。确保秘密信息仅用于双方战略合作的内

战略合作框架协议样本.

战略合作框架协议 协议编号: 协议签订地: 甲方 : 法定代表人:地址: 电话:传真: 乙方 : 法定代表人:地址: 电话:传真: 甲乙双方经过广泛的沟通、交流,在平等自愿、互惠互利、共同促进和力争双赢的前提下,决定建立战略合作伙伴关系,并达成如下框架协议: 第一条合作方概况 1、甲方是 (创办人、创办时间、注册资本、业务方向、行业地位、人员配置、专业资质等企业基本信息 。 2、乙方是 。 3、双方建立战略合作伙伴关系,通过长期多方位的合作力争共赢。 第二条合作宗旨 1、双方在合作中建立的互信、惯例与默契是双方战略合作伙伴关系的基础, 提高效率和共同发展是双方合作的目标和根本利益。

2、双方充分利用各自优势, 增强信息资源共享水平, 改善相互之间的交流, 保持战略伙伴相互之间高度信任, 产生更大的竞争优势, 以实现双方在成本、管理、服务、用户满意度以及业绩方面的改善和提高。 第三条合作内容 1、甲乙双方应进一步加强沟通交流,不断加深了解,以开展更进一步的合作。 2、甲乙双方应及时共享各自的服务信息、公司动态、用户需求等经营信息, 并保持定期互动更新。 3、甲乙双方人员可定期举行碰头会,对合作的进展和遇到的问题进行总结和解决,并制定下一步合作的计划。 4、任一方应积极回应对方的问询(包括价格、服务形式、服务范围等和要约。 第四条合作期限 1、甲乙双方合作期限自年月日起至年月日止,共 ___年。 2、合同期满前一个月,任何一方决定不再继续合作的,应当向对方发出书面通知解除合作关系。双方均未发出解除合作关系通知的, 本合同自动延续年。再次到期的,依此类推。 第五条协议的效力与适用 1、本框架协议为双方进行长期战略合作的指导性文件和基础,对后续合作的具体内容,双方在平等互利的基础上进一步商讨确定。 2、根据协议,双方可视市场及双方发展需要不断增加合作内容。 3、在履行过程中双方另有特别约定的,按特别约定执行,具体合作事宜应另行协商并签署具体的合同。

bt项目是什么意思.doc

bt项目是什么意思 BT投资也是一种“交钥匙工程”,社会投资人投资、建设,建设完成以后“交钥匙”,政府再回购,回购时考虑投资人的合理收益。下面是我为大家整理的“bt项目是什么意思”。本内容为大家提供参考。希望对您有所帮助。!!! bt项目是什么意思 释义:建设移交. 外文名:Build Transfer BT投资是BOT投资的变种 BT投资是BOT的一种变换形式,是指一个项目的运作通过项目管理公司总承包后,由承包方垫资进行建设,建设验收完毕再移交给项目业主。BOT是对Build-Own-Transfer(建设—拥有—转让)和Build-Operate-Transfer(建设—经营—转让)形式的简称,现在通常指后一种含义。而BT是BOT的一种历史演变,即Build-Transfer(建设—转让),政府通过特许协议,引入国外资金或民间资金进行专属于政府的基础设施建设,基础设施建设完工后,该项目设施的有关权利按协议由政府赎回。 BT模式特点BT模式作为一种新兴的工程建设管理模式,在国内得到了蓬勃发展,较好的解决了因为建设单位资金紧张而不能实施工程的难题,尤其是一些政府牵头开发投资的公益性项目应用较多。BT模式具体是指业主授权BT承包商对项目通过融资建设,建设后整体移交给业主,业主用建设期间以及工程完成以后所募集的资金,以偿付企业的融资本金及利息的一种新型的项目管理模式。一些现金流充足的企业,业绩较好,有一定融资能力的总承包企业就可以采用BT模式,扩大企业的业务量,延伸企业经营的范围,扩大市场占有量。 通俗地说,BT投资也是一种“交钥匙工程”,社会投资人投资、建设,建设完成以后“交钥匙”,政府再回购,回购时考虑投资人的合理收益。除了BT演变方式外,BOT的演变形式还有BOOT方式,即建设—拥有—运营—移交;BOO方式,即建设—拥有—运营;BLT方式,即建设—租赁

项目合作协议书范本文库

编号:YB-HT-029707 项目合作协议书范本文库 Model document library of 甲方: 乙方: 签订日期:年月日 文档中文字均可自行修改 编订:YunBo Network

项目合作协议书范本文库 甲方: 住址: 身份证号: 乙方: 住址: 身份证号: 甲,乙双方因共同投资设立有限责任公司(以下简称“公司“)事宜,特在友好协商基础上,根据《中华人民共和国合同法》,《公司法》等相关法律规定,达成如下协议。 拟设立的公司名称,住所,法定代表人,注册资本,经营范围及性质 1、公司名称:有限责任公司

2、住所: 3、法定代表人: 4、注册资本:元 5、经营范围:,具体以工商部门批准经营的项目为准。 6、性质:公司是依照《公司法》等相关法律规定成立的有限责任公司,甲,乙双方各以其注册时认缴的出资额为限对公司承担责任。 二、股东及其出资入股情况 公司由甲,乙两方股东共同投资设立,总投资额为元,包括启动资金和注册资金两部分,其中: 1、启动资金元 (1)甲方出资元,占启动资金的50%; (2)乙方出资元,占启动资金的50%; (3)该启动资金主要用于公司前期开支,包括租赁,装修,购买办公设备等,如有剩余作为公司开业后的流动资金,股东不得撤回。

(4)在公司账户开立前,该启动资金存放于甲,乙双方共同指定的临时账户(开户行:账号:),公司开业后,该临时账户内的余款将转入公司账户。 (5)甲,乙双方均应于本协议签订之日起日内将各应支付的启动资金转入上述临时账户。 2、注册资金(本)元 (1)甲方以现金作为出资,出资额元人民币,占注册资本的50%; (2)乙方以现金作为出资,出资额元人民币,占注册资本的50%; (3)该注册资本主要用于公司注册时使用,并用于公司开业后的流动资金,股东不得撤回。 (4)甲,乙双方均应于公司账户开立之日起日内将各应缴纳的注册资金存入公司账户。 3、任一方股东违反上述约定,均应按本协议第八条第1款承担相应的违约责任。三,公司管理及职能分工

项目合作协议模板29773

项目合作协议 合同编号: 甲方:(以下简称甲方) 地址: 电话:传真: 乙方:(以下简称乙方) 地址: 电话: 传真: 甲乙双方本着互惠互利、双方共赢的原则,双方就甲方委托乙方设计智能学生证产品(以下简称合作产品或产品)事宜,签署本合同。在该合同下,双方将互相配合,共同致力于建 立一个平等且良好的商业关系,并尽最大努力避免双方关于该合同相关条款的任何误解与争 论辩驳。 1.合作模式 1.1 甲方提供产品需求信息,与乙方共同确定产品技术规格。《技术规格》作为本协议附件一。 1.2 甲方负责产品的市场推广和销售。 1.3 甲方负责定位及校讯通平台的搭建。 1.4 甲方负责产品的所有测试认证的申请,乙方提供技术支持。(乙方负责,产品交前必须有 3C 认证,数量达到20K 后需要过国家入网认证) 1.5 乙方负责产品的主板设计、整机ID/MD 设计、采购、生产,整机交付给甲方。 1.6 乙方就合作项目对甲方提供技术指导、技术服务。乙方就甲方提出的技术问题视实际需 要通过现场指导、电话、传真或E-mail 等方式进行。 1.7 乙方对于原材料、过程及成品需依据甲方《品质保证协议》来进行品质保证。《品质保证 协议》作为本协议附件一; 1.8 为加快甲方定位平台的建设及完善,乙方提供必要的技术支持。 2.费用及订单要求 2.1 产品研发费用包括: (1)ID/MD 设计费用万元人民币 (2)产品软硬件设计费用万元。 (3)定位平台搭建费用,根据实际需要协商费用。

在本协议签署后, 2 个工作日内,甲方支付总费用的60%,产品第一次小批量后,批量下单前,甲方支付剩余40%费用。 2.2 本合同涉及的合作产品的项目试制费用,样机制作费用,模具费用,认证费用及预测试 费用等由甲方承担。(乙方承担) 2.3 原则上甲方将提前8 周向乙方下达 2 个月的订单预测,为缩短交期,可单独下达长周期 物料订单。 2.4 实际交货以双方确定的订单为准。乙方收到甲方订单后最迟 3 个工作日内予以确认。原 则上甲方将提前30 天向乙方下达订单(超大订单须提前40 天下达订单),但一旦乙方接受订单乙方均应按订单的要求交付。 2.5 合同产品量产期间,甲方对加工要求的任何变更,必须以“工程变更通知单”的形式通 知乙方,乙方必须在接到通知后 1 个工作日内向甲方做出初步回复,双方就变更事项以书面方式取得一致后,乙方应根据变更后的要求继续履行本合同。双方约定在加工要求 变更经双方确认前已加工的产品不受本款约束。因加工要求变更带来的损失,由要求变 更方(甲方)负责承担,若果因为乙方没有正确及时执行造成的部分,由乙方自行承担。 2.6 在项目中如有发生需要根据甲方要求修改模具,样机制作、试产材料和生产夹具制作等 费用,乙方按实际发生费用和甲方结算。 2.7 甲方要求增加的软件功能或服务,而需向第三方购买版权、技术或者获得许可的费用, 费用由甲方承担。 2.8 如乙方未按订单约定的时间供货,则乙方应从延期第15 天起,按照迟延供货产品总金 额向甲方支付每天0.05% 的违约金。如乙方供货迟延30 天以上,甲方有权取消该订单,除非甲方书面同意乙方继续交货,该订单取消后,乙方应退还已经收到的该批合同产品 的预付款并支付赔偿金,但由于甲方原因造成的迟延供货除外。 2.9 如果甲方未按双方设定日期打款提货,甲方应从逾期日后的第15 天起按照该批协议产 品货款金额每天0.05 %的补偿金支付给乙方。延期超过30 天仍未打款提货,乙方有权要求甲方付清余款,不予返还所收货款,同时有权任意处置该批物料包括但不限于将物 料组装成成品自行处理以补偿损失,并且保留继续向甲方追诉物料滞留损失的权力。 2.10 甲方不得无故取消订单,若因甲方原因取消订单,甲方同意承担乙方已发生的、合 理的直接损失,包括:(i)所持有的所有成品的合同价格,(ii)物料库存的成本,无论其为原材料或半成品,只要确认无法退回供应商或用于其他客户,(iii) 已下定单且无法取消的物料的成本。以上处理应该在两个星期内完成;如果甲方未能在两个星期内完成以上处 理,乙方有权不予返还所收预付款,同时有权任意处置该批物料包括但不限于将物料组 装成成品自行处理以补偿损失,并且保留继续向甲方追诉物料滞留损失的权力。 3.产品单价及付款方式 3.1 本着长期共同发展的原则,乙方向甲方承诺,在双方合作期间,确保产品市场竞争力。

合作框架协议书范本

合作框架协议书 甲方: 乙方: 甲乙双方本着平等互利、优势互补的原则,就结成长期共同发展,并为以后在其他项目上的合作建立一个坚实的基础,经友好协商达成以下共识: 总则 1.根据本协议约定,甲方拨用本公司若干业务员以业务挂靠的形式作为公司(以下统称“乙方公司”)的外贸业务员,以乙方公司的名义对外从事外贸业务。 2.乙方借助甲方提供的清关物流方面的设施、渠道和资源完成本协议范围内贸易业务的进出口清关、运输等活动。 3.本协议的签署不代表双方形成劳动关系,而只限于本协议范围内的业务合作。 4.双方应当遵守相关的国际贸易、外汇、海关等方面法律法规和国际贸易规则,遵守本协议的约定。 权利与义务 1.甲乙双方在符合双方共同利益的前提下,就外贸咨询业务合作等问题,自愿结成战略合作伙伴关系,甲方为乙方提供业务资源、物流渠道资源、展会资源以及外贸人才资源,协助乙方促成业务与业绩,实现双方与客户方的多赢局面。 2.乙方按照外贸合同的有关规定负责进出口货物的质量监督和把关工作,督促有关供货商按时、按质交货,及时出具外贸所需的文件资料和单据。 3.甲方为乙方提供业务机会并协助达成的,乙方应支付相应的业务提成费用。费用支付的额度视甲方在业务达成及实施过程中所起的作用而定,原则上

按乙方实际的业务利润的一定百分比执行,按实际到账的阶段与金额支付,具体为每次到账后的若干个工作日内支付。 4.乙方有义务保护甲方公司的商业秘密,包括不得侵犯甲方及甲方公司其他业务人员的客户信息等。 5.合作双方在业务实施过程中,如因己方原因造成合作方、客户方商业信誉或客户关系受到损害的,受损方除可立即单方面解除合作关系外,还可提出一定数额的经济赔偿要求。同时,已经实现尚未结束的业务中应该支付的相关费用,受损方可不再支付,致损方则还应继续履行支付义务。 利润分配机制 1.本条所称的利润是指根据外贸业务收入总额扣除供货货款以及其他应当扣除的成本费用支出的余额。 2.甲乙双方同意并认可,按照乙方实际的业务利润进行分配,具体分配比例和分配时间双方另行协商确定。 本协议有效期暂定一年,自双方代表签字之日起计算,即从____年__月__日至____年__月__日止。本协议到期后,甲方应付未付的信息资源费用,应继续按本协议 支付。 本协议到期后,双方均未提出终止协议要求的,视作均同意继续合作,本协议继续有效,可不另续约,有效期延长一九、本协议在执行过程中,双方认为需要补充、变更的,可订立补充协议。补充协议具有同等法律效力。补充协议与本协议不一致的,以补充协议为准。 甲方: 签约地点: 签约时间:.乙方:

建筑工程总承包BT模式的含义

BT模式的含义 1. BT是英文Build(建设)和Transfer(移交)缩写形式,意即“建设--移交”,是政府利用非政府资金来进行基础非经营性设施建设项目的一种融资模式。 2. BT模式是BOT模式的一种变换形式,指一个项目的运作通过项目公司总承包,融资、建设验收合格后移交给业主,业主向投资方支付项目总投资加上合理回报的过程。 3. 目前采用BT模式筹集建设资金成了项目融资的一种新模式。 [编辑本段] BT模式产生的背景 1. 随着我国经济建设的高速发展及国家宏观调控政策的实施,基础设施投资的银根压缩受到前所未有的冲击,如何筹集建设资金成了制约基础设施建设的关键。 2. 原有的投资融资格局存在重大的缺陷,金融资本、产业资本、建设企业及其关联市场在很大程度上被人为阻隔,资金缺乏有效的封闭管理,风险和收益分担不对称,金融机构、开发商、建设企业不能形成以项目为核心的有机循环闭合体,优势不能相补,资源没有得到合理流动与运用。 目前,大多采用BT模式,比如渝遂高速铜梁互通口(东). [编辑本段] BT模式的运作 1. 政府根据当地社会和经济发展需要对项目进行立项,完成项目建议书、可行性研究、筹划报批等前期工作,将项目融资和建设的特许权转让给投资方(依法注册成立的国有或私有建筑企业),银行或其他金融机构根据项目未来的收益情况对投资方的经济等实力情况为项目提供融资贷款,政府与投资方签订BT投资合同,投资方组建BT项目公司,投资方在建设期间行使业主职能,对项目进行融资、建设、并承担建设期间的风险。 2. 项目竣工后,按BT合同,投资方将完工验收合格的项目移交给政府,政府按约定总价(或计量总价加上合理回报)按比例分期偿还投资方的融资和建设费用。 3. 政府在BT投资全过程中行使监管,保证BT投资项目的顺利融资、建设、移交。投资方是否具有与项目规模相适应的实力,是BT项目能否顺利建设和移交的关键 [编辑本段] 实施BT模式的依据 1. 根据《中华人民共和国政府采购法》第二条“政府采购是指各级国家机关、事业单位和团体组织,使用财政性资金采购依法制定的集中采购目录以内的或者采购限额标准以上的货物、工程和服务的行为。”

项目合作协议书样本(协议模板)

编号:JY-HT-05069 项目合作协议书样本(协议模 板) Any parties with a cooperative relationship can sign an agreement to protect legal rights 甲方:________________________ 乙方:________________________ 签订日期:_____年____月____日 编订:MZYUNBO设计

项目合作协议书样本(协议模板) 甲方:_____ 乙方:_____ 经甲、乙双方共同协商,本着互惠互利、共同发展,使中国秘书尽早走向职业化,达成如下合作协议: 一、甲方授权乙方为_____省_____市_____合作基地。同时为了维护双方的合法权益,乙方一次性向甲方交纳履约保证金_____元。 二、甲方职责: 1.向乙方提供合作范围内的《授权书》; 2.向乙方颁发_____合作基地的铜牌; 3.负责协助乙方办理_____证书; 4.向乙方提供甲方的办学许可证、收费许可证复印件等有关证明文件; 5.负责学生入学资格的审核、面试及录取工作;

6.负责乙方教学大纲的制定及教学质量的监督和检查; 7.学生在甲方学习期满成绩合格者,由甲方负责毕业证书的发放; 8.精品秘书班、现代高等秘书班的学生学习期满成绩合格者,甲方负责安排就业。 三、乙方职责: 1.负责在当地办理合作办学的有关手续; 2.负责在当地的招生宣传、报名及入学资格的初步审定等事宜,并及时与甲方联系安排学生入学注册; 3.负责学生在乙方学习期间的教学及生活管理,并提供教学所需要的教室及教学设施; 4.乙方必须严格执行甲方所制定的教学大纲,并及时向甲方通报教学计划的执行情况 ; 5.负责学生在乙方学习期间的安全并承担由此产生的相关责任; 6.乙方办学、培训期间自行管理,自负盈亏,并承担相应的责任和义务。 四、项目名称:

项目合作合同书样本

协议书是社会生活中,协作的双方或数方,为保障各自的合法权益,经双方或数方共同协商达成一致意见后,签定的书面材料。一起来看看为大家精心整理的“项目合作合同书样本”,欢迎大家阅读,供大家参考。更多内容还请关注哦。 合伙人:甲(姓名),男,年月日出生,现住址:市街道号 合伙人:乙(姓名),男,年月日出生,现住址:市街道号 合伙人本着公平、平等、互利的原则订立合伙协议如下: 第一条甲乙双方自愿合伙经营项目,总投资为×万元,甲出资万元,乙出资万元,各占投资总额的 %、 %。 第二条本合伙依法组成合伙企业,由甲负责办理工商登记。 第三条本合伙企业经营期限为五年。如果需要延长期限的,在期满前六个月办理有关手续。 第四条合伙双方共同经营、共同劳动,共担风险,共负盈亏。企业盈余按照各自的投资比例分配。 企业债务按照各自投资比例负担。任何一方对外偿还债务后,另一方应当按比例在十日内向对方清偿自己负担的部分。 第五条他人可以入伙,但须经甲乙双方同意,并办理增加出资额的手续和订立补充协议。补充协议与本协议具有同等效力。 第六条出现下列事项,合伙终止: (一)合伙期满; (二)合伙双方协商同意; (三)合伙经营的事业已经完成或者无法完成; (四)其他法律规定的情况。 第七条本协议未尽事宜,双方可以补充规定,补充协议与本协议有同等效力。 第八条本协议一式贰份,合伙人各一份。本协议自合伙人签字(或盖章)之日起生效。 合伙人:×××(签字或盖章) 合伙人:×××(签字或盖章) ×年×月×日 项目合作协议由:项目共同出资人(以下简称甲方、乙方) 甲:____,身份证号:____

乙:____,身份证号:____ 甲乙双方本着公平、平等、互利的原则订立合作协议如下: 第一条甲乙双方自愿合作经营________项目,该项目位于____,总投资为____万元,甲乙双方各以人民币方式出资____万元。 第二条在合作期间,甲乙双方出资的为共有财产,不得随意分割。 第三条该项目由双方共同经营,所产生的收益归甲乙双方所有,所产生的亏损或者民事责任由甲乙双方共同承担。 第四条加油站对外承包时,先经甲乙双方协商同意后,再由甲方代表双方签定经营协议。 第五条加油站的固定资产和经营收入由甲乙双方各按50%比例共同拥有。 第六条企业债务按照甲方50%、乙方50%比例共同负担。任何一方对外偿还债务后,另一方应当按比例在十日内向对方清偿自己负担的部分。 第七条在合作期间,如果有一方转赠自己所持有的股份,应提前通知对方。 第八条如果有一方不再继续合作的,退出方应提前三个月向对方提交退出的书面文本,并将己方的有关本合同项目的资料及客户资源都应交给对方,对方可根据市场价格优先购买。第九条争议处理 1、对于执行本合同发生的与本合同有关的争议应本着友好协商的原则解决; 2、如果双方通过协商不能达成一致,则提交仲裁委员会进行仲裁,或依法向人民法院起诉。 第十条违约处理 如果一方违反本合同的任何条款,非违约方有权终止本合同的执行,并依法要求违约方赔偿损害。 第十一条协议解除 1、一方合伙人有违反本合协议的,另一方有权解除合作协议 2、双方同意终止协优议的 3、一方合伙人出现法律上问题及做对企业有损害的,另一方有权解除合作协议第十二条本协议未尽事宜,双方可再协商补充协议,补充协议同等本协议有效。

框架协议范本

本条款清单概述了潜在投资者(“投资人”)投资于xxxx有限公司(“公司”)的拟议的主要条款。本清单旨在概述投资协议中的主要意向性条款,并不构成有约束力的协议。 “公司”:xxxx有限公司,成立于中华人民共和国的有限责任公司 “投资人”深圳市xxxx创业投资有限公司及其他一致行动人所管理的资金(以下 简称“xx创投”) “投资金额”:¥xxxxxxxx元人民币 其中,“xx创投”投资¥xxxxxxxx元人民币 “预计上市”:预期“公司”股份最晚将于201x年12月31日以前于中国国内证券交 易所(“证交所”)上市(首次公开发行) “投资股份”:相当于完全摊薄后“公司”总股本的x% “目前投资估值”:完全摊薄及包含“投资人”投入资金之估值为¥xxxxxxxxxx元人民币“可转让性”:“投资人”可在“公司”上市后根据中国“证交所”上市规则的要求在 禁售期后出售全部或部分股份 “投资人的权利”:“投资人”将享有所有的监察权,包括收到提供予公司管理层之所有信 息的权利 “陈述与保证”:于重要的事项上,如组织及资格、财务报表、授权、执行和交割、协议 有效性和可执行性、股票发行、相关监管机构所要求报告、未决诉讼、 符合法律及环保规定、政府同意、税项、保险充足性、与协议及章程条 款无冲突性、资本化、没有重大的不利改变等事情上,由“公司”所作 出的惯例性的陈述与保证; “投资人”及公司免于对投资前的财务报表中未反映的税收和负债承担 责任,公司现有股东同意承担由此所引起的全部责任; 除非经“投资人”同意,公司现有股东不得将其在“公司”及子公司的 股份质押或抵押给第三方 “保密”:除当法律上要求或/和遵守相关监管机构/权威机构(视情况而定)的披 露要求外,在此的任何一方同意就本清单所包含的信息保守秘密 “排他性”:于预期的结束日期200x年 x月 xx日之前,被投资方现有股东及其任 何职员、董事、雇员、财务顾问、经纪人、股东或者代表公司行事的人 士不得寻求对于企业有关资产或股权的收购融资计划,以及就此与投资 方以外的任何其他方进行谈判。作为对应,投资方如果在投资协议签署 日之前的任何时间决定不执行投资计划,应立即通知被投资方股东代表 “成本和费用”:投资完成后由融资方支付此轮融资的所有费用(财务审计或调查、法律 调查及其他必要费用),但不高于人民币xx万元。如果此轮融资最终未 实现,由“公司”和“投资人”承担其各自相应的费用(若投资方愿意 投资,但因“公司”单方原因导致此轮融资最终未实现,则所有费用由 “公司”承担。)

关于工程项目采用BT模式的理解及利弊分析

关于工程项目采用BT 模式的理解及利弊分析 由于在我国采用BT 模式融资建设公共项目刚刚兴 起,这种新兴起的模式还处于不断地完善之中,但是从目前运作情况看,采用BT 模式建设的项目投资建设更为高效、便捷,使各参建方能更好地发挥专业优势、更有效的进行资源整合。以下根据某市体育中心工程的实施情况,对工程项目采用BT 模式的理解及利弊分析谈一些认识。 、对BT 模式建设的理解 BT(建设-移交)模式通常适用于城市基础建设和公共建 设领域,是由政府通过公开招标(公开招商或议标)的方式确 定投资方,由投资方负责项目资金筹措和工程建设(投资方通 常会组建投资公司,以下简称“项目公司”),项目建成竣工 验收合格后由政府采购,并由政府向投资方支付采购价款的种融资建造方式。 由于城市基础建设和公共建设领域特有的公益性,这些 项目对社会的正常运转是有非常重要的意义,但由于其不可流通,即没有交换价值,项目的公益性决定了BT 项目只能是政府拥有产权和管理权。其次,建设期项目公司的筹融资解决了项目建设期间资金的来源,使政府有计划地将基础设

施的投资提前了,最终实际还款需要经人大同意,列入财政

预算支出。进而决定了BT 项目本质上还是遵守基本建设程序的政府投资项目,这也是目前国内特别是省内BT 项目最大的特点。 、BT 模式建设的主要风险 一)项目审批风险 BT 项目的审批包括项目立项审批、BT 实施方案审批、BT 项目支撑性文件审批三个方面。项目立项审批包括环评、 土地、规划、立项等环节,每一环节出现问题都会导致项目金大部分来源于政府财政资金,因此BT 项目除了需要政府的认可外,还需要人大和有关行政机关的批准,以确保项目能够按照使用财政资金的正常程序执行,给BT 项目以充分的支撑。项目审批涉及到BT 项目实施的基础和合法性,旦出现问题将给项目建设造成难以挽回的损失。 中断甚至停止。另外一个重要方面,由于BT 项目的回购资二)融资风险 融资风险的主要表现形式为在项目开始时或投资超预 算时资金不到位和融资成本上升几种情况。一旦资金不到位这一情况发生,项目实施将停滞,甚至合同解除,给工程建设造成难以挽回的巨大损失。 产生融资风险的主要原因与投资建设方的融资能力、项 目建设规模和前期工作准备情况、项目执行过程中的变化、经济政策变化等因素有关,对融资风险的分析应集中在融资 方案的可行性和融资成本两点。业主必须慎重考察后确定,以保证项目顺利进展。 三)完工风险

项目合作合同协议书通用范本

编号:HZ-20214337 甲 方:______________________________ 乙 方:______________________________ 日 期:_________年________月_______日 项目合作合同协议书通用范本 Promises resulting from either express or an implied agreement can be enforced.

[标签:titlecontent] 项目合作协议由:项目共同出资人(以下简称甲方、乙方) 甲:____,身份证号:____ 乙:____,身份证号:____ 甲乙双方本着公平、平等、互利的原则订立合作协议如下: 第一条甲乙双方自愿合作经营________项目,该项目位于____,总投资为____万元,甲乙双方各以人民币方式出资____万元。 第二条在合作期间,甲乙双方出资的为共有财产,不得随意分割。 第三条该项目由双方共同经营,所产生的收益归甲乙双方所有,所产生的亏损或者民事责任由甲乙双方共同承担。 第四条加油站对外承包时,先经甲乙双方协商同意后,再由甲方代表双方签定经营协议。 第五条加油站的固定资产和经营收入由甲乙双方各按50%比例共同拥有。 第六条企业债务按照甲方50%、乙方50%比例共同负担。任何一方对外偿还债务后,另一方应当按比例在十日内向对方清偿自己负担的部分。

第七条在合作期间,如果有一方转赠自己所持有的股份,应提前通知对方。 第八条如果有一方不再继续合作的,退出方应提前三个月向对方提交退出的书面文本,并将己方的有关本合同项目的资料及客户资源都应交给对方,对方可根据市场价格优先购买。第九条争议处理 1、对于执行本合同发生的与本合同有关的争议应本着友好协商的原则解决; 2、如果双方通过协商不能达成一致,则提交仲裁委员会进行仲裁,或依法向人民法院起诉。 第十条违约处理 如果一方违反本合同的任何条款,非违约方有权终止本合同的执行,并依法要求违约方赔偿损害。第十一条协议解除 1、一方合伙人有违反本合协议的,另一方有权解除合作协议 2、双方同意终止协优议的 3、一方合伙人出现法律上问题及做对企业有损害的,另一方有权解除合作协议第十二条本协议未尽事宜,双方可再协商补充协议,补充协议同等本协议有效。 第十三条本合同一式两份,双方各执一份,具有相同的法律效力。 甲方:(签章)乙方:(签章) 地址:________ 地址:________ 合同签订地点:___________ 合同签订时间:____年__月__日

项目合作协议模板.doc

项目合作协议模板 跟他人一起做项目,在做项目的同时一份协议是保证合作的前提,下面是由我为大家整理的“项目合作协议模板”,仅供参考,欢迎大家阅读。 项目合作协议模板(一) 甲方:____________ 乙方:____________ 鉴于甲方拥有良好的资本运作能力和强劲的市场开拓能力,乙方拥有丰富的社会资源和成熟的项目管理经验。根据《中华人民共和国公司法》和《中华人民共和国合同法》的有关规定,甲、乙双方经友好协商,本着“平等互利、协商一致、等价有偿、共同发展”的原则,就甲、乙双方合作投资开发_________集团有限公司项目事宜达成如下协议: 一、投资开发主体 1、甲、乙双方同意,以双方注册成立的_________公司(以下简称_________)为_________及_________项目的开发投资主体。 2、甲、乙双方通过对_________公司的控股,获得_________项目的开发建设权,通过_________向甲、乙双方分配股东收益的形式,实现甲、乙双方预期的投资收益。 3、甲、乙双方同意,在本协议签署的同时签署公司章程,并由乙方开始办理_________组建手续。 二、出资比例及支付 1、公司_________注册资本为人民币壹亿元人民币。甲、乙双方在_________公司出资比例为:甲方出资人民币______万元,占注册资本的____%;乙方出资人民币______万元,占注册资本的____%。 2、_________公司注册成立时,甲、乙双方必须按以下约定向 _________公司的帐户支付资金。甲方应______年_____月____日前将人民

币______万元支付至_________公司帐户;乙方应______年____月____日前将人民币5000万元支付至_________公司帐户。 3、以上各方如不能按上述约定时间足额注入资金,则视为该违约方对于其在_________公司中的相应比例的股权自动予以放弃,违约方应向守约方或股东之外的他方办理股权转让的手续。 4、甲、乙双方须按照各自在_________公司中的出资比例承担 _________总部及_________项目的投资总额。经甲乙双方股东同意, _________公司也可以自行筹措_________总部及_________项目建设所需资金。 三、公司经营范围 房地产及房地产项目相关的房地产开发投资、销售策划;自有房屋的物业管理、房地产信息咨询(中介服务除外)。 四、管理机构设置 1、_________公司董事会由五人组成,其中甲方推荐名董事,乙方推荐名董事。在董事会中,由甲方董事出任董事长,乙方董事出任副董事长。在项目公司中,乙方推荐总经理人选,甲方推荐副总经理人选;乙方推荐财务总监人选,甲方推荐出纳人选,上述人选由董事会聘任。 2、_________公司工程管理人员原则上从甲、乙双方指定的人员中选派。双方派往_________公司中的工作人员,必须按照公司章程进行管理。对不能胜任和违纪人员,项目公司有权辞退。 3、_________公司的利润分配,按会计年度结算。_________公司因经营_________公司项目收取的全部投资收益,按照甲、乙双方注册资本出资比例依法分配。 4、甲、乙双方承诺,_________公司投资收益如用于股权分配以外的用途,需经董事会决定后,报甲、乙双方确认后执行。 5、凡涉及_________公司的具体事项,均_________公司章程的约定为准。

BT项目和垫资项目区别

BT模式与垫资施工 一、BT模式 BT(Build-Transfer)即建设-移交,是当今国际基础设施项目建设领域中被普遍采用的投资建设模式,系指根据项目发起方通过对选定的投资者予以授权,由投资者负责进行项目的建设。包括筹措资金,并在规定时限内将建成的符合质量要求的项目移交项目发起人,项目发起人根据事先签订的回购合同在一定期限内分期向投资者支付项目总投资并加上合理资金回报。 因此,BT是一种投资方式有别于普通的工程施工。 二、垫资施工 垫资施工是指建设工程的发包方不用预付和按工程进度支付给施工承包商工程款,而是作为施工承包商的建筑企业预先垫付一定数额的工程款,带资施工到预定部分,再由发包方进行偿付。 三、两者的区别 在BT模式和垫资施工承包模式中,都存在发包方后付款项的情况,但两者存在本质的区别。具体包括 1、核心合同性质不同。在BT模式中双方签订的核心合同——BT模式投 资建设合同属于具有投融资性质的新型合同而在垫资施工承包模式中双方签订的合同属于《中华人民共和国合同法》规定的建设工程合同。 2、核心合同内容不同。BT模式投资建设合同包括融资、征地拆迁、建设管 理、工程施工、验收移交等内容而垫资施工承包中的建设工程合同的 主要内容仅包括工程施工等。 3、适用范围不同。BT模式专门适用于基础设施或公共事业项目而垫资施 工承包可以使用于各类工程项目包括私营工程项目等。 4、风险分担不同。BT模式项目主办人及BT模式项目公司承担建设期间的风 险包括融资、投资、质量、进度控制风险以及其他风险BT模式项目 发起人承担项目建成移交之后的营运及其他风险而垫资施工承包中 发包方作为业主对工程享有所有权不仅要承担建设期间的风险还要 承担工程竣工后的销售和营运风险。对施工方来说其根据合同预定承担 施工及其相对应的风险主要是垫资得不到偿付的风险。 四、政策要求 2006年,建设部、国家发展和改革委员会、财政部、中国人民银行联合发布的《关于严禁政府投资项目使用带资承包方式进行建设的通知》(建市[2006]6号)中,明确指出凡是政府投资项目不得进行带资建设,但其不适用范围仅包括了

项目合作协议书模板文档

2020 项目合作协议书模板文档CONTRACT TEMPLATE

项目合作协议书模板文档 前言语料:温馨提醒,合同是市场经济中广泛进行的法律行为,人议,以及劳动合同等,这些合同由其他法律包括婚烟、收养、监护等有关身份关系的协进行规范,不属于我国合同法中规范的合同在市场经济中,财产的流转主要依靠合同。 本文内容如下:【下载该文档后使用Word打开】 项目合作协议书模板一 甲方:法定地址: 乙方:法定地址: 依据中华人民共和国合同法及有关法律法规的规定,甲、乙双方本着平等互利、诚实信用的原则,共同合作参与开发建设房地产项目,为明确甲、乙双方的权利、义务和责任,经过友好协商,达成如下合作协议,共同遵守执行: 一、合作项目概况 甲、乙双方初步商定本次合作为大河粮站房地产开发建设, 项目地址:____________________ 占地面积:_____平方米 二、合作的范围及内容 根据甲乙双方协商本次合作模式为资产置换模式,甲方以南江县大河镇大 河粮油购销公司土地共_____平方米,双方约定价格共计_____元作为本次项目置换房屋,待乙方规划设计完成后甲方一次

性抵扣完土地金额,具体如附件2。 根据目前的实际情况和市场状况,双方商定本次合同为本项目建设的初期合同,到项目可以开工建设时再签订正式合同,本次合作范围及内容是为本项目前期的规划、设计及相关事项,包括项目开发建设所需资金及销售。 三、合作方式 在本次共同合作中,前期以甲方的名义进行对外沟通、信息交流、协调关系、公关等商务事宜,乙方以甲方管理人员的身份完成本协议约定的工作,进行相应合法商务活动。 四、甲、乙双方的工作与责任 4.1、甲方责任: 4.1.1、向乙方提供项目活动所必需的一切相关资料,如甲方的土地使用证、组织机构、管理机构、注册资本、企业章程、企业营业执照、资质证书、验资报告、年度财务报表、法人代表证明书、授权委托书等一切为合作项目服务的资料证明文件。 4.1.2、在乙方提供投资开发所必须的资料基础上,负责协助乙方筹备项目的推介及开发所需的文件资料(包括老百姓的拆迁,项目开发必须的土地、建设手续,协调周边相邻关系) 4.2.4、负责协调关系并使乙方在合作开发的项目竞争中入围中标。 4.2、乙方责任: 4.1.6、承担本项目合作过程中所发生的一切费用支出。 4.2.1、负责提供获得项目服务事宜的公共关系支持。

公司项目合作协议范本.doc

公司项目合作协议范本 公司进行项目合作是商业盈利的主要方式,下面我跟大家分享几篇合作协议书,希望对大家有所帮助! 公司项目合作协议范本一 甲方:_________ 乙方:_________ 经甲、乙双方共同协商,本着互惠互利、共同发展,使中国秘书尽早走向职业化,达成如下合作协议: 一、甲方授权乙方为_________省_________市_________合作基地。同时为了维护双方的合法权益,乙方一次性向甲方交纳履约保证金_________元。 二、甲方职责: 1.向乙方提供合作范围内的《授权书》; 2.向乙方颁发_________合作基地的铜牌; 3.负责协助乙方办理_________证书; 4.向乙方提供甲方的办学许可证、收费许可证复印件等有关证明文件; 5.负责学生入学资格的审核、面试及录取工作; 6.负责乙方教学大纲的制定及教学质量的监督和检查; 7.学生在甲方学习期满成绩合格者,由甲方负责毕业证书的发放; 8.精品秘书班、现代高等秘书班的学生学习期满成绩合格者,甲方负责安排就业。 三、乙方职责: 1.负责在当地办理合作办学的有关手续; 2.负责在当地的招生宣传、报名及入学资格的初步审定等事宜,并及时与甲方联系安排学生入学注册; 3.负责学生在乙方学习期间的教学及生活管理,并提供教学所需要的教室及教学设施; 4.乙方必须严格执行甲方所制定的教学大纲,并及时向甲方通报教学计划的执行情况 ;

5.负责学生在乙方学习期间的安全并承担由此产生的相关责任; 6.乙方办学、培训期间自行管理,自负盈亏,并承担相应的责任和义务。 四、项目名称: (一)精品秘书班合作项目: 1.生源定位:专科、本科毕业生(年龄在26周岁以下); 2.开班条件:每班不少于_________人; 3.合作模式:实施"半年+半年"教学方式; 4.收费标准及结算办法:每年每生学费_________元。前半年在乙方开班由乙方收取学费_________元,为保证教学正常进行,乙方可以预留_________元,余款全部交于甲方,甲方从开学后第三个月开始每月向乙方支付_________元,直至余款付清;后半年学生在甲方学习的学费_________元由甲方负责收取。如乙方不能独立开班而直接将学生送到甲方学习,则甲方按该生全年学费的15%向乙方返利。 (二)校际直升合作项目: 1.生源定位:初中毕业生; 2.开班条件:每班不少于_________人; 3.合作模式:"2+3"五年专或"2+2+2"六年本; 4.招生与管理:乙方招生时可使用"校际合作,直升北秘"宣传语,学生前两年在乙方学习,期间的一切教学活动由乙方负责。学生入学后须在甲方注册,甲方将进行全程教学监控。学生前两年学业证书由乙方负责颁发,成绩合格者经面试由甲方直接录取,其后在甲方完成大专或本科阶段的相应课程。如乙方不具备独立开班条件亦可将学生直接送入甲方完成"五年专"或"六年本"学业。 5.收费标准及结算办法:前两年学费由乙方根据当地情况自定并收取,同时向甲方缴纳学费的15%教学质量保证金(不足一万元按一万元收取),为有利于双方长久合作,学生后期到甲方学习期间,甲方每年按学费的15%向乙方返利。 (三)现代办公管理证书培训项目: 1.生源定位:在职秘书及办公管理人员及在校大学生; 2.教学管理:甲方负责制订教学计划并提供师资培训及教材;乙方负责组织招生及正常教学活动;

框架协议-合作框架协议范本

框架协议-合作框架协议范本 甲方: 乙方: 甲乙双方本着平等互利、优势互补的原则,就结成长期、全面的INTERNET 战略伙伴关系,实现资源共享、共同发展,并为以后在其他项目上的合作建立一个坚实的基础,经友好协商达成以下共识: (一) 权利与义务 1. 甲乙双方皆承认对方为自己的战略合作伙伴,并在彼此互联网站的显著位置标识合作方的旗帜徽标链接或文字链接。 2. 甲乙双方授权合作方在其互联网

站上转载对方网站上的相关信息,该信息将由双方协商同意后方可引用(具体合作项目另签协议)。 3. 甲乙双方在彼此互联网站中转载引用合作方的信息时须注明”该信息由×××(合作方网站)提供”字样,并建立链接。 (二) 相互宣传 1. 甲乙双方应在彼此站点追踪报道合作方的市场推广计划及相关营销活动。 2. 甲乙双方都认可的适当时间内,双方在彼此站点上开设专栏,撰写并宣传与合作对方商业行为有关的话题(具体合作项目另签协议) 3. 甲乙双方在有关INTERNET专题的研讨会和金融、金融等行业的各种展览会上,互相帮助、共同宣传,共同推进双方的品牌。 4. 双方还可就其它深度合作方式进行进一步探讨。 (三)其他 1. 甲乙双方的合作方式没有排他性,双方在合作的同时,都可以和其他

相应的合作伙伴进行合作。 2. 本协议有效期为年,自年月日起到年月日为本协议商定合作方案的执行期限。 3. 甲乙任何一方如提前终止协议,需提前一个月通知另一方;如一方擅自终止协议,另一方将保留对违约方追究违约责任的权利。 4. 本协议一式两份,双方各执一份,具有同等法律效力。 5. 本协议为合作框架协议,合作项目中具体事宜需在正式合同中进一步予以明确。框架协议与正式合作合同构成不可分割的整体,作为甲乙双方合作的法律文件。 6. 本协议期满时,双方应优先考虑与对方续约合作。 7. 双方的合作关系是互利互惠的,所有内容与服务提供均为免费。 甲方:乙方: 代表签字:代表签字: 日期:年月日日期:年月日

相关主题
文本预览
相关文档 最新文档