rina motivation, introduction and irati goals. ieee ants 2012

46
Research topics on the Recursive InterNetwork Architecture Dimitri Staessens [email protected] ent.be Sander Vrijders [email protected] t.be www.ibcn.intec.ugent.be Internet Based Communication Networks and Services (IBCN) Department of Information Technology (INTEC) Ghent University - iMinds 06/06/2022 1 The EU Project IRATI IEEE ANTS 2012, Dec. 16-19, Bangalore

Upload: irati-project

Post on 27-Nov-2014

787 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Research topics on theRecursive InterNetwork Architecture

Dimitri [email protected] Vrijders [email protected] Based Communication Networks and Services (IBCN)Department of Information Technology (INTEC)Ghent University - iMinds

09/04/2023 1

The EU Project IRATI

IEEE ANTS 2012, Dec. 16-19, Bangalore

Page 2: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

209/04/2023

Patterns in Network Architectures

All credits for this talk go to John Day

Page 3: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Presentation index

Background, concepts and problems Back to basics: What is networking? Introducing RINA Research: the IRATI project (2013-2015)

09/04/2023 3

Page 4: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 4

The current architecture

ARPANET / CYCLADES First effort Architectural flaws (as we will see later)

Page 5: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 5

What is a Network Layer?

PHYSICAL

DATALINK

NETWORK

TRANSPORT

SESSION

PRESENTATION

APPLICATION

“A layer is a collection of subsystems of the same rank”“Subsystems are the intersection of a system and a layer”

OSI reference model ISO 7498-1

Page 6: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 6

A layer disappeared

Internetwork layer

Network layer

Datalink layer

Transport layer

Network layer

Physical layer

Datalink layer

INWG 96 (1972-76) (Int’l Packet Network WG)

Page 7: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

709/04/2023

The current architecture

Modularity Function per layer Not an internetwork

Page 8: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 8

One problem with the current TCP/IP split Retransmission: TCP Fragmentation: IP If a packet gets fragmented in a router

Chances are a fragment gets lost towards the next hop IP needs to reassemble the fragments in the next hop

and waits for 1 MPL (5 seconds) BUT TCP times out in the order of RTT-> retransmit IP fragments the packet, chances are a fragment gets

lost Now the next hop has 2 incomplete IP packets!

TCP and IP should be aware of each other

Page 9: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

909/04/2023

Multihoming and mobility

Failure Load balancing Complexity

Page 10: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 10

Why is multihoming complex?

Page 11: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 11

Protocol

Mechanism Policy Mechanism: static, does not change

attaching CRC / checking CRC with PCI ACK

Policy: occurs in pairs (sending / receiving) When to attach CRC / polynomial function

Sending policy attaches the CRC in header Receiving policy computes CRC on packet

When to send ACK, how long to wait for ACK

Tightly coupled Loosely coupled Tight

No feedback mechanisms Typically associated with (SDU) data transfer Policy set by sender

Loose Feedback mechanisms No data transfer Policy set by receiver

Page 12: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 12

Relations between (protocol) state machines Association

No shared state ~UDP

Flow Some shared state, but no Feedback Request – response (2-way handshake)

Connection Shared state, feedback (3-way handshake) ~TCP

Binding Very tightly coupled shared state ~shared memory

Page 13: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 13

Data Transfer Mechanisms

Delimiting: indicate start/end of PDU External: flag sequence (e.g. Ethernet) Internal: “length” field (e.g. IP)

Initial state synchronization Association: Local binding of client/server protocol

machine Flow:+ request/response (two-way handshake) Connection: +3-way handshake Timer based (delta-t, Watson 1981)

MPL, Retransmission, ACK time

Page 14: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 14

Delta-t (Richard Watson, 1980)

Developed at L.Livermore labs, unique approach. Assumes all connections exist all the time. keep caches of state on ones with recent activity

Watson proves that the conditions for distributed synchronization are met if and only if 3 timers are bounded: Maximum Packet Lifetime (Infinite -> Remote storage) Maximum number of Retries Maximum time before Ack

That no explicit state synchronization, i.e. hard state, is necessary. SYNs, FINs are unnecessary IOW, all properly designed data transfer protocols are soft-state.

