Page 1Peter A. Steenkiste, SCS, CMU1Lecture 2Protocol StacksPeter SteenkisteSchool of Computer ScienceCarnegie Mellon University15-441 Networking, Spring 2004http://www.cs.cmu.edu/~prs/15-441Peter A. Steenkiste, SCS, CMU2Today’s Lecture What is a protocol. Protocol stacks. Some history. Standards organizations. Application layer.Page 2Peter A. Steenkiste, SCS, CMU3Different Network Views A network is a shared infrastructure that supports communication for many users.» Sharing view: how do users share the network?Many network technologies exist.» Technology view: how do the technologies coexist? Networks are owned and managed by multiple organizations.» Management view: how does global communication take place? Networks cover different geographic areas.» Geographic view: network diameter? Networks run many protocols that are responsible for different functions.» Protocol view: how are the many protocols coordinated?Peter A. Steenkiste, SCS, CMU4Protocols An agreement between parties on who communication should take place. Protocols may have to define many aspects of the communication.» Data encoding, language, error recovery, termination conditions, .. Network protocols can exist between computer programs or hardware components.Can you give mesome directions?Certainly, where would you like to go?Heinz HallGo left atthe next lightThank youPage 3Peter A. Steenkiste, SCS, CMU5More on Protocols Protocols are the key to interoperability.» The hardware/software of communicating parties are often not built by the same vendor– Sun workstation with PC, 3COM with Cisco bridge, ..» 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 protocol» Intermediate protocols can “add value” to a lower-level protocol, e.g. provide a reliable communication service over an unreliable linkPeter A. Steenkiste, SCS, CMU6Too Many Network ComponentsApplicationOperating SystemProtocol SoftwareComputerLinksRouter HardwareRouter Software(many protocols)Bridge HW/SWApplicationOperating SystemComputerNetwork InterfacePage 4Peter A. Steenkiste, SCS, CMU7Types of Protocols Core network: responsible for transferring data between a sending and receiving host. End-to-end protocols: present a network service to applications and users.» May add value to the core network protocolshosthosthosthosthosthosthostPeter A. Steenkiste, SCS, CMU8Protocol andService LevelsApplicationEnd-to-endCoreNetworkPage 5Peter A. Steenkiste, SCS, CMU9A Layer Network ModelThe Open Systems Interconnection (OSI) Model.ApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysical1234567NetworkNetworkData linkData linkPhysicalPhysicalApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysicalPeter A. Steenkiste, SCS, CMU10OSI Motivation Standard 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 isolation Each 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 networkPage 6Peter A. Steenkiste, SCS, CMU11OSI 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 layersPeter A. Steenkiste, SCS, CMU12Example: Sending a Web PageHttp hdrHttp hdrWeb pageWeb pageTCP headerTCP header. . .ApplicationpayloadApplicationpayloadApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysicalPage 7Peter A. Steenkiste, SCS, CMU13Ethernet preambleEthernet preambleA TCP / IP / 802.3 PacketMAC headerMAC headerLLC / SNAP headerLLC / SNAP headerIP headerIP headerTCP headerTCP headerDataDataApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysicalPeter A. Steenkiste, SCS, CMU14Multiplexing 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 receiverIPTCPIPTCPV/HLV/HLTOSTOSLengthLengthIDIDFlags/OffsetFlags/OffsetTTLTTLProt.Prot.H. ChecksumH. ChecksumSource IP addressSource IP addressDestination IP addressDestination IP addressOptions..Options..Page 8Peter A. Steenkiste, SCS, CMU15Different Sources of Components Application: web server/browser, mail, distributed game,.. Presentation/session.» Often part of application» Sometimes a library Transport/network.» Typically part of the operating system Datalink.» Often written by vendor of the network interface hardware Physical.» Hardware: card and linkApplicationApplicationPresentationPresentationSessionSessionTransportTransportNetworkNetworkData linkData linkPhysicalPhysicalPeter A. Steenkiste, SCS, CMU16Limitations of theLayered Model Some layers are not always cleanly separated.» Inter-layer dependencies in implementations for performance reasons» Some dependencies in the standards (header checksums)Higher layers not always well defined.» Session, presentation, application layersLower layers have “sublayers”.» Sublayers well defined in the standardsInterfaces are not really standardized.» It would be hard to mix and match layers from independent implementations» Many cross-layer assumptions, e.g. buffer managementPage 9Peter A. Steenkiste, SCS, CMU17The TCP/IP ModelApplication(pluslibraries)Application(pluslibraries)TCP/UDPIP/ICMPTCP/UDPIP/ICMPData linkData
View Full Document