Click here to load reader

適用於 P2P 檔案共享系統 傳輸協定之設計

  • Upload
    dom

  • View
    85

  • Download
    4

Embed Size (px)

DESCRIPTION

適用於 P2P 檔案共享系統 傳輸協定之設計. 政治大學資訊科學系 行動計算與網路通訊實驗室 Ⅱ 指導教授:連耀南 研究生:許弘奇. Outline. Introduction Related Work Design of Protocol Packet Loss Recovery Segment Size Determination Adaptive UDP Mechanism Performance Evaluation Conclusion. Introduction. Peer-to-Peer (P2P) 架構: - PowerPoint PPT Presentation

Citation preview

  • P2P

  • OutlineIntroductionRelated WorkDesign of ProtocolPacket Loss RecoverySegment Size DeterminationAdaptive UDP MechanismPerformance EvaluationConclusion

  • IntroductionPeer-to-Peer (P2P)P2PP2P P2PNapsterBitTorrentP2P (Data Source Provider) (Downloader)

  • Centralized Model & Decentralized ModelP2P Napster-like ModelBitTorrent-like Model

    Centralized ModelDecentralized Model

  • P2P

  • BitTorrentBitTorrent(scalability)BitTorrent-like Model

  • BitTorrent (Seeder)(Downloader)Tracker(Web server)

  • BitTorrent P2P

  • BitTorrent SeederBitTorrent .torrent TrackerURL .torrent .torrentTracker URLSignature

  • BitTorrent .torrent BitTorrent.torrentTracker

  • BitTorrent BitTorrentPiece(Fragment)1/4 MbytesSub-piece(Sub-fragment)PipelinePiece16 KbytesTCP

  • TCP(Transport layer protocol)(end-to-end):(connection-oriented)Positive ACKACKACK(self-clocking)(data integrity, in-order)(flow controlled):(congestion window)

  • TCP Window SizeTCP

  • TCP

    Slow Start (CWND < Threshold)connectionCWNDTresholdCongestion Avoidance (CWND > Threshold)AIMD (Additive Increase Multiplicative Decrease)

  • P2P(ADSL)BitTorrent-like Model

    Chart1

    184.4988046833184.7088958123.1510156

    172.5950263167184.3151494333123.1510156

    174.57744135179.583081123.1510156

    171.6981364186.7213371333123.1510156

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Downlink Bandwidth (Mbps)

    Time (sec)

    Sheet1

    64Kbps, 2Mbps

    164.7595787201.4611231150.1384639150.2400333208.7159698231.6776593184.4988046833

    187.995088187.793588159.364088164.011588196.014588213.0744348184.7088958

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    64Kbps, 4Mbps

    174.4281081151.1332588143.3373955142.9143557201.510289222.2467508172.5950263167

    187.993048187.791548147.968548164.009548196.012548222.1156566184.3151494333

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    64Kbps, 6Mbps

    177.9214125166.9386829148.4602548141.1725776201.509529211.4621913174.57744135

    187.992368187.790868147.967868164.008868192.342368197.396146179.583081

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    64Kbps, 8Mbps

    158.4582772171.3408264149.3378506138.1294376201.509149211.4132776171.6981364

    187.992028187.790528147.967528164.008528189.864528242.7048828186.7213371333

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    246864Kbps, 2Mbps64Kbps, 4Mbps64Kbps, 6Mbps64Kbps, 8Mbps

    TCP Reno184.4988046833172.5950263167174.57744135171.6981364

    TCP Vegas184.7088958184.3151494333179.583081186.7213371333

    Adaptive UDP123.1510156123.1510156123.1510156123.1510156

    Sheet1

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Downlink Bandwidth (Mbps)

    Time (sec)

    Sheet2

    Sheet3

  • P2PFractional Upward Bandwidth (FUB) Blockage of ACK (BoA) TCPACKBitTorrentACKACK

  • P2P(Fragment Tree) Seed(Root)

  • Long Physical Paths(link) (path)Lien (2005)

  • Long Physical Paths

  • Bushy TreeBushy TreeFUBBoALien (2005)Slim TreeFUBBoABushy TreeSlim Tree

  • BoAFUBBoABoA

  • OutlineIntroductionRelated WorkDesign of ProtocolPacket Loss RecoverySegment Size DeterminationAdaptive UDP MechanismPerformance EvaluationConclusion

  • Related WorkTCPTCP

  • TCPH. Balakrishnan and V. N. Padmanabhan, How Network Asymmetry Affect TCP, IEEE Communications Magazine, Apr. 2001.TCPTCP Header CompressionACK FilteringACK Congestion ControlACKs First SchedulingACKSelf-clockingACK Reconstruction

  • TCPWanjiun Liao and Yi-Der Li, "Improving TCP Performance for Asymmetric Networks," IEEE ICC, Helsinki, Finland, Jun. 2001.TCP VegasTCP FormosaCumulative ACKACKACK

  • TCPTCPTCP

  • OutlineIntroductionRelated WorkDesign of ProtocolPacket Loss RecoverySegment Size DeterminationAdaptive UDP MechanismPerformance EvaluationConclusion

  • BoATCP ACK TimeoutTCPTCPACKACKACKTCPUDP(UDP-Based Approach)

  • UDPUDPACKBoAUDP(Application Layer)

  • UDPBitTorrent(sender & receiver)

  • Packet Loss Recovery () Segment Size Determination ()overheadAdaptive UDP Mechanism (UDP)

  • Fragment Structure

  • Packet Loss Recoveryn(Parity Packet) SegmentSegment

  • Packet Loss RecoverySegmentSegmentFragmentSegment

  • Packet Loss Recovery

  • Packet Loss Recovery IssueSegmentSegmentOverheadSegmentOverhead

  • Segment Size DeterminationSegmentSegment

    m(fragment), 0

  • Segment Size DeterminationFragment SegmentSegmentx

    Segment

    Segment

  • Segment Size DeterminationSegmentSegment(Penalty Function)

  • Segment Size DeterminationSegment

    n

  • Adaptive UDP MechanismUDP(Probing Packet)(bottleneck bandwidth)

  • UDP with Probing Packets

    ACK

  • Packet Dispersion

    C. Dovrolis et. al. ,"Packet-Dispersion Techniques and a Capacity-Estimation Methodology," IEEE/ACM Transactions On Networking, VOL. 12, No. 6, Dec 2004.(Dispersion)Packet DispersionPacket Dispersion

  • Adjusting Coefficient

    (bias)(Adjusting Coefficient )Yung-Ping Chung and Yao-Nan Lien, "Design of TCP Congestion Control Techniques by Router-assisted Approach," Sep. 2005

  • OutlineIntroductionRelated WorkDesign of ProtocolPacket Loss RecoverySegment Size DeterminationAdaptive UDP MechanismPerformance EvaluationConclusion

  • Cygwinns 2.28SegmentUDPUDP-Based Approach

  • Segment Size(Penalty Function)Segment Size

    l1000 bytes/packetm263 packets/fragment l m = 1/4 MB0.5% ~ 2%

  • Segment Size(=0.005, 0.01, 0.015, 0.02)

  • Segment Size

    Segment SizeSegment SizeSegment Size

  • Adaptive UDP MechanismPacket-Dispersion

  • Adaptive UDP Mechanism

  • Adaptive UDP Mechanism

    1,3,5,7,9110 Mbps

  • (=1)

    =0.897

  • (=3)

    =0.962

  • (=5)

    =0.944

  • (=7)

    =0.958

  • (=9)

    =0.885

  • 0.93

  • UDP-Based ApproachFUBBoAUDP-Based ApproachTCP-RenoTCP-Vegas(Core Network)1Gbps

  • UDP-Based Approach

    R1R2(Router)X1X5Y1X1X5Y1Y15SessionX1X5Y1R2FUBBoA

    X

    Y

    Y

    X

  • UDP-Based Approach

    TCP-RenoTCP-VegasUDP-Based Approach 1/4MB 1Gbps(64Kbps, 2Mbps)(64Kbps, 4Mbps)(64Kbps, 6Mbps)(64Kbps, 8Mbps)0%, 0.1%, 0.5%, 1%, 5%, 10%

  • (64Kbps,2Mbps,=0)

    TCP Reno Session 164.8(Lost ACK: 41)TCP Vegas Session 188 (Lost ACK: 0)Adaptive UDP Session 110.7 (: 0)

    Chart1

    55.39964998.72416836.970008

    55.35464998.72916836.970016

    55.584649239.36916836.970024

    55.852969239.37416836.970032

    56.108809239.37916836.97004

    191.363818241.119008184.250008

    288.608818120.714008184.376008

    464.116804121.214008184.502008

    226.703818240.539008184.628008

    198.501804240.789008184.754008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.39964955.35464955.58464955.85296956.108809191.363818288.608818464.116804226.703818198.501804164.7595787

    TCP Vegas98.72416898.729168239.369168239.374168239.379168241.119008120.714008121.214008240.539008240.789008187.995088

    Adaptive UDP36.97000836.97001636.97002436.97003236.97004184.250008184.376008184.502008184.628008184.754008110.736016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,2Mbps,=0.001)

    TCP Reno Session 201.5 (Lost ACK: 66)TCP Vegas Session 187.8 (Lost ACK: 0)Adaptive UDP Session 112 (: 0)

    Chart1

    55.654649102.95416837.390008

    62.448978102.95916837.390016

    56.064649189.49416837.390024

    56.329649287.18416837.390032

    56.584649289.65416837.39004

    621.145781292.159008186.350008

    349.408467131.629008186.476008

    160.648818132.129008186.602008

    164.613467162.774008186.728008

    431.712124186.999008186.854008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.65464962.44897856.06464956.32964956.584649621.145781349.408467160.648818164.613467431.712124201.4611231

    TCP Vegas102.954168102.959168189.494168287.184168289.654168292.159008131.629008132.129008162.774008186.999008187.793588

    Adaptive UDP37.39000837.39001637.39002437.39003237.39004186.350008186.476008186.602008186.728008186.854008111.996016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,2Mbps,=0.005)

    TCP Reno Session 150.1 (Lost ACK: 39)TCP Vegas Session 159.2 (Lost ACK: 0)Adaptive UDP Session 115 (: 4)

    Chart1

    70.242635111.58416842.850008

    57.05763594.19416838.090016

    55.893138163.74416842.850024

    59.988978110.94416838.090032

    63.517635140.78416838.09004

    201.921132171.629008189.850008

    237.644789103.764008189.976008

    218.990461248.519008190.102008

    255.939789208.144008190.228008

    280.188447240.334008190.354008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno70.24263557.05763555.89313859.98897863.517635201.921132237.644789218.990461255.939789280.188447150.1384639

    TCP Vegas111.58416894.194168163.744168110.944168140.784168171.629008103.764008248.519008208.144008240.334008159.364088

    Adaptive UDP42.85000838.09001642.85002438.09003238.09004189.850008189.976008190.102008190.228008190.354008115.048016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,2Mbps,=0.01)

    TCP Reno Session 150.2 (Lost ACK: 34)TCP Vegas Session 164 (Lost ACK: 0)Adaptive UDP Session 119.6 (: 15)

    Chart1

    56.883978119.77416841.870008

    60.188978111.29416838.650016

    68.808307103.47416841.870024

    72.173307128.95416838.650032

    63.58413264.93416838.65004

    161.236804195.224008224.850008

    198.671132152.754008192.776008

    273.374118153.389008192.902008

    341.098447251.829008193.028008

    206.381132158.489008193.154008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno56.88397860.18897868.80830772.17330763.58413161.236804198.671132273.374118341.098447206.381132150.2400333

    TCP Vegas119.774168111.294168103.474168128.954168264.934168195.224008152.754008153.389008251.829008158.489008164.011588

    Adaptive UDP41.87000838.65001641.87002438.65003238.65004224.850008192.776008192.902008193.028008193.154008119.640016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,2Mbps,=0.05)

    TCP Reno Session 208.7 (Lost ACK: 1)TCP Vegas Session 196 (Lost ACK: 0)Adaptive UDP Session 131.3 (: 311)

    Chart1

    179.289649261.90916845.370008

    304.229649277.99916845.370016

    189.864649174.12416846.630024

    201.649649144.40416844.110032

    204.143657181.06416842.85004

    183.854489226.744008226.250008

    150.484489137.459008213.776008

    234.084489201.319008207.602008

    242.509489192.369008226.628008

    197.049489162.754008214.134

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno179.289649304.229649189.864649201.649649204.143657183.854489150.484489234.084489242.509489197.049489208.7159698

    TCP Vegas261.909168277.999168174.124168144.404168181.064168226.744008137.459008201.319008192.369008162.754008196.014588

    Adaptive UDP45.37000845.37001646.63002444.11003242.85004226.250008213.776008207.602008226.628008214.134131.2720152

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,2Mbps,=0. 1)

    TCP Reno Session 231.7 (Lost ACK: 0)TCP Vegas Session 213.1 (Lost ACK: 0)Adaptive UDP Session 150.2 (: 480)

    Chart1

    375.222635165.0798250.39

    197.353307314.17681351.110016

    231.573307228.84764551.810024

    191.638307142.9898251.110032

    248.138307152.1748249.710032

    171.113146362.101974247.950008

    216.503146171.404659255.076008

    184.498146147.989659251.702008

    222.713146218.412485241.328008

    278.023146227.566653251.954008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno375.222635197.353307231.573307191.638307248.138307171.113146216.503146184.498146222.713146278.023146231.6776593

    TCP Vegas165.07982314.176813228.847645142.98982152.17482362.101974171.404659147.989659218.412485227.566653213.0744348

    Adaptive UDP50.3951.11001651.81002451.11003249.710032247.950008255.076008251.702008241.328008251.954008150.2140144

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,4Mbps,=0)

    TCP Reno Session 174.4 (Lost ACK: 40)TCP Vegas Session 188 (Lost ACK: 0)Adaptive UDP Session 110.7 (: 0)

    Chart1

    55.54732998.72208836.970008

    55.51232998.72708836.970016

    56.107329239.36708836.970024

    56.077329239.37208836.970032

    56.122329239.37708836.97004

    367.601586241.117008184.250008

    221.191586120.712008184.376008

    219.306586121.212008184.502008

    335.851586240.537008184.628008

    320.963092240.787008184.754008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.54732955.51232956.10732956.07732956.122329367.601586221.191586219.306586335.851586320.963092174.4281081

    TCP Vegas98.72208898.727088239.367088239.372088239.377088241.117008120.712008121.212008240.537008240.787008187.993048

    Adaptive UDP36.97000836.97001636.97002436.97003236.97004184.250008184.376008184.502008184.628008184.754008110.736016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,4Mbps,=0.001)

    TCP Reno Session 151.1 (Lost ACK: 39)TCP Vegas Session 187.8 (Lost ACK: 0)Adaptive UDP Session 112 (: 0)

    Chart1

    55.652329102.95208837.390008

    62.444498102.95708837.390016

    56.062329189.49208837.390024

    56.327329287.18208837.390032

    56.582329289.65208837.39004

    287.748755292.157008186.350008

    208.721586131.627008186.476008

    314.073092132.127008186.602008

    128.056586162.772008186.728008

    285.663755186.997008186.854008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.65232962.44449856.06232956.32732956.582329287.748755208.721586314.073092128.056586285.663755151.1332588

    TCP Vegas102.952088102.957088189.492088287.182088289.652088292.157008131.627008132.127008162.772008186.997008187.791548

    Adaptive UDP37.39000837.39001637.39002437.39003237.39004186.350008186.476008186.602008186.728008186.854008111.996016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,4Mbps,=0.005)

    TCP Reno Session 143.3 (Lost ACK: 45)TCP Vegas Session 148 (Lost ACK: 0)Adaptive UDP Session 115 (: 4)

    Chart1

    66.346667110.95208842.850008

    57.12166794.09208838.090016

    55.887329160.23708842.850024

    60.321667105.44208838.090032

    69.746667127.30708838.09004

    218.978092216.267008189.850008

    235.623092103.317008189.976008

    221.678092183.287008190.102008

    273.999598180.267008190.228008

    173.671084198.517008190.354008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno66.34666757.12166755.88732960.32166769.746667218.978092235.623092221.678092273.999598173.671084143.3373955

    TCP Vegas110.95208894.092088160.237088105.442088127.307088216.267008103.317008183.287008180.267008198.517008147.968548

    Adaptive UDP42.85000838.09001642.85002438.09003238.09004189.850008189.976008190.102008190.228008190.354008115.048016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,4Mbps,=0.01)

    TCP Reno Session 142.9 (Lost ACK: 24)TCP Vegas Session 164 (Lost ACK: 0)Adaptive UDP Session 119.6 (: 15)

    Chart1

    65.516739119.77208841.870008

    64.221739111.29208838.650016

    60.354659103.47208841.870024

    66.164659128.95208838.650032

    58.379498264.93208838.65004

    253.675421195.222008224.850008

    189.866084152.752008192.776008

    250.455421153.387008192.902008

    229.843253251.827008193.028008

    190.666084158.487008193.154008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno65.51673964.22173960.35465966.16465958.379498253.675421189.866084250.455421229.843253190.666084142.9143557

    TCP Vegas119.772088111.292088103.472088128.952088264.932088195.222008152.752008153.387008251.827008158.487008164.009548

    Adaptive UDP41.87000838.65001641.87002438.65003238.65004224.850008192.776008192.902008193.028008193.154008119.640016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,4Mbps,=0.05)

    TCP Reno Session 201.5 (Lost ACK: 1)TCP Vegas Session 196 (Lost ACK: 0)Adaptive UDP Session 131.3 (: 311)

    Chart1

    167.927329261.90708845.370008

    237.247329277.99708845.370016

    228.292329174.12208846.630024

    191.782329144.40208844.110032

    212.272329181.06208842.85004

    160.152249226.742008226.250008

    189.512249137.457008213.776008

    180.572249201.317008207.602008

    247.752249192.367008226.628008

    199.592249162.752008214.134

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno167.927329237.247329228.292329191.782329212.272329160.152249189.512249180.572249247.752249199.592249201.510289

    TCP Vegas261.907088277.997088174.122088144.402088181.062088226.742008137.457008201.317008192.367008162.752008196.012548

    Adaptive UDP45.37000845.37001646.63002444.11003242.85004226.250008213.776008207.602008226.628008214.134131.2720152

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,4Mbps,=0. 1)

    TCP Reno Session 222.2 (Lost ACK: 0)TCP Vegas Session 222.1 (Lost ACK: 0)Adaptive UDP Session 150.2 (: 480)

    Chart1

    169.924839156.80044250.39

    287.351345272.1300651.110016

    199.479839275.66698851.810024

    187.544839170.87044251.110032

    231.234839265.3450649.710032

    207.919759146.745361247.950008

    340.286265263.92498255.076008

    302.176265201.40245251.702008

    156.894759241.33498241.328008

    139.654759226.935803251.954008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno169.924839287.351345199.479839187.544839231.234839207.919759340.286265302.176265156.894759139.654759222.2467508

    TCP Vegas156.800442272.13006275.666988170.870442265.34506146.745361263.92498201.40245241.33498226.935803222.1156566

    Adaptive UDP50.3951.11001651.81002451.11003249.710032247.950008255.076008251.702008241.328008251.954008150.2140144

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,6Mbps,=0)

    TCP Reno Session 177.9 (Lost ACK: 40)TCP Vegas Session 188 (Lost ACK: 0)Adaptive UDP Session 110.7 (: 0)

    Chart1

    55.54655698.72139536.970008

    55.51155698.72639536.970016

    56.106556239.36639536.970024

    56.076556239.37139536.970032

    56.121556239.37639536.97004

    402.5594241.116341184.250008

    221.1894120.711341184.376008

    219.3044121.211341184.502008

    335.8444240.536341184.628008

    320.953745240.786341184.754008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.54655655.51155656.10655656.07655656.121556402.5594221.1894219.3044335.8444320.953745177.9214125

    TCP Vegas98.72139598.726395239.366395239.371395239.376395241.116341120.711341121.211341240.536341240.786341187.992368

    Adaptive UDP36.97000836.97001636.97002436.97003236.97004184.250008184.376008184.502008184.628008184.754008110.736016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,6Mbps,=0.001)

    TCP Reno Session 166.9 (Lost ACK: 39)TCP Vegas Session 187.8 (Lost ACK: 0)Adaptive UDP Session 112 (: 0)

    Chart1

    55.651556102.95139537.390008

    62.443005102.95639537.390016

    56.061556189.49139537.390024

    56.326556287.18139537.390032

    56.581556289.65139537.39004

    385.685301292.156341186.350008

    178.698745131.626341186.476008

    281.663853132.126341186.602008

    128.0544162.771341186.728008

    408.220301186.996341186.854008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.65155662.44300556.06155656.32655656.581556385.685301178.698745281.663853128.0544408.220301166.9386829

    TCP Vegas102.951395102.956395189.491395287.181395289.651395292.156341131.626341132.126341162.771341186.996341187.790868

    Adaptive UDP37.39000837.39001637.39002437.39003237.39004186.350008186.476008186.602008186.728008186.854008111.996016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,6Mbps,=0.005)

    TCP Reno Session 148.5 (Lost ACK: 43)TCP Vegas Session 148 (Lost ACK: 0)Adaptive UDP Session 115 (: 4)

    Chart1

    66.344453110.95139542.850008

    57.11945394.09139538.090016

    55.886556160.23639542.850024

    60.319453105.44139538.090032

    69.744453127.30639538.09004

    285.881643216.266341189.850008

    200.618745103.316341189.976008

    198.028745183.286341190.102008

    227.282404180.266341190.228008

    263.376643198.516341190.354008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno66.34445357.11945355.88655660.31945369.744453285.881643200.618745198.028745227.282404263.376643148.4602548

    TCP Vegas110.95139594.091395160.236395105.441395127.306395216.266341103.316341183.286341180.266341198.516341147.967868

    Adaptive UDP42.85000838.09001642.85002438.09003238.09004189.850008189.976008190.102008190.228008190.354008115.048016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,6Mbps,=0.01)

    TCP Reno Session 141.2 (Lost ACK: 24)TCP Vegas Session 164 (Lost ACK: 0)Adaptive UDP Session 119.6 (: 15)

    Chart1

    65.514499119.77139541.870008

    64.219499111.29139538.650016

    60.353112103.47139541.870024

    66.163112128.95139538.650032

    58.378005264.93139538.65004

    177.98675195.221341224.850008

    170.88175152.751341192.776008

    199.783199153.386341192.902008

    288.839647251.826341193.028008

    259.606203158.486341193.154008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno65.51449964.21949960.35311266.16311258.378005177.98675170.88175199.783199288.839647259.606203141.1725776

    TCP Vegas119.771395111.291395103.471395128.951395264.931395195.221341152.751341153.386341251.826341158.486341164.008868

    Adaptive UDP41.87000838.65001641.87002438.65003238.65004224.850008192.776008192.902008193.028008193.154008119.640016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,6Mbps,=0.05)

    TCP Reno Session 201.5 (Lost ACK: 1)TCP Vegas Session 192.3 (Lost ACK: 0)Adaptive UDP Session 131.3 (: 311)

    Chart1

    167.926556236.10139545.370008

    237.246556267.10639545.370016

    228.291556174.12139546.630024

    191.781556144.40139544.110032

    212.271556181.06139542.85004

    160.151502226.741341226.250008

    189.511502137.456341213.776008

    180.571502201.316341207.602008

    247.751502192.366341226.628008

    199.591502162.751341214.134

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno167.926556237.246556228.291556191.781556212.271556160.151502189.511502180.571502247.751502199.591502201.509529

    TCP Vegas236.101395267.106395174.121395144.401395181.061395226.741341137.456341201.316341192.366341162.751341192.342368

    Adaptive UDP45.37000845.37001646.63002444.11003242.85004226.250008213.776008207.602008226.628008214.134131.2720152

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,6Mbps,=0. 1)

    TCP Reno Session 211.5 (Lost ACK: 0)TCP Vegas Session 197.4 (Lost ACK: 0)Adaptive UDP Session 150.2 (: 480)

    Chart1

    169.820355165.60423850.39

    235.760603183.57423851.110016

    191.614014214.09923851.810024

    131.154014182.56423851.110032

    209.506257212.38923849.710032

    124.362511170.564185247.950008

    310.111998255.952082255.076008

    202.171203155.652736251.702008

    399.341998245.152082241.328008

    140.77896188.409185251.954008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno169.820355235.760603191.614014131.154014209.506257124.362511310.111998202.171203399.341998140.77896211.4621913

    TCP Vegas165.604238183.574238214.099238182.564238212.389238170.564185255.952082155.652736245.152082188.409185197.396146

    Adaptive UDP50.3951.11001651.81002451.11003249.710032247.950008255.076008251.702008241.328008251.954008150.2140144

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,8Mbps,=0)

    TCP Reno Session 158.5 (Lost ACK: 41)TCP Vegas Session 188 (Lost ACK: 0)Adaptive UDP Session 110.7 (: 0)

    Chart1

    55.39616998.72104836.970008

    55.36116998.72604836.970016

    55.581169239.36604836.970024

    55.846169239.37104836.970032

    56.102209239.37604836.97004

    249.754395241.116008184.250008

    324.109395120.711008184.376008

    272.674395121.211008184.502008

    344.010484240.536008184.628008

    115.747218240.786008184.754008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.39616955.36116955.58116955.84616956.102209249.754395324.109395272.674395344.010484115.747218158.4582772

    TCP Vegas98.72104898.726048239.366048239.371048239.376048241.116008120.711008121.211008240.536008240.786008187.992028

    Adaptive UDP36.97000836.97001636.97002436.97003236.97004184.250008184.376008184.502008184.628008184.754008110.736016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,8Mbps,=0.001)

    TCP Reno Session 171.3 (Lost ACK: 56)TCP Vegas Session 187.8 (Lost ACK: 0)Adaptive UDP Session 112 (: 0)

    Chart1

    55.651169102.95104837.390008

    62.442258102.95604837.390016

    56.061169189.49104837.390024

    56.326169287.18104837.390032

    56.581169289.65104837.39004

    428.687661292.156008186.350008

    283.325484131.626008186.476008

    214.632218132.126008186.602008

    128.053306162.771008186.728008

    371.647661186.996008186.854008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno55.65116962.44225856.06116956.32616956.581169428.687661283.325484214.632218128.053306371.647661171.3408264

    TCP Vegas102.951048102.956048189.491048287.181048289.651048292.156008131.626008132.126008162.771008186.996008187.790528

    Adaptive UDP37.39000837.39001637.39002437.39003237.39004186.350008186.476008186.602008186.728008186.854008111.996016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,8Mbps,=0.005)

    TCP Reno Session 149.3 (Lost ACK: 46)TCP Vegas Session 148 (Lost ACK: 0)Adaptive UDP Session 115 (: 4)

    Chart1

    66.343347110.95104842.850008

    57.11834794.09104838.090016

    55.886169160.23604842.850024

    60.318347105.44104838.090032

    69.743347127.30604838.09004

    274.592661216.266008189.850008

    200.616572103.316008189.976008

    198.026572183.286008190.102008

    251.371572180.266008190.228008

    259.361572198.516008190.354008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno66.34334757.11834755.88616960.31834769.743347274.592661200.616572198.026572251.371572259.361572149.3378506

    TCP Vegas110.95104894.091048160.236048105.441048127.306048216.266008103.316008183.286008180.266008198.516008147.967528

    Adaptive UDP42.85000838.09001642.85002438.09003238.09004189.850008189.976008190.102008190.228008190.354008115.048016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,8Mbps,=0.01)

    TCP Reno Session 138.1 (Lost ACK: 23)TCP Vegas Session 164 (Lost ACK: 0)Adaptive UDP Session 119.6 (: 15)

    Chart1

    65.513379119.77104841.870008

    64.218379111.29104838.650016

    60.352339103.47104841.870024

    66.162339128.95104838.650032

    58.377258264.93104838.65004

    177.98383195.221008224.850008

    170.87883152.751008192.776008

    199.779919153.386008192.902008

    280.657096251.826008193.028008

    237.371007158.486008193.154008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno65.51337964.21837960.35233966.16233958.377258177.98383170.87883199.779919280.657096237.371007138.1294376

    TCP Vegas119.771048111.291048103.471048128.951048264.931048195.221008152.751008153.386008251.826008158.486008164.008528

    Adaptive UDP41.87000838.65001641.87002438.65003238.65004224.850008192.776008192.902008193.028008193.154008119.640016

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,8Mbps,=0.05)

    TCP Reno Session 201.5 (Lost ACK: 1)TCP Vegas Session 189.9 (Lost ACK: 0)Adaptive UDP Session 131.3 (: 311)

    Chart1

    167.926169173.86604845.370008

    237.246169152.21604845.370016

    228.291169249.64104846.630024

    191.781169181.24104844.110032

    212.271169230.72104842.85004

    160.151129204.641008226.250008

    189.511129157.536008213.776008

    180.571129195.531008207.602008

    247.751129178.641008226.628008

    199.591129174.611008214.134

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno167.926169237.246169228.291169191.781169212.271169160.151129189.511129180.571129247.751129199.591129201.509149

    TCP Vegas173.866048152.216048249.641048181.241048230.721048204.641008157.536008195.531008178.641008174.611008189.864528

    Adaptive UDP45.37000845.37001646.63002444.11003242.85004226.250008213.776008207.602008226.628008214.134131.2720152

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • (64Kbps,8Mbps,=0. 1)

    TCP Reno Session 211.4 (Lost ACK: 0)TCP Vegas Session 242.7 (Lost ACK: 0)Adaptive UDP Session 150.2 (: 480)

    Chart1

    158.50879231.61411350.39

    256.46879178.21911351.110016

    191.23379292.52137151.810024

    182.21379197.30411351.110032

    231.54879489.18854849.710032

    151.478749215.584072247.950008

    265.66383234.584072255.076008

    227.853749156.049072251.702008

    199.388749179.214072241.328008

    249.773749252.770282251.954008

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Frag. Transport Time (sec)

    yapi

    Mean

    TCP Reno158.50879256.46879191.23379182.21379231.54879151.478749265.66383227.853749199.388749249.773749211.4132776

    TCP Vegas231.614113178.219113292.521371197.304113489.188548215.584072234.584072156.049072179.214072252.770282242.7048828

    Adaptive UDP50.3951.11001651.81002451.11003249.710032247.950008255.076008251.702008241.328008251.954008150.2140144

    yapi

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Session

    Elasped Time (sec)

    X

    Y

    Y

    X

  • ()

    Adaptive UDPTCP RenoTCP VegasRenoVegasUDP175.8, 183.8, 123.1

    Chart1

    175.8423521875

    183.8321158417

    123.1510156

    Meas Time (sec)

    Sheet1

    reno164.7595787174.4281081177.9214125158.4582772201.4611231151.1332588166.9386829171.3408264150.1384639143.3373955148.4602548149.3378506150.2400333142.9143557141.1725776138.1294376208.7159698201.510289201.509529201.509149231.6776593222.2467508211.4621913211.4132776175.8423521875

    vegas187.995088187.993048187.992368187.992028187.793588187.791548187.790868187.790528159.364088147.968548147.967868147.967528164.011588164.009548164.008868164.008528196.014588196.012548192.342368189.864528213.0744348222.1156566197.396146242.7048828183.8321158417

    udp110.736016110.736016110.736016110.736016111.996016111.996016111.996016111.996016115.048016115.048016115.048016115.048016119.640016119.640016119.640016119.640016131.2720152131.2720152131.2720152131.2720152150.2140144150.2140144150.2140144150.2140144123.1510156

    TCP Reno175.8423521875

    TCP Vegas183.8321158417

    Adaptive UDP123.1510156

    Sheet1

    Meas Time (sec)

    Sheet2

    Sheet3

  • BitTorrent

    Chart1

    184.4988046833184.7088958123.1510156

    172.5950263167184.3151494333123.1510156

    174.57744135179.583081123.1510156

    171.6981364186.7213371333123.1510156

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Downlink Bandwidth (Mbps)

    Time (sec)

    Sheet1

    64Kbps, 2Mbps

    164.7595787201.4611231150.1384639150.2400333208.7159698231.6776593184.4988046833

    187.995088187.793588159.364088164.011588196.014588213.0744348184.7088958

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    64Kbps, 4Mbps

    174.4281081151.1332588143.3373955142.9143557201.510289222.2467508172.5950263167

    187.993048187.791548147.968548164.009548196.012548222.1156566184.3151494333

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    64Kbps, 6Mbps

    177.9214125166.9386829148.4602548141.1725776201.509529211.4621913174.57744135

    187.992368187.790868147.967868164.008868192.342368197.396146179.583081

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    64Kbps, 8Mbps

    158.4582772171.3408264149.3378506138.1294376201.509149211.4132776171.6981364

    187.992028187.790528147.967528164.008528189.864528242.7048828186.7213371333

    110.736016111.996016115.048016119.640016131.2720152150.2140144123.1510156

    246864Kbps, 2Mbps64Kbps, 4Mbps64Kbps, 6Mbps64Kbps, 8Mbps

    TCP Reno184.4988046833172.5950263167174.57744135171.6981364

    TCP Vegas184.7088958184.3151494333179.583081186.7213371333

    Adaptive UDP123.1510156123.1510156123.1510156123.1510156

    Sheet1

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Downlink Bandwidth (Mbps)

    Time (sec)

    Sheet2

    Sheet3

  • TCP RenoTCP VegasYPacket Loss

    Chart1

    168.891844125187.993133110.736016

    172.7184728187.791633111.996016

    147.8184912150.817008115.048016

    143.11410105164.009633119.640016

    203.3112342193.558508131.2720152

    219.19996975218.82278005150.2140144

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Packet Loss Rate in Core Network

    Time (sec)

    Sheet1

    64Kbps, 2Mbps64Kbps, 4Mbps64Kbps, 6Mbps64Kbps, 8Mbps

    reno r0164.7595787174.4281081177.9214125158.4582772168.891844125

    vegas r0187.995088187.993048187.992368187.992028187.993133

    udp r0110.736016110.736016110.736016110.736016110.736016

    reno r001201.4611231151.1332588166.9386829171.3408264172.7184728

    vegas r001187.793588187.791548187.790868187.790528187.791633

    udp r001111.996016111.996016111.996016111.996016111.996016

    reno r005150.1384639143.3373955148.4602548149.3378506147.8184912

    vegas r005159.364088147.968548147.967868147.967528150.817008

    udp r005115.048016115.048016115.048016115.048016115.048016

    reno r01150.2400333142.9143557141.1725776138.1294376143.11410105

    vegas r01164.011588164.009548164.008868164.008528164.009633

    udp r01119.640016119.640016119.640016119.640016119.640016

    reno r05208.7159698201.510289201.509529201.509149203.3112342

    vegas r05196.014588196.012548192.342368189.864528193.558508

    udp r05131.2720152131.2720152131.2720152131.2720152131.2720152

    reno r1231.6776593222.2467508211.4621913211.4132776219.19996975

    vegas r1213.0744348222.1156566197.396146242.7048828218.82278005

    udp r1150.2140144150.2140144150.2140144150.2140144150.2140144

    00.0010.0050.010.050.1

    TCP Reno168.891844125172.7184728147.8184912143.11410105203.3112342219.19996975

    TCP Vegas187.993133187.791633150.817008164.009633193.558508218.82278005

    Adaptive UDP110.736016111.996016115.048016119.640016131.2720152150.2140144

    64Kbps, 2Mbps64Kbps, 4Mbps64Kbps, 6Mbps64Kbps, 8Mbps

    164.7595787174.4281081177.9214125158.4582772

    187.995088187.993048187.992368187.992028

    110.736016110.736016110.736016110.736016

    201.4611231151.1332588166.9386829171.3408264

    187.793588187.791548187.790868187.790528

    111.996016111.996016111.996016111.996016

    150.1384639143.3373955148.4602548149.3378506

    159.364088147.968548147.967868147.967528

    115.048016115.048016115.048016115.048016

    150.2400333142.9143557141.1725776138.1294376

    164.011588164.009548164.008868164.008528

    119.640016119.640016119.640016119.640016

    208.7159698201.510289201.509529201.509149

    196.014588196.012548192.342368189.864528

    131.2720152131.2720152131.2720152131.2720152

    231.6776593222.2467508211.4621913211.4132776

    213.0744348222.1156566197.396146242.7048828

    150.2140144150.2140144150.2140144150.2140144

    Sheet1

    000

    000

    000

    000

    000

    000

    TCP Reno

    TCP Vegas

    Adaptive UDP

    Packet Loss Rate

    Time (sec)

    Sheet2

    Sheet3

  • TCP RenoACKFUBBoATCP Congestion WindowTCP RenoTCP VegasSession

  • OutlineIntroductionRelated WorkDesign of ProtocolPacket Loss RecoverySegment Size DeterminationAdaptive UDP MechanismPerformance EvaluationConclusion

  • ConclusionP2PTCP RenoTCP VegasP2P

    P2PBitTorrent(BT)P2PADSL BitTorrent (1) (2)ClientServer (1) (2)ClientPeer()

    Larry

    BitTorrentTCPTCP

    BitTorrentTCPPipeliningFragmentSub-fragmentConnection AdditiveMultiplicativeTCPData-and-ACKBitTorrent P2P

    (Fragment Tree) (1) SeedRootFragment Tree(2) Fragment TreeLinkPath(3) Fragment TreeLong Physical Paths, Bushy TreereferLien (2005) P2P backboneLong Physical Paths, Bushy TreereferLien (2005)

    GatewayACKSchedule Reconstruction

    .ACK

    TCPACK()--

    ()Research Objective and Justification----Throughput

    UDP

    m r l

    =0.005nPenalty Value(Packet Set)n21Penalty Value28492.3804

    (Packet Lost Rate)n (Parity Packet)(Packet Lost Rate)n Parity Packet

    TCP Reno(TCPTCP Reno)