Learning Center
Plans & pricing Sign in
Sign Out

Overlay networks


									‫ػبکٗ ٘ای ‪ ٚ Overlay‬کاربزد٘ای آٔٙا‬

             ‫بٙشاد اکبزی‬   ‫ارائٗ دٕ٘ذٖ :‬
                              ‫ػبىٗ ٘اي ‪Overlay‬‬

                                                             ‫ػبىٗ ٘اي ‪ Overlay‬چيظت؟‬           ‫‪‬‬

  ‫بٗ ٘ز ػبىٗ اي بز رٚي يه ػبىٗ ديگز ايجاد ِي ػٛد ‪ Overlay‬گفتٗ ِي ػٛد. ٌٚي اِزٚسٖ ػبىٗ‬     ‫‪‬‬

‫٘اي ‪ Overlay‬بٗ ػبىٗ ٘ايي اطالق ِي ػٛد وٗ در اليٗ واربزد ٚ بزرٚي ػبىٗ ‪ IP‬تؼىيً ِي ػٛٔذ.‬
 ‫ػبىٗ ٘اي اػتزان فايً اس لبيً ‪ ٚ Gnutella, KaZaA‬غيزٖ ّٔٛٔٗ ٘ايي اس ػبىٗ ٘اي ‪Overlay‬‬
                                                         ‫واربزد٘اي ػبىٗ ٘اي ‪: Overlay‬‬         ‫‪‬‬

                                 ‫طيظتُ ٘اي اػتزان فايً (‪)Peer-to-Peer File Sharing‬‬        ‫‪‬‬

                                ‫چٕذ پخؼی در ايٕتزٔت (‪)Multicasting in the Internet‬‬        ‫‪‬‬

                                                                    ‫کٕفزأض ٚيذئ ِيی‬      ‫‪‬‬

                                                          ‫باسی ٘ا ی گزٚ٘ی در ػبکٗ‬         ‫‪‬‬

                                                                               ‫....‬       ‫‪‬‬
                            Peer-to-Peer ً‫طيظتُ ٘اي اػتزان فاي‬
                                              Alice chooses one of the peers,
  Alice runs P2P client application on
                                              File is copied from Bob’s PC to
   her notebook computer                       Alice’s notebook: HTTP
  Intermittently connects to Internet;       While Alice downloads, other
   gets new IP address for each                users uploading from Alice.
  Asks for “Hey Jude”                        Alice’s peer is both a Web client
  Application displays other peers that       and a transient Web server.
   have copy of Hey Jude.                  All peers are servers = highly
P2P: centralized directory

original “Napster” design
1) when peer connects, it informs   directory server
    central server:                                        1
      IP address                                                          peers
      content                                             1
2) Alice queries for “Hey Jude”
3) Alice requests file from Bob                            1           3

                                                 2     1

P2P: problems with centralized directory

   Single point of failure          file transfer is decentralized, but
                                          locating content is highly
   Performance bottleneck
   Copyright infringement
Query flooding: Gnutella

   fully distributed        overlay network: graph
       no central server      edge between peer X and Y if there’s
                                a TCP connection
   public domain protocol
                               all active peers and edges is overlay
   many Gnutella clients       net
    implementing protocol
                               Edge is not a physical link
                               Given peer will typically be connected
                                with < 10 overlay neighbors
Gnutella: protocol
                                    File transfer:
 Query message                     HTTP
sent over existing TCP
 peers forward                     Query
Query message
 QueryHit
sent over

limited scope
Gnutella: Peer joining

1.   Joining peer X must find some other peer in Gnutella network: use list of
     candidate peers
2.   X sequentially attempts to make TCP with peers on list until connection
     setup with Y
3.   X sends Ping message to Y; Y forwards Ping message.
4.   All peers receiving Ping message respond with Pong message
5.   X receives many Pong messages. It can then setup additional TCP
Peer leaving: see homework problem!
Exploiting heterogeneity: KaZaA

   Each peer is either a group leader or
    assigned to a group leader.
       TCP connection between peer and its
        group leader.
       TCP connections between some pairs of
        group leaders.
   Group leader tracks the content in all its

                                                 ordinary peer

                                                 group-leader peer

                                                 neighoring relationships
                                                    in overlay network
KaZaA: Querying

   Each file has a hash and a descriptor
   Client sends keyword query to its group leader
   Group leader responds with matches:
       For each match: metadata, hash, IP address
   If group leader forwards query to other group leaders, they respond
    with matches
   Client then selects files for downloading
       HTTP requests using hash as identifier sent to peers holding desired file
