EECS 122: Introduction to Computer Networks Network ArchitectureThe ProblemSoftware ModularityNetwork ModularityOutlineLayeringISO OSI Reference Model for LayersLayering Solves ProblemOSI Model ConceptsPhysical Layer (1)Datalink Layer (2)Network Layer (3)Transport Layer (4)Session Layer (5)Presentation Layer (6)Application Layer (7)Who Does What?Logical CommunicationPhysical CommunicationEncapsulationStandards BodiesOSI vs. InternetMultiple InstantiationsMultiple Instantiations of LayersSolutionHourglassImplications of HourglassBack to RealityPlacing FunctionalityBasic ObservationExample: Reliable File TransferExample (cont’d)ConclusionSummary1Katz, Stoica F04EECS 122:Introduction to Computer NetworksNetwork ArchitectureComputer Science DivisionDepartment of Electrical Engineering and Computer SciencesUniversity of California, BerkeleyBerkeley, CA 94720-17763Katz, Stoica F04The ProblemRe-implement every application for every technology?No! But how does the Internet architecture avoid this?Telnet FTP NFSPacketradioCoaxial cableFiberopticApplicationTransmissionMediaHTTP5Katz, Stoica F04Software ModularityBreak system into modules:Well-defined interfaces gives flexibility-Change implementation of modules-Extend functionality of system by adding new modulesInterfaces hide information-Allows for flexibility-But can hurt performance6Katz, Stoica F04Network ModularityLike software modularity, but with a twist:Implementation distributed across routers and hostsMust decide:-How to break system into modules-Where modules are implementedWe will address these questions in turn7Katz, Stoica F04OutlineLayering-How to break network functionality into modulesEnd-to-End Argument-Where to implement functionality8Katz, Stoica F04LayeringLayering is a particular form of modularizationSystem is broken into a vertical hierarchy of logically distinct entities (layers)Service provided by one layer is based solely on the service provided by layer belowRigid structure: easy reuse, performance suffers9Katz, Stoica F04ISO OSI Reference Model for LayersApplicationPresentationSessionTransportNetworkDatalinkPhysical10Katz, Stoica F04Layering Solves ProblemApplication layer doesn’t know about anything below the presentation layer, etc.Information about network is hidden from higher layersEnsures that we only need to implement an application once!Caveat: not quite....11Katz, Stoica F04OSI Model ConceptsService: what a layer doesService interface: how to access the service -Interface for layer abovePeer interface (protocol): how peers communicate-Set of rules and formats that govern the communication between two network boxes-Protocol does not govern the implementation on a single machine, but how the layer is implemented between machines12Katz, Stoica F04Physical Layer (1)Service: move information between two systems connected by a physical linkInterface: specifies how to send a bit Protocol: coding scheme used to represent a bit, voltage levels, duration of a bitExamples: coaxial cable, optical fiber links; transmitters, receivers13Katz, Stoica F04Datalink Layer (2)Service: -Framing (attach frame separators) -Send data frames between peers-Others:•arbitrate the access to common physical media•per-hop reliable transmission•per-hop flow controlInterface: send a data unit (packet) to a machine connected to the same physical mediaProtocol: layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD)…14Katz, Stoica F04Network Layer (3)Service: -Deliver a packet to specified network destination-Perform segmentation/reassemble-Others:•packet scheduling•buffer managementInterface: send a packet to a specified destinationProtocol: define global unique addresses; construct routing tables15Katz, Stoica F04Transport Layer (4)Service:-Demultiplexing-Optional: error-free and flow-controlled deliveryInterface: send message to specific destinationProtocol: implements reliability and flow controlExamples: TCP and UDP16Katz, Stoica F04Session Layer (5)Service:-Full-duplex-Access management (e.g., token control)-Synchronization (e.g., provide check points for long transfers)Interface: depends on serviceProtocol: token management; insert checkpoints, implement roll-back functions17Katz, Stoica F04Presentation Layer (6)Service: convert data between various representationsInterface: depends on serviceProtocol: define data formats, and rules to convert from one format to another18Katz, Stoica F04Application Layer (7)Service: any service provided to the end userInterface: depends on the applicationProtocol: depends on the applicationExamples: FTP, Telnet, WWW browser19Katz, Stoica F04Who Does What?Seven layers-Lower three layers are implemented everywhere-Next four layers are implemented only at hostsApplicationPresentationSessionTransportNetworkDatalinkPhysicalApplicationPresentationSessionTransportNetworkDatalinkPhysicalNetworkDatalinkPhysicalPhysical mediumHost A Host BRouter20Katz, Stoica F04Logical CommunicationLayers interacts with corresponding layer on peerApplicationPresentationSessionTransportNetworkDatalinkPhysicalApplicationPresentationSessionTransportNetworkDatalinkPhysicalNetworkDatalinkPhysicalPhysical mediumHost A Host BRouter21Katz, Stoica F04Physical CommunicationCommunication goes down to physical network, then to peer, then up to relevant layerApplicationPresentationSessionTransportNetworkDatalinkPhysicalApplicationPresentationSessionTransportNetworkDatalinkPhysicalNetworkDatalinkPhysicalPhysical mediumHost A Host BRouter22Katz, Stoica F04EncapsulationA layer can use only the service provided by the layer immediate below itEach layer may change and add a header to data packetdatadatadatadatadatadatadatadatadatadatadatadatadatadata26Katz, Stoica F04Standards BodiesISO: International Standards Organization-Professional bureaucrats writing standards-Produced OSI layering modelIETF: Internet Engineering Task Force-Started with early Internet hackers-More technical than bureaucratic“We reject kings, presidents, and voting. We believein rough consensus and running code” (David Clark) running code .27Katz, Stoica F04OSI vs. InternetOSI: conceptually define services, interfaces, protocolsInternet: provide a successful implementation ApplicationPresentationSessionTransportNetworkDatalinkPhysicalInternetNet
View Full Document