1981:Watson shows that TCP has all three timers and more.

Page 15: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 15

Data Transfer Mechanisms (2)

Policy selection Addressing

Identify source / destination of the PDUs

Flow or Connection ID (if multiple associations between two hosts)

Relaying and Multiplexing Next hop Different flows on same interface

Ordering

Page 16: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 16

Data Transfer Mechanisms (3)

Fragmentation/Reassembly Large SDU in smaller PDU’s

Combining/Separation Small SDUs into larger PDU’s

Data Corruption (CRC/FEC) Lost/Duplicate detection Flow control (i.e. don’t swamp receiver) Retransmission Control (Acks) Compression Authentication

Page 17: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 17

Data Transfer Mechanisms (4)

Access-control Prevent unauthorized use of a resource

Integrity (encryption) Prevent unauthorized insertion/deletion of PDU’s

Confidentiality (encryption) Nonrepudiation (no denial of having participated) Activity (Keepalive)

Page 18: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 18

Phases of Operation

Enrollment Creates, maintains distributes and deletes the

information required to create instances of communication

IP: Manual configuration or DHCP

Establishment of synchronization Creates, maintains distributes and deletes the

information required to support the functions of data transfer

Data Transfer Phase Actual transfer of data.

Page 19: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 19

Naming and Addressing (Shoch 1978, Saltzer 1982, RFC1493) Names – what? – Location Independent Adresses – where? – Location Dependent Routes – how to get there? - Route Dependent Saltzer: Four things need to be named

Services and users (Applications) Location independent naming

Nodes Points of Attachment Routes (set of nodes)

Page 20: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 20

Naming and Addressing (2)

Bindings between these names A service may run at one or more than one nodes and

may need to move between nodes without losing its identity (application roaming)

A given node may be connected to one or more network attachment points (multihoming) and may need to move from one attachment point to another without losing its identity as a node (mobility)

A given pair of attachment points may be connected by one or more paths, and those paths may need to change with time without affecting the identity of the attachment points. (resiliency)

Page 21: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 21

Saltzer’s Network View

Application names map to Node Addresses Node Addresses map to PoA addresses Routes are sequences of PoA Addresses

Page 22: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 22

But Saltzer missed a case

There can be more than one path to the next hop Must route on the Node addresses, not the point of

attachments COMPLETE ADDRESSING SCHEME

Route

Directory

Path

Page 23: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 23

