Jon Maloy, Ericsson Steven Blake, Ericsson Maarten Koning, WindRiver draft-maloy-tipc-00.txt Transparent Inter Process Communication TIPC.

Slides:



Advertisements
Similar presentations
Multicasting in Mobile Ad hoc Networks By XIE Jiawei.
Advertisements

Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Packet Switching COM1337/3501 Textbook: Computer Networks: A Systems Approach, L. Peterson, B. Davie, Morgan Kaufmann Chapter 3.
By Ram Gopal, Alex Audu, Chaoping Wu, Hormuzd Khosravi Forwarding and Control Element Protocol (FACT)
CCNA – Network Fundamentals
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
Socket Programming.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
Lecturer: Tamanna Haque Nipa
1.  A protocol is a set of rules that governs the communications between computers on a network.  Functions of protocols:  Addressing  Data Packet.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 18 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
1 Version 3.0 Module 11 TCP Application and Transport.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Data and Computer Communications Chapter 10 – Circuit Switching and Packet Switching (Wide Area Networks)
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
By Alex Audu, Jamal H. Salim, Avri Doria Forces-IPTML Design.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
By Alex Audu Forces-PL Design Criteria. NOKIA RESEARCH CENTER / BOSTON NE (Network Element) WITH STATE NE (Network Element) WITH STATE  Importance of.
Jon Maloy, Ericsson Steven Blake, Modularnet Maarten Koning, WindRiver Jamal Hadi Salim,Znyx Hormuzd Khosravi,Intel draft-maloy-tipc-01.txt TIPC as TML.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
1 TIPC based TML for ForCES Protocol Jon Maloy Shuchi Chawla Hormuzd Khosravi Furquan Ansari Jamal Hadi Salim 63 rd IETF Meeting, Paris.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
Process-to-Process Delivery:
Jon P. Maloy TIPC: Communication for Linux Clusters.
Ch 3. Transport Layer Myungchul Kim
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
SOCKET PROGRAMMING Presented By : Divya Sharma.
The Network Layer.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Chapter 3 outline 3.1 Transport-layer services
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
TCP Transport layer Er. Vikram Dhiman LPU.
CS 1652 Jack Lange University of Pittsburgh
Transport Layer Unit 5.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Computer Networking TCP/IP Part 2
ECE453 – Introduction to Computer Networks
CS 4594 Broadband PNNI Signaling.
Network Layer I have learned from life no matter how far you go
Chapter 15 – Part 2 Networks The Internal Operating System
CPEG514 Advanced Computer Networkst
Transport Layer 9/22/2019.
Presentation transcript:

Jon Maloy, Ericsson Steven Blake, Ericsson Maarten Koning, WindRiver draft-maloy-tipc-00.txt Transparent Inter Process Communication TIPC

NOKIA RESEARCH CENTER / BOSTON TIPC  A general transport protocol for cluster environments  Not dedicated for distributed routers or ForCES protocol only  A framework for detecting, supervising and maintaining cluster topology  Available as portable open source code package under dual BSD/GPL licence  lines of C code, 112 kbyte Linux kernel module  Runs on 4 OS:es so far, and more to come  Proven concept, used and deployed in several Ericsson products

NOKIA RESEARCH CENTER / BOSTON TIPC In the ForCES context, TIPC is intended used as a transport protocol for carrying ForCES protocol messages, not a ForCES protocol as such

NOKIA RESEARCH CENTER / BOSTON  Connectionless, Connection Oriented and Multicast communication modes  Reliable transport in all modes, but can be made unreliable per socket or per connection  Single, consistent addressing model for all three modes  Scalable  Can handle clusters hundreds of nodes  Performance  Directly on media (Ethernet,Infiniband...) when possible  24 byte header for most messages  Location Transparency in all three communication modes  The cluster can be seen as one single computer  Selective transparency Why TIPC in ForCES ?