Kazaa tricks

   Limitations on simultaneous uploads
   Request queuing
   Incentive priorities
   Parallel downloading
                           ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

                                                                                ‫چٕذ پخؼی ‪IP‬‬       ‫‪‬‬

                  ‫چٕذپخؼی ‪ IP‬بٙيٕٗ تزيٓ رٚع تحٛيً دادٖ بٗ صٛرت ٔمطٗ بٗ چٕذ ٔمطٗ اطت.‬          ‫‪‬‬

                                         ‫گزٖٚ چٕذ پخؼی: ِجّٛعٗ گيزٔذٖ ٘ای دادٖ چٕذ پخؼی‬       ‫‪‬‬

                              ‫آدرص چٕذ پخؼی: يک آدرص ‪ IP‬اس کالص ‪ D‬بٗ اسای ٘ز گزٖٚ‬             ‫‪‬‬

  ‫پزٚتکً ‪ : IGMP‬پزٚتکٍی کٗ گيزٔذٖ ٘ا بٛطيٍٗ آْ بٗ گزٖٚ چٕذ پخؼی ِٛرد عاللٗ ٍِحك ِی‬            ‫‪‬‬

                                        ‫فزطتٕذٖ دادٖ ٘ا را بٗ آدرص چٕذ پخؼی ارطاي ِی کٕذ.‬     ‫‪‬‬

                                   ‫ِظيزياب ٘ا ٚظيفٗ ِذيزيت گزٖٚ چٕذ پخؼی را بعٙذٖ دارٔذ.‬      ‫‪‬‬

       ‫ِظيزياب ٘ا ٚظيفٗ تکثيز بظتٗ ٘ا ٚ رٚأٗ طاسی آٔٙا با طايز ِظيزياب ٘ا را بعٙذٖ دارٔذ.‬    ‫‪‬‬

‫درخت چٕذ پخؼی تٛطط ِظيزياب ٘ا ٚ با بکار گيزی پزٚتکً ٘ای ِظيزيابی چٕذ پخؼی طاختٗ ِی‬            ‫‪‬‬

‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

                             ‫چٕذ پخؼی ‪( IP‬اداِٗ)‬            ‫‪‬‬
                    ‫پزٚتکً ٘ای ِظيزيابی چٕذ پخؼی‬        ‫‪‬‬

        ‫پزٚتکً ٘ای درْٚ دإِٗ ای (‪)Intra Domain‬‬     ‫‪‬‬

          ‫‪CBT ، PIM ،MOSPF، DVMRP ‬‬
           ‫پزٚتکً ٘ای بيٓ دإِٗ ای (‪)Inter Domain‬‬   ‫‪‬‬

                                      ‫‪BGMP ‬‬
                               ‫درخت ٘ای چٕذ پخؼی‬        ‫‪‬‬

     ‫درخت ِبتٕی بز ِٕبع دادٖ (‪)Source-based tree‬‬    ‫‪‬‬

                   ‫درخت ِؼتزک (‪)Shared tree‬‬         ‫‪‬‬
                                ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

                                                           ‫ِٛأع گظتزع چٕذ پخؼی ‪ IP‬در ايٕتزٔت‬              ‫‪‬‬

                                                                                    ‫پيچيذگی پزٚتکً‬     ‫‪‬‬

 ‫يکی اس داليً ِٛفميت ‪ IP‬طادٖ گی آْ در ٘ظتٗ ػبکٗ اطت اطت. طزٚيض ٘ای پيچيذٖ تز بٗ اليٗ ٘ای باالتز‬    ‫‪‬‬
                                                           ‫در ‪٘ End-system‬ا ٚاگذار ػذٖ اطت.‬
                                                 ‫ٔگٙذاری حاٌت گزٖٚ ٘ای چٕذ پخؼی در ِظيزياب ٘ا‬      ‫‪‬‬

‫عذَ ٚجٛد رٚع ِٛثز ِذيزيت گزٖٚ : يک کاربز بذ أذيغ ِی تٛأذ دادٖ بيٙٛدٖ تحت يک آدرص چٕذ پخؼی‬        ‫‪‬‬
                                                                                    ‫ارطاي ّٔايذ.‬
                 ‫ِظاٌٗ تخصيص ِٕحصزبفزد آدرص چٕذ پخؼی بٗ ٘ز ٔؼظت ٚ بطٛر طزاطزی در ايٕتزٔت‬           ‫‪‬‬

                                                        ‫ٔاّ٘گٓ بٛدْ ‪٘ End-system‬ا ٚ ػبکٗ ٘ا‬            ‫‪‬‬

                                       ‫کٕتزي ٔزخ جزياْ ِطابك ظزفيت گيزٔذٖ ٘ا بظيار ِؼکً اطت.‬       ‫‪‬‬

                                                                         ‫پيچيذگی طزٚيض ٘ای أتماي‬      ‫‪‬‬

     ‫فزاُ٘ طاسی طزٚيض ٘ای اليٗ ٘ای باالتز اس لبيً لابٍيت اطّيٕاْ، کٕتزي تزاکُ ٚ کٕتزي جزياْ بزای‬   ‫‪‬‬
                                           ‫طزٚيض چٕذ پخؼی ‪ IP‬اس ِذي تک پخؼی ِؼکً تز اطت.‬
          ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

                      ‫چٕذ پخؼی بٗ رٚع ‪Overlay‬‬    ‫‪‬‬

