Lecture 2 Protocol StacksLast TuesdayToday’s LectureProtocolsSlide 5More on ProtocolsInterfacesToo Many Network ComponentsToo many components 2Looking at protocolsProtocol and Service LevelsA Layered Network ModelOSI MotivationOSI FunctionsExample: Sending a Web PageA TCP / IP / 802.3 PacketMultiplexing and DemultiplexingDifferent Sources of ComponentsLimitations of the Layered ModelThe TCP/IP ModelLocal Area Network ProtocolsInternetworking OptionsThe Internet Protocol SuiteSome History: The Early DaysRecent History: CommercializationStandardizationRelevant Standardization BodiesThe Internet Engineering Task ForceHigher Level StandardsHow do you select protocols?Applications 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 StacksDavid AndersenSchool of Computer ScienceCarnegie Mellon University15-441 Networking, Spring 2005http://www.cs.cmu.edu/~srini/15-441/S05/2Last TuesdayThe 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:»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.4ProtocolsRecall goals:»Interoperability»Reuse»Hiding underlying details5ProtocolsAn agreement between parties on who 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 you6More on ProtocolsProtocols are the key to interoperability.»Networks are very heterogenous:»The hardware/software of communicating parties are often not built by the same vendor»Yet they can communicate because they use the same protocolProtocols exist at many levels.»Application level protocols, e.g. access to mail, distribution of bboards, web access, ..»Protocols at the hardware level allow two boxes to communicate over a link, e.g. the Ethernet protocolComputer: x86Ethernet: 3comRouters: cisco, etc.App: EmailHardwareHardware/linkNetworkApplication7InterfacesEach 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 rewrite8Too Many Network ComponentsApplicationOperating SystemProtocol SoftwareComputerLinksRouter HardwareRouter Software(many protocols)Bridge HW/SWApplicationOperating SystemComputerNetwork Interface9Too many components 2Links: copper, fiber, air, carrier pidgeonRunning ethernet, token ring, SONET, FDDIRouters speaking BGP, OSPF, RIP, …Hosts running FreeBSD, Linux, Windows, MacOS, …People using Mozilla, Explorer, Opera, …and it changes all the timePhew!Protocols hide this stuff with simple abstractions.10Looking 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.11Protocol andService LevelsApplicationEnd-to-endCoreNetwork12A Layered Network ModelThe Open Systems Interconnection (OSI) Model.ApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical1234567NetworkNetworkData linkData linkPhysicalPhysicalApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical13OSI 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.14OSI 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 layers15Example: Sending a Web PageHttp hdrHttp hdrWeb pageWeb pageTCP headerTCP header. . .ApplicationpayloadApplicationpayloadApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical16Ethernet preambleEthernet preambleA TCP / IP / 802.3 PacketMAC headerMAC headerLLC / SNAP headerLLC / SNAP headerIP headerIP headerTCP headerTCP headerDataDataApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysicalHomework explores tradeoffs in header sizes, etc., with different applications17Multiplexing and DemultiplexingThere may be multiple
View Full Document