NOKIA RESEARCH CENTER / BOSTON  Congestion control at three levels  Connection level, signalling link level and media level  Based on 4 importance priorities  Simple to configure  Each node needs to know its own identity, that is all  Automatic neighbour detection using multicast/broadcast  Lightweigth, Reactive Connections  Immediate connection abortion at node/process failure or overload  Toplogy Subscription Service  Functional and physical topology Why TIPC in ForCES ?

NOKIA RESEARCH CENTER / BOSTON Infiniband Mirrored Memory EthernetSCTPUDP Bearer Adapter API Sequence/Retransmission Control Packet Bundling Congestion Control Fragmentation/De-fragmentation Reliable Multicast Neighbour Detection Link Establish/Supervision/Failover Address Table Distribution Connection Supervision Route/Link Selection Address SubscriptionAddress Resolution User Adapter API Socket API AdapterPort API AdapterOther API Adapters Node Internal Functional View

NOKIA RESEARCH CENTER / BOSTON Zone Node Internet/ Intranet Slave Node Network Topology Cluster

NOKIA RESEARCH CENTER / BOSTON Server Process, Partition B Server Process, Partition A Client Process bind(type = foo, lower=0, upper=99) sendto(type = foo, instance = 33) bind(type = foo, lower=100, upper=199) foo,33 Functional Addressing: Unicast  Function Address  Persistent, reusable 64 bit port identifier assigned by user  Consists of type number and instance number  Function Address Sequence  Sequence of function addresses with same type

NOKIA RESEARCH CENTER / BOSTON Server Process, Partition B Server Process, Partition A Client Process bind(type = foo, lower=0, upper=99) sendto(type = foo, lower = 33, upper = 133) bind(type = foo, lower=100, upper=199) foo,33,133 Functional Addressing: Multicast  Based on Function Address Sequences  Any partition overlapping with the range used in the destination address will receive a copy of the message  Client defines “multicast group” per call

NOKIA RESEARCH CENTER / BOSTON  Location of server not known by client  Lookup of physical destination performed on-the-fly  Efficient, no secondary messaging involved Client Process sendto(type = foo, lower = 33, upper = 133) Node Server Process, Partition B Server Process, Partition A bind(type = foo, lower=0, upper=99) bind(type = foo, lower=100, upper=199) foo,33,133 Location Transparency

NOKIA RESEARCH CENTER / BOSTON  Location of server not known by client  Lookup of physical destination performed on-the-fly  Efficient, no secondary messaging involved Client Process sendto(type = foo, lower = 33, upper = 133) Node Server Process, Partition B Server Process, Partition A bind(type = foo, lower=0, upper=99) bind(type = foo, lower=100, upper=199) foo,33,133 Location Transparency Node

NOKIA RESEARCH CENTER / BOSTON Node bind(type = foo, lower=100, upper=199) Node  Location of server not known by client  Lookup of physical destination performed on-the-fly  Efficient, no secondary messaging involved Client Process sendto(type = foo, lower = 33, upper = 133) Node Server Process, Partition B Server Process, Partition A bind(type = foo, lower=0, upper=99) foo,33,133 Location Transparency

NOKIA RESEARCH CENTER / BOSTON  Many sockets may bind to same partition  Closest-First or Round-Robin algorithm chosen by client bind(type = foo, lower=0, upper=99) Client Process sendto(type = foo, lower = 33, upper = 133) Server Process, Partition A’ Server Process, Partition A bind(type = foo, lower=0, upper=99) foo,33,133 Address Binding

NOKIA RESEARCH CENTER / BOSTON  Many sockets may bind to same partition  Closest-First or Round-Robin algorithm chosen by client  Same socket may bind to many partitions bind(type = foo, lower=100, upper=199) Client Process sendto(type = foo, lower = 33, upper = 133) Server Process, Partition B Server Process, Partition A+B’ bind(type = foo, lower=0, upper=99) bind(type=foo, lower=100, upper=199) foo,33,133 Address Binding

