SlideShare a Scribd company logo
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
WHAT IS A NETWORK
ARCHITECTURE?
1
2
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
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
Buildings of gothic architecture
City Hall
Palace
Cathedral Fish market
City gates 5Large-scale RINA experimentation on FIRE+
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+
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+
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+
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+
WHAT IS THE CURRENT NETWORK
ARCHITECTURE?
2
10
WHAT ARE THE MAIN FLAWS3
11
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
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
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
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
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
Result: protocol proliferation!
17
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
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
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
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
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
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

More Related Content

1. RINA motivation - TF Workshop

  • 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. WHAT IS A NETWORK ARCHITECTURE? 1 2
  • 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. 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. Buildings of gothic architecture City Hall Palace Cathedral Fish market City gates 5Large-scale RINA experimentation on FIRE+
  • 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. 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. 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. 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. WHAT IS THE CURRENT NETWORK ARCHITECTURE? 2 10
  • 11. WHAT ARE THE MAIN FLAWS3 11
  • 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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

Editor's Notes

  1. What if I want to do forwarding?
  2. Conclusion: the layering architecture is broken and doesn’t help network designers, who battle it
  3. Postal system