Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1. RINA motivation - TF Workshop

255 views

Published on

This talk introduces what is network protocol architecture, why is important, what is the current one and what are its main problems/limitations.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

1. RINA motivation - TF Workshop

  1. 1. Large scale RINA Experimentation on FIRE + What is network protocol architecture? What problems does the current network architecture have? RINA Workshop @ Telefonica Eduard Grasa, Fundació i2CAT
  2. 2. WHAT IS A NETWORK ARCHITECTURE? 1 2
  3. 3. What is architecture? • “The style of design and method of construction of buildings and other physical structures” • Architecture provides a set of patterns and methodology that guides building designers in carrying out their task • The same architecture is used to design many different buildings with different requirements – Architecture captures the rules and patterns that are invariant with respect to the specific requirements of each building 3
  4. 4. Elements of the gothic architecture Grand, Tall Designs, Which Swept Upwards With Height and Grace These flying buttresses are a feature of gothic architecture. The Pointed Arch The Vaulted Ceiling Light, Airy Interiors The Emphasis Upon the Decorative Style and the Ornate 4
  5. 5. Buildings of gothic architecture City Hall Palace Cathedral Fish market City gates 5Large-scale RINA experimentation on FIRE+
  6. 6. What is architecture? • Architecture provides a set of patterns and methodology that guides building designers in carrying out their task • Architecture captures the rules and patterns that are invariant with respect to the specific requirements of each building 6Large-scale RINA experimentation on FIRE+
  7. 7. What is computer networking? • Who are the “users” of networking services? – (or what are the “endpoints” of communication”) • What service is networking providing? – Imperfect remote data replication a.k.a communication services Applications! Ok, if you really want to be precise about it : instances of OS processes or equivalents Perfect would mean 0 packet loss, 0 delay, ∞ capacity Network are just large data copying machines 7Large-scale RINA experimentation on FIRE+
  8. 8. So, computer networks are … • Computer networking is Inter Process Communication (IPC) – Robert Metcalfe, inventor of Ethernet, 1972 Machine 1 Machine 2 “The network” A distributed, imperfect machine that copies data between instances of applications, introducing loss and delay in the process App A App B “I believe it is natural to think of resources as being associated with processes and available only through communication with these processes. Therefore, I view the fundamental problem of resource sharing to be the problem of interprocess communication. I also share with Carr, Crocker, and Cerf the view that interprocess communication over a network is a subcase of general interprocess communication in a multi-programmed environment” D.C. Walden, ARPANET design team, 1970 (RFC 62) End-to-end protocols (often called "Host-Host" protocols) are installed on top of the packet switching service to provide users with an interprocess communication facility Cerf, Zimmerman, McKenzie (INWG), 1976 Thus, all communication is viewed as interprocess communication DARPA, RFC 793 (TCP spec), 1981 8Large-scale RINA experimentation on FIRE+
  9. 9. Conclusions on network architecture • Network architecture provides a set of patterns and methodology that guides network (protocol) designers in carrying out their task • Network architecture captures the rules and patterns that are invariant with respect to the specific requirements of each individual network – General rules and patterns to provide distributed IPC services to any application over any physical media Cellular networks Wireless networks Datacentre networks ISP networks 9Large-scale RINA experimentation on FIRE+
  10. 10. WHAT IS THE CURRENT NETWORK ARCHITECTURE? 2 10
  11. 11. WHAT ARE THE MAIN FLAWS3 11
  12. 12. Structure (layering) • Current networks loosely based on the OSI reference model Application Presentation Session Transport Network Physical OSI (Initial) Data Link Application Transport Network LLC Physical OSI (Final) SubNet Indep. C. SubNet Dep. C. SubNet Access Data Link MAC Application Transport LLC Physical Internet (theory) MAC Internet Data Link and others and others For cellular networks In textbooks (and was wrong) Ignored (Supports Internets) Current one (In reality a network model) 12
  13. 13. The “Internet” is not an Internet.. • Internet (theoretical model) • OSI model Host Router Router Border Router Router Router HostBorder Router Physical Physical Physical Physical Physical Physical Physical LLC/MACLLC/MACLLC/MACLLC/MACLLC/MACLLC/MACLLC/MAC Internet Transport Network 1 Network 2 Host Router Router Border Router Router Router HostBorder Router Physical Physical Physical Physical Physical Physical Physical LLC/MACLLC/MACLLC/MACLLC/MACLLC/MACLLC/MACLLC/MAC Transport Network 1 Network 2 SNAC SNDC SNAC SNDC SNIC Application Application 13
  14. 14. Layering: problems (I) • Internet architecture does not have room for different network protocols (there is a common Internet layer directly over data link layers) • If a network wants to do its own non-IP forwarding, or do IP forwarding but hide internal routers from the Internet, ad-hoc extensions are required: – “Layers 2.5” -> MPLS – Tunnelling protocols -> e.g. GTP for mobile networks, IP-in-IP tunnelling protocols, MAC- in-MAC, etc.. (every SDO designing its ad-hoc solution(s) for its problem domain, independently) • Note that this was already covered in the OSI architecture by SNDC and SNAC 14
  15. 15. Layering: problems (II) • Fixed number of layers, sometimes more needed between transport and application – Need concepts like “overlay”, “VPN”, “virtual networks”, .. • Although the need for scope is clear (link, network, Internet, VPN …) layers are organised as units of modularity, with each layer providing a different function to each other (Theory) (Practice) 15
  16. 16. Layers and protocols • Each layer provides a different function to each other – Multiple protocols within the same layer • Protocols are usually – Independently designed from each other (little commonality) in different SDOs, even within the same SDO – Almost each new use case requires a new protocol 16 • Flaws in the architecture (e.g. multi-homing, mobility) require special protocols
  17. 17. Result: protocol proliferation! 17
  18. 18. Complexity is your enemy • Complexity makes all other network problems worst (security, management, etc), makes networks hard (and expensive!) to manage and less reliable. 18
  19. 19. Naming and addressing • Domain names are mapped to IP addresses by DNS • IP addresses are assigned to interfaces • MAC addresses are assigned to interfaces • Transport layers and below know nothing about domain names 19  http://ict-arcfire.eu Synonym of an interface of a host Port number (Endpoint of TCP connection) :80 App App App name = domain name + port number IP address MAC address IP address MAC address Internet layer routes on IP addresses
  20. 20. Issues: multi-homing 20 AppApp 1.1.1.1 1.2.1.1 2.1.1.1 The network doesn’t know that 1.1.1.1 and 1.2.1.1 actually go to the same place. If one of the two interfaces crashes, packets can’t be re-routed to the other one • A number of special protocols designed to partially deal with it: SHIM6, Multipath TCP, BGP (multi-homing at the AS level), SCTP AppApp 1.1.1.1 2.1.1.1 Solution is trivial: assign addresses to the “node”, not interfaces. Route on node addresses
  21. 21. Issues: mobility (II) • Seamless (application does not notice it) mobility is complicated due to incomplete naming & addressing: – Applications need an identifier that is stable when their host moves across networks – To make routing scale the network addresses need to change as the host attaches to different networks • But in the Internet (layer) there is only one identifier: the IP address – Special protocols to try to make it work: Mobile IP(v4/v6), Proxy Mobile IP (v4/v6), GTP for cellular (create a huge layer 2 subnet), LISP – Most of them require tunnels (expensive to setup), all have limitations at the scale they can provide seamless mobility 21
  22. 22. Application API • Applications must know about transport protocol and choose it • Addresses exposed to applications (security problem) • No way to request QoS parameters (loss, delay, etc..) • Barrier to adoption of new protocols (IETF TAPS tries to address this) 22 Host Transport Host App A App B Application A Sockets API OS Sockets Layer 1. Bind/Listen to interface and port 2. Accept incoming connections 3. Connect to a remote address/port 4. Send datagram 5. Write data (bytes) to socket 6. Read data (bytes) from socket 7. Destroy socket Internet
  23. 23. Summing up • Current network architecture has flaws in its … – Structure – Protocol design – Naming and addressing scheme – Service model / Application API – And we didn’t touch security – or network management • But enough complaining! 23

×