Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.

Slides:



Advertisements
Similar presentations
Computer Networks TCP/IP Protocol Suite.
Advertisements

Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
4/27/2015Slide 1 Rethinking the design of the Internet: The end to end arguments vs. the brave new world Marjory S. Blumenthal Computer Science and Telecomms.
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
The Design Philosophy of the DARPA Internet Protocols D. D. Clark.
Semester Copyright USM EEE442 Computer Networks Introduction: Protocols En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK)
Protocols and the TCP/IP Suite
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
The Design Philosophy of DARPA Internet Protocols David D. Clark.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
Network Architectures Week 3 – OSI and The Internet.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
CS211/Fall /06 Outline for This Lecture Application of e2e over wireless Application Level Framing Integrated Layer Processing Course Project Introduction.
Chapter 2 Network Models.
TCP/IP Reference Model Host To Network Layer Transport Layer Application Layer Internet Layer.
Gursharan Singh Tatla Transport Layer 16-May
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.
Feb 20, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
EPL606 Topic 1 Introduction Part B - Design Considerations 1 The majority of the slides in this course are adapted from the accompanying slides to the.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
Presentation on Osi & TCP/IP MODEL
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
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.
Protocols and the TCP/IP Suite
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Lec4: TCP/IP, Network management model, Agent architectures
Lect1..ppt - 01/06/05 CDA 6505 Network Architecture and Client/Server Computing Lecture 2 Protocols and the TCP/IP Suite by Zornitza Genova Prodanoff.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
1 Next Few Classes Networking basics Protection & Security.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Network Architecture: Design Philosophies IS250 Spring 2010 John Chuang
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Chapter 2 Protocols and the TCP/IP Suite 1 Chapter 2 Protocols and the TCP/IP Suite.
William Stallings Data and Computer Communications
Communication Networks - Overview CSE 3213 – Fall November 2015.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
Reading TCP/IP Protocol. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Protocol Layering Chapter 11.
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.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
CS533 - Concepts of Operating Systems End-to-End Arguments in System Design Presentation by David Florey.
BASICS Gabriella Paolini (GARR) 27/05/11 - ICCU Roma 1 How INTERNET works !
Presented by Muhammad Abu Saqer
Distributed Systems (Section B)
NET323 D: Network Protocols
Administrative stuff TA: Almudena Konrad Paper reviews:
NET323 D: Network Protocols
Lecture 2: Overview of TCP/IP protocol
CSE 542: Operating Systems
CSE 542: Operating Systems
Presentation transcript:

Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Lecture 4: Internetworking Design Principles

Univ. of TehranComputer Network2 Layer Functionality How to determine split of functionality Across protocol layers Across network nodes Assigned Reading [SRC84] End-to-end Arguments in System Design [Cla88] Design Philosophy of the DARPA Internet Protocols [CT90] Architectural Consideration for a New Generation of Protocols

Univ. of TehranComputer Network3 Internetworking Communication between networks. Problems & Challenges Different Networking technologies (Heterogeneity). So many Networks (Scaling). Some terminologies: “internetworking” refer to an arbitrary collection of connected networks. “Internet” the global internetwork. “Network” either directly connected or switched network using any LAN technology such as Ethernet, Token ring, ATM, etc.

Univ. of TehranComputer Network4 Goals 0 Connect existing networks initially ARPANET and ARPA packet radio network 1. Survivability - ensure communication service even in the presence of network and router failures 2. Support multiple types of services 3. Must accommodate a variety of networks 4. Allow distributed management 5. Allow host attachment with a low level of effort 6. Allow resource accountability

Univ. of TehranComputer Network5 Connect Existing Networks Existing networks: ARPANET and ARPA packet radio Decision: packet switching Existing networks already were using this technology Packet switching  store and forward router architecture Internet: a packet switched communication network consisting of different networks connected by store-and-forward routers

Univ. of TehranComputer Network6 Gateway Alternatives Translation Difficulty in dealing with different features supported by networks Scales poorly with number of network types (N 2 conversions) Standardization “IP over everything” (Design Principle 1) Minimal assumptions about network Hourglass design

