80 likes | 199 Vues
This lecture delves into the concept of indirection in computer networks, explaining how it allows decoupling of sender behavior from receiver behavior. It highlights the significance of transparency in receiver movements and the control mechanisms involved in data translation and forwarding. The discussion covers early vs. late binding techniques, addressing mechanisms such as DNS, Mobile IP, NAT, and multicast. Utilizing frameworks like i3 and DOA, we explore how naming and resolution systems empower both senders and receivers to manage service paths effectively, enhancing the overall flexibility of network communication.
E N D
CS 268: Lecture 25Indirection Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776
DNS Server Home Agent “foo.org” (IPhome,data) foo.org IPfoo IPhome IPmobile IPfoo (IPmobile,data) (IPdst:Pdst,data) (IPfoot,data) IPfoo IPmofile DNS Mobile IP NAT Box (IPM,data) (IPnat:Pnat,data) IPnat:Pnat IPdst:Pdst Internet (IPMIPR1) (IPMIPR2) (IPR2,data) (IPR1,data) IPdst IPR2 IPR1 NAT IP Multicast Indirection is Everywhere!
Why Indirection? • Decouple sender behavior from receiver behavior • Receiver movements and address changes transparent to sender • Changes in the number of receivers, transparent to sender • …
Discussion • Control • Indirection point point wherecontrol is transferred from sender to receiver • Translation/forwarding entry usually controlled by receiver • Resolution • Early binding (e.g., DNS, SIP, HIP) • Late binding (e.g., Mobile IP, NAT,IP multicast, IP anycast)
End-host Empowerment • Both the sender and receiver should be able to explicitly control the service-path • Note: multiple indirection points possible Internet Application Layer Service (ALS) 1 ALS 2 ALS 3 ALS 4 Receiver Indirection point (tussle boundary) Sender sender control receiver control
ALS 2 (S2) ALS 1 (S1) ([idS1,idR], data) i3 idS2 S2 ids1 S1 R Internet i3 Name resolution infrastructure (e.g., OpenDHT) idS2 S2 idS1 idS1 S1 idR R S1 idS2 R idR S2 ([idS1,idS2], data) idS2 idR R idR [idS2,R] ALS 1 (S1) ALS 2 (S2) Internet DOA Realization: i3 vs DOA
Discussion: DOA vs. HIP vs. i3 (1/2) • Naming: Flat ID space • DOA: two levels of IDs • EID: end-host IDs • SID: service IDs • Resolution: (SIDEID); (EIDIPaddr) • HIP • HIT: host identity tag • Resolution: (HITIPaddr) • i3 • ID: identifies “anything” • Resolution: (ID[IPaddr:Port]), where [IPaddr:Port] represents de-multiplexer
Discussion: DOA vs. HIP vs. i3 (2/2) • Resolution: • HIP and DOA: early binding • i3 : late binding: • Lookup & Forwarding • i3: combines lookup & forwarding infrastructure • Degenerates to a lookup infrastructure when shortcuts are used • DOA: forwarding state at ALSes