Introduction to Networks Lecture Topics
Total Page:16
File Type:pdf, Size:1020Kb
Lecture Topics • History and motivation • Network architecture – Layered models – Definitions and abstractions Introduction to Networks – OSI Reference Model • Network design issues – Definitions – Components – Message, packet, and cell switching – Resource sharing – Functionality – Performance Networks are Important!!! Internet Hosts WWWWWW EmailEmail WorldWorld WideWide WebWeb ElectronicElectronic MailMail TelnetTelnet TerminalTerminal EmulationEmulation FTPFTP Multimedia FileFile TransferTransfer ProtocolProtocol Multimedia C/SC/S Client-ServerClient-Server ApplicationsApplications … and many others … http://www.isoc.org/guest/zakon/Internet/History/HIT.html NET.WORK.VIRGINIA World Wide Web Sites vBNS ESnet Internet2 ATM network with Internet access Over 400 sites with OC3, Internet DS3, or DS1 service SprintLink DS3 Service through Sprint and Router Vision Alliance (consortium OC3 led by Bell Atlantic) Sprint WTN OC3 OC3 Sprint RIC OC3 Sprint ROA http://www.isoc.org/guest/zakon/Internet/History/HIT.html Backbone/Internet Gateway 1 Network Architecture A Simple Layered Model • Network architecture Application Programs – Guides the design and implementation of the network – Assists in coping with complexity Process-to-Process Channels • Networks are typically modeled as a set of layered, cooperating processes Layers Host-to-Host Connectivity • The International Organization for Standards Networking Hardware (ISO) has developed the seven-layer Open Systems Interconnect (OSI) model • Decomposes system into simpler, manageable – The OSI model is not strictly adhered to in actual components implementations. It is used more as guidelines. • Provides a modular design Multiple Abstractions for One Layer Functions Are Not Always “Layer-able” Application Programs Application Programs Request/Reply Message Stream Channel Channel Process-to-Process Channels Host-to-Host Connectivity Host-to-Host Connectivity Network Networking Hardware Networking Hardware Management • Process-to-process channel – Request/reply interaction • Some functions may need to interact with – Stream of messages multiple layers Layered Models … Generalized (1) Layered Models … Generalized (2) •Layer N services provided to upper layers – Provides services to layers N+1 and above – Uses services offered by layers N-1 and below service interface – May ONLY interact with peer layer N entities via protocols peer-to-peer • Distinction between service, interface, and Node A interface Node B implementation Layer N protocol Layer N+1 Layer N+1 service interface Layer N Layer N services provided by lower layers Layer N-1 Layer N-1 2 Layered Models … Generalized (3) Interfaces and Protocols • Protocols are rules for cooperation between peers • Three components of an interface – Peer-to-peer interfaces, e.g. Protocol X defines the – Set of visible abstract objects, and for each, a set of interfaces allowed operations with parameters – “Protocol” sometimes used to refer to the layer itself, – Set of rules governing sequences of operations e.g. the entity that realizes Protocol X – Encoding and formatting conventions required for • Service access points (SAPs) adhering to an operations and parameters interface definition are needed between layers – Service or layer-to-layer interface • Protocols are operationally equivalent, but are – The services implemented by a protocol at layer X are usually restricted to peer layers (interfaces are accessed through its SAP. Think of SAP as a functional between adjacent layers) interface. OSI Terminology for Layering OSI Reference Model IDU Layer N+1 ICI SDU Application Application Presentation Presentation SAP PDU Session Session Layer N header SDU ICI SDU Transport Transport Network Network Network SAP Service Access Point (where N+1 accesses N) IDU Interface Data Unit (passed from N+1 to N) Data Link Data Link Data Link SDU Service Data Unit (data from N+1) Physical Physical Physical ICI Interface Control Information (service type, etc.) PDU Protocol Data Unit (exchanged by peer N entities) Deviation from Strict Layering Layered Model Example • Example: Fiber Distributed Data Interface (FDDI) • Typical protocol “stack” in a UNIX-based TCP/IP environment LLC X FTP Telnet Data Link Application MAC HTTP SMTP NFS PHY SMT Physical Presentation XDR PMD Session RPC LLC Logical Link Control Transport TCP UDP MAC Media Access Control Network IP PHY Physical Data Link Ethernet FDDI PMD Physical Media Dependent Physical SMT Station Management 3 Internet Protocol Graph Advantages of Layering (1) • Internet protocols (“TCP/IP”) really uses a • Data hiding and encapsulation -- data structures, four-layer architecture algorithms, etc. in a layer are not visible to other layers HTTP FTP HTTP FTP • Decomposition -- complex systems can be decomposed into more easily understood pieces TCP UDP • System can evolve since layers can be changed (as long as service and interface does not change) IP • Alternate services can be offered at layer N+1 that share the services of layer N Net 1 Net 2 ... Net n Advantages of Layering (2) Disadvantages of Layering • Alternate implementations of a layer can • Some functions (like FDDI station management) co-exist really need to access and operate at multiple layers • Poorly conceived layers can lead to awkward and • A layer or sublayer can be simplified or complex interfaces omitted if some or all of its services are not • There may be performance penalties due to extra needed overhead of layers, for example memory-to-memory copies • Confidence in correct operation enhanced • Design of (an older) layer N+1 may be by testing each layer independently sub-optimal given the properties of (a new) layer N Physical Layer Data Link Layer • The physical layer provides a virtual link for • The data link layer is responsible for the transmitting a sequence of bits between any pair of error-free transmission of packets between nodes joined by a physical communication “adjacent” or directly-connected nodes (OSI defn) channel -- “virtual bit pipe” • The media access control (MAC) function is a • Synchronous or asynchronous sub-layer of the data link layer • Defines physical interface, signaling, cabling, – Allows multiple nodes to share a common transmission connectors, etc. media • May be variations at the physical level for a basic – Supports addressing of nodes data link protocol (PMD specs) • The logical link control (LLC) function is another – IEEE 802.3 (Ethernet): 10Base5 (thick wire), 10Base2 sub-layer (thin wire), 10BaseT (twisted pair) – Functions such as error recovery 4 Network Layer Transport Layer (1) • The network layer is responsible for getting a • The transport layer provides packet through the network from the source node network-independent, end-to-end message transfer to the destination node between pairs of ports or sockets – Routing to select network path • Ports are destination points for communication – Flow control or congestion control that are defined by software – Internetworking to allow transmission between – Ports are identified by a transport address that identifies different types of networks the host computer and the port identifier • In a WAN or internetwork, the network layer – Used to distinguish between multiple applications on one host requires cooperation among peers at intermediate – Established services, like FTP and HTTP, have “well- nodes known” default port identifiers that can be obtained • Network layer function is minimal in a LAN through a name service (RFC 1700) • Key: Network layer provides host-to-host • Key: Transport layer provides process-to- communication process communication. Transport Layer (2) Transport Layer (3) • Transport layers typically provide one of Network two basic types of service: Process Process A B – Virtual circuit or connection-oriented service • Transmission Control Protocol (TCP) – Datagram or connection-less service Ports (Sockets) • User Datagram Protocol (UDP) Transport Layer: Virtual Circuits Transport Layer: Datagrams • Virtual circuits are logical channels between a • Datagram communication is connectionless source and destination • New connection is established and released for each • Connections are maintained for multiple packet or packet or message transmitted message transmissions until they are explicitly – Packet itself establishes and releases the “connection” released • Functions – Network layer may still use dynamic routing – Translate transport address to network address • Functions – Pass messages to network layer for delivery – Translate transport address to network address – Each message sent as a single packet – Segment messages into packets for transmission – Upper layer responsible for re-ordering and error detection – Pass packets to network layer for delivery – Reassemble packets at receiving end 5 Session Layer Presentation Layer (1) • The session layer is responsible for • The presentation layer represents information to establishing and maintaining virtual applications so as to preserve semantics (meanings connections between pairs of processes in or values) while resolving syntactic different hosts, possibly including service (representation) differences location and access rights • In open systems, heterogeneous computers result in heterogeneous representations – Characters: ASCII, EBCDIC, Unicode • Multiple sessions may be multiplexed over a – Integers: lengths, 1’s versus 2’s complement single connection (provided by a lower layer) – Reals: fixed or floats, different float points – Byte order: 01234567... or 67452301