Lecture 2 Protocol Stacks and LayeringLast TimeToday’s LectureWhy protocols and layering?What is a ProtocolInterfacesProtocol and Service LevelsA Layered Network ModelOSI MotivationOSI FunctionsLooking at protocolsHeterogenous Sources of ComponentsMotivation: Many many Network ComponentsProtocols for InteroperabilityProtocols for Abstraction & ReuseMultiplexing and DemultiplexingExample: Sending a Web PageLimitations of the Layered ModelThe TCP/IP ModelLocal Area Network ProtocolsA TCP / IP / 802.3 PacketInternetworking OptionsThe Internet Protocol SuiteSome History: The Early DaysRecent History: CommercializationStandardizationRelevant Standardization BodiesThe Internet Engineering Task ForceHigher Level StandardsDesigning applicationsApplications and Application-Layer ProtocolsClient-Server ParadigmWhat Transport Service Does an Application Need?User Datagram Protocol(UDP): An AnalogyTransmission Control Protocol (TCP): An AnalogyTransport Service Requirements of Common ApplicationsServer and ClientReadings1Lecture 2Protocol Stacks and LayeringDavid AndersenSchool of Computer ScienceCarnegie Mellon University15-441 Networking, Spring 2008http://www.cs.cmu.edu/~dga/15-441/S08/2Last TimeThe Big Picture»Goals: –Efficiency–“ilities” (scalability, manageability, availability),–Ease of creating applications»Challenges:–Scale–Geography–Heterogeneity (** today’s focus!)A few specific details:»Circuits vs. packets»Little bit about routing»Service model and how to construct services (** today!)3Today’s LectureLast time: “Big picture”Today:»General architectural principles for networks»Introduces a few concrete models & examplesWhere we are going:»Tuesday: Socket programming review++ (for project)»Thursday: Application examples (still high level)»After that: Burrowing into the details, ground upToday’s specifics:»What is a protocol.»Protocol stacks.»Some history.»Standards organizations.»Application layer.4Why protocols and layering?InteroperabilityReuseHiding underlying details5What is a ProtocolAn agreement between parties on how communication should take place.Protocols may have to define many aspects of the communication.Syntax:»Data encoding, language, etc.Semantics:»Error handling, termination, ordering of requests, etc.Protocols at hardware, software, all levels!Example: Buying airline ticket by typing.Syntax: English, ascii, lines delimited by “\n”Friendly greetingMuttered replyDestination?PittsburghThank you6InterfacesEach protocol offers an interface to its users, and expects one from the layers on which it builds»Syntax and semantics strike again–Data formats–Interface characteristics, e.g. IP service modelProtocols build upon each other»Add value–E.g., a reliable protocol running on top of IP»Reuse–E.g., OS provides TCP, so apps don’t have to rewrite7Protocol andService LevelsApplicationEnd-to-endCoreNetwork8A Layered Network ModelThe Open Systems Interconnection (OSI) Model.ApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical1234567NetworkNetworkData linkData linkPhysicalPhysicalApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical9OSI MotivationStandard way of breaking up a system in a set of components, but the components are organized as a set of layers.»Only horizontal and vertical communication»Components/layers can be implemented and modified in isolationEach layer offers a service to the higher layer, using the services of the lower layer.“Peer” layers on different systems communicate via a protocol.»higher level protocols (e.g. TCP/IP, Appletalk) can run on multiple lower layers»multiple higher level protocols can share a single physical network“It’s only a model!” - TCP/IP has been crazy successful, and it’s not based on a rigid OSI model. But the OSI model has been very successful at shaping thought.10OSI Functions(1) Physical: transmission of a bit stream.(2) Data link: flow control, framing, error detection.(3) Network: switching and routing.(4) Transport: reliable end to end delivery.(5) Session: managing logical connections.(6) Presentation: data transformations.(7) Application: specific uses, e.g. mail, file transfer, telnet, network management.Multiplexing takes place in multiple layers11Looking at protocolsHop by hop / link protocols»EthernetEnd-to-end protocols»TCP, apps, etc.Management / “control plane” protocols»Routing, etc.–Can be either link or e2e themselves–Definition somewhat vague.Standards»File formats, etc.E.g., JPEG, MPEG, MP3, …Categories not solid / religious, just a way to view things.12Heterogenous Sources of ComponentsApplication: web server/browser, mail, distributed game,..Presentation/session.»Often part of application»Sometimes a libraryTransport/network.»Typically part of the operating systemDatalink.»Often written by vendor of the network interface hardwarePhysical.»Hardware: card and linkApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical13Motivation: Many many Network ComponentsApplicationOperating SystemProtocol SoftwareComputerLinksRouter HardwareRouter Software(many protocols)Bridge HW/SWApplicationOperating SystemComputerNetwork Interface14Protocols for InteroperabilityMany implementations of many technologies:Hosts running FreeBSD, Linux, Windows, MacOS, …People using Mozilla, Explorer, Opera, …Routers made by cisco, juniper, …Hardware made by IBM, Dell, Apple, …And it changes all the time.Phew!But they can all talk together because they use the same protocol(s)»Application level protocols: HTTP, SMTP, POP, IMAP, etc.»Hardware protocols (ethernet, etc)15Protocols for Abstraction & ReuseMultiple choices of protocol at many layers»Physical: copper, fiber, air, carrier pigeon»Link: ethernet, token ring, SONET, FDDI»Transport: TCP, UDP, SCTPBut we don’t want to have to write “a web (HTTP) browser for TCP networks running IP over Ethernet on Copper” and another for the fiber version…»Reuse! Abstraction!»Protocols provide a standard interface to write to»Layers hide the details of the protocols below16Multiplexing and
View Full Document