NOKIA RESEARCH CENTER / BOSTON  Many sockets may bind to same partition  Closest-First or Round-Robin algorithm chosen by client  Same socket may bind to many partitions  Same socket may bind to different functions bind(type = foo, lower=100, upper=199) Client Process sendto(type = foo, lower = 33, upper = 133) Server Process, Partition B Server Process, Partition A bind(type = foo, lower=0, upper=99) bind(type=bar, lower=0, upper=999) foo,33,133 Address Binding

NOKIA RESEARCH CENTER / BOSTON Server Process, Partition B Server Process, Partition A Client Process bind(type = foo, lower=0, upper=99) subscribe(type = foo, lower = 0, upper = 500) bind(type = foo, lower=100, upper=199) foo,100,199 foo,0,99 Functional Topology Subscription  Function Address/Address Partition bind/unbind events

NOKIA RESEARCH CENTER / BOSTON TIPC bind(type = node, lower=0x , upper=0x ) Node Client Process subscribe(type = node, lower = 0x , upper = 0x ) node,0x node,0x Node bind(type = node, lower=0x , upper=0x ) TIPC Network Topology Subscription  Node/Cluster/Zone availability events  Same mechanism as for function events

NOKIA RESEARCH CENTER / BOSTON ForCES Applied on TIPC Network Equipment Control Element Forwarding Element OSPF, RIP COPS, CLI, SNMP Other Applications ForCES Protocol/TIPC LFB

NOKIA RESEARCH CENTER / BOSTON Network Equipment Control Element ForCES applied on TIPC Control Element Forwarding Element OSPF, RIP COPS, CLI, SNMP Other Applications Internet ForCES Protocol/TIPC LFB

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  Establishment based on functional addressing  Selectable lookup algorithm, partitioning, redundancy etc  No protocol messages exchanged during setup/shutdown  Only payload carrying messages  Traditional TCP-style connection setup/shutdown as alternative  End-to-end flow control  SOCK_SEQPACKET  SOCK_STREAM  SOCK_RDM for connectionless and multicast  SOCK_DGRAM can easily be added if needed  Same with “Unreliable SOCK_SEQPACKET”

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS foo,117 Server Process, Partition B Client Process sendto(type = foo, instance = 117 )  No protocol messages exchanged during setup/shutdown  Only payload carrying messages

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  No protocol messages exchanged during setup/shutdown  Only payload carrying messages Server Process, Partition B Client Process connect(client) send()

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  No protocol messages exchanged during setup/shutdown  Only payload carrying messages Server Process, Partition B Client Process connect(server)

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  Immediate “abortion” event in case of peer process crash Server Process, Partition B Client Process abort

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  Immediate “abortion” event in case of peer node crash Server Process, Partition B Client Process abort Node

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  Immediate “abortion” event in case of communication failure Server Process, Partition B Client Process abort Node

NOKIA RESEARCH CENTER / BOSTON CONNECTIONS  Immediate “abortion” event in case of node overload Server Process, Partition B Client Process Node abort

NOKIA RESEARCH CENTER / BOSTON Network Redundancy  Retransmission protocol and congestion control at signalling link level  Normally two links per node pair, for full load sharing and redundancy Server Process, Partition B Client Process Node

NOKIA RESEARCH CENTER / BOSTON Network Redundancy  Retransmission protocol and congestion control at signalling link level  Normally two links per node pair, for full load sharing and redundancy  Smooth failover in case of single link failure, with no consequences for user level connections Server Process, Partition B Client Process Node

NOKIA RESEARCH CENTER / BOSTON Remaining Work Implementation  Reliable Multicast not fully implemented yet (exp. end of Q1)  Re-stabilization after most recent changes  Re-implementation of multi-cluster neighbour detection and link setup Protocol  Fully manual inter cluster link setup  Guaranteeing Name Table consistency between clusters  Slave node Name Table reduction  ?????

NOKIA RESEARCH CENTER / BOSTON

QUESTIONS ??