Univ. of TehranComputer Network7 Survivability Continue to operate even in the presence of network failures (e.g., link and router failures) As long as the network is not partitioned, two endpoint should be able to communicate, moreover, any other failure (excepting network partition) should be transparent to endpoints Decision: maintain state only at end-points (fate- sharing) Eliminate the problem of handling state inconsistency and performing state restoration when router fails Internet: stateless network architecture

Univ. of TehranComputer Network8 Services At network layer provides one simple service: best effort datagram (packet) delivery Only one higher level service implemented at transport layer: reliable data delivery (TCP) performance enhancement; used by a large variety of applications (Telnet, FTP, HTTP) does not impact other applications (can use UDP) Everything else implemented at application level

Univ. of TehranComputer Network9 Key Advantages The service can be implemented by a large variety of network technologies Does not require routers to maintain any fined grained state about traffic. Thus, network architecture is Robust Scalable

Univ. of TehranComputer Network10 What About Other Services? Multicast? Quality of Service (QoS)?

Univ. of TehranComputer Network11 Principle 3 Best effort delivery All packets are treated the same Relatively simple core network elements Building block from which other services (such as reliable data stream) can be built Contributes to scalability of network

Univ. of TehranComputer Network12 Principle 4 Fate sharing Critical state only at endpoints Only endpoint failure disrupts communication Helps survivability

Univ. of TehranComputer Network13 Principle 5 Soft-state Announce state Refresh state Timeout state Penalty for timeout – poor performance Robust way to identify communication flows Possible mechanism to provide non-best effort service Helps survivability

Univ. of TehranComputer Network14 Principle 6 Decentralization Each network owned and managed separately Will see this in BGP routing especially

Univ. of TehranComputer Network15 Principle 7 Be conservative in what you send and liberal in what you accept Unwritten rule Especially useful since many protocol specifications are ambiguous E.g. TCP will accept and ignore bogus acknowledgements

Univ. of TehranComputer Network16 IP Layering (Principle 8) Relatively simple Router Host Application Transport Network Link

Univ. of TehranComputer Network17 IP Design Weaknesses Greedy sources aren’t handled well Weak accounting and pricing tools Weak administration and management tools Incremental deployment difficult at times Result of no centralized control No more “flag” days Are active networks the solution?

Univ. of TehranComputer Network18 End-to-End Argument (Principle 2) Deals with where to place functionality Inside the network (in switching elements) At the edges Argument There are functions that can only be correctly implemented by the endpoints do not try to completely implement these at them elsewhere Can provide a partial form as performance enhancement Guideline not a law

Univ. of TehranComputer Network19 End-to-End Argument Think twice before implementing a functionality that you believe that is useful to an application at a lower layer If the application can implement a functionality correctly, implement it a lower layer only as a performance enhancement

Univ. of TehranComputer Network20 Example: Reliable File Transfer Solution 1: make each step reliable, and then concatenate them Solution 2: end-to-end check and retry OS Appl. OS Appl. Host AHost B OK

Univ. of TehranComputer Network21 Discussion Solution 1 not complete What happens if the sender or/and receiver misbehave? The receiver has to do the check anyway! Thus, full functionality can be entirely implemented at application layer; no need for reliability from lower layers Is there any need to implement reliability at lower layers?

Univ. of TehranComputer Network22 Discussion Yes, but only to improve performance Example: Assume a high error rate on communication network Then, a reliable communication service at data link layer might help

Univ. of TehranComputer Network23 Trade-offs Application has more information about the data and the semantic of the service it requires (e.g., can check only at the end of each data unit) A lower layer has more information about constraints in data transmission (e.g., packet size, error rate) Note: these trade-offs are a direct result of layering!

Univ. of TehranComputer Network24 Rule of Thumb Implementing a functionality at a lower level should have minimum performance impact on the application that do not use the functionality

Univ. of TehranComputer Network25 File Transfer (cont) Even if network guaranteed reliable delivery Need to provide end-to-end checks E.g., network card may malfunction If network is highly unreliable Adding some level of reliability helps performance, not correctness Don’t try to achieve perfect reliability! Is FTP like this? TCP provides reliability between kernels not disks

