Reliable high-speed Grid data delivery using IP Multicast Karl Jeacle & Jon Crowcroft

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

Transmission Control Protocol (TCP)
Guide to TCP/IP, Third Edition
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Instructor: Sam Nanavaty TCP/IP protocol. Instructor: Sam Nanavaty Version – Allows for the evolution of the protocol IHL (Internet header length) – Length.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Hybrid Reliable Multicast with TCP-XM Jon Crowcroft Marinho P Barcellos, UNISINOS Stefano Pettini, ESA Karl Jeacle.
IP Basics. Physical Link Network IP ARP ICMP RoutingTables.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
IP Basics. IP encapsulates TCP IP packets travel through many different routers (hops) before reaching it’s destination MTU variation at the physical.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
1 CCNA 2 v3.1 Module Intermediate TCP/IP CCNA 2 Module 10.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Process-to-Process Delivery:
Gursharan Singh Tatla Transport Layer 16-May
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.
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 Transport Layer.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
LWIP TCP/IP Stack 김백규.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Extending Globus to support Multicast Transmission Karl Jeacle
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
A Multicast Transport Driver for Globus XIO Karl Jeacle
TCP-XM “Multicast Transport for Grid Computing” Karl Jeacle
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
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.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
iperf a gnu tool for IP networks
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Introduction to TCP/IP networking
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
COMP2322 Lab 6 TCP Steven Lee Mar 29, 2017.
Process-to-Process Delivery, TCP and UDP protocols
© 2003, Cisco Systems, Inc. All rights reserved.
PART 5 Transport Layer Computer Networks.
TCP Transport layer Er. Vikram Dhiman LPU.
Process-to-Process Delivery:
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.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
CS4470 Computer Networking Protocols
TCP-XM: Unicast-enabled Reliable Multicast
Dr. John P. Abraham Professor UTPA
TRANSMISSION CONTROL PROTOCOL
Dr. John P. Abraham Professor UTPA
CSC Advanced Unix Programming, Fall 2015
Transport Protocols: TCP Segments, Flow control and Connection Setup
Computer Networks Protocols
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 Layer 9/22/2019.
TCP Connection Management
Presentation transcript:

Reliable high-speed Grid data delivery using IP Multicast Karl Jeacle & Jon Crowcroft

All Hands Meeting 2003 Rationale  Would like to achieve high-speed bulk data delivery to multiple sites  Multicasting would make sense  Existing multicast research has focused on sending to a large number of receivers  But Grid is an applied example where sending to a moderate number of receivers would be extremely beneficial

All Hands Meeting 2003 Multicast availability  Deployment is a problem!  Protocols have been defined and implemented  Valid concerns about scalability; much FUD  “chicken & egg” means limited coverage  Clouds of native multicast  But can’t reach all destinations via multicast  So applications abandon in favour of unicast  What if we could multicast when possible…  …but fall back to unicast when necessary?

All Hands Meeting 2003 Multicast TCP?  TCP  “single reliable stream between two hosts”  Multicast TCP  “multiple reliable streams from one to n hosts”  May seem a little odd, but there is precedent…  SCE – Talpade & Ammar  TCP-XMO – Liang & Cheriton  M/TCP – Visoottiviseth et al

All Hands Meeting 2003 ACK implosion

All Hands Meeting 2003 Building Multicast TCP  Want to test multicast/unicast TCP approach  But new protocol == kernel change  Widespread test deployment difficult  Build new TCP-like engine  Encapsulate packets in UDP  Run in userspace  Performance is sacrificed…  …but widespread testing now possible

All Hands Meeting 2003 TCP/IP/UDP/IP Sending Application TCP IP UDP IP Receiving Application TCP IP UDP IP If natively implemented test deployment

All Hands Meeting 2003 TCP engine  Where does initial TCP come from?  Could use BSD or Linux  Extracting from kernel could be problematic  More compact alternative  lwIP = Lightweight IP  Small but fully RFC-compliant TCP/IP stack  lwIP + multicast extensions = “TCP-XM”

All Hands Meeting 2003 TCP SYN SYNACK ACK FIN ACK DATA SenderReceiver

All Hands Meeting 2003 TCP-XM Sender Receiver 1 Receiver 2 Receiver 3

All Hands Meeting 2003 TCP-XM connection  Connection  User connects to multiple unicast destinations  Multiple TCP PCBs created  Independent 3-way handshakes take place  SSM or random ASM group address allocated  (if not specified in advance by user/application)  Group address sent as TCP option  Ability to multicast depends on TCP option

All Hands Meeting 2003 TCP-XM transmission  Data transfer  Data replicated/enqueued on all send queues  PCB variables dictate transmission mode  Data packets are multicast  Retransmissions are unicast  Auto switch to unicast after failed multicast  Close  Connections closed as per unicast TCP

All Hands Meeting 2003 TCP-XM reception  Receiver  No API-level changes  Normal TCP listen  Auto-IGMP join on TCP-XM connect  Accepts data on both unicast/multicast ports  tcp_input() accepts:  packets addressed to existing unicast destination…  …but now also those addressed to multicast group

All Hands Meeting 2003 What happens to the cwin?  Multiple receivers  Multiple PCBs  Multiple congestion windows  Default to min(cwin)  i.e. send at rate of slowest receiver  Avoid by splitting receivers into groups  Group according to cwin / data rate

All Hands Meeting 2003 API changes  Only relevant if natively implemented!  Sender API changes  New connection type  Connect to port on array of destinations  Single write sends data to all hosts  TCP-XM in use: conn = netconn_new(NETCONN_TCPXM); netconn_connectxm(conn, remotedest, numdests, group, port); netconn_write(conn, data, len, …);

All Hands Meeting 2003 PCB changes  Every TCP connection has an associated Protocol Control Block (PCB)  TCP-XM adds: struct tcp_pcb { … struct ip_addr group_ip;// group addr enum tx_mode txmode;// uni/multicast u8t nrtxm;// # retrans struct tcp_pcb *nextm;// next “m” pcb }

All Hands Meeting 2003 Linking PCBs  *next points to the next TCP session  *nextm points to the next TCP session that’s part of a particular TCP-XM connection  Minimal timer and state machine changes next nextm M1 next nextm U1 next nextm M2 next nextm M3 next nextm U2

All Hands Meeting 2003 TCP Group Option  New group option sent in all TCP-XM SYN packets  Presence implies multicast capability  Non TCP-XM hosts will ignore (no option in SYNACK)  Sender will automatically revert to unicast 1 byte 4 bytes kind=50len=6Multicast Group Address

All Hands Meeting 2003 Initial tests: speed

All Hands Meeting 2003 Initial tests: efficiency

All Hands Meeting 2003 Future  To do:  Protocol work  Parallel unicast / multicast transmission  Fallback / fall forward  Multicast look ahead  Multiple groups  Globus integration  Experiments  Local network  UK eScience centres  Intel PlanetLab

All Hands Meeting 2003 eScience volunteers…  1. In place  Cambridge  Imperial  UCL  2. Nearly  Oxford  Newcastle  Southampton  3. Not quite  Belfast  Cardiff  Daresbury  Rutherford  4. Not at all  Edinburgh  Glasgow  Manchester

All Hands Meeting 2003 All done!  Thanks for listening!  Questions?