‫چٕذ پخؼی ‪IP‬‬            ‫چٕذ پخؼی بٗ رٚع ‪Overlay‬‬
                          ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

                                              ‫دطتٗ بٕذی رٚع ٘ای چٕذ پخؼی ‪Overlay‬‬           ‫‪‬‬

 ‫رٚع ٘ايی کٗ در آٔٙا ابتذا گزٖ ٘ا تؼکيً يک ‪ِ Mesh‬ی دٕ٘ذ ٚ طپض اس رٚی آْ يک درخت‬        ‫‪‬‬

                                                           ‫پٛػای بٙيٕٗ طاختٗ ِی ػٛد.‬
‫رٚع ٘ايی کٗ در آٔٙا ابتذا يک درخت تؼکيً ِی گزدد ٚ طپض بزای تبادي پيغاَ ٘ای کٕتزٌی يک‬   ‫‪‬‬
                                                   ‫‪ٔ Mesh‬يش بيٓ گزٖ ٘ا ايجاد ِی ػٛد.‬
  ‫رٚع ٘ايی کٗ در آٔٙا بزای تحٛيً دادٖ درختی طاختٗ ّٔی ػٛد بٍکٗ با يک رٚع ضّٕی عًّ‬      ‫‪‬‬
                     ‫رٚأٗ طاسی بظتٗ ٘ای دادٖ أجاَ ِی گيزد. (‪)Embedded structure‬‬
‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

‫ِعياری ٘ای ارسيابی رٚع ٘ای چٕذ پخؼی ‪Overlay‬‬        ‫‪‬‬
                             ‫کيفيت ِظيز دادٖ‬   ‫‪‬‬

                               ‫‪Stress‬‬     ‫‪‬‬

                              ‫‪Stretch‬‬     ‫‪‬‬

                               ‫ِمياص پذيزی‬     ‫‪‬‬

                              ‫لابٍيت اطّيٕاْ‬   ‫‪‬‬
                                        Overlay ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع‬

                    Overlay ‫ّٔٛٔٗ ٘ايی اس رٚع ٘ای چٕذ پخؼی بٗ رٚع‬

                      Tree-based                        Mesh-based         Embedded Structure

ALMA (Application Layer Multicast Architecture)     Narada           Scribe
ALMI (Application Level Multicast Infrastructure)   Kudos            NICE
BTP (Banana Tree Protocol)                          Scattercast      CAN (Content Addressable Network)
HMTP( Host Multicast Tree Protocol)                                  Bayeux
OMNI (Overlay Multicast Network Infrastructure)                      ZIG-ZAG
                    Overlay ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع‬

HMTP( Host Multicast Tree Protocol)
         ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

             Overlay ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع‬

CAN (Content Addressable Network)
                      ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

                                ‫رٚع پايٗ اػتزاک يک عضٛ جذيذ ٚ ايجاد درخت در ‪Scribe‬‬
 ‫ِظيزيابی در ػبکٗ ‪Pastry‬‬
       ‫چٕذ پخؼی در ايٕتزٔت بٗ رٚع ‪Overlay‬‬

              ‫چٕذ پخؼی ٚيذئٛ در ايٕتزٔت بٗ صٛرت ‪Overlay‬‬

                                                      ‫اّ٘يت چٕذ پخؼی در کاربزد٘ای ٚيذئٛيی:‬            ‫‪‬‬

   ‫کاربزد٘ای ٚيذئٛيی ٔياس بٗ پٕٙای بأذ باال دارٔذ ٚ بظياری اس آٔٙا کاربزاْ ّ٘شِاْ سيادی دارٔذ.‬   ‫‪‬‬

‫بٕابزايٓ بکارگيزی چٕذ پخؼی در آٔٙا باعث صزفٗ جٛيی در ِصزف پٕٙای بأذ ػذٖ ٚ اس طزف ديگز‬
                                         ‫ٔياس بٗ طزٚر٘ای پز لذرت ٚيذئٛ را بزطزف ِی طاسد.‬
                                           ‫چاٌغ ٘ای چٕذ پخؼی ٚيذئٛ بٗ صٛرت ‪: Overlay‬‬                  ‫‪‬‬

                                                                        ‫ٔياس بٗ پٕٙای بأذ سياد‬   ‫‪‬‬

                                                       ‫ٔياس بٗ تاخيز کُ (در بزخی اس کاربزد٘ا)‬     ‫‪‬‬

                                                              ‫ٔاّ٘گٓ بٛدْ ‪٘ Host‬ای ايٕتزٔت‬        ‫‪‬‬
‫چٕذ پخؼی ٚيذئٛ در ايٕتزٔت بٗ صٛرت ‪Overlay‬‬

  ‫ِظائٍی کٗ در پٕذ پخؼی ٚيذئٛ بٗ صٛرت ‪ِٛ Ovelay‬رد تٛجٗ لزار دارٔذ:‬          ‫‪‬‬

                         ‫طاخت درخت چٕذ پخؼی بٙيٕٗ اس ٔظز پٕٙای بأذ‬     ‫‪‬‬

                                ‫تخصيص پٕٙای بأذ در درخت چٕذ پخؼی‬       ‫‪‬‬

                                                           ‫کٕتزي خطا‬    ‫‪‬‬

                                                                ‫.....‬   ‫‪‬‬

To top