Download presentation
Presentation is loading. Please wait.
1
Network Coding Architecture Framework
Victor Firoiu, Brian Adamson with inputs from Vincent Roca, Morten Pedersen IETF
2
Network Coding Building Blocks
Reliability Functional Area Congestion Control Functional Area Block Sliding Window Back pressure? Coding Functional Area NACK Null Space Sample Random Linear Deterministic TFMCC? TCP-CC Knowledge vector Non-linear Others What CC specific to NC? Non-end-end feedback End-to-end feedback Security Protocol Instantiations Dragoncast NORM-NC no recoding NCTCP Tetrys CONCERTO/BRAVO NC sub-transport shim FECFrameV2 NORM-NC w recoding Others..
3
NC Architecture/ Framework Document
Goals: Identify building blocks to be defined in separate documents And uncover open research questions Identify interactions between BBs, new functionalities to research E.g.: what Congestion control function is needed specific to NC? Outline a path toward a small set of protocol instantiations – for future standardization
4
Backup Material
5
RMT Building Block Approach
Building Blocks Reliability Functional Area Congestion Control Functional Area TRACK* GRA* PGMCC* Coding Functional Area FEC NACK TFMCC WEBRC LCT Raptor, etc Reed Solomon LDPC Security NORM ALC Protocol Instantiations Applications FCAST FLUTE * Unrealized building blocks
6
Use Case 1: NC Shim Layer – under TCP, UDP, SSH
App App TCP TCP App data Congestion signal, Recv window NC shim NC shim Coding vectors, coded pkts Feedback (rank, null space) NC Reliability NC Reliability Coded symbols, Rank test Cong signal, backpressure NC Coding NC Cong Ctrl NC Cong Ctrl NC Coding Rate control NC Forwarding NC Forwarding Security IP IP IP Unicast Routing Unicast Routing Unicast Routing Coding: end-end. Passes CC signaling. Optional: in-network re-coding. Coding nodes determined by: static configuration, routing or control signaling. Usage: reliability, similar to source coding. Security is a key building block factor – impacts all other BBs
7
Use Case 2: NC Transport, In-Network Coding
App App App data FlowID, blockID Coding vectors, Feedback NC Transport NC Transport NC Transport NC Reliability NC Rel NC Reliability Coded symb, Rank test Rate control Cong. signals NC Coding NC Cong Ctrl NC Cod NC CC NC Cong Ctrl NC Coding NC Forwarding NC Forwarding NC Forwarding Pkts containing coded symbols Security (Multi-path) Routing (Multi-path) Routing (Multi-path) Routing IP IP IP IP Usage: reliability, resilience to link and node outage. Supports both Unicast and Multicast Assisted by multi-path (subgraph) routing Security is a key building block factor – impacts all other BBs
8
Network Coding Architecture: Functional Areas View
Coding – all coding operations Encoding, decoding, test for “innovative”, rank, null space Uses operations such as finite field and linear transformations Reliability – algo & control for rel. transp. Rel. logic: block, window, end-to-end, hop- by-hop Ctrl: coding info (vectors, ID), feedback. Forwarding – Tx/Rx coded pkts Pkt Tx logic: next hop, when to Tx Ctrl: SG topo, splitting ratios/ fwd factors Cong Control – control of Tx rates Ucast, mcast, subgraph <research!> May use existing CC BB: TFRC [5348] for unicast, TFMCC [4654] for mcast. Source (app) data pkts Flow ID, block ID, Coding vectors, Feedback NC Transport NC Reliability Coded symb, Rank test Cong. signals NC Cong Ctrl NC Coding Rate control Coded pkts, Splitting ratios NC Forwarding Security Routes, mcast/SG topo, neighbors, link quality (Multi-path) Routing Considerations - Research Security: how to add encr, vulnerability Complexity, energy Heterogeneity
9
NC Coding Functional Area
Function: coding operations Code/decode, test for block/gen rank, null space, window oper. Test for innovative/ linear indep. Interfaces with Reliability FA Request/provide coded/decoded symbols, block/window rank, No outside control NC Reliability Code/decode symbols Rank test, null/range space, test for innovative NC Coding
10
NC Reliability Functional Area
Function: Reliable transport Rel. logic: block, window, end-end/hop-hop Manages flow of data/symbols between App, Coding, Fwd FAs Control: to Rel FA in peer nodes Session: Flow ID, encoding type/ID, symbol size Coding info: vectors, ID Feedback: Block: rank/deg freedom/Null Space Sample; Window: high/low index Interface w Forwarding FA Gets Tx opportunity Provides coded symbols for Tx Interface w Coding FA Requests coded/decoded symbols, req tests for rank, innovative App QoS/Reliability level Source (app) data pkts Flow ID, block ID, Coding info, feedback NC Reliability Code/ decode symbols Rank test, null/range space, test for innovative Tx opportunity, Coded symbols NC Coding NC Forwarding
11
NC Forwarding Functional Area
Function: Tx/Rx coded pkts Pkt Tx logic: next hop: neighbor nodes, when to Tx from what flow Allocates flow slices to paths Measures netw conditions: loss, delay Control: w Fwding FAs in peer nodes Coordinate info flow allocation in multi- path/tree/subgraph: splitting ratios/ fwd factors Data plane: Tx/Rx pkts w coded symbols Interface w Congestion Control FA Provides cong indications (loss, delay), gets Tx rate limit Interface w routing Gets ucast/mcast/SG topology NC Reliability NC Cong Ctrl Tx opportunity, Coded symbols Coded pkts, Splitting ratios Rate control NC Forwarding Routes, mcast/SG topo, neighbors, link quality (Multi-path) Routing
12
NC Congestion Control Functional Area
Function: control of Tx rates to avoid congestion and follow TCP-friendly recommendations Ucast, mcast, subgraph <research!> May use existing CC BB: TFRC [5348] for unicast, TFMCC [4654] for mcast Control: w CC FA in peer nodes Congestion signals: backpressure, ECN, sliding window size Interface w Fwding FA Gets cong measurements Gives Tx rate limit Cong. signals: backpressure, ECN NC Cong Ctrl Cong measurements Rate control NC Forwarding
13
NC Security Functional Area
Security Considerations: How to add encryption: independent of coding or inter-changeable (e.g., homomorphic) How to identify vulnerabilities Different security mechanisms may apply to different FAs Needs to be applied consistently across this complex system NC Transport Coding vectors, Feedback NC Reliability Coded symb, Rank test Cong. signals NC Cong Ctrl NC Coding Rate control Coded pkts Splitting ratios NC Forwarding Security
14
Next Steps Draft on NC Architecture and Building Blocks
Later, may need to split into separate BB drafts Try to reuse as much as possible: e.g., CC BB: TFRC [5348] for unicast, TFMCC [4654] for mcast Show how a simple protocol can be built with these building blocks
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.