Page 1 15-441 Computer Networking Lecture 2 - Protocol Stacks Last Lecture: What is the Objective of Networking? • Enable communication between applications on different computers • Web (Lecture 22) • Peer to Peer (Lecture 23) • Audio/Video (Lecture 20) • Funky research stuff (Lecture 27) • Must understand application needs/demands (Lecture 3) • Traffic data rate • Traffic pattern (bursty or constant bit rate) • Traffic target (multipoint or single destination, mobile or fixed) • Delay sensitivity • Loss sensitivity 2 3 Last Lecture: Lots of Functions Needed • Link • Multiplexing • Routing • Addressing/naming (locating peers) • Reliability • Flow control • Fragmentation • Etc…. 4 Today’s Lecture • Layers and protocols • Design principles in internetworksPage 2 5 What is Layering? • Modular approach to network functionality • Example: Link hardware Host-to-host connectivity Application-to-application channels Application 6 What is Layering? Host Host Application Transport Network Link User A User B Modular approach to network functionality Peer Peer 7 Layering Characteristics • Each layer relies on services from layer below and exports services to layer above • Interface defines interaction • Hides implementation - layers can change without disturbing other layers (black box) 8 What are Protocols? • An agreement between parties on how communication should take place • Module in layered structure • Protocols define: • Interface to higher layers (API) • Interface to peer (syntax & semantics) • Actions taken on receipt of a messages • Format and order of messages • Error handling, termination, ordering of requests, etc. • Example: Buying airline ticket Friendly greeting Muttered reply Destination? Pittsburgh Thank youPage 3 9 The Internet Engineering Task Force • Standardization is key to network interoperability • The hardware/software of communicating parties are often not built by the same vendor yet they can communicate because they use the same protocol • Internet Engineering Task Force • Based on working groups that focus on specific issues • Request for Comments • Document that provides information or defines standard • Requests feedback from the community • Can be “promoted” to standard under certain conditions • consensus in the committee • interoperating implementations • Project 1 will look at the Internet Relay Chat (IRC) RFC 10 Other Relevant Standardization Bodies • ITU-TS - Telecommunications Sector of the International Telecommunications Union. • government representatives (PTTs/State Department) • responsible for international “recommendations” • T1 - telecom committee reporting to American National Standards Institute. • T1/ANSI formulate US positions • interpret/adapt ITU standards for US use, represents US in ISO • IEEE - Institute of Electrical and Electronics Engineers. • responsible for many physical layer and datalink layer standards • ISO - International Standards Organization. • covers a broad area 11 E.g.: OSI Model: 7 Protocol Layers • Physical: how to transmit bits • Data link: how to transmit frames • Network: how to route packets • Transport: how to send packets end2end • Session: how to tie flows together • Presentation: byte ordering, security • Application: everything else • TCP/IP has been amazingly successful, and it’s not based on a rigid OSI model. The OSI model has been very successful at shaping thought 12 OSI Layers and Locations Bridge/Switch Router/Gateway Host Host Application Transport Network Data Link Presentation Session PhysicalPage 4 13 IP Layering • Relatively simple Bridge/Switch Router/Gateway Host Host Application Transport Network Link Physical 14 The Internet Protocol Suite UDP TCP Data Link Physical Applications The Hourglass Model Waist The waist facilitates interoperability FTP HTTP TFTP NV TCP UDP IP NET1 NET2 NETn … 15 Layer Encapsulation Get index.html Connection ID Source/Destination Link Address User A User B 16 Multiplexing and Demultiplexing • There may be multiple implementations of each layer. • How does the receiver know what version of a layer to use? • Each header includes a demultiplexing field that is used to identify the next layer. • Filled in by the sender • Used by the receiver • Multiplexing occurs at multiple layers. E.g., IP, TCP, … IP TCP IP TCP V/HL TOS Length ID Flags/Offset TTL Prot. H. Checksum Source IP address Destination IP address Options..Page 5 17 Protocol Demultiplexing • Multiple choices at each layer FTP HTTP TFTP NV TCP UDP IP NET1 NET2 NETn … TCP/UDP IP IPX Port Number Network Protocol Field Type Field 18 Is Layering Harmful? • Layer N may duplicate lower level functionality (e.g., error recovery) • Layers may need same info (timestamp, MTU) • Strict adherence to layering may hurt performance • Some layers are not always cleanly separated. • Inter-layer dependencies in implementations for performance reasons • Some dependencies in the standards (header checksums) • Interfaces are not really standardized. • It would be hard to mix and match layers from independent implementations, e.g., windows network apps on unix (w/out compatibility library) • Many cross-layer assumptions, e.g. buffer management 19 Today’s Lecture • Layers and protocols • Design principles in internetworks 20 Goals [Clark88] 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. Be cost effective 7. Allow resource accountabilityPage 6 21 Priorities • The effects of the order of items in that list are still felt today • E.g., resource accounting is a hard, current research topic • Let’s look at them in detail 22 Goal 0: Connecting Networks • How to internetwork various network technologies • ARPANET, X.25 networks, LANs, satellite
View Full Document