ALF-ILP Based on Slides by Anthony D. Joseph. ALF and ILP Clark and Tennenhouse, 1990 –Application Level Framing (ALF) ALF solves problems with strictly-layered.

Slides:



Advertisements
Similar presentations
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
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.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
CS294-9 :: Fall 2003 ALF and RTP Ketan Mayer-Patel.
EE228A Project, Fall 2000 Yunfei Deng, Kenneth Cheung, Daniil Khidekel Professor Jean Walrand 12/5/2000 Modular TCP.
Real-time traffic Dr. Abdulaziz Almulhem. Almulhem©20012 Agenda RT traffic characteristic RT traffic profiles RT traffic requirements RT Architecture.
Network Architectures Week 3 Part 2. Comparing The Internet & OSI.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
Real-time Transport Protocol Matt Boutell CS457: Computer Networks November 15, 2001.
Transport Layer TCP and UDP IS250 Spring 2010
CS211/Fall /06 Outline for This Lecture Application of e2e over wireless Application Level Framing Integrated Layer Processing Course Project Introduction.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
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.
Reference Model 1. Layered network Why network are layered ?! -Easy to change -Easy to troubleshoot -Give general idea of each layer 2.
Process-to-Process Delivery:
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Presentation on Osi & TCP/IP MODEL
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,
TCP/IP Transport and Application (Topic 6)
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
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.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
Computer Networks with Internet Technology William Stallings
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Protocol Layering: Boon or Bust? Anthony D. Joseph CS 262a October 31, 2001.
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.
Chapter 16 Protocols and Layering. Network Communication Protocol an agreement that specifies the format and meaning of messages computers exchange Network.
Protocol Layering Chapter 11.
Transport Protocols.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
1 The utopia protocol  Unrealistic assumptions: –processing time ignored –infinite buffer space available –simplex: data transmitted in one direction.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
Computer Networking Lecture 16 – Reliable Transport.
Data Link Layer.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
The Transport Layer Implementation Services Functions Protocols
Transport Layer Slides are originally from instructor: Carey Williamson at University of Calgary Very minor modification are made Notes derived from “Computer.
Chapter 9: Transport Layer
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.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Data Link Layer.
Introduction to Networks
TCP.
TCP.
Introduction of Transport 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 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.
IT351: Mobile & Wireless Computing
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
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.
Error Checking continued
Data Link Layer. Position of the data-link layer.
Unit – III Network Essentials
Presentation transcript:

ALF-ILP Based on Slides by Anthony D. Joseph

ALF and ILP Clark and Tennenhouse, 1990 –Application Level Framing (ALF) ALF solves problems with strictly-layered architecture –Integrated Layer Processing (ILP) ILP solves problems with layered impl’n ALF a mainstream concept, major impact –basis for Real-time Transport Protocol ILP still in research stage –Hard problem, e.g., HIPPARCH project

ALF Basic idea: –Express application's semantics in the design of its network protocol. “One size fits all” often inadequate Application packets mux Application packets demux

ALF (cont’d) ”In the case of layered architectures, practical experience provides strong support for alternative engineering design”. Not obvious –Streaming A/V on web (via TCP) –XPhone system (A/V over TCP)

ALF (cont’d) Key architectural principle is: FLEXIBLE DECOMPOSITION Defer engineering decisions to implementor Avoid inessential constraints

More ALF Examples: –Real-time Transport Protocol –LBL whiteboard / reliable multicast But isn't TCP “one size fits all”? –Hasn't this worked really well? –(e.g., telnet, ftp, , web/http) Yes, however, even these can be improved in certain environments: –Slogin (add encryption) –multicast mail exploder (avoid duplication)

Application Data Units Notion of “application data unit” (ADU) explicit in the network/application interface. Example: –“Intelligent” framing of compressed video –Bit-oriented JPEG video stream –Frame bit-stream into ADUs/packets for … …

Video Framing Add header (H*) to each packet to make “idempotent”; independently “processable” Allows receiver to: –Proceed in the presence of loss –Selectively decide which data to retransmit (if at all) Hdr B0 B1 … BN Frame N-1 Frame NFrame N+1 “JPEG” Video Sequence Hdr BLBL+1 BMBM+1 BNHdr BLBL+1 BMBM+1 BNHdr BLBL+1 BMBM+1 BN Naïve Framing H* BLH*BL+1BMH*BM+1BNH* BLH*BL+1BMH*BM+1BNH* BLH*BL+1BMH*BM+1BN Intelligent Framing

Protocol Functions Performance issues: separation of control and “data manipulation” Data manipulation (touching / moving) –Move to/from net –Error detection –Buffering for retransmission –Encryption –Moving to/from app address space –Presentation formatting

More Protocol Functions Control transfer –Flow / congestion control –Detecting network transmission problems: loss, duplication, re-ordering –Acknowledgement –Multiplexing –Timestamping –Framing

More Details Simple measurements and argument to say: data manipulation is bottleneck But control semantics place constraints on implementation, leads to layered implementations.

Consider TCP What happens when data is reordered? (actually: how does data get reordered?) –TCP stalls system to wait for retransmission  lost packet stalls “presentation conversion” Instead: let application process misordered data: –App might accept less than perfect delivery, merely continue –Sending app can provide missing data (rather than keeping buffered copy in transport layer) –App might want to retransmit new not old data to fix consequence of original loss

How can we do this? TCP doesn't work (API wrong, reliable byte stream) Instead: Application Data Unit (ADU) –Unit of manipulation –ADUs processed in any order –ADU boundaries replace packet boundaries (for data manipulation functions like error detection) –Lost piece of ADU  lost ADU

Discussion questions How to name ADUs? –Sequence numbers? Why not make ADU = packet? Why not make ADU >> packet? Does ALF imply a user-level protocol?

Integrated Layer Processing Layering: + Design / - Implementation Naive implementation  sequential processing at each layer Clark/Tennenhouse argue that layering is not fundamental; rather, it's just one design option. Alternative engineering principle: Integrated Layer Processing

ILP Motivation: ever-widening memory / CPU bottleneck ”Integrated processing loop” –Loop over bytes in packet –Touch each byte at most once –Massive integrated loop w/ all steps in-line –Trivial example: bcopy + checksum Architecture must minimize precedence/ordering constraints, e.g., –Some steps needs ordering (DES/CBC, decompression?) –Many steps need per/app state (wait for demux)

Discussion Questions How to implement ILP? –By hand? –Automatic synthesis? –How? compiler? formal language? –Protocol implementations typically ad hoc, and thus difficult to transform. –Formal techniques haven't panned out (yet...?) Where are bottlenecks? where is most opportunity? –I claim at application! Then this is no longer really a networking problem; it's a really a compiler/application problem... (Example: encrypted/compressed video)