11/10/16 ¡ CMPE 252A 252A: : Comput omputer er Communica ommunication ion SET 12: 12: Handling ¡Mobility ¡and ¡ ¡ Mul/-‑homing ¡in ¡the ¡IP ¡Internet ¡ 1 Why Are Mobility and Multi-Homing Important Now? q Network ¡mobility ¡and ¡mul6-‑homing ¡are ¡a ¡fast ¡ ¡ growing ¡concern ¡for ¡network ¡operators… ¡ – 26 ¡ billion ¡mobile ¡devices ¡expected ¡by ¡2020 ¡ – The ¡“typical” ¡end ¡host ¡is ¡nomadic ¡ – Cloud ¡services ¡are ¡virtualized/replicated/migrated ¡ – V(X)LANs ¡are ¡equally ¡mobile/dynamic ¡ q …But ¡there ¡s6ll ¡exists ¡no ¡good ¡solu6on! ¡ – Current ¡state-‑of-‑the-‑art: ¡restart ¡the ¡connec6on ¡ L ¡ Related Work: Network Layer q Network-‑layer ¡solu6ons ¡(MIP, ¡LISP, ¡shim6, ¡LIN6) ¡ – Support ¡ ¡network ¡mobility ¡at ¡the ¡network ¡layer ¡ – Support ¡all ¡higher-‑layers ¡without ¡modifica6on ¡ q Problems: ¡ ¡ – Address-‑space ¡fragmenta6on ¡ – Triangle ¡rou6ng ¡ – Infeasible ¡rou6ng-‑table ¡growth ¡ – Requires ¡changes ¡to ¡the ¡Internet ¡rou6ng ¡infrastructure ¡ 1 ¡
11/10/16 ¡ Mobile IP (MIP) Original ¡goal: ¡ Do ¡not ¡change ¡end ¡hosts ¡ ¡or ¡routers ¡ But ¡ new ¡protocols ¡needed ¡between ¡host, ¡FA ¡and ¡MA ¡anyway! ¡ q Static home address and dynamic care-of-address q HA and FA needed q Tunneling needed between HA and FA (and associated complications). q HA must be updated if changes to address of mobile node occur. q Suboptimum paths to “static” addresses. Host: ¡Discover ¡the ¡care-‑of ¡address, ¡ q More complex infrastructure (i.e., register ¡the ¡care-‑of ¡address, ¡update ¡ HA and FA) the ¡care-‑of ¡address ¡ q HA and FA may become bottlenecks HA ¡& ¡FA: ¡Tunnel ¡to ¡the ¡care-‑of ¡address ¡ Related Work: Higher Layers q Transport-‑layer ¡solu6ons ¡(many ¡TCP ¡variants) ¡ – Completely ¡restrict ¡modifica6ons ¡to ¡end-‑hosts ¡ – Migrate ¡each ¡connec6on ¡individually ¡ – O]en ¡require ¡apps ¡to ¡be ¡opt-‑in ¡modified ¡ q Applica6on-‑layer ¡solu6ons ¡(SIP, ¡DHTs, ¡etc.) ¡ – Easier ¡to ¡implement/deploy ¡than ¡network ¡layer ¡ – Don’t ¡actually ¡support ¡socket/connec6on ¡migra6on ¡ ¡ MTCP: Multipath TCP q Add ¡a ¡mul6plexing ¡sublayer ¡within ¡TCP ¡to ¡ handle ¡one ¡connec6on ¡per ¡path ¡ 2 ¡
11/10/16 ¡ Related Work: Future Internet q Many ¡works ¡propose ¡adding ¡a ¡“Host ¡ID ¡layer” ¡ – Makes ¡architectural ¡sense, ¡splits ¡IDs ¡from ¡locators ¡ – Supports ¡all ¡higher ¡layers, ¡but ¡doesn’t ¡change ¡IP ¡ q Clean ¡slate ¡(e.g., ¡NDN ¡and ¡CCNx): ¡Eliminate ¡ addresses ¡altogether. ¡ q Problems: ¡ – must ¡change ¡every ¡end-‑host! ¡ – Altering ¡the ¡protocol ¡stack ¡breaks ¡compa6bility ¡ – Requires ¡a ¡“flag ¡day,” ¡cannot ¡be ¡“opt-‑in” ¡model ¡ – Future ¡“lock ¡in” ¡to ¡a ¡new ¡iden6fier ¡model ¡ HIP: Host Identity Protocol q Separates ¡transport ¡layer ¡from ¡network ¡layer. ¡ q Binding ¡to ¡host ¡ID ¡and ¡not ¡IP ¡addresses ¡ There Is Another Way! Let’s ¡take ¡the ¡best ¡parts ¡of ¡all ¡approaches: ¡ – Architecturally ¡split ¡the ¡ID ¡and ¡Locator ¡ spaces ¡ – Restrict ¡changes ¡to ¡end-‑hosts, ¡not ¡routers ¡ – Enable ¡“opt-‑in” ¡deployment ¡ – Allow ¡the ¡network ¡layer ¡to ¡focus ¡on ¡rou6ng ¡ – Keep ¡the ¡transport ¡layer ¡simple ¡ – Support ¡unmodified ¡applica6ons ¡ q Why ¡don’t ¡we ¡have ¡it ¡yet? ¡ 3 ¡
11/10/16 ¡ Understanding of Identifiers q Take a look at: John Shoch, “Inter-Network Naming, Addressing, and Routing,” IEN 19, Jan. 1978. The name of a resource indicates what we seek, an address indicates where it is, and a route tell us how to get there. q This informal definition of names, addresses and routes has been the norm since the beginning of the Internet. q Definition does not define the three types of identifiers very clearly. q It does not specify the assumptions used for the assignment of those identifiers. Implementation of Protocol Stacks q The identifier used to denote a process in the protocol at layer N is passed up or down the stack without modification. q Some protocols make explicit use of the identifiers used in lower-layer protocols (e.g., TCP, UDP use IP addresses used at the network layer). Layer N packets NODE B NODE A Layer-N Layer-N Protocol Entity Protocol Entity (virtual communication) protocol interface Layer-(N - 1) Layer-(N - 1) Protocol Entity Protocol Entity Why Is This A Problem? q It is not just about names, addresses and routes, and there is no reason why identifiers remain unchanged across layers of protocol stack. Name ¡given ¡by ¡applica6on ¡denotes ¡a ¡ APPLICATION resource; ¡resources ¡are ¡accessed ¡through ¡ “windows” ¡to ¡the ¡OS. ¡ ¡ ¡ PRESENTATION Socket ¡is ¡an ¡iden6fier ¡deno6ng ¡a ¡process ¡ SESSION name ¡at ¡“this ¡site” ¡ ¡ ¡which ¡should ¡be ¡ TRANSPORT independent ¡of ¡where ¡the ¡site ¡is ¡rela6ve ¡to ¡ the ¡network ¡topology ¡(address). ¡ NETWORK Address ¡is ¡an ¡iden6fier ¡deno6ng ¡one ¡of ¡ LINK possibly ¡mul6ple ¡points ¡of ¡agachment ¡of ¡the ¡ same ¡site ¡(mul6-‑homing) ¡to ¡the ¡network ¡ PHYSICAL Route ¡is ¡an ¡associa6on ¡between ¡two ¡ We ¡will ¡always ¡need ¡ ¡ iden6fiers ¡(unicas6ng) ¡deno6ng ¡points ¡of ¡ “addresses” ¡ ¡to ¡have ¡ agachment ¡of ¡sites. ¡ routes ¡between ¡processes ¡ 4 ¡
11/10/16 ¡ Big Problem: Early Binding q Applica6on ¡processes ¡“bind” ¡to ¡sta6c ¡IP ¡addresses. ¡ q Connec6ons ¡are ¡broken ¡if ¡the ¡addresses ¡change. ¡ Hidden Identifiers q Opaque ¡values ¡bound ¡by ¡higher ¡layers ¡in ¡the ¡ stack ¡ q Sit ¡between ¡layers ¡of ¡a ¡protocol ¡stack ¡ q Translate ¡as ¡datagrams ¡pass ¡up ¡or ¡down ¡the ¡ stack ¡ q Are ¡NOT ¡a ¡new ¡protocol ¡or ¡layer ¡in ¡the ¡stack ¡ q Essen6ally ¡similar ¡to ¡file ¡descriptors ¡( ¡handles ¡ used ¡in ¡UNIX ¡to ¡access ¡files ¡and ¡I/O ¡resources) ¡ Hidden Identifiers From ¡This… ¡ 5 ¡
11/10/16 ¡ Hidden Identifiers To ¡This! ¡ The DIME Network Stack The ¡DIME ¡network ¡stack ¡uses ¡a ¡single ¡hidden ¡ iden6fier ¡called ¡the ¡ HID ¡to ¡refer ¡to ¡foreign ¡hosts ¡ ¡ The ¡ HID ¡table ¡ stores ¡and ¡classifies ¡every ¡address ¡ owned ¡by ¡a ¡foreign ¡host ¡ HID Address Categories q Ac/ve ¡Addresses : ¡addresses ¡owned ¡by ¡the ¡ foreign ¡host ¡that ¡the ¡local ¡host ¡can ¡reach ¡ ¡ q Unreachable ¡Addresses: ¡ addresses ¡that ¡the ¡ local ¡host ¡cannot ¡reach ¡(e.g., ¡ ¡private ¡IPs) ¡ ¡ q Local ¡Addresses: ¡ addresses ¡that ¡the ¡local ¡host ¡ has ¡adver6sed ¡to ¡the ¡foreign ¡host ¡ 6 ¡
11/10/16 ¡ Sending Datagrams With DIME DIME and Location Management Loca/on ¡Managers: ¡ 1: ¡Take ¡as ¡input ¡an ¡iden6fier ¡(e.g., ¡a ¡DNS ¡hostname) ¡ ¡from ¡a ¡network ¡applica6on ¡ 2: ¡Resolve ¡the ¡iden6fier ¡to ¡a ¡set ¡of ¡addresses ¡ 3: ¡Bind ¡the ¡address ¡set ¡to ¡a ¡new ¡HID ¡ 4: ¡Return ¡the ¡HID ¡to ¡the ¡applica6on ¡ DIME and Location Management Loca/on ¡Managers: ¡ – ¡ Are ¡primarily ¡responsible ¡for ¡crea6ng ¡new ¡HIDs ¡ – ¡ DO ¡assume ¡that ¡the ¡bindings ¡are ¡ini6ally ¡valid ¡ – ¡ DO ¡NOT ¡maintain ¡or ¡update ¡iden6fier ¡bindings ¡ ¡ Current ¡Support ¡For: ¡ ¡DNS ¡ ¡HIP ¡tags ¡ ¡IPv4 ¡ ¡IPv6 ¡ 7 ¡
Recommend
More recommend