Univ. of TehranComputer Network26 Examples What should be done at the end points, and what by the network? Addressing/routing? Reliable/sequenced delivery? Original TCP/IP were integrated – Reed successfully argued for separation Security? What about Ethernet collision detection? Multicast? Real-time guarantees?

Univ. of TehranComputer Network27 Other Examples Secure transmission of data Duplicate message suppression Transaction management

Univ. of TehranComputer Network28 Internet & End-to-End Argument Provides one simple service: best effort datagram (packet) delivery Only one higher level service implemented at transport layer: reliable data delivery (TCP) Performance enhancement; used by a large variety of applications (Telnet, FTP, HTTP) Does not impact other applications (can use UDP) Everything else implemented at application level

Univ. of TehranComputer Network29 Design principles of the Internet The end-to-end arguments: The lower layers of the network are not the right place to implement application-specific functions. The lower layers of the network should implement basic and general functions, and the applications should be built “above” these functions, at the edges. E.g. move functions “up and out”. This leads to the result of function migration to the end-node. The network should be “as transparent as technology permits”.

Univ. of TehranComputer Network30 A simple view of the Internet User Router “The Internet”

Univ. of TehranComputer Network31 Benefits of the end to end arguments User empowerment. Run what you please. Flexibility in the face of unknown applications. A network to hook computers together. Lower cost in core of network. Eliminate special “features”. Rely on edge-node equipment. More robust applications. No unexpected failures of third-party nodes. An example of “getting it wrong”: make the network reliable. Interferes with real-time telephony.

Univ. of TehranComputer Network32 But in today’s Internet... There are “new” factors to consider: Assured operation in an untrustworthy world. More demanding applications. Growing need for enhanced services. Less sophisticated users. User empowerment is a burden. Does today’s software really empower the user? Third parties who want to intervene. New sorts of end-node devices. Appliances, not PCs. The evolving role of the Internet Service Provider.

Univ. of TehranComputer Network33 In the brave new world The end to end model does not empower the ISP. ISPs want to sell services, add value, and make money. New network services (or not), protection, control of applications/content, accounting. The end to end model does not empower rights holders. The end to end model does not empower governments. Control of content, taxation, consumer protection, law enforcement. The end to end model does not empower employers. The end to end model only empowers certain application makers.

Univ. of TehranComputer Network34 The end to end argument functions at two levels At the “network” level: Avoid putting constraining per-application functions into the core of the network. Build general purpose services. At the “application” level: Build applications in a way that makes them robust, easy to use, reliable, etc. Simple approach: push software to the edge. Perhaps more realistic: reason carefully about role of servers, trusted third parties, etc. Increasing concern about the goal of making money?

Univ. of TehranComputer Network35 The end to end argument at the network level At the network level: More complex role for commercial ISPs vertical integration of transport/QoS with apps. control of what apps users can use. filtering of unacceptable behavior. Others (e.g., employers, universities) restrict activities. Firewalls, filters Governments propose controls in the net. Carnivore The Internet is hard to find and control. What is the Internet?

Univ. of TehranComputer Network36 The end to end argument at the application level At the application level: Ease of use, mutual distrust, multi-party interactions may motivate servers and services other than at the end- points of the users. Relays for content, trusted third parties. How do we make these applications robust? How do the parties know who they are talking to? Appliance and devices motivate new designs. Both ISPs and ASPs (A = Application) want to “get into the action”. ISP involvement will imply constraints on location/structure.

Univ. of TehranComputer Network37 A more complex view of the Internet Backbone (big ISP) Backbone (big ISP) Backbone (big ISP) Little ISP User Little ISP Corp Campus Little ISP User By the end to end argument, applications live at the edge. The ISP lives here. And below. The ISP does not live at the end-points. (They can try…)

Univ. of TehranComputer Network38 Some ideas for moving forward Labels. A compromise between autonomy and visibility of action. Distinction between private and public communication. Accept that private communication is not restricted. Focus on communication “to the public”. New principles for application design. Do not force an end-node implementation. Allow the user to select an alternative. A more sophisticated form of empowerment. Tolerance for experimentation. That which is not forbidden is permitted?

