Publish/Subscribe Internetworking Transport Abstractions & Congestion Control Somaya Arianfar & Pasi Sarolahti 26.9.2011.

Slides:



Advertisements
Similar presentations
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Transmission Control Protocol (TCP)
Chapter 7: Transport Layer
Lecture 7 Transport Layer
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Chapter 3: Transport Layer
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
Chapter 1 Introduction Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Chap 9 TCP/IP Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_a Transport Protocols - UDP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All.
Transport Layer and UDP Tahir Azim Ref:
University of the Western Cape Chapter 12: The Transport Layer.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
TCP/IP Transport and Application (Topic 6)
Transport Layer: UDP, TCP
Chapter 3 Transport Layer
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
1 Transport Layer Lecture 7 Imran Ahmed University of Management & Technology.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
1 End-user Protocols, Services and QoS. 2 Layering: logical communication application transport network link physical application transport network link.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Transport Protocols.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
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).
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Chapter 3 outline 3.1 Transport-layer services
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Process-to-Process Delivery, TCP and UDP protocols
Long-haul Transport Protocols
Transport Layer Our goals:
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Process-to-Process Delivery:
Transport Protocols An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Process-to-Process Delivery: UDP, TCP
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

Publish/Subscribe Internetworking Transport Abstractions & Congestion Control Somaya Arianfar & Pasi Sarolahti

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Agenda (for the general transport part) Traditional transport abstractions –Reflections from how things are done today Rethinking the transport concepts (layering etc.) Reliable Multicast Transport Peer-to-Peer Transport HTTP as a Pub/Sub Transport Open Issues 2

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 The OSI Layer Model 3 Application Presentation Session Transport Network Data link Physical Program Application Presentation Session Transport Network Data link Physical Program Data DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData DataData

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 PURSUIT Functional Model 4

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 API Current Internet Transport Protocols Reliable Byte Stream Unreliable Datagrams Reliable Messages TCP UDP SCTP DCCP - Segmentation - Flow multiplexing - Retransmissions - Congestion ctrl - Segmentation - Flow multiplexing - Retransmissions - Congestion ctrl - Flow multiplexing - Cong. ctrl - Flow multiplexing - Cong. ctrl - Flow multiplexing - Retransmissions - Congestion ctrl - Lots of features… - Extensible - Flow multiplexing - Retransmissions - Congestion ctrl - Lots of features… - Extensible Internet Protocol

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 IETF and the Transport Area 6 Congestion control and related transport protocols Interconnecting Content Distribution Networks Network File System, network storage Peer-to-peer communication TCP extensions and maintenance Reliable multicast transport QoS, new transport protocols, traffic engineering DCCP LEDBAT CONEX PCN CDNI NFSV4 STORM PPSP DECADE ALTO TCPM MPTCP RMT TSVWG

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Classical Example: TCP Service model: Reliable byte stream –No message boundaries Send(1024 bytes) may result in Receive(512 B) + Receive(512 B) –One-to-one association Segmentation to packets –Depends on network path MTU Reliable: retransmissions based on acknowledgments and timer Congestion control: based on RTT measurements and packet loss events Much intelligence at sender, some intelligence at receiver –No intelligence in network 7

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Another Example: DCCP (Datagram Congestion Control Protocol) Service Model: Unreliable datagrams –Send(1024 B) results in Receive(1024 B) – or no Receive at all –One-to-one association Unreliable: no retransmissions Congestion control: based on RTT measurements and packet loss events –Requires acknowledgment mechanism –…and connection state at the sender Feature negotiation (e.g., for congestion control algorithm) Much intelligence at sender, some intelligence at receiver –Very different from UDP (for unreliable datagrams) 8

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Connection-oriented vs. Connectionless Two ends of the connection need to agree on –Protocol parameters e.g., type of acknowledgments, maximum segment size –Shared “secrets” e.g., TCP’s initial sequence number Reliable connection establishment method needed –Typically: three-way handshake Connection-oriented is easy with 1-to-1 connections –How to do it between multiple senders and receivers? 9

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Middleboxes and Connectivity NATs, Firewalls and other types of intermediaries have become common –These operate on packets’ transport headers (or deeper) –Typically support only the most common protocols TCP and UDP One difficulty: pseudoheader checksum calculation and NATs Difficult challenge for deployment of new protocols –Unknown protocols often lost in transit Common trick is to encapsulate packets inside UDP Additional problem: short lease times –Idle periods lead to dropped connections 10

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Rethinking Layering Transport Layer –Communication abstractions, reliability, etc. Flow Regulation Layer –Congestion control, etc. –Adaptability to special algorithms and path conditions –Multipath communication Endpoint Layer –Logical endpoints (i.e., ports) –Extension of network layer 11 B. Ford and J. Iyengar, “Breaking Up the Transport Logjam” In Proc. of ACM HotNets-VII, October 2008

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Structured Streams Addresses some of TCP problems –Head-of-Line blocking –Integrated congestion control Channel Protocol –Congestion control –Security associations Stream Protocol –Hierarchical model E.g., “www” root stream distributed into streams of web pages and subobjects –Stream is associated with channel 12 B. Ford, “Structured Streams: a New Transport Abstraction” In Proc. of ACM SIGCOMM ‘07, August 2007

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Host-Centric Networking vs. Content-Centric Networking Host networking –Resources are located based on topological address IP addresses Routing is “easy” –DNS is used to map host names to IP addresses –Communication associations are between hosts E.g. TCP connections –Security model usually based on hosts Content networking –Resources are located by content-based name Often flat, topology- independent namespace Routing is difficult Sometimes host identities not even known –No host-based communication abstractions Content distribution, content migration becomes easier –Security model based on content 13

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 But… 14 How do we implement transport for publish/subscribe networks? Picture from:

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Multicast Transport Special IP address range reserved for “channels” –UDP packets –Receivers join and leave channels using IGMP or MLD protocols –Source specific multicast limits the allowed sources of data Multicast not globally deployed –But in limited use e.g. in IPTV distribution Many channels do not need reliability –Real-time A/V streaming, etc. How to guarantee reliability in multicast session? –In a session of 100 subscribers, what if one receiver misses data? What is the feedback mechanism? What to retransmit, when and where? 15

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Reliable Multicast Transport Designated receivers (RMTP) –Separate acknowledgments, aggregated over tree of designated receivers Network coding –Add redundancy along data –For the price of overhead, can re-construct individual packets Data Carousel –Repeated transmission of same data 16 A. Dimakis, K. Ramchandran, Y Wu and C. Suh, “A Survey on Network Codes for Distributed Storage”, In Computing Research Repository, April J.C. Lin and S. Paul, “RMTP: A Reliable Multicast Transport Protocol”, In Proc. of IEEE Infocom ‘96, March 1996.

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Peer-to-Peer Transport (BitTorrent) Peers exchange 256 KB chunks –Controlled by tracker –Exchanged in “random” order Old version: on top of TCP –Each peer runs multiple TCP connections –TCP congestion control New version: dedicated transport protocol –Delay-based congestion control –Yields to other traffic 17 tracker

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Content-orientedness and TCP (Warning: research in progress…) Target: get some of the benefits of content-centric networking to TCP –mainly caching New TCP option –Content label – identifies content in TCP payload Benefits: –Packet-based caching in current infrastructure Challenges –Interactions with some TCP details 18 cache senderreceiver

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 HTTP as a Pub/Sub Transport Much of the Internet traffic use HTTP –Accessible from most locations behind middleboxes –Lots of apps: real-time video, , version control, file storage Content-centric protocol methods –GET: fetch a resource from a server –PUT: push content to a server –HTTP chunking enables datagram-like service (e.g., for video) Pub/Sub could be implemented with variation of GET –S-GET: Remember the GET request at HTTP server (like named pipe) 19 L. Popa, A. Ghodsi, I. Stoica, “HTTP as the Narrow Waist of the Future Internet” In Proc. of ACM HotNets-IX, October 2010

Publish/Subscribe Internetworking Transport & Congestion Control © Pasi Sarolahti 2011 Open(?) Issues with Publish/Subscribe Transport How to know Maximum Transmission Unit? –What is the packet size? When to retransmit (if retransmissions are needed)? Request per packet vs. request per “flow”? –How to do flow control? How to build feedback channel? Reliability? Buffering? Reliable transport on top of pub/sub, or pub/sub over reliable transport? 20