Download presentation
Presentation is loading. Please wait.
Published byEstella Cannon Modified over 9 years ago
2
Organization Introduction to Network Coding Practical Network Coding Secure Network Coding Structured File Sharing Conclusion
3
Network Coding: What is it? Traditional Coding/Routing Coding is done on End-to-End bases. Intermediate nodes forward data blindly. Network Coding Allowing intermediate nodes to manipulate information Information flowing out of a node is a function of information coming into the node Originally developed for wireless multicast Very popular in wireless/sensor networks Relatively much less attention in P2P A B C f (A,B,C) A? B? C? A B C
4
Linear Network Coding Information Packets are vectors over finite field with a fixed dimension Encoding Outgoing packets are linear combination of incoming packets Decoding Solving a linear equation
5
Linear Network Coding: Equation
6
Setup Information (Data) a file
7
Setup Information (Data) a file m original blocks (vectors) x1x1 x2x2 …xixi ……xmxm
8
Setup Information (Data) a file m original blocks (vectors) n elements in a block x1x1 x2x2 …xixi ……xmxm n dimension (x i1, x i2, …, x ij, …, x in )
9
Setup Information (Data) m augmented vector (coded block) m+n elements in an augmented vector x1x1 x2x2 x3x3 x4x4 x5x5 x1x1 x2x2 x3x3 x4x4 x5x5 10000 01000 00100 00010 00001 yjyj 30102 Example: m=5
10
BitTorrent: How it works? Seed 1 2 5 3 4 … … … … … … … … 1 3
11
Network Coding for P2P Benefits: Most blocks are useful! Solving New Peer Disadvantage in BitTorrent New peer can download one block for free Solving Rare Block Problem All blocks have to be downloaded in BitTorrent Churn may result in rare block problem Taking long time to finish As a result, potentially almost all nodes can finish at the same time! Applications File sharing, Software update, streaming, CDN, P2P TV
12
Network Coding for P2P Problems Resource Overhead Encoding: P out = a i P i, a i is an random in F p Decoding: Solving linear equation: O(n 3 ) DVD: 4.3 GB Can’t fit everything in memory Requires random disc I/O Pollution Attack Intermediate node has no way to verify if the incoming packet is linear combination of the original block Corrupted packets can be easily propagated
13
Solving Resource Overhead Incremental Encoding
14
Solving Resource Overhead Incremental Encoding: Linear Dependency
15
Secure Network Coding Threat Pollution Attacks General (traditional) hashes do NOT work Corrupted packet can be mixed with others Corrupted data can easily be propagated Problem Can we verify the integrity of a network-coded block? Or can we verify if a received block is legitimately mixed before decoding a file?
16
Secure Network Coding: possible solutions Homomorphic Hash Find homomorphic hash function h such that: h(x+y) = h(x) h(y) If hash of each block can be securely distributed, the receiver can verify the integrity of a linearly transformed block. Homomorphic signature Find homomorphic signature function s such that s(x+y) = s(x) s(y) Verification: v(linearly transformed block, signature) returns true or false.
17
Ours: Signature Generation Private key (s 1, …, …, s m+n ) Public key p, q, g, (g s 1, g s 2,…, …, g s m+n ) Signature generation at a source network-coded block v =(v 1, v 2, …,…, v m+n ) signature σ= s 1 v 1 +s 2 v 2 + … + s m+n v m+n Signature aggregation at intermediate nodes new block w’ = w 1 k w k new signature w’) = 1 k k
18
Ours: signature verification Public Key p, q, (g s 1, g s 2,…, …, g s m+n ) network-coded block v =(v 1, v 2, …,…, v m+n ) Compute d = (g s 1 ) v 1 (g s 2 ) v 2 … (g s m+n ) v m+n verify: d ?= g
19
Comparison Krohn’sOursEtc TypeHashSignature Generatorsnm+n # of hash/signaturemm Signing costn modexpm+n mult Precomputationn modexpN/A h(x i ) = n j=1 g j x i j Robust ChannelNeededN/ADelivery of h(x i ) AggregationN/ALinear combination Verificationm+n modexpm+n+1 modexp
20
Batch Verification For each block, verify signatures Problem A single block verification takes 13 seconds. Solution? Pipelining While downloading/uploading verify signature. Downloading time of a block: 7 seconds. Solutions? Batching Verify linearly combined blocks before sending it out.
21
Batch Verification
22
Structured File Sharing To improve mixing Setup Peers form a DHT. Nodes choose their partners from their routing tables. Data Transfer A source randomly distributes blocks to nodes. A node exchange blocks with partners starting from closest partners.
23
Simulation Result (No Churn)
24
Conclusion Network coding Have not fully investigated Mainly by researchers in coding and networking independently Many problems remaining before large deployment
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.