时间:2023-03-14 14:49:33
引言:寻求写作上的突破?我们特意为您精选了12篇tpp协议范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
多哈谈判失败,WTO备受质疑
2006年的多哈谈判,最终以失败告终,这标志着WTO在国际贸易领域的权威地位和管理者角色备受质疑。由于国际性的金融危机和贸易萎缩的情况,使得各国的贸易保护性倾向抬头,贸易壁垒和各种贸易摩擦愈演愈烈。而在国际贸易中扮演领头羊,实际上也是最大的贸易国――美国,却一次次以反倾销反补贴的名义随意滥用“733条款”,保护本土企业而挑起贸易争端。
WTO在这种情况下,未能有力改变现有的格局,也没有有效处理和解决这类贸易问题的手段。而美国在WTO架构之外,接连主导和启动了区域贸易协议谈判,如Plurilateral Service Agreement(多边服务协定,简称PSA)、Transatlantic Trade and Investment Partnership(跨大西洋贸易与投资伙伴关系协定,简称TTIP)和 Trans-Pacific Partnership Agreement(跨太平洋伙伴关系协定,简称tpp),进一步将WTO推向边缘化。
这其中,PSA是美国针对盟友的优惠措施,算是照顾追随自己的“小伙伴们”的一种贸易优惠措施;TTIP是美国与欧洲的贸易磋商,意图在经济危机的全球背景下,掌控美欧之间的贸易话语权;TPP是美国在整个亚太地区主导贸易发展的一个大框架,借此来掌握整个区域的贸易制高点。
这三大协议,可能在不远的将来,就会成为压倒WTO这个骆驼的最后一根稻草,全新的贸易秩序,也可能会在摩擦和整合中逐步出现。
而中国在这个时候成立上海自贸区,显然是希望能在未来的贸易秩序中,增强话语权,增加中国贸易行业在世界贸易领域的分量,在未来可能的贸易变革中占据有利地位。
自贸区背后的大战略
很多人容易把上海自贸区看成一个区域性的试点,其实是错的。这是一个国家概念的战略规划,显然是以上海这个前沿窗口作为试点,一旦成功,可能就会迅速复制到全国。这从自贸区的命名就可看出,中国(上海)自由贸易试验区,是国字头,而非粤港澳自由贸易区等区域自贸区可比,侧重点是对外贸易的一个新窗口、新尝试,并非区域贸易的整合和资源优化。
我们容易看到,这背后巨大的战略智慧。一旦上海自贸区成立,上海必然会成为人民币离岸结算中心,为未来的人民币国际化铺路;这也容易培养上海成为中国重要的物流、金融和船运中心,有望与新加坡在整个亚洲范围内竞争;而免税和自由区域必然会吸引国际高端制造业的入驻,也会推动上海在整个长三角工业的依托下,提升产业格局并推动制造业变革。
更重要的是,在目前的国际贸易分工领域,中国需改变原有的“劳动密集型世界工厂”,改变产业布局和自身定位,在未来的TPP贸易协定中突围,掌控制高点和话语权,重新参与全球化的贸易分工。
而目前的TPP框架内,已经涵盖了环太平洋的主要贸易国家。
中国借自贸区这个支点,撬动的是整个亚太区的贸易大格局,为将来的国际分工率先布局,也为了与多边国家的贸易谈判,尤其是美国的谈判中赢得话语权。
一、TPP简介
最早由APEC成员国中的新西兰、新加坡、智利、文莱四国发起的多边自由贸易协定――“跨太平洋战略经济伙伴关系”,原本无人问津,随着2009年美国宣布加入“跨太平洋伙伴关系协议”(简称TPP)谈判,开始受到各界关注。TPP的最终目标是要建成亚太地区市场准入水平更高、竞争政策范围更广、知识产权保护力度更大、劳工和环境标准更严、争端解决约束力更强的高标准自由区。耗时多年的TPP基本协议初步达成。
TPP只是美国应对东亚合作、获得非传统经济利益的工具。从成本收益的角度分析,经济小国或许能够从TPP中获益,但是对大国而言,TPP的经济价值甚微。TPP造成的贸易转移会使中国每年损失大约1000亿美元的出口,越南将是TPP达成的最大赢家,与中国、孟加拉国、印度等国家相比,越南将可以以更加优惠的条件向美国市场出口纺织品。
二、美国推动TPP的原因分析
(一)经济层面
TPP将给美国带来出口的大幅增长。美国的出口行业是美国加入TPP谈判的最大的受益者,比如农业领域以及那些依赖于知识产权的行业。美国农产品要出口到日本等国家仍面临很多障碍;另外有赖于知识产权行业的诸如制药、电影、媒体等行业都会得到适当的益处。TPP生效意味着美国会降低纺织业、制衣业和鞋业等关税,这些行业都将面临更激烈的挑战,也意味着一定的损失。一些学者对美国加入TPP,以及日本进一步加入TPP后的福利效应分析进行了有益的尝试。虽然这些研究基于静态模型,且对TPP成员扩大情况、TPP情景假设等方而的考虑还稍显不足,但是其基本结论却明确显示,美国加入TPP,所拉动的GDP增幅并不明显。
(二)政治层面
美国总统提出了转向亚洲或是亚洲再平衡,这是美国加强与亚洲经济关系的第一步。TPP包括了劳动者和环境保护,国有企业优惠限制等迄今为止贸易协定从未涉及的领域。事实上,与其说参与TPP是美国的短期经济行为,不如说是其战略性选择。一方面,TPP有助于提高美国企业参与亚太地区的商业机会与竞争能力。有研究表明,排除美国的亚洲经济一体化将导致美国福利受损,而TPP将会使美国的企业得到亚洲市场的准入机会。另一方面,美国通过TPP来达到平衡中国经济发展的影响,有助于维持美国的长期经济影响力。通过维持与韩国、日本等国家的经济联系甚至政治安全联系,达到排除中国竞争,确保美国主导亚太格局不受挑战。
三、TPP对中国经济的影响分析
(一)经济层面
中国是一个外向型经济体,具有较高贸易依存度。中国经济长期以来的发展与增长是对外贸易发挥重要作用。TPP对中国出口的影响体现在两个方面,一是出口贸易国的限制,二是出口条款规定的制约。TPP各成员国产业本身有内部互补性及贸易转移效应,TPP是南北合作型的区域贸易组织,区域内各国经济发展水平及出口产品各不相同。TPP中的新兴经济体同我国的产业结构及要素分配趋同,市场和结构上存在强烈同构性竞争。此外,TPP中高标准的过境审查程序对我国的出口贸易将一定的负面影响。
(二)政治层面
TPP的达成,“去中国化”导致中国被孤立,很可能意味着以“10+X”为主体的亚洲区域经济合作进程陷入停滞。与此同时,TPP战略的实施也削弱了中国对东亚区域的战略影响力。近年来,东亚地区经济发展和经济合作关系十分紧密,东亚经济一体化有了一个初步的尝试。随着东盟和亚太经合组织的成立,亚太地区的联系日益密切,亚太经济一体化程度越来越高。随着中国国际地位的不断提升,中国发展壮大成为亚太地区的第二大经济体,在亚太地区的影响力也不断扩大,相比之下,美国在亚太地区的影响力越来越力不从心,因而借助TPP将中国排除,使中国在东亚地区被边缘化。
四、小结
TPP不是一个排他的、封闭的国际贸易体系,并不是参加了TPP后,其成员国就要与其他非成员国断绝一切贸易往来。许多TPP成员国也是其他贸易协定的成员,也存在各种多边(贸易联盟)或双边协议。中国要采取相应的政策和措施,密切关注TPP的发展势头,及时调整方针政策并作出反应。更重要的是,应该提高自身的竞争力,更进一步深化改革,努力改善市场环境,尽可能适应瞬息万变的国际环境。同时,也应该探索TPP以外的各种可能的有利于周边地区经济发展的途径。
参考文献:
[1]全毅.TPP对东亚区域经济合作的影响:中关对话语权的争
夺日[J].亚太经济,2012(5):12-18.
[2]乔其明,窦尔翔,李东阳.TPP谈判及其对中美贸易的影响
与战略[J],2014(09):11-13.
[3]杨立强,鲁淑.TPP与中日韩FTA经济影响的GTAP模拟分
析[J].东北亚论坛,2013(4):39-47.
[4]王晶.TPP达成对我国制造业国际化的潜在影响及对策
[J].现代管理科学,2016(7):85-86.
[13]李丽平.环境产品缘何受APEC关注[N/OL].北京:中国环境报,2012[2016-1-31]http:///piw/wwwroot/Demo/upload/Attach/mrbj/2517122616.pdf.
[14]The Environmental Goods Agreement(EGA):liberalising trade in environmental goods and services [EB/OL].[2016-1-31]http://trade.ec.europa.eu/doclib/press/index.cfm?id=1116.
[15]商务部.世贸组织《环境产品协定》谈判正式启动[EB/OL].2014[2016-1-31].http:///article/hjtp/201410/20141000762053.shtml.
[16]Department of foreign affairs and trade of Australia government. environment good agreement[EB/OL].[2016-1-31.]http://dfat.gov.au/trade/agreements/environ
mental-goods-agreement/Pages/environmental-goods-agreement.aspx.
[17]国际贸易和可持续发展中心.WTO环境产品贸易有所突破[EB/OL].2011[2016-1-31].http:///bridges-news/%E6%A1%A5/news/wto%E7%8E%AF%E5%A2%83%E4%BA%A7%E5%93%81%E8%B4%B8%E6%98%93%E8%B0%88%E5%88%A4%E6%9C%89%E6%89%80%E7%AA%81%E7%A0%B4-0.
[18]安志霞.揭开APEC环境产品清单的神秘面纱(上)[EB/OL].北京:中国水网,2014[2016-1-31].http:///html/2014/09/130873_1.shtml8.
The Analysis of the Relationship Between Environment and Trade in TPP
Zhou Yiqi1, Wang Wentao2
(1.Shanghai Institutes for International Studies, Shanghai 200233, China;
(一)TPP在知识产权领域条款预测
1、强制性要求成员国加入知识保护相关的相关公约
美国以往主导的自由贸易协定,如美新自由贸易协定、美韩自由贸易协定均强调以强制性的法律执行承诺的方式加入或执行有关条约,运用了诸如“必须实行”、“必须批准或加入”、“必须尽最大努力批准或加入”等强制性语言。
2、加强对于版权的保护
美国在其主导的自由贸易协定中尤为强调版权保护的重要性。TPP很可能效仿其他美国主导的FTA(如美新FTA、美智FTA和美韩FTA),在TRIPS协议规定的最低保护标准之上加重了保护义务。预计将包括以下三个方面:
一是延长保护期限。目前绝大多数国家版权的保护期限为作者的生前+死后50年,我国也同样援引这一规定。但美国目前已通过《版权保护期限延长法案》,将版权的保护期限由“作者生前+死后50年”延长到“作者生前+死后70年”,TPP很可能参考美国主导的其他FTA(如美韩自由贸易协定),援引这一规定。
二是针对随着互联网等出现的临时复制等新现象作出更为严格的限制。临时复制是指将相关作品复制进入计算机的内存等随机存储器,在计算机重启、关机之后相关作品会自动消失的复制行为。除美国等少数发达国家外,包括我国在内的大多数国家没有对这种行为进行严格的限制。然而,在美国所主导的部分FTA中,明确要求按照传统复制的原则判断临时复制的侵权问题。倘若TPP援引这一规则,则将会对网络阅读、网络电影等基于互联网的各种消费行为进行严格限制。
三是严格限制破坏保护技术设施的行为。保护技术设施是指版权人为保护自身产权对非许可访问所设置的各种限制措施,如计算机软件设置的反盗版系统等等。美国所签署的FTA中普遍加强了对这种技术设施的保护,美国—新加坡自由贸易协定中规定,对于个人而言,若是为了商业利益或个人经济利益,破坏上述保护技术设施(如盗版软件的破解加密行为)应承担刑事责任;即便是为了科学研究等目的,也可能承担刑事责任。TPP很可能将加入相关条款。
3、加大对于专利的保护
一是延长专利保护期。美韩、美智、美新自由贸易协定中规定,倘若专利授予过程中出现“延误”(指一国对另一国的专利审查期限超过某一年限),则必须延长专利保护期以维护专利权人利益。二是严格限制专利撤销的相关规定,取消专利授权之前的异议程序,限制各国运用国内法撤销专利。
4、严格限制强制许可和平行进口
强制许可是防止知识产权过度保护的一个重要手段,即政府可以不经专利权人同意,强制要求其他人可以免费使用其专利权的行为。我国专利法对强制许可的规定基本和WTO的TRIPS协议一致,主要包括合理条件强制许可、公共利益强制许可和交叉强制许可;但在实际操作中,对“合理条件”、“紧急状态”的内涵均未给予严格的规定,因此限制知识产权过度保护的真实效果很弱。
美新FTA规定了严格的授予强制许可的事由,仅限于紧急状态、反垄断救济、公共非商业使用等情形,并禁止以权利人不实施专利、专利权人对专利产品定价过高等为理由实施强制许可。
平行进口是指经销商将在他国申请专利权的商品转到知识产权所有者所在国销售的行为。由于某些国家的专利费用要低于知识产权所有者所在国,因此同一商品平行进口的价格要低于正常国内销售,这将减少专利所有者的收入。目前国际法学界对于版权、专利权和商标权的平行进口规定彼此不一,美国整体上是持原则上限制,但特殊情况可以例外的态度。由于不同国家的专利权申请费用、要素禀赋、关税税率乃至汇率都存在差异,因此平行进口的商品价格可能明显低于完全合法进口的商品。我国目前针对平行进口并无明确的法律约束,该项目目前尚属于法律的“灰色地带”。
整体上,医药等部分产品在美国生产的成本要明显高于在印度、东盟等国生产的成本。因此,为维护企业利益,美智、美韩等美国主导的自由贸易协定对平行进口的限制程度可能要明显严格于目前国际的通用规定。
5、其他条款
美韩、美智等自由贸易协定中均对商标、产品外观等领域的侵权行为做出了较目前国际通用条款更为严格的限制;同时,美国等发达国家在其国内法中,要求在出现知识产权侵权的情况下,海关可以直接扣押货物,并直接进行销毁,其执法力度也要高于国际法的一般水平。TPP援引这些条款的可能性很大。
(二)遵守相关条款对我国经济发展的影响
1、我国企业引进先进技术的成本可能有所提高
目前绝大多数先进的专利掌握在发达国家的跨国公司手中,我国企业基本属于专利的购买者。TPP强化对专利权保护后,一是可能导致我国企业部分可以免费获取的专利变为必须付费;二是将增强发达国家跨国公司在和我国企业进行知识产权贸易谈判中的议价能力;三是制约我国政府运用强制许可、专利撤销手段强行运用美国等发达国家的相关专利。这些因素均不利于我国企业引进先进技术,提高全要素生产率。特别是我国汽车、电子、机械等行业对国外先进设备和专利的引进规模较高,所受冲击可能更为明显。
2、发达国家企业运用知识产权保护手段限制我国企业创新的能力将有所增强
我国企业在同发达国家的竞争中,整体上处于追赶者的位置,因此在产品生产过程中往往需要借鉴和学习发达国家相关产品的外观、设计、商标设计、工艺等领域的知识。这种学习是否被界定为“侵犯知识产权”事实上具有一定的争议性。发达国家跨国公司为维护自身利益,必然会对一切可能危及其技术垄断地位的行为诉以知识产权诉讼。倘若TPP在外观、设计、商标等领域知识产权保护条款变得更为严格,客观上有利于跨国公司在同我国相关企业的知识产权诉讼中处于有利位置。
3、我国消费者消费文化、艺术、医药、电子信息等产品的成本将明显上升
目前我国互联网下载相关数字产品的法律体系和美国存在很大差距。如我国目前的《著作权法》中,尚未严格限制个人之间拷贝数字产品,对临时复制的法律约束更属于空白地带;我国并未针对平行进口进行严格限制;这些法律上的所谓“空白”客观上有利于我国消费者的利益。倘若TPP对这些行为均进行严格规定,消费者则很难通过互联网免费获取文学、艺术、知识等文化产品;也很难通过平行进口获取较低价位的电子信息、医药等领域的产品。
4、在一定程度上有利于倒逼我国完善知识产权法律体系,加强知识产权保护
倘若我国遵守TPP的相关条款,将有助于完善强制许可、保护技术设施、平行进口、临时复制等领域的法律法规体系;TPP对于侵权的判定、执法等环节的严格规定也有利于我国加强知识产权保护领域的执法工作。
5、对我国文化创意产业的发展有正反两方面的作用
一方面,我国文化创意产业发展的过程中,在很大程度上借鉴了发达国家的技术、理念和艺术手法,而这种借鉴往往是通过较低成本甚至免费地接触发达国家的文化艺术类产品而实现的。倘若我国按照TPP可能的规范限制消费者低价获取文化创意产品(主要是通过互联网),则会对我国文化创意产业从业人员从全球文化创意产品吸取先进文化养料带来不利影响。另一方面,这种免费获取他人劳动成果的行为是一把“双刃剑”,客观上导致我国的文化创意从业者劳动不能得到应有的回报,对文化创意产业的创新精神有较强的负面影响。倘若在TPP的约束下,我国文化创意产业的侵权行为得到有效规范,有利于激励相关从业者大胆创新,对文化创意产业的长期发展也有一定的积极作用。
二、劳工
(一)TPP中劳工相关条款预测
近年来,美国强烈要求将劳工问题纳入自由贸易协定的谈判之中,并以ILO的各项原则作为自由贸易的标准。在美韩、美新自由贸易协定中,均明确要求缔约方履行作为国际劳工组织成员的义务,遵循国际劳工组织的五大原则①;制定公平、透明、可执行的劳工法规并严格遵守法规;由双方的主管部门共同成立劳工合作委员会,推进维护劳工权益等方面的合作等等。部分自贸协定还要求成立一个由成员国劳工组成的独立单位,对成员国是否违反劳工法规和国际劳工组织原则进行审议。
目前,TPP成员国中有六个成员国已经和美国签署了自贸协定,同意了美国提出的劳工相关条款。而新西兰、文莱、越南、马来西亚四国中,新西兰属于发达国家,其劳工制度和美国基本相似,预计不会对相关条款造成阻力;文莱的影响力非常有限,且产业结构以旅游等服务业为主,和美国建立自由贸易区将对其经济发展有显著积极作用,其阻力也不大;只有越南和马来西亚可能会对这一条款提出异议。然而,从美国—秘鲁、美国—哥伦比亚等美国和发展中国家签署的自贸协定的经验来看,发展中国家很难在谈判中迫使美国在该问题上较大幅度的让步。目前,各自贸协定中的劳工条款重点在于强调各成员国在理念上的一致性,并未给出过多具体性的约束条款,具有较强的灵活性,各国劳工政策仍有一定的操作空间。据此推测,TPP最终加入劳工条款的可能性很大,其条例很可能和美韩、美新等自贸协定中的相关条款基本一致,同样以要求成员国遵守五大原则为主。
(二)遵守相关条款对我国经济发展的影响
1、不会对我国的劳工法律体系产生根本性影响
我国是国际劳工组织的创始国之一,对国际劳工组织的各项公约一直持尊重态度,也坚决反对强制劳动、雇佣童工,支持男女同工同酬。我国《劳动法》中明确规定劳动者可自主参加和组织工会,赋予了劳工的结社自由;反对强制劳动、雇用童工;男女同工同酬在《劳动法》中也有明显体现。我国推行工资集体谈判制度已有十多年的历史,2000年公布了《工资集体协商试行办法》,完全符合集体谈判权的理念。因此,整体上我国的劳工法律体系和TPP的标准不会发生剧烈的冲突。
2、客观上有利于发达国家以“违背公约”为借口制裁我国企业
在法律意义上界定强制劳动、限制集体谈判等行为存在很大的模糊性。中美两国的劳工法律体系存在很大差异,劳动力要素禀赋也相差甚远,我国国内一些不成文的规章制度(如短时间的免费加班)在美国的劳工体系下可能是难以理解的。
在劳动密集型行业,发达国家劳动力成本明显高于我国、东盟等发展中国家和地区,在竞争中处于相对弱势地位。倘若我国最终遵守TPP中的相关劳工条款,发达国家跨国公司运用其规则运用能力较强的优势,强行认定我国企业存在“强制劳动”、“限制集体谈判”,并以此为由对我国企业实施制裁,如对我国企业出口产品提高进口税率,甚至短期内直接禁止进口等,维护其自身的经济利益。甚至不排除美国等发达国家对我国工会是否属于“自由集会”进行质疑,以达到其政治目的的可能性。
3、客观上有利于倒逼我国加强劳工的保护
虽然我国的法律体系完全符合《国际劳工组织》的核心原则,但无论从法律体系建设还是从法律执行力度的角度看,均明显逊色于发达国家。我国目前尚无专门的《集体谈判法》,劳工的集体谈判权并未得到有效保护;在现实经济中,强制劳动、雇用童工以及各种歧视性就业标准屡屡出现;少数企业将强制职工无偿劳动和强行压低职工工资水平作为控制成本的重要手段。TPP对劳工法律的内容、执行程序、公平性和透明度都有着严格的要求和规定,客观上有利于倒逼我国进一步完善相关法律制度并严格执法,对我国保护工人合法权益有一定的积极作用。
三、环境
(一)TPP中环境相关条款预测
与劳工条款相似,环境条款是美国式自由贸易理念的体现,充分体现出美国的利益诉求。然而,从美智、美韩等典型的“美国式”自由贸易协定的条款看,相关条款更倾向于对成员国相关环境保护制度的约束,实质性的内容并不多,具体如下:遵守《南极海洋生物资源养护条约》、《濒危野生动植物种国际贸易公约》等国际条约;对破坏环境的贸易相关行为有公平、透明的判决、制裁和补救措施;设立专门的环境合作机构以推进公共参与保护环境;加强合作以推进成员国的环境保护能力;鼓励成员国开展多边环境合作机制等等。
美国在自贸协定中加入环境条款虽然在一定程度上是为了自身的经济利益,但加强环境保护已经成为国际社会的通用准则,其他成员国从根本上反对这一条款的可能性不大。同时,自贸协定中的相关条款同样具有较强的灵活性,具有较强的操作空间,部分条款甚至有助于发展中国家环境保护能力的提高。因此,最终TPP很可能将加入环境条款,其内容和美韩、美新自贸协定中的相应条款基本类似。
(二)遵守相关条款对我国经济发展的影响
1、美方利用TPP干预我国环境立法体系的可能性很小
自贸协定并不涉及国内立法的范畴,加之目前我国已经加入几乎所有的环境保护公约,并制定了严格的环保法规,对违反环保法规的判定标准、执行程序等均有较为严格的规定,和TPP可能的相关环境条款基本吻合,因此即便加入TPP,我国现行的环保法律体系也不会受到较大冲击。
2、我国企业因环境问题受到发达国家制裁的可能性增强
由于发展阶段不同,我国整体环保技术标准要低于发达国家水平,在环境领域我国的具体法律体系建设尚有待进一步完善,如在企业环境信息披露领域的法律完善程度远逊色于美国等发达国家。同时,我国在环保执法力度上还有待加强,部分企业仍存在严重的污染现象。倘若我国在自贸区中签署相关协议,发达国家完全可能会运用此规则,强行认定我国产品不符合环保标准,以此为借口来限制我国相关产品出口。
3、在一定程度上有利于倒逼我国改善生态环境
目前中小企业中,违规排放污染物的现象屡禁不止,在造纸、钢铁、印染、化工等产业中甚至相当严重。TPP在环保法律的内容、执行程序、公平性和透明度都有着严格的要求和规定,客观上也会倒逼我国相关部门进一步完善法律体系,强化执法力度,严格限制污染物排放。
四、对策建议
(一)加快国内相关制度体系改革
在知识产权方面,加快对临时复制等目前立法尚处空白领域的立法工作;加快国内政府采购体制改革,促进招标机制公平公正公开;适当调整一些有可能被指责为“违反公平市场竞争”的产业政策;在通讯、旅游、物流等服务业进一步打破垄断;尽快出台《集体谈判法》,维护工人合法利益诉求。
(二)大力加强执法力度
在知识产权、劳工、环保等领域,我国已经有了较为完善的法律体系,但一方面配套的行政法律法规标准明显滞后,执法缺乏有效的标准支持;另一方面有法不遵、有法不依的现象仍较严重。因此,建议加快配套法规的出台力度,为严格执法创造良好的外部条件;同时从上至下严格执法、公平执法,特别是加强基层执法工作,不允许任何人将权力凌驾于法律之上。
(三)在相关领域联合发展中国家推动建立公平、公正的国际治理规则
美国在知识产权、劳工、环境等领域的立场并不具备完全的合理性。从理论上看,知识产权保护并非越强越好,过强的知识产权保护格局实际上也会造成“知识垄断”;借劳工、环境为理由发起贸易制裁实际上是一种变相的贸易保护主义;将国有企业纳入政府采购体系、将我国的国有商业性银行定义为政府更是完全不合理的。我国应联合印度、巴西、俄罗斯等新兴大国,在上述领域推动建立能够兼顾不同发展阶段、不同制度国家利益,具有普适性的国际治理规则,为东亚区域经济一体化进程作出更大贡献。
一、TCP连接的建立与终止
1.概述
虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。
2.建立连接协议(三次“握手”)
(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1.
(2)服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。
(3)客户必须再次回应服务段一个ACK报文,这是报文段。
3.连接终止协议(四次握手)
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(1)TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
(2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
(3)服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
(4)客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。
CLOSED:表示初始状态。
LISTEN:表示服务器端的某个SOCKET处于监听状态,可以接受连接了。
SYN_RCVD:这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。
SYN_SENT:这个状态与SYN_RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。
ESTABLISHED:表示连接已经建立了。
FIN_WAIT_1:FIN_WAIT_1和FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报文。而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态还有时常常可以用netstat看到。
FIN_WAIT_2:上面已经详细解释了这种状态,实际上FIN_WAIT_2状态下的SOCKET,表示半连接,也即有一方要求close连接,但另外还告诉对方,我暂时还有点数据需要传送给你,稍后再关闭连接。
TIME_WAIT:表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。
CLOSING:这种状态比较特殊,属于一种比较罕见的例外状态。正常情况下,当你发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,再收到对方的FIN报文。但是CLOSING状态表示你发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?那就是如果双方几乎在同时close一个SOCKET的话,那么就出现了双方同时发送FIN报文的情况,也即会出现CLOSING状态,表示双方都正在关闭SOCKET连接。
CLOSE_WAIT:这种状态的含义表示在等待关闭。怎么理解呢?当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话,那么你也就可以close这个SOCKET,发送FIN报文给对方,也即关闭连接。所以你在CLOSE_WAIT状态下,需要完成的事情是等待你去关闭连接。
LAST_ACK:这个状态是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了。
二、TCP协议安全问题
1.概述
TCP协议现在用得非常广泛,但它本身也有一些安全上的缺陷。一些缺陷是由于主机使用IP源地址作为认证机制引起的;Berkeley的r系列涮用就是一个明显的例子。其它的一些缺陷是由于网络控制机制,特别是路由协议,缺少认证机制引起的。
2.TCP序列号预测攻击
TCP序列号预测攻击最早是1985年由Robort.Morris对这一安全漏洞进行阐述的。他使用TCP序列号预测,即使是没有从服务器得到任何响应,来产生一个TCP包序列。这使他能欺骗在本地网络上的主机。
(1)攻击方法。TCP协议有一个非常令人着迷的漏洞,简单的说,就是通过预测初始序列号来伪造TCP包.并且不需要得到回应。这样就可以使攻击者伪装成一台和服务器在同一个局域网上的一台可信任的机器。通常建立TCP连接需要三次握手。客户机送一个初始序列号ISNc,服务器应答它并送出它自己的序列号ISNs,客户机再发出一个应答包。这三个数据包发送以后,就可以传输数据了。这个过程可以用下图来表示:
C一>S:SYN(ISNc)
S一>C:SYN(ISNs),ACK(ISNc)
C一>S:ACK(ISNs)
C一>S:data
And/or
S一>C:data
这就是说,要使一个连接建立起来,C必须知道ISNs,这个数多少有一些随机性,假没入侵者X有一种方法可以预测ISNs。在这种情况下,他可以通过以下的步骤来模仿可信任的主机T:
X->S:SYN(ISNx),SRC=T
S->T:SYN(ISNs),ACK(ISNx)
X一>S:ACKfISNs),SRC=T
X一>S:ACK(ISNs),SRC=T,nasty-data
即使S一>T的数据包不经过X,X也能知道它的内容,因此能发送数据。如果x在一个能够执行命令的连接上实行这种攻击(例如Berkeley rsh服务),他就可以运行――恶意的命令。那么怎样预测随机的ISN 呢?在Berkeley系统中,初始序列号变量是以每秒固定的数目递增的,而每次连接的序列号就是这个变量的一半。因此,如果有人通过合法的连接观察ISNs,他就有很大的机会通过计算得到下一次连接的ISNS。
应该指出的是服务器的应答消息S一>T:SYN(ISNs),ACK(ISNx)。并没有消除这种攻击;虽然真正的T主机将接收到它,并且会重设连接。这并不是一个严重的障碍,因为我们可以通过一些拒绝服务的攻击使T主机暂时失效,也可以在T主机关机或重起的时候攻击。还有一种通过netstat服务对TCP序列号进行的攻击。在这种攻击中,入侵者模仿一台关闭的主机。如果在目标机上有netstat服务.它就会提供另一个端口必要的序列号信息:这样就根本不需要猜测了。
(2)防御。很明显,这种攻击的关键是Berkeley系统中初始序列号变量变化方式太简单了。TCP标准要求这个变量必须以每秒钟将近250,000的速度增长:Berkerey系统则使用了一个比它慢得多的速度然而关键的因素是间隔的大小而不是平均速度。从4.2BSD系统的每秒增加128到4.3BSD 的每秒增加125,000的改变是没有意义的。下面让我们来看看以250,000的频率运行是否有用。为了简单起见,现忽略了其它连接产生的问题,仅仅考虑本计数器固定速度的改变:为了知道当前的序列号,必须发送一个SYN包,并接收它的回应。如下:
X一>S:SYNfISNx1
S一>X:SYN(ISNs),ACK(ISNx)(1)
第一个使服务器产生下一序列号的伪造的数据包,可以紧跟在服务器对探测包的回应后送出:
X一>S:SYN(ISNx),SRC=T (2)
序列号ISNs在应答中使用
S一>T:SYN(ISNs),ACK(ISNx)
它是由数据包(1)产生到服务器接收到数据包(1)之间的时间唯一确定的。但是这个时间是由X到S的来回时间确定的。因此如果攻击者能够测量或预测到这个时间。即使使用一个能精确的4微秒的时钟也不能阻止这种攻击。对来回时间的测量能精确到什么程度呢?如果假设网络很稳定,我们可以精确到10毫秒左右。很明显,互联网不可能长期这么稳定.但是却有可能在一个较短的时间内稳定。因此我们有2500个ISNs的可能值。考虑到重新测量来回时间所需的时间,我们假设每次尝试需要花5秒,那么一个攻击者很可能在7500秒内获得成功。条件更好的网络或更精确的测量,能够提高成功的可能性。因此,仅仅是按TCP协议标准是不行的。在这里,我们默认的假设是目标机上不运行任何进程。实际上,当新的请求到达时,是会运行一些进程的。在一个6MIPS的机器上,一个时钟周期-4秒大约可执行25条指令。高优先级的中断TCB分配顺序的不同,都对下一个序列号有相当大影响。这种随机的效果是被认为是主机的优点。
2、与主题相符的背景色;
3、所叙述事物的PPT张数和每张所表达的内容完整清晰;
4、多张PPT间要有吸引人的图片;
移动互联网主要趋势:
中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2013)05-03-04
Comparison study of TCP and SCTP routing protocol
He Shijie, Tong Mengjun
(School of computer science, Hangzhou Dianzi University, Hangzhou, Zhejiang 310018, China)
Abstract: In order to get better understanding of SCTP protocol performance, the NS-2 network simulation software is utilized to compare TCP and SCTP protocols from a single path and multi path. The experimental results show that, in response to the link's deteriorating condition, the SCTP protocol has a larger throughput capacity , and also a higher stability, and it can meet the transmission requirement of high performance network.
Key words: stream control transmission protocol; transmission control protocol; single path; multi path; throughput rate; delay
0 引言
SCTP代表的是流控制传输协议,它是由IEFT的信令传输工作组(SIGTRAN)新近提出的一种面向多媒体通信的流控制协议(SCTP),用于在IP网络上传输PSTN信令消息,即通常所说的SS7 over IP。
在国内,1985年是流控制传输协议技术开始萌芽的时期。从1985到1995年,该技术主要局限于计算机网络中接人端口数据流的控制技术,以防止计算设备之间大量数据互相通信时出现阻塞,保证更高的传输效率和可靠性。目前对该技术的研发仍处于较浅的层次,对整个IP网络中实规PSTN信令传输的技术还鲜有涉及;国内的SCTP研究还主要侧重于应用方面,比如SCTP与TCP的比较、SCTP在移动环境下的性能研究(例如平滑切换,移动IP,最后一跳性能恶化问题,基于SCTP移动Internet传输模型等)、基于独立路径拥塞控制的SCTP负荷分担机制研究、结合SS7的研究,以及SCTP的安全问题研究、军事应用等。
国外则更侧重于起草标准,如:定义SCTP负荷分担草案(多路径同时传输);制定部分可靠传输标准;提交建立SCTP偶联后的动态地址重配置;提交SCTP API草案;定义SCTP对移动IP的支持;提交单播拥塞控制建议标准;TCP友好可变速率控制等等。目前,IETF致力于把SCTP作为一种通用的传输协议。对SCTP本身的研究集中在对其功能的完善和扩展上,主要是从两个本质特点入手:多路径和多流。同时,对SCTP应用的研究主要集中在两个方面:在移动网络中的应用和对多媒体的传输。
本文的主要研究工作是利用NS-2构建仿真平台,对SCTP和TCP这两种协议进行对比,并根据仿真的结果计算、分析和比较这两种协议的性能,发现它们各自的优缺点。
1 TCP和SCTP的单路径的对比研究
单路径的实验拓扑图如图1所示,一共有6个节点,2个路由节点。其中0-2是发送节点,5-7是相应的接收节点。3个发送节点都绑定了FTP应用,其中0号节点的数据包发送往5号节点,流标签为1;1号节点的数据包发送往6号节点,流标签为2;2号节点的数据包发送往7号节点,流标签为3。设置最大的传输单元为1500。路由3、4间的droptail队列大小分别为5、10。本实验主要更改了1号节点和6号节点的传输协议。现在设0-5号节点的路径为L1,1-6号节点的路径为L2,2-7号的路径为L3。变量主要在L1上面。其中发送节点到路由节点3,路由节点4到接收节点的带宽均为10Mbps,延迟均为15ms。路由节点3、4直接的带宽为1.7Mbps,延迟为15ms。这样路由节点3、4之间就成为接收方和发送方直接的瓶颈。
图1 实验拓扑图
实验一的过程是:在0.5s的时候三个节点同时开始发送数据,4s的时候断开L1,7s的时候断开L2。这样做的主要目的是让L1的数据包先在有两个TCP传输协议竞争的情况下进行数据传输,然后逐渐断开其他两个链路的数据传输,来观察TCP和SCTP在有TCP竞争条件下,数据传输的吞吐量,延迟和丢包率。吞吐量如图2所示。
图2 实验一中TCP和SCTP数据的吞吐量
图2所表示的是链路L2上的数据吞吐量。X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。红色线表示TCP协议在droptail队列为5时的数据吞吐量。绿色线表示TCP协议在droptail队列为10时的数据吞吐量。蓝色线为SCTP协议在droptail队列为5时的数据吞吐量,黄色为SCTP协议在droptail队列为10时的数据吞吐量。从图2中可以看出,总体上SCTP的吞吐量远远高过TCP。对于SCTP来说,在droptail队列为5的时候,其吞吐量比10的时候略高,但差距不是很大。在两个TCP数据传输断掉以后,两种情况下的吞吐量趋于相同,而且数据吞吐量趋于稳定。看趋势,在9s以后,droptail队列为10的时候,其吞吐量会略大于5的时候。对于TCP协议来说,很明显,在droptail队列为10的时候,其吞吐量高于5的时候,在两个TCP协议的数据传输都断掉以后,数据吞吐量的增长率趋于平行式增长。
图3 实验一中TCP和SCTP延迟对比
图3是实验一中SCTP和TCP两种协议数据传输延迟的对比。如图所示,是TCP和SCTP在droptail队列为5的时候,两种协议延迟的对比。红色线为TCP的延迟,绿色的为SCTP的延迟。X坐标轴表示数据传输的时间变化,单位为s,Y坐标轴表示两种协议在某个时刻的延迟,单位为s。从图3中可以看到,两者的数据线略有交叉,SCTP的延迟略高于TCP;TCP的延迟是在一个范围内上下波动,而SCTP的延迟呈一种阶段性的梯度变化。从这里也可以看出两种数据传输的差别:TCP在链路达到稳定的时候,每次传输的数据量一定;而SCTP的数据传输,在没有拥塞避免的情况下,是呈指数增长的。
根据实验一的拓扑图,更改链路L1和L3的数据传输时间,此为实验二。在0.5s的时候1号节点开始发送数据,在1.5s的时候0号节点开始发送数据,在4.5s的时候3号节点开始发送数据,在7.5s的时候将L1和L3两条链路断开连接,8s的时候结束数据传输。通过观察TCP和SCTP协议在逐渐有一个TCP协议和两个TCP协议竞争的条件下的数据吞吐量,延迟和丢包率来对比两种协议。
图4 实验二中TCP和SCTP两种协议的数据吞吐量
在图4中,表示的是链路L2上的数据吞吐量。X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。红色线表示TCP协议在droptail队列为5时的数据吞吐量。绿色线表示TCP协议在droptail队列为10时的数据吞吐量。蓝色线为SCTP协议在droptail队列为5时的数据吞吐量,黄色为SCTP协议在droptail队列为10时的数据吞吐量。从图4中可以看出,总体上来说,在相同的droptail队列值的情况下,SCTP的吞吐量远大于TCP的吞吐量。在两个TCP竞争数据传输出现后,它们的吞吐量都有一个短暂性的下降,然后继续趋于上升。在8.0s的时候,两种协议的吞吐量开始趋于稳定。
对比实验一和实验二中数据吞吐量的图,我们看到,由于实验一和实验二的区别在于竞争的TCP协议出现的时间不同,在实验一的环境下,SCTP在有其他协议竞争的条件下,能够更容易、更快地达到数据吞吐的稳定状态,这样非常有利于数据的传输。
图5是实验二中链路L2在droptail队列值为10的时候的延迟对比。红色线为TCP的延迟,绿色的为SCTP的延迟。X坐标轴表示数据传输的时间变化,单位为s,Y坐标轴表示两种协议在某个时刻的延迟,单位为s。由图5中可以看出,SCTP与TCP延迟随时间的走势相互交叉,与实验一中的情形类似,SCTP的延迟略高于TCP。
图5 实验二TCP和SCTP的延迟对比
图6 TCP和SCTP竞争时的延迟和吞吐量
图6是在实验一环境下,SCTP和TCP相互竞争下的延迟和吞吐量的对比,主要是链路L2和L3的对比,红色线表示的是TCP,绿色线表示TCP。图6上图中,X坐标轴表示数据传输的时间变化,单位为s,Y坐标轴表示两种协议在某个时刻的延迟,单位为s;图6下图中,X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。从图6中可以看出,情况基本与上面的实验保持一致。在相同的droptail队列值的情况下,SCTP的吞吐量远大于TCP,但是TCP和SCTP的延迟相互交叉,SCTP延迟略高于TCP。
2 TCP和SCTP的多路径的对比研究
多路径的实验拓扑图如图7所示,节点0-2合起来是一个发端,节点3-5合起来是一个收端。0是核心节点,1、2是接口,即该端点的两个IP地址;3也是核心节点,4、5也是接口,也即该端点的两个IP地址。1和4路径命名为if0;2和5路径命名为if1。
在SCTP传输过程中,数据只能从接口发或收,不能直接从核心节点发或收。该实验过程为:应用层传输FTP数据,在0.5s后开始传输;在第5s前,路径if0、if1的带宽为5M,时延为50ms;在第5s,路径if0性能恶化,带宽变成1M,时延变为200ms;在第8s,传输结束。
图7 SCTP多路径仿真拓扑图
由于TCP没有多路径这个特点,所以,要与SCTP作对比,只能重新建立拓扑图。拓扑图如图8所示:数据传输过程和SCTP一样,应用层传输FTP数据,在0.5s后开始传输;在第5s的时候链路发生恶化,带宽变成1M,时延变为200毫秒;在第8s,传输结束。
图8 相应的TCP拓扑图
对于这两种协议延迟方面的比较,我们在上一节中已经有过很详细的对比,所以在这里,主要针对两种协议在多路径的情况下,对数据吞吐量作比较,如图9所示。
图9 多路径下TCP与SCTP吞吐量的比较
如图9,其中为了表示自己搭建的TCP网络和SCTP网络有对比性,所以测试了在图8中拓扑图中SCTP数据的吞吐量,如图9中的绿线。从图中来看,在6.5s以前两种拓扑图中SCTP的数据吞吐量完全吻合,这样看来,两种拓扑图是具有可比性的。图中蓝色线表示TCP协议的吞吐量,黄色线表示if0路径上SCTP的吞吐量,红色线表示if1路径是SCTP的吞吐量。X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。从图9中看,5s之前链路没有恶化,SCTP默认if0是主路径,5s之后链路if0恶化,吞吐量开始下降,此时,因为有另一条路径if1的存在,而且链路状态比if0好,SCTP开始将if1作为主路径进行传输,图中if1的吞吐量开始上升,由此可以看出,SCTP的吞吐量在经过一段时间的降低之后,会恢复原来的吞吐量,使数据传输不受影响。由图9可以看出,TCP在路径出现恶化的时候,吞吐量开始下降,如果路径得不到缓解,吞吐量会受到很大的影响。由此可以看出,SCTP多路径的特点较TCP存在很大的优势。我们再来分析路径if0数据传输与时间的关系,如图10所示。图10中有上(红色)、中(绿色)、下(蓝色)三条线。上线(红色)代表 SCTP 把数据包发送到缓存,即入队列;中线(绿色)代表数据包从缓存注入到网络,即出队列;下线(蓝色)代表数据包从收端反馈回来的证实 SACK。纵坐标代表所发送的数据包序列号,横坐标代表时间,斜率指示传输速率(下面类似图的信息也是这样的)。在第5s,带宽和时延发生变化,路径性能变差,所以第5s后的斜率小于第5s前的斜率,即第5s后的传输速率小于第5s前的传输速率。
图10 if0上数据传输与时间的关系
3 结束语
本文主要是通过NS-2构建仿真平台,对TCP和SCTP在单路径和多路径的条件下进行对比。通过两个实验对比发现,两种协议在数据传输的延迟方面,SCTP协议略高于TCP协议,相差不是很大,但是SCTP的数据吞吐量远远大于TCP协议。由于SCTP具有多路径和多重定址的特点,在应对链路恶化的情况时,SCTP表现出更高的稳定性。作为一个新的传输协议,SCTP还具有很大的发展空间,SCTP较TCP更能满足高性能传输的要求,随着IP网络的迅猛发展,SCTP一定会有更广阔的应用空间。
参考文献:
[1] Esbold Unurkhaan, Erwin P, Andreas Jungmaier. Secure SCTP-A
Versatile Secure Transport Protocol[J].Springer,2004.10(3):273
[2] V. Jaclbson. Congestion Avoidance and Contrl[J].ACM SIGCOMN,
1988.36(2):273
[3] K.Fall and S.Floyd.Simulation-based comparisons of Tahoe Reno
and SACK TCP[J]. ACM Computer Communication Review,1996.26(3):5
[4] L.Brakmo and L.Peterson.TCP Vegas:End to End Congestion
Avoidance on a Gloabal Internet[J]. IEEE Journal on Selected Areas in Communication,1995.13(8):1465
[5] 周开波,刘桐,蒋皓等.mSCTP协议异构网络切换性能评估[J].现代电
信科技,2011.3(3):19
[6] 方路平,刘世华,陈盼等.NS-2网络模拟基础与应用[M].国防工业出
版社,2008.
[7] 胡文静.SCTP主路径自动切换的研究[D].吉林大学硕士学位论文,
2006.
[8] 叶凌伟,陈雁.SCTP与TCP的功能对比及应用分析[J].中国数据通
信,2003.1(2):43
[9] 贺,张继棠.流控传输协议SCTP的研究[J].山西电子技术,
2005.11(5):21
[10] 黄晓波,郑应平.流控制传输协议与TCP协议的比较[J].微型机与应
用,2005.7(6):37
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2612-02
Research of Congestion Control Strategy Based on RTP/RTCP Protocol
ZHANG Hai-jun1,YANG Yin-gen1,WU Ke-jie1,ZHANG Jian-jun2
(College of Computer Information Engineering, Jiangxi Normal University,Nanchang 330022,China)
Abstract: In this article, introduce TCP protocol and RTP/RTCP protocol,introduce methods of the quality of service control. Three kinds of congestion control strategies are presented based on RTP/RTCP about fluid flow.These methods can control network congestion and reduce delay for getting network load balancing.
Key words: the protocol of real-time transmission;RTP/RTCP;QoS;internet;fluid FLOW
1 引言
目前网络应用非常广泛,网络实时数据的传输也越来越多:在线视频、实时监控、实时报警等等。因而带宽资源也显得十分紧张,网络拥塞时常出现。而端到端的实时通信业务对于网络传输又有如下要求:
1) 保证数据传送的实时性;
2) 探测和利用可用带宽;
3) 为了维护带宽使用的公平性和避免网络崩溃,实现对通信业务的友好性;
4) 降低传输过程中的延迟抖动,包括往返时间(Round Trip Time, RTT)和单向传输时间的抖动。
为了保证实时数据传输的流畅、声音视频图像的清晰,本文提出了基于RTP协议的服务质量动态反馈控制的一些方法。
1 传统的TCP协议和RTP/RTCP协议
1.1 传统的TCP协议
TCP协议,即传输控制协议[1],该协议首先要通过三次握手来建立连接,再利用“发送-等待确认-再发送”机制来保证数据传输的可靠性,但是显然造成了对宝贵的网络资源的严重浪费,降低了传输效率,而且因为这种控制机制的时延太长,灵活性太差,不能满足实时的音视频数据的传输。但是可以利用TCP协议中的传输控制方法来实现实时数据传输的控制。TCP的报文段格式如图 1所示。
1.2 RTP/RTCP协议
RTP协议主要是用来传输实时音、 视频数据,它包括RTP和RTCP两种数据包。RTP包用于实时数据端到端传输,RTP包中最大的特点就是其提供了时间戳(即发送数据块首字节的创建时间)和序列号,以达到数据的同步和重组。而在RTCP包中含有已发送的数据包的数量、丢失数据包的情况和数据包到达时延抖动等信息,通过该信息可以计算出如下有关的服务质量参数:数据包丢失比、数据包时间片丢失比、数据包丢失率、数据包时间片丢失率、有效数据传输率、数据包传输率、吞吐量、吞吐率数据包到达时延抖动、往返传播时延等等。以监视网络的服务质量、通信带宽以及网上传送的信息。RTP[2]协议的数据包格式如图 2所示。
图1 TCP的报文段格式
图2 RTP 协议数据包格式
图3 数据传输控制模型
常用的RTCP包有五种:发送方报告包(SR),接受者报告包(RR),源描述包(SDES),站点离开系统报告包(BYE)和特殊应用包(APP)。
2 常用服务质量控制方法
一般的分布式流媒体实时应用环境中,网络和终端资源在多个应用之间竞争共享。在不保证服务质量的分组/包交换网络上,网路带宽等资源的波动较大,因此流媒体应用具有连续调整资源需求和适应不同资源状况的能力。这对具有不同服务质量等级要求的应用更为重要。
服务质量控制目的是根据实际情况对流媒体实时应用做出相应的调整,以获得尽可能好的服务质量,主要的控制方法有三种:
1) 许可控制(AdmissionControl)
分布式流媒体实时应用环境中,网路带宽和媒体服务器资源(如CPU、内存、磁盘访问速度等)所能支持的客户端应用程序数目有限。服务器必须采用某种许可控制算法,判断新用户加入媒体会话后是否会妨碍已被服务用户的服务质量。如果加入后所有用户的服务质量都可以得到保证,则允许新用户加入;否则,应该拒绝该用户的加入。许可控制的基础是对当前可利用资源的估计和对即将加入用户的资源需求的预测。目前公认的控制策略有三种:基于确定性的策略、基于统计性的策略和基于预测的策略。
2) 资源预留(Resource Reservation)
资源预留的核心思维式,在发送端和接收端之间的各个节点上为用户预保留足够的资源以保证端到端服务质量。由于预测某一媒体流的确切特征通常是不可能的,所以系统在预留资源时常常过多或过少。资源预留不足时会导致服务质量得不到保证;而预留过多则导致资源利用率较低。此外。资源预留机制必须由发送端和接收端之间的所有网络节点支持,这个目前是不可能的,因此资源预留目前处在实验阶段。
3) 应用程序自适应控制(Application Adaptive Control)
应用程序的自适应控制即根据网络带宽等资源的实际情况,通过采用动态调整流媒体应用的资源需求等策略,以保持可接受的服务质量等级。对于不保证服务质量的分组/包交换网络,自适应控制在网络状况波动时给流媒体实时应用提供了较大的弹性。自适应控制首先需要对服务质量和资源状况进行监测,监测所得到的信息通过适当的途径反馈给媒体源端,源端和目的端根据监测所得到的信息采取适当策略,动态保证应用的服务质量。自适应控制的最大优点是不改变现有网络的基础体系结构,将服务质量控制工作交由网络应用程序来完成。虽然该方法控制较弱,但它具有动态控制服务质量和适应性较强的特点,在不保证服务质量的分组交换网络上较好的实现了带宽共享,因而在现有因特网上具有广泛的应用前景。
3 利用RTP/RTCP进行传输控制
远程网络传输不可靠性主要表现在:
1) 数据包“乱序到达”,先发送数据包有可能后到;
2) 在Internet环境下,网络传输带宽变动会引起发送的数据包丢失;
3) 数据包到达的时延过大而产生抖动会引起数据的失真。
RTP/RTCP能很好的解决上述问题。发送端和接收端应遵循以下步骤:
1) 在接受端缓冲区中依靠RTP包中的序列号来调整到达数据包的顺序,使之与发送时的数据顺序一致。
2) 分析RTCP控制包。
3) 评估网络状态。采用某种判断依据,评估实际的网络拥塞状况,以决定是否对带宽需求进行动态控制以改善服务质量。
4) 调整所需带宽。如接收端用户可以设置可接受的最大和最小带宽。
为了改进远程视频传输系统的稳定性[3],建立一个传输控制模型,这样可通过网络状况的反馈及时调整采样频率以及编码格式以适应当前的网络传输要求。RTCP利用主要的两种控制包SR和RR反馈的信息如数据包丢失比、数据包丢失率、吞吐量和吞吐率、数据包到达时延抖动J(interarrival jitter)和往返传播时延等来调节实时传输,并调整系统的打包格式、发包速率来保证流畅地传输数据和清晰地播放视频。图3 是数据传输控制模型示意图。
4 TCP在服务质量动态控制中的重要作用
前面通过对RTCP包中的参数监测,从而实现对服务质量的动态控制。在上面的分析比较,我们知道相对于新型协议RTP/RTCP,TCP不适合实时音视频数据的传输。但是RTP协议可以利用TCP来实现数据传输的新的控制,从而使数据传输的效果会更好。这种控制方法也是很独特、新颖。
因为利用RTCP虽然可以实现数据传输的控制,因其主要是在源端和接收端之间的参数交流,从而只能大概、初略的估计线路的阻塞程度,从而调整发送速率。随着计算机网络的迅速发展,拥塞控制机制的目标从单独地避免拥塞趋向于怎样有效地利用网络资源。RTCP中的控制将丢包和传输延迟的增长作为网络出现拥塞的指示,没有依赖于网络的中间节点。在实际网络中,引起网络拥塞的因素是很多的:可能由于中间节点队列溢出引起丢包,也可能是由于设备故障或者链路干扰导致节点校验错误引起丢包;可能由于中间节点队列长度增长引起延迟增加,也可能由于传输路径很长(如卫星链路)或者链路层数据包重传引起延迟增加。因此,利用TCP协议,可以采用很多拥塞控制机制来保证服务质量。大部分TCP拥塞控制协议和增强版本的焦点都集中在窗口管理机制上。而基于这些协议调节窗口所利用的反馈信息,可以大致地将其划分为3类[4-5]:
基于丢包反馈地协议(loss-based congestion avoidance ,简称 LCA );
基于路径延时反馈地协议(delay-based congestion avoidance ,简称DCA);
基于显式反馈的协议(ECN(explicit congestion notification )-like algorithms)。
即在源端发送一些TCP探测包,经过中间网络节点,到达接收端,接收端再发送TCP数据包,与源端进行交流,从而达到传输控制。TCP用于RTP传输控制如图4所示。
图4 TCP传输控制模型图
图5 IP 网络控制模型图
5 IP在服务质量动态控制中的重要作用
TCP拥塞控制本质上是一种基于信源的拥塞控制方法,实现在端系统中。显然这种拥塞控制方法在网络拥塞发生到感知到拥塞后采取控制行动之间存在着比较大的延迟,在传输数据不太大的情况下,很可能传递拥塞信息的反馈在数据传输完后才到达发送源端。因为IP[6-7]拥塞控制在网络中实现,因而可以及时感知到网络拥塞的发生,采取控制行为。而且在IP拥塞控制中,可以区分不同的发送源端产生的数据流,可以在路由器中通过队列调度方案,接受或丢弃不同发送源端产生的数据,从而也实现带宽的公平性。IP控制模型如图5所示。
6 结束语
该文针对Internet 中实时多媒体通信系统提出了三种拥塞控制方法,这有助于解决网络拥塞控制和QoS控制等多媒体通信技术问题。根据源端和接收端的实际情况和网络运行状况,有针对性的选择某种或某几种控制方法的组合,可以使音、视频播放的传输达到最佳效果。这些控制方法曾用于设计与实现:机房实时视频监视系统、智能综合安防监控系统和基于RTP/RTCP的手机报警系统。
参考文献:
[1] Misra V, Gong W B, Towsley D. Fluid-based Analysis of a Network of AQM Routers Supporting TCP Flows with an Application to RED[C]. Proc. of ACM/SIGCOMM,2000:151-160.
[2] Schulzrinne H,Casner S,Fredeirck R et a1.RTP:A Transport Protocol for Real―TimeApplications[S].RFC 1889,1996.
[3] H.Sehulzrine.RTP Profile for Audio and Video Conferences with Minimal Control.RFC1890,IETF,1996.2-10.
[4] Kim M S,Won Y J, Hong W J. Characteristic Analysis of Internet Traffic from the Perspective of Flows[J].ComputerCommunications, 2006,29(10):1639-1652.
在模拟时代,我们可以通过电视机解出模拟视频和音频信号.录制到磁带上,或者复制到光盘上.最早是使用偷拍方式,就是用摄象机对着屏幕拍摄,同时录音,有点和电影院的盗版相同,这样拍摄和直接解出信号是有质量差别就好象电影的偷拍版和偷出拷贝是不一样的。
IPTV经营策略及其特点、优势如下:
1、IPTV经营模式
在经营模式上,公用电视的经费是国家拨款以及经营的广告收入,自办节目的版权收入,目前是自主经营,主要依靠广告收入和版权收入,有线网络是月租费以及加密的点播费用为主,当然有线网络也有自办节目和插入广告在自己的节目中。那么IPTV应该怎么理解呢?其实网络看电视今天已经很简单,可以在电视台的网页,大型网站的网页上直接观看到电视或者电影,电视剧的视频,这个只需要通过计算机的网页就可以做到,就是计算机直接观看。网络连接可以是无线的,WIFI或者3G模式,GSM手机模式.有线网络或者拨号上网模式.这个等于是公用网络。
2、IPTV现状
我们说的IPTV,只需要有接收机顶盒来解密才能观看的,当然IPTV可能节目更多些,而且有版权购买的,如上海百视通购买的美国NBA篮球转播.质量更好点,因为是IPTV专用的压缩方式和带宽保护,更像是加密点播和有线网络的模式。同样,网页电视上可以加广告,插入广告在节目间隙或者在屏幕的空隙加入角标广告,IPTV可以收接收机的钱和点播节目的钱,以及自办节目的版权,也包括插入广告.这也看得出IPTV模式更接近有线网络,那么我们看到IPTV必须面对两个对手,有线网络电视和网页电视,但是又不完全是这样。
2.1 管理问题
是否所有网络上电视播放必须具有IPTV牌照,如果不是必须有IPTV牌照,那么节目播出管理权是否还在传统电视台,或者另外设置网络电视台.如果IPTV是网络播放的管理平台,那么不管是网页观看,IPTV机顶盒接收都必须通过IPTV的平台。
那么就是电视播出——IPTV,再加上IPTV的自办频道和点播,重放——分发给各网站和IPTV终端,而IPTV终端可以通过电信的网络,手机网络,有线网络中插入IP的部分(有线网络中可以有带宽访问IP,一般是客户通过有线网络到有线网络机房,有线网络机房有专线到电信机房)对于IPTV,可以直接给有线网络了,有线电视用户可以加装IPTV接收来通过有线网络来看IPTV。这样IPTV就定位为节目播出管理,那么IPTV推广可以通过三个渠道,一是电信渠道,一是有线网络渠道,一是计算机销售渠道.因为IP通过网络传输,利用电信的渠道,可以推广电信的带宽业务,上网不仅是看网页更是看电视,那么上网的功能扩展了,带宽需求增加了,而且IPTV接收可以在计算机上观看,那么就比较方便家庭的使用,可以移动,可以插拔接收终端给家庭不同成员使用,就比有线网络的接收有优势,而费用上并不需要增加,因为带宽费用已经在上网的费用里含了,那么,有线网络的运用其实有点和电信相同,但是IPTV有更多的内容可以提供,有线网络可以利用这个资源来扩展业务,对于老年人来说操作电视比操作电脑更容易接受。
2.2 节目内容方面
开路电视一般是国家电视台和本地主要频道,卫星是本地上星的卫视频道,而有线网络是国家电视台,本地所有频道(开路频道,闭路频道,自办频道),各地卫视。那么IPTV的频道可以全国已经全球所有的频道,因为可以使用IPTV的网络来汇集这些节目,另外可以避免重复传输,比如每天转播CCTV新闻时,基本所有频道都是一样内容,在有线网络带宽中都是一样的节目,这个带宽节省是非常明显的,IPTV中接收者是一个人,一般是看一个频道,只需要一个频道的带宽,即使同时打开几个频道也是有限的,而目前有线电视网络中不管用户看哪个频道都必须把所有频道传输到客户终端,所以如有线网络也使用IPTV模式,可以节省大量的头端设备和节省出更多的带宽,提高带宽的效率和设备的产出效益。
而对于计算机和显示设备的终端厂商来说,整合终端功能可以节省购买者的整体支出,本来要买一个接收一个计算机的,现在买一个多功能的设备其实是核算的,在使用功率,使用效能上也是有积极意义的。终端对于不同的适用者有不同的类型,一种是结合大屏幕显示设备的,如电视机一样操作,一种是如PAD一样的操作模式,一种是计算机播放模式。
中图分类号:TP37 文献标识码:A文章编号:1009-3044(2011)01-226-03
Streaming Video on Demand System on Rtmp and Http Protocols
WANG Xu-peng
(College of Electronics and Information Engineering, Tongji University, Shanghai 201804, China)
Abstract: Design and implement streaming video on demand system which uses 3.5 framework and Actionscript3.0. The System supports both Rtmp protocol and Http protocol transmission, detailed analyze the vod principal of two protocols, improve the Http protocol transmission. For vod, introduce a new load balancing method to distribute video Requisitions. It considers both video data transmission distance and server load performance to ensure smooth playing.
Key words: streaming media; rtmp; load balancing
网络技术和通信技术的发展,拓宽了网络带宽,同时也更加丰富了网络应用。视频点播网站,网上教学正在成为新的网络宠儿。本文正是设计和实现了基于流媒体技术的医学教学视频点播系统,系统是下一代互联网的医学教学科研平台的子项目,为各高校师生提供教学服务。
1 流媒体简介
流媒体技术主要是将声音,影像,动画等数据分成一个个压缩包,向用户提供连续的,实时的传播,而不必等到整个视频文件下载完成才能观看。通过缓存技术提供流畅的视频播放,并且大大缩短了播放延迟,改善用户体验。流媒体的传输方式主要有顺序流式传输和实时流式传输。
顺序流式传输顾名思义在连接建立后,服务器会按照数据在视频文件中存放的次序顺序发送给客户端,不会对数据做额外的处理,而且这种传输如果不加限制的话采用的是一种尽力交付的方式。由于顺序流式传输实现简单,传输协议采用Http协议即可,视频文件放在web服务器,不需要专门的流媒体服务器支持,网站和视频完全可以集成在一起。
实时流式传输要求数据传输和用户播放是同步的,视频可以实时地被观看。服务器对于数据会分成视频和音频做额外的处理,因此需要特定的流媒体服务器支持,如RealServer,Windows Media Server。本文实时流式传输协议采用Rtmp,流媒体服务器为Red5。
2 流媒体点播解决方案
2.1 流媒体点播架构
整个医学教学视频点播系统采用3.5框架开发完成,实现基于Rtmp和Http协议两种传输方式。服务器包括静态服务器Nginx,动态内容服务器IIS7.0,Rtmp服务器Red5。
Nginx是一款高性能web服务器,构建于最新的linux2.6内核之上,采用epoll模式来处理大规模的并发连接,并可以配置使用最新的NPTL线程库,传输效率不会随着连接的线性增长而下降,相比于其它服务器内存占用极小。Nginx主要用于处理静态页面和作为反向服务器,对于动态页面和视频文件的请求转发给IIS7.0处理。这样既加快了静态内容的处理速度,又保护了后台数据库的安全。
IIS7.0对于所有的请求在进入HttpRuntime时,都会经过一系列注册的Module进行过滤,最后对于特定的请求交由指定的Handle处理。系统中通过配置WebConfig文件,将基于Http协议FLV文件的请求映射给FLVHandler,该类必须实现接口IHttpHandeler。
Red5是一款开源服务器,通过对数据包进行逆向工程的研究从而实现了Rtmp协议。主要功能是处理对于流媒体视频的请求,从FLV文件中提取出视频和音频,并将其打包成消息,在同一连接上传输不同的流,并支持客户端在点播时的各种操作命令响应。
Flash播放器由ActionScript3.0编写,实现Rtmp和Http两种协议的视频请求和播放,系统提供给用户上述两种点播方案。整个播放器作为SWF文件嵌入到web浏览器中,用户只需打开网页便可观看视频,无需下载播放器。
系统通信流程图如图1。
视频文件统一为FLV格式,FLV作为目前最流行的流媒体视频格式,其形成文件小,结构简单,非常适合网络传输。FLV文件主要由一个文件头和许多Tag组成,Tag类型主要分为视频流,音频流和脚本流。由于视频信息和音频信息采用分开存放的方式,所以Tag中需要Timestap确保视频和音频同步。Tag中的数据区会指明该Tag的编码类。FLV文件格式如表1。
2.2 Rtmp协议播放原理
Rtmp协议提供了流媒体视频的高效率传输,可以构架在Tcp协议之上。客户端与服务器维持着一个单一永久的连接,支持实时交流。Rtmp主要为多媒体视频提供多路传输和数据分包服务,不仅支持视频和音频数据实时传输,还支持RPC(远程过程调用)。视频,音频,操作命令,共享对象,控制消息和其它类型数据被打包成一个个消息,并打上时间戳用于同步,不同类型的消息在不同流上传输,多个消息流又交错复用在同一个连接上。消息包括Message头和Message主体。Message头格式如表2。
Message Stream Id主要用于在单一连接中识别不同的流,包括3个字节。Meaasge Type用于指明消息的类型,只有一个字节。类型1-7保留,用于传输控制消息,比如设置chunk大小,消息丢弃,用户控制消息等等。虽然通过设置Message Type可以将不同类型的消息在不同的流上传输,但Message也有其缺点,因此又将其分割成Chunk。分块可以将低优先级数据量大的Messag分割成小的Chunk,防止其阻塞优先级高数据量小的Message。流媒体传输的多路复用基于Message这一层,与Chunk无关。
Rtmp在建立连接时首先要进行3次握手,类似于Tcp协议,不过是为了服务器和客户端统一协议版本信息。然后建立连接,创建传输流,设置chunk大小,发送数据。在视频播放过程中,如果用户拖动进度条,便会触发seek操作,该消息会通过与视频数据不同的流发送到Red5,Red5会解析控制命令,返回用户需要的数据。
2.3 Http协议播放原理
对于Http协议请求FLV视频文件,由IIS7.0响应。默认情况,如果客户端带宽良好,则下载速度远远大于播放速度。由于要保存下载的数据量比较大,所以文件会缓存到硬盘,播放器中的加载进度条显示下载到硬盘的数据。当用户拖动播放视频时,只能播放已下载的视频信息,如果将播放进度条拖动到超过加载进度条时,则播放停止。为了解决这一问题,在IIS服务器增加专门响应FLV文件的Class,即FLVHandler。
首次请求视频文件,FLVHandler会读取服务器的视频文件通过网络输出流发送到客户端,播放器接收到视频数据后会调用回调方法onMetaData,该方法主要是从FLV文件中获取MetaData,也就是视频的基本信息,包括视频长度,帧率,实际宽度和高度等,其中还包括视频的关键帧信息。FLV的MetaData存储位置紧跟在FLV Header之后,其Tag类型也就是上文介绍FLV格式中提到的脚本流,MetaData对于视频文件并不是必须的,但是在播放过程中要显示视频时间,对视频进行拖动则需要MetaData信息。
视频拖动请求,如果拖动位置在播放器加载进度条之前,即该位置的视频数据已经下载到硬盘,则播放器会从本地硬盘读取数据进行播放。如果拖动位置数据还没有下载到硬盘,首先会从MetaData中找出距离拖动位置最近的关键帧,因为视频播放时必须从关键帧开始播放,关键帧包含了当前帧的全部数据。该关键帧所处位置会附在URL之后,然后向服务器重新发送一次视频请求。FLVHandler会检查请求参数,确保当前是视频拖动请求,如果参数值不为零且没有超过文件大小,则从该帧开始读取视频文件,也就是FLV文件中某一个关键帧Tag起始位置。如果这样就把信息发送到客户端,虽然有完整的视频和音频信息,但是播放器在读取时却无法识别这是一个FLV视频文件。因此根据FLV格式规定,需要在该帧之前添加FLV Header。此时播放器接收到的网络流便是由FLV Header和视频信息重新组合的FLV文件,但信息中缺少Metadata。当播放时检测到Metadata为空,不会触发回调方法onMetaData,因此元数据不会被更改,仍然为首次播放视频得到的Metadata。至此,基于Http协议的视频拖动播放结束。
传输改进,由于在播放过程中下载和播放分离,下载速度又可能很快,例如用户在观看到5分钟时,30分钟的视频文件已经下载完毕,如果此时用户不想继续观看,则剩余下载的文件就会浪费。为了节省服务器带宽,所以FLVHander在传输视频流时,在前50M时会尽力交付,然后在传输一段视频便会执行Sleep操作,通过线程睡眠降低传输速度,维持在超过视频比特率50k-80k之间,保证正常观看。
2.4 两者对比与结合
Rtmp和Http协议都可以用于流媒体视频点播。Rtmp协议在整个播放过程中只与服务器建立一次持久性连接,客户端与服务器之间一直处于数据交互之中,视频传输和播放是同步的。Http协议在客户端请求连接后,服务器只负责发送数据,并不知道发送的数据是什么类型,也不知道当前视频播放进度。系统将两种协议结合在一起,用户可以根据自己需要选择不同的传输协议。当客户端网络带宽良好时,可以采用Rtmp协议播放,播放过程中可以随意拖动,由于只需要在连接上发送一个控制消息,所以开销少,响应速度快。当网络带宽拥塞不能满足实时播放时,可以选择Http协议,用户可以先暂停播放,让视频先下载到本地硬盘,等到下载足够的数据再进行播放。相同视频的不同协议请求会由不同服务器处理,但读取的是同一文件。两种协议在切换过程时,会记录当前播放位置的关键帧,所以在切换协议后,仍然会从该位置开始播放,无需重新观看,以达到无缝切换的目的。
客户端带宽2mb/s,视频文件200mB, 长度40分钟,分别采用Rtmp协议和Http协议播放,测试数据如表4。
3 负载均衡
3.1 负载均衡架构
整个网络架构包括主服务器,视频缓存服务器。主服务器包括整个系统的所有功能,可以响应页面和视频请求,解析动态页面,操作和维护数据库,管理所有视频的基本信息。主服务器采用1+1的冗余模式,分为Active和Standby,两者物理上为独立的服务器存在,属于同一个局域网。当Active服务器遇到故障时,Standby服务器马上变为Active模式。两者没有主次之分,可以在两种模式下相互转换,但同时只能有一个服务器为Active。视频缓存服务器只含有视频文件,功能单一,只能响应视频的点播请求。视频缓存服务器根据地理位置分散布置,所有服务器连接形成的网络尽可能地覆盖较大的地理范围,为不同地区的用户提供服务。
3.2 负载均衡策略
系统负载均衡以软件的方式实现,包含两条策略,主要目的是:首先用户点播视频时,从距离自己位置最近的网络边缘服务器获取数据防止出现网络拥塞,减少视频传输距离,从而降低网络传输消耗。其次,防止部分服务器因负载过高而不能及时响应请求,降低服务器宕机的几率。
策略一:针对不同地理位置的视频点播请求会转发到不同的视频缓存服务器,转发流程如下:
1) 用户进入视频点播网站,选择需要观看的视频,发送该视频播放页面的请求。
2) 服务器判断该请求是视频播放页面,解析请求客户端的IP地址,通过IP地址库得到该IP的地理位置,地理范围具体到省级。通过视频缓存服务器登记信息找到距离该位置最近的服务器,写入将该服务器的IP地址,返回该页面。
3) 客户端浏览器解析返回页面,调用Flash播放器插件获取页面中的服务器IP地址参数,播放器向该服务器发送视频文件请求。
4) 视频缓存服务器获取请求信息,向客户端发送视频数据。
第一条策略的不足就是负载均衡服务器在分发请求时并不知道各个服务器的状态,如果此时某一地区有大量用户在进行视频点播时,所有的请求都会由距离该地区最近的缓存服务器处理,请求量过大时则会达到带宽瓶颈。相反,某一地区如果只有很少用户视频点播,则该地区的服务器会一直处于空闲状态,浪费系统资源。因此需要第二条策略进行补充。
策略二:所有视频缓存服务器后台都运行着一个监视进程,该进程主要用来查看当前服务器处理视频请求的并发连接数,工作流程如下:
1) 监视进程每过一段时间获取当前服务器的并发连接数,当并发连接接近该服务器的带宽瓶颈时,会发送一个类型为负载过高的消息通知主服务器。
2) 主服务器收到负载过高的消息时,会修改缓存服务器的登记信息,将该服务器暂时标记为失效,并替代为与该服务器地理位置最近的服务器,且该服务器无失效标志。此时该地区用户进行视频点播时,则会都转发到替代服务器上。
3) 当监视进程发现该服务器的并发连接数降低时,会发送一个类型为负载正常的消息通知主服务器。
4) 主服务器收到负载正常的消息时,会修改缓存服务器的登记信息,取消失效标记,移除替代服务器。
负载均衡策略就是在防止网络拥塞,尽量降低网络传输消耗的基础上,均衡各个视频缓存服务器的负载,避免出现系统性能瓶颈,瓶颈就是服务器的带宽。不保证每个服务器负载平均,但保证每个服务器都正常工作。当所有服务器负载都一样时,也就是负载都已经达到饱和状态,此时只能通过硬件升级来解决。
4 结束语
本文设计了基于WEB的流媒体视频点播系统,系统同时支持Rtmp协议和Http协议传输,实现了客户端和服务器及整个网络架构。视频播放时,两种协议可以相互切换,满足不同网络状况用户的需要。提出了一种新的专门针对视频点播的负载均衡策略,既节省网络传输开销,又兼顾到视频服务器的负载状况。
参考文献:
[1] 李方捷.ActionScript 3.0开发技术大全[M].北京:清华大学出版社,2009.
1、 NDK 的结构
TI公司依据C6000芯片推出了TCP/IP NDK(Network Developer's Kit)开发套件, 其主要构成包括: (1)支持TCP/IP 协议栈程序库。其中主要含有的库: 支持TCP/IP网络工具的库,支持TCP/IP 协议栈与DSP/BIOS平台的库,网络控制以及线程调度的库。(2)示范程序。其中主要包括DHCP/Telnet 客户端, HTTP 数据服务器示范。(3)支持文档。包含用户手册、程序员手册和平台适应手册。NDK 采用紧凑的设计方法, 实现了用少量的资源耗费来支持TCP/IP。从实用效果来看, NDK仅用200-250K程序空间和95K 数据空间即可完成常规的TCP/IP 服务。
NDK相对于操作系统和底层硬件是透明的, 因为这是由OS。LIB 提供操作系统DSP/BIOS的接口和HAL。LIB 提供对硬件的支持来实现的。在NDK的TCP/IP协议栈中STACK。LIB 包括了顶层套接字到底层链路层的所有功能, NETCTRL。LIB在整个协议栈中起关键作用, 协调操作系统和底层硬件驱动, 管理所有网络事件, NETTOOL。LIB 提供配置网络各种服务。
2、NDK 在DSP/BIOS 下的使用
DSP/BIOS 是TI 开发的实时微型操作系统, 支持线程管理、实时分析、周期函数、调度软件中断以及外部硬件中断与各种外设的管理。使用DSP/BIOS 所有与硬件有关的操作都必须借助操作系统本身提供的函数完成, 应避免直接控制硬件资源。基于DSP/BIOS 的程序与传统开发过程是不同的, 用户编写的程序由DSP/BIOS 调度, 不再按标写的次序顺序执行。同样开发基于DSP/BIOS的网络应用程序也必须要遵循一些原则。
在DSP/BIOS 下使用NDK 必须注意以下几点: (1) 为了保证使用NDK 的工程项目能正确编译, 在CCS 的Link Order 要按一定的顺序添加库文件, 推荐的顺序是: NETCTRL。LIB、HAL_xxxLIB、STACK。LIB、OS。LIB; (2)在使用NDK 的过程当中, OS和HAL 会创建三个内存段, 分别是PACKETMEM、MMBUFFER、OBJMEM, 必须在CMD 文件中为这三个段在内存中分配存储空间;(3) 至少要使用32K 的cache, 否则应用程序会产生不可预料的错误;(4) 必须在CDB文件中为HAL 创建一个周期为100ms 的PRD 函数, 用来驱动llTimerTick()系统函数;(5) OS 需要钩子函数为TCP/IP 堆栈加载和保存私人变量指针, 所以必须在CDB 文件中创建两个钩子函数NDK_hookInit()和NDK_hookCreate();(6)必须把工程项目的IncludeSearching Path 指向NDK 安装目录下的inc 文件夹。
3、NDK 性能测试
测试NDK性能既有主观性又有客观性。主观性适应为实际测试要受到很多环境因素的影响。客观性是因为使用标准的工具,并且结果可重现。 所以只能是性能的估计性测试。影响NDK性能的主要因素有:
socket API: NDK既支持非拷贝的数据包socket,也支持基于缓冲区的典型socket,甚至非拷贝的直接接收的TCP数据流。性能随所采用的策略变化而变化。
socket 缓冲区: socket缓冲区影响TCP发送和接收的窗口大小,并且决定每次发送数据流大小,这对网络性能有很大的影响。
CPU速度:在cache大小一定的情况下,网络性能与CPU速度成正比。CPU cache: cache的大小对网络性能有巨大的影响。
网络硬件设备:以太网硬件设计的好坏直接影响DSP和网络接口的速度。
外部存储器(EMIF)接口:对于和DSP外部存储器接口相连的以太网设备, EMIF的速度对外部解码逻辑有额外的影响。
下面的测试由TI提供,测试不仅兼顾最佳的性能而且考虑到应用的实际情况,比如socket缓冲区大小为8K,而不是32K 或64K,因为这在嵌入式设备中是不切实际的。测试的过程是DSP执行低优先级的网络任务,PC机执行客户基准测试程序, 然后与DSP不执行网络任务时CPU的负载情况做对比。
4 、结论
TI推出的NDK网络开发工具不仅可以使技术人员快速开发基于DSP的网络应用程序,而且具有十分可靠的性能,这使得C6000系列芯片完全可以胜任大数据量的视频网络传输的要求,是开发嵌入式网络视频设备的首选。
参考文献