Apply this to the `net Most of the addressing architecture is missing!

No Node, Application names DNs are Synonyms for IP addresses

The PoA is named twice! URL’s are pathnames and location dependent

Page 24: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Presentation index

Background and concepts Back to basics: What is networking? Introducing RINA Research

09/04/2023 25

Page 25: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

What is networking?

Single system: Interprocess communication (IPC)

09/04/2023 26

IPC Facility

Application Process

Application Protocol Machines

Port IDs

Page 26: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 27

Steps1. The APM from A invokes an Allocate

request specifying B: allocate(B, my-port, properties)

2. IPC Facility assigns a port ID, if request is well formed and it has enough resources to handle the request

3. IPC uses ‘search rules’ to find B. IPC will check if A is allowed to have access to B. (B may be instantiated)

4. B is notified of request and assigned port-id b

5. If B responds positively , IPC notifies A.6. A may send PDUs to B by calling

send(a,buf), B receives by using receive(b, rcv_buffer)

7. Afterwards they de-allocate their resources.

IPC Facility

AP

APMs

Port IDs

Page 27: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Communication between two systems

09/04/2023 28

Driver Driver

Application Process

Application Protocol Machines

IPC Facility

BIGGER NAMESPACE!application name has to be unambiguous on both systems

Page 28: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Communication between two systems

09/04/2023 29

Driver Driver

IAP IAP

Application Process

Application Protocol Machines

Port IDs

Page 29: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 30

IPC Access Protocol (IAP)

Simple Request/Response Protocol IAP-Req(Dest-Appl-name, Src-Appl-name, QoS

params, Src-Capability) IAP-Resp(Dest-Appl-name, Src-Appl-name, QoS

params, result)

How do we know when to use it? If the application isn’t here, it must be there!

But we have a problem. How do we get it there? We need a protocol for sending the data We need Error and Flow control

Page 30: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 31

EFCP

Bad things can happen to messages in transit. Protection against lost or corrupted messages

Receiver must be able to tell sender, it is going too fast. Flow Control

We have lost our means of synchronization: No common test and set means shared memory can

no longer be used Must create shared state between two systems. An

explicit synchronization mechanism is required.

We need an Error and Flow Control protocol

Page 31: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Communication between two systems

09/04/2023 32

Driver Driver

IPC Mgt

IAP

EFCP

IPC Mgt

IAP

EFCP

Application Process

Application Protocol Machines

Port IDs

EFCP EFCPEFCP EFCP

Page 32: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 33

Three new concepts

An Application Name Space that spans both systems. (not really new) Should be location-independent in general so that applications can move.

A Protocol to carry Application Names and access control info Applications need to know with whom they are talking IPC must know what Application is being requested to be able to find it.

For now, if the requested Application isn’t local, it must in the other system.

A Protocol that provides the IPC Mechanism and does Error and Flow Control. To maintain shared state about the communication, i.e. synchronization To detect errors and ensure order To provide flow control

Resource allocation can be handled for now by either end refusing service.

Page 33: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 34

Multiple Instances of IPC

New Concept: a multiplexing application to manage the single resource, the physical media. need to be fast, its functionality should be minimized,

i.e. just the scheduling of messages to send.

To provide QoS, we use the EFCP and scheduling by the Mux.

To do resource allocation, we will just let the other side refuse if it can’t satisfy the request.

Application naming gets a bit more complicated than just multiple application-names. Must allow multiple instances of the same process

Page 34: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Communication with N systems

09/04/2023 35

Page 35: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Communication with N systems

09/04/2023 36

IPC Mgt

IAPDir

RIEP

MuxMuxMux

Driver DriverDriver

EFCP

Page 36: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Communication with N systems

Relaying function is necessary

09/04/2023 37

Page 37: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Resulting structure:recurring functions of different scope

09/04/2023 38

Mux

EFCP

EFCP EFCPEFCP EFCP EFCP

Mux

EFCP

EFCP

User applications

Relaying app

Page 38: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Presentation index

Shortcomings of the current architecture. Back to basics: What is networking? Introducing RINA Research

09/04/2023 39

Page 39: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 40

EFCP: Error and Flow Control Protocol

DTP Fragmentation Reassembly Sequencing Concatenation Separation

DTCP Transmission control Retransmission control Flow control

Loosely coupled by a state vector Based on Delta-t

Page 40: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 41

What’s inside an IPC process

Page 41: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 42

Number of layers

At least two layers required for networking Upper bound?

Internetworking, VPN, P2P, virtualization…

Security Smaller Scopes Private networks become the norm

Page 42: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Presentation index

Shortcomings of the current architecture. Back to basics: What is networking? Introducing RINA Research: the IRATI project (2013-2015)

09/04/2023 44

Page 43: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 45

Future Research

Since 2008 Draft RINA model and core spec. by Pouzin society Software implementation (DIF over IP)

IRATI 2013-2015 will Research and implement RINA prototypes for the

kernel of a UNIX-like Operating System and JunOS, through the usage of the JunOS SDK.

Develop policies adequate to comply with the IRATI use cases, focused around the dynamic creation of DIFs in order to support cloud services across multiple datacentres.

Page 44: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 46

DIF over Ethernet Currently DIFs over IP

wrap the IP layer with the IPC Process Interface map the names of IPC Processes of the layer above to IP addresses in the

IP layer and create TCP and/or UDP flows based on the QoS requested by the upper

layer application proces

Page 45: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

09/04/2023 47

Resources

John Day “Patterns in Network Architecture” http://www.pouzinsociety.org/ http://www.irati.eu RINA workshop 21-24 Jan 2012, BCN, ES

Page 46: RINA motivation, introduction and IRATI goals. IEEE ANTS 2012

Questions ?Sander Vrijders [email protected] Staessensdimitri.staessens@intec.ugent.bewww.ibcn.intec.ugent.beInternet Based Communication Networks and Services (IBCN)Department of Information Technology (INTEC)Ghent University - iMinds

09/04/2023 48