1 / 0
Advances in Service Computing: Indexing and Routing Techniques
0 likes | 109 Vues
This document explores advancements in service computing, specifically focusing on indexing and routing techniques used in peer-to-peer systems. It discusses centralized indexes in Napster and selective forwarding strategies in both Clip2 and Gnutella networks. Additionally, it covers structured approaches to routing that enhance the efficiency and reliability of information retrieval in distributed systems. This work by Prof. Dr. Ramin Yahyapour, dated December 1, 2009, provides insights that are vital for researchers and practitioners in the field of IT and media.
Télécharger la présentation
Advances in Service Computing: Indexing and Routing Techniques
An Image/Link below is provided (as is) to download presentation
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.
E N D
Presentation Transcript
-
Service Computing
Prof. Dr. Ramin YahyapourIT & Medien Centrum1. Dezember2009 - Centralized IndexesNapster
- Selective ForwardingClip2 Gnutella
- Selective ForwardingGnutella (2)
- Routing: Structured Approaches Goal: make sure that an item (file) identified is always found in a reasonable # of steps Abstraction: a distributed hash-table (DHT) data structure insert(id, item); item = query(id); Note: item can be anything: a data object, document, file, pointer to a file… Proposals CAN (ICIR/Berkeley) Chord (MIT/Berkeley) Pastry (Rice) Tapestry (Berkeley) Source: Dave Eckhardt, CMU
- Routing: Chord Associate to each node and item a unique id in an uni-dimensional space Properties Routing table size O(log(N)) , where N is the total number of nodes Guarantees that a file is found in O(log(N)) steps Source: Dave Eckhardt, CMU
- Aside: Consistent Hashing [Karger 97] Key 5 K5 Node 105 N105 K20 Circular 7-bit ID space N32 N90 K80 A key is stored at its successor: node with next higher ID Source: Dave Eckhardt, CMU
- Routing: Chord Basic Lookup N120 N10 “Where is key 80?” N105 N32 “N90 has K80” N90 K80 N60 Source: Dave Eckhardt, CMU
- Routing: “Finger table” - Faster Lookups ½ ¼ 1/8 1/16 1/32 1/64 1/128 N80 Source: Dave Eckhardt, CMU
- What is JXTA ? 6 protocols: Peer Discovery Protocol Peer Resolver Protocol Peer Information Protocol Pipe Binding Protocol Endpoint Routing Protocol Rendezvous Protocol JXTA is a set of open, generalized P2P protocolsthat allow any connected device on the network to communicate and collaborate JXTA is middleware– designed as a set of building blocks to allow developers to rapidly develop P2P applications JXTA is designed to have a peer-to-peer, decentralized model (although JXTA supports traditional client/centralized server and brokered) As in Gnutella, every JXTA peer can be botha client and a server Source: I.J.Taylor
- JXTA Terms Peer Peer Peer Peer Peer: A JXTA node. JXTA Group: a group is a set of JXTA nodes who share a common interest Peer A Rendezvous Peer: a meeting place e.g. gateway for JXTA groups Peer Peer Peer Peer Peer Peer Peer Peer Peer Peer Peer Source: I.J.Taylor
- JXTA Overview Project JXTA defines a set of six protocols , which allow peers to: Discover each other Self-organize into peer groups Advertise and discover network services Communicate with each other Monitor each other …and the protocols do not require the use of any particular: programming language operating system network transport Topology authentication Security encryption model. The JXTA protocols therefore allow heterogeneous devices with completely different software stacks to interoperate. Source: I.J.Taylor
- JXTA Architecture JXTA Shell Peer Commands JXTA Community Applications SUN JXTA Applications JXTA Applications JXTA Community Services SUN JXTA Services Indexing Searching File Sharing JXTA Services Peer Groups Peer Pipes Peer Monitoring JXTA Core Security (authentication, authorization and on the wire) Any Peer on the extended Web Source: I.J.Taylor
- Devices in JXTA Network Firewall NAT Bluetooth TCP NAT Firewall Http NAT Firewall a distributed decentralized set of heterogeneous devices Source: I.J.Taylor
- JXTA Terms and Concepts Peer: any networked device that implements one or more of the JXTA protocols Advertisements: XML structured document that names, describes, and publishes the existence of a resource e.g. peer, peer group, pipe, or service. Messages: sent between peers can be XML or binary Pipes: messages are send through virtual pipes – see next section … Identifiers: each JXTA entity e.g. peer, advert etc has a UUID identifier Rendezvous Nodes: a caching nodes for advertisements – similar to the super/ reflector nodes in lecture 4. Relay Nodes: JXTA routers – help to route messages via firewalls, NAT systems etc – i.e. they relay the message on Source: I.J.Taylor
- JXTA Virtual Mapping Peer Peer JXTA Virtual Network Peer Peer Peer Peer Peer Peer Virtual Mapping Firewall NAT Bluetooth TCP/IP NAT Physical Network Firewall Http NAT Source: I.J.Taylor
- JXTA Groups virtual entity - speak a set of peer group protocols collection of cooperating peers providing a common set of services e.g. file sharing peer group, a CPU sharing peer group. Peer group boundaries define search scope can be used to create a monitoring environment can be password protected and implement local security policies one special group, called the World Peer Group (the default peer group a peer joins) that includes all JXTA peers. At least one rendezvous for a group – groups are the scoping environment for a rendezvous FS Frank Peer Peer Peer Peer FS Fred Peer Peer Peer Peer Source: I.J.Taylor
- JXTA Pipes Output Pipe Input Pipe Peer 1 Peer 2 A JXTA Pipe Actual Route Peer 3 Peer 4 Firewall Virtual Communication Channels Switchable e.g. TCP/IP, HTTP, Bluetooth NOT point to point Pipe endpoints -> input pipe (the receiving end) and the output pipe (the sending end). Asynchronous and unidirectional Messages flow from the output pipe into the input pipes. Support the transfer of any object, including binary code, data strings, and Java technology-based objects Two Types: (End) Point to (End) Point Propagate - multicast Peer Peer Peer Peer Peer Peer Point to Point Propagate Source: I.J.Taylor
- JXTA Scenario 2 1 3 1. RV 4 2. New Node 3. 4. . 5 7 5. . 6 Rendezvous node (RV) accepts connection for nodes 1-7 and stores advertisements locally New node contacts Rendezvous using a discovery mechanism e.g. Unicast/multicast (PDP) RV authenticates New Node and adds the New Node to the group (RVP) New Nodes performs a file search query by contacting the RV find a match locally or propagates this query to all other members in the group. The file is found on node 6 (PDP) New Node and node 6 communicate directly through a JXTA pipe. This connection is virtual and may actually traverse (route) through the RV node and node 7. Source: I.J.Taylor
- Peer Discovery Protocol Peer Discovery Protocol Via Peer Resolver Protocol Peer Information Protocol Peer Information Protocol Via Peer Resolver Protocol Pipe Binding Protocol Pipe Binding Protocol Via Peer Resolver Protocol Peer Resolver Protocol Peer Resolver Protocol Via Enpoint Routing Protocol Rendezvous Protocol Rendezvous Protocol Via Enpoint Routing Protocol Peer Endpoint Protocol Peer Endpoint Protocol Via installed Network Transports Network Transport Via Installed Network Transports Network Transport Source: I.J.Taylor
- Peer Discovery Peer Discovery Protocol A peer uses the PDP to discover a JXTA resource resources are described by advertisements e.g. can be services, pipes, peers, peer groups, or any other advertisements Note, that the first word, peer, is the subject and not necessarily the object Using this protocol, peers can advertise their own resources, and discover the resources from other peers Peer resources are published using XML-based advertisements Peer Information Protocol Pipe Binding Protocol Two levels of discovery: Joining a JXTA network Multicast Unicast discovering JXTA resource within a JXTA network. Source: I.J.Taylor
- Finding Information about Peers allows peers to learn about the capabilities and status of other peers e.g. uptime, traffic load, capabilities, state etc e.g. one can send a ping message to see if a peer is alive. also query a peer’s properties where each property as a name and a value string useful for implementing monitoring Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Source: I.J.Taylor
- Binding Pipes Output Pipe Input Pipe Peer 1 Peer 2 A JXTA Pipe Actual Route Peer 3 Peer 4 Firewall allows a peer to establish a virtual communication channel (i.e. a pipe) between peers allows the binding of the two or more ends of the pipe endpoints forming the connection a peer binds a pipe advertisement to a pipe endpoint thus indicating here messages actually go over the pipe Bind occurs during the open operation, whereas unbind occurs during the close operation. Peer Discovery Protocol Peer Information Protocol Pipe Binding Protocol Source: I.J.Taylor
- ‘The’ Resolver enables a peer to implement high-level search capabilities allows a peer to send and receive generic queries to find or search for peers, peer groups, pipes, and other information Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol Source: I.J.Taylor
- Rendezvous allows a Peer to send messages to all the listeners of the service The rendezvous protocol defines how a peer can subscribe or be a subscriber to a propagation service allowing larger communities to form A rendezvous nodes’ scope is a peer group e.g. the rendezvous protocol is used by the peer resolver protocol and by the pipe binding protocol in order to propagate messages. Peer Resolver Protocol Rendezvous Protocol Peer Endpoint Protocol Source: I.J.Taylor
- Routing Those Messages Peer Resolver Protocol allows a peer to find information about the available routes for sending a message to destination peer i.e. pipes are often not directly connected to each other allows the implementation of routing algorithms into JXTA Peers implementing the endpoint routing protocol respond to queries with available route information giving a list of gateways along the route. Rendezvous Protocol Peer Endpoint Protocol Source: I.J.Taylor
- acquire key K acquire key K receive cipher text C decrypt C f -1 (K, C) M encrypt message M f (K, M) C send cipher text C Secret-key Encryption
- Data Encryption Standard DES DES is the most commonly used secret key encryption technique. 64 bit plain text + 56 bit secret key generates 64 bit encrypted output. DES can be easily implemented in VLSI. Goal of DES: Calculation of the key is infeasible, even if the attacker knows the plain text and the cipher text of a message. The only known way to break DES is to exhaustively search all possible 256 keys.
- Round 1 Round 2 Round 16 DES Procedure Initial permutation 56 bit key Final permutation
- Cipher Block Chaining plain text block i XOR encrypted block I-1 XOR 2 applications produce same value identical blocks produce different encrypted blocks problem at the beginning of the message use of an initialization vector e.g. time stamp Problem: Unreliable connection loss of blocks
- Stream Ciphers Stream ciphers: incremental encryption one bit at a time Keystream: arbitrary-length sequence of bitsXOR with plain text E(k,m) Numbergenerator n+3 n+1 n+2 buffer ciphertextstream XOR plaintextstream
- Diffusion & Confusion Diffusion: Regular patterns in the plaintext are dissipated by transposing portions of each plaintext block With CBC redundancy is distributed throughout a longer text (cannot be used with stream ciphers as there are no blocks) Confusion: Using non-destructive operations (XOR, circular shift)to combine each block of plaintext with the key relationship between M and {M}k is disguised otherwise use of statistical analysis (Enigma)
- Cipher Block Chaining CBC Large messages are broken into 64 bit blocks. The cipher text for block i is XORed with the plain text for block i+1 before DES is applied to the result. An initialization vector (IV) is used as the cipher text of block O. Deciphering is started with the last block. Block 1 Block 2 Block 3 Block 4 IV + + + + DES DES DES DES Cipher 1 Cipher 2 Cipher 3 Cipher 4
- Asymmetric Encryption Better Known as Public/Private Key user X has a pair of keys one public and one private To encrypt a message to X use X’s public key X will decrypt encrypted message using X’s private key that “matches” X’s public key Most common algorithm is the RSA (Rivest Shamir Adelman) algorithm with key lengths from 512 to 1024 bits Uses modular arithmetic & elementary number theory based on the fact that it is extremely difficult to find the prime factors of large numbers. Pretty Good Privacy (PGP), the Secure Sockets Layer (SSL), S/MIME, Secure Electronic Transactions (SET), Secure Shell (SSH). X. 509 V.3 certificates as used in JXTA, Globus/OGSA included in WWW browsers e.g. Netscape and Microsoft Internet Explorer
- Public-key Encryption Each participant in a public key encrypted communication has a private key and a public key. private key: known only to the participant public key: known to everyone Assumption of frequently used public-key encryption: Factorization of the product of two large prime numbers is an infeasible problem.
- Hash Functions One-Way Functions non-reversible “quick” encryption produces a fixed length value called a hash or message digest used to authenticate contents of a message Common message digest functions MD4 and MD5 produces 128 bit hashes SHA produces 160 bit hashes
- Public key database acquire Ke of intended receiver encrypt plain text M E (M, Ke) C transmit cipher text C receive cipher text C decrypt C D (C, Kd) M Public-key Communication Sender Receiver compute private key Kd and public key Ke publish Ke
- Rivest, Shamir and Adelman (RSA) Method Most commonly the RSA method is used to construct pairs of private and public keys. Chose two large prime numbers p and q. n = p • q and z = (p-1) • (q-1) The private key d is relatively prime with z. The public key e is the smallest number to solve e • d = 1 mod z. The plain text is divided into blocks of length k < ld n. Construct cipher text c from plain text m by c = me mod n. Decipher c by m = cd mod n.
- Example of RSA p = 13 , q = 17 n = 221, z = 192 select d = 5 e • d is the smallest element in 1, z + 1 = 193, 2z + 1 = 385, 3z + 1 = 577 to be divisible by d : e = 385/5 = 77 k = 7 < ld 221 c = m77 mod 221 m = c5 mod 221
- Breaking RSA Given e and n, the prime numbers p and q are required to determine d. So far there is no fast algorithm to factorize a large number n. The security can further be enhanced by using larger prime numbers. However, RSA code can be easily broken, if the pattern of generating large prime numbers is highly predictable.
- Secret versus Public Key Encryption Security: Both methods are secure for normal purposes, if they are carefully implemented. Convenience: Public key encryption is more convenient as no secret channel is required to distribute the keys. Performance: DES is significantly faster than RSA, if software implementation is used. DES can be efficiently implemented in hardware which is currently not possible for the decryption of RSA codes.
- Public Key Weakness Availability of the public key exhaustively encrypting arbitrary sequences until target sequence is met. chosen plaintext attack Solution: All messages are longer than the key Attach is less feasible than a direct attack on the key Concept: trap door: easy to open from one side but not from the other side
- Digital Signature authentic: the signer has signed the document and it has not been altered by anyone unforgeable: the signature cannot be copied and used somewhere else non repudiable: the signer cannot deny that he has signed the document
- Signing Hash Function Message To Verifier Signing Function Digital Signature Private Key
- Verifying Hash Function Message Valid Yes/No? From Signer Verify Function Digital Signature Public Key
- Digital Signature encoding the whole text with a private key using a digest function (secure hash function) Properties Given M, it is easy to compute h Given h, it is hard to compute M Given M, it is hard to find another message M’ such that H(M) = H(M’) MD5: 512 bit > 128 bit digest SHA: 160 bit digest (Secure Hash Algorithm)
- Digital Signature Verification Verification indicates that: the digital signature was created by the signer (i.e. s/he is the only person with access to the private key) that the message was not altered since it was signed (because has collisions are considered mathematically improbably). There exists a number of different mathematical formulas and procedures, but all share this overall operational pattern Note: Signing does not encrypt a message – it is merely a method of verifying identity But encrypting a message with a private key also verifies a message – but much less efficient if this is its only purpose
- Uses of Secure Channels Secure Socket Layer (SSL): helps improve the safety of Internet communications standard for encrypted client/server communication protocol that runs on top of TCP/IP utilizes several security techniques e.g. public keys, symmetric keys, and certificates. web sites commonly use SSL to guard private information such as credit card numbers. Transport Layer Security (TLS): protocol - ensures privacy between users successor to the SSL.
- Symmetric: Shared Secret Keys generated once and secretly passed to the individuals This can be done in a number of ways: other methods e.g. by using public-keys telephone each other post it to each other. Example system that uses this is Kerberos.
- Secure Socket Layers (SSL) Establish: protocol version, session ID, cipher suites, compression method, exchange of random values Optionally send server certificate, request client certificate Send client certificate response if requested Change cipher suite and finish handshake premaster secret 2 session keys
- Net Specific Encryption Machine A Machine B Application Application Telnet Telnet TCP/UDP TCP/UDP IP IP De/Encryption De/Encryption Network Layer Network Layer
More Related