Univ. of TehranComputer Network39 Some “contradictions” in the end to end approach How can we build a trustworthy network out of edge-devices that cannot be trusted? How can we have anonymity and accountability? How can the net control unacceptable behavior and still permit unknown applications? Flexibility is critical if the Internet is to be a part of the computer world. Must find a balance among the goals.

Univ. of TehranComputer Network40 What has really changed? A loss of trust among users. Global communication with local trust. The need to factor in economic forces. Role of commercial (and other) ISPs. The change in the nature of the user base. Less sophisticated: ease of use, protection concerns Co-evolution of technology and law. Complex cycle of evolution. Geographic differences. Change in nature of innovation. Big players.

Univ. of TehranComputer Network41 Summary: End-to-End Argument If the application can do it, don’t do it at a lower layer -- anyway the application knows the best what it needs Add functionality in lower layers iff it is (1) used and improves performances of a large number of applications, and (2) does not hurt other applications Success story: Internet

Univ. of TehranComputer Network42 Summary Challenge of building a good (network) system: find the right balance between: Reuse, implementation effort (apply layering concepts) End-to-end argument Performance  No universal answer: the answer depends on the goals and assumptions!

Univ. of TehranComputer Network43 New Generation Protocols Two Architectural Principles. ILP (Integrated Layer Processing) Layering is a design concept And may not be the most efficient way of implementation or effective modularity. ALF (Application Level Framing) Get data to application as soon as possible in a manner the application can cope with.

Univ. of TehranComputer Network44 Data Manipulation Flexible decomposition. Data Manipulation Moving to/from the net Error detection Encryption Moving to/from application address space Presentation formatting

Univ. of TehranComputer Network45 Transfer control Transfer Control Flow/congestion Detecting Net problem Ack. Multiplexing Timestamping Framing Data Manipulation is generally the problem. Multiple data touches are expensive Gap between processing and memory speed. Solution: Reduce data touches, copies, etc.

Univ. of TehranComputer Network46 ILP: Today’s View Network is usually a bottleneck. Application is the bottleneck (presentation of data) Automatically generating ILP code is hard Many approaches: compiler support, formal language. None of them really works!. ILP leverages special coding Loss of generality Code is difficult to understand and maintain.

Univ. of TehranComputer Network47 Application Level Framing (ALF) Motivations Presentation conversion is the bottleneck. ASN.1 Integer to ASCII: 28 Mbps Copy: 130Mb/s; checksum: 115 Mb/s 97% of the overhead is attributed to presentation conversion Solutions: Eliminate presentation conversion: ASCII protocols Optimize

Univ. of TehranComputer Network48 Application Level Framing (ALF) The problem TCP reliable in-order byte-stream prohibits the out of order data delivery to application. Application is prevented from performing presentation conversion as data arrives. Solution: Allow data manipulation to start in the presence of mis-ordered and lost packets. Out of order data manipulation improves performance even when presentation conversion is absent.

Univ. of TehranComputer Network49 Application Level Framing (ALF) Objective: enable application to process data ASAP Application response to loss Retransmit (TCP applications) Ignore (UDP applications) Recompute/send new data (clever application) Expose unit of application processing (ADU) to protocol stack

Univ. of TehranComputer Network50 Application Data Units Requirements ADUs can be processed in any order Naming of ADUs should help identify position in stream Size Enough to process independently Impact on loss recovery What if size is too large?

Univ. of TehranComputer Network51 Integrated Layer Processing (ILP) Layering is convenient for architecture but not for implementations Combining data manipulation operations across layers provides gains E.g. copy and checksum combined provides 90Mbps vs. 60Mbps separated Protocol design must be done carefully to enable ILP Presentation overhead, application-specific processing >> other processing Target for ILP optimization

Univ. of TehranComputer Network52 Next: Internetworking How to connect existing networks TCP/IP protocol Assigned Reading [CK74]: A Protocol for Packet Network Intercommunication. [Hin96]: IP Next Generation Overview