630 likes | 806 Views
CSE 422 Computer Networks. CSE 422. Technology Over The Centuries. 18th Century: Mechanical Systems Accompanying The Industrial Revolution 19th Century: Age of The Steam Engine 20th Century: Information Gathering, Processing, and Distribution e.g., Worldwide Telephone Network
E N D
CSE 422Computer Networks CSE 422
Technology Over The Centuries • 18th Century: Mechanical Systems Accompanying The Industrial Revolution • 19th Century: Age of The Steam Engine • 20th Century: Information Gathering, Processing, and Distribution e.g., • Worldwide Telephone Network • Invention of Radio and TV • Computer Industry • Launching of Communication Satellites
30M 25M 20M 15M 10M 5M 0M 1982 1984 1986 1988 1990 1992 1994 1996 1998 Internet Growth (by Number of Computers)
Computer Networks: • Definition: Interconnected Collection of Autonomous Computers • Goals • Resource Sharing • Lower Communication Costs • Client-Server Model • High Reliability • Communication Medium Among Widely Separated People • Smooth System Growth • Simpler Software Design
Applications of Networks • Access to Remote Programs • Simulation • Computer Aided Ed., • Medical Diagnosis • Access to Remote Data Bases • Reservations For Hotels, Airplanes • Home Banking • Automated Newspaper • Automated Library • Access to Information System: (e.g. World Wide Web)
Applications of Networks (cont.) • Communication Medium • Electronic Funds Transfer System • Electronic Mail • Teleconferencing • Worldwide Newsgroups • International Contacts by Humans • Entertainment Industry • Video On Demand • Multiperson real-time simulation games • Selecting any movie/TV program ever made • Live TV may becomes interactive with audience
Social Issues • Views on politics, religion, sex, etc. distributed • Newsgroups debate sensitive issues • Network operators risk being sued for contents • Rights to free speech may be violated • Anonymous messages can be desirable, but ...
0.1 m Circuitboard Data flow machine 1m System Multiprocessor 10m Room 100m Building Local Network 1km Campus 10km City Metropolitan Area 100km Country (Wide Area) Network 1,000km Continent 10,000km Planet The Internet Classification of interconnected processors by physical size
Boundary of the Communication subnet Routers Hosts Network Structure Communication Subnet (Subnet) • Switching Elements (Routers) • Transmission Lines (Circuits)
(b) (c) (a) (d) (e) (f) Types of Design For Subnets Point-to-Point Circuits (Channels) • Example of Topologies Some possible topologies for a point-to-point subnet (a) Star (b) Loop (c) Tree (d) Complete (e) Intersecting loops (f) Irregular
(c) (a) (b) Types of Design For Subnets (cont.) Broadcast Channels • Examples of Topologies Communication subnet using broadcasting (a) Bus (b) Satellite or Radio (c) Ring
Types of Design For Subnets (cont.) Note: Broadcast Subnets May Allocate Channel By: 1. Static Methods • TDMA 2. Dynamic Methods • Centralized • Decentralized
Summary of Network types -LANs, MANs, & WANs • Local area networks (LANs)-are privately owned networks within a single building or campus of up to a few kilometers in size • LANs-have three distinguished characteristics: (1) size, (2) transmission technology, & (3) topology • Metropolitan area networks (MANs)-basically a larger version of LANs, and uses similar technology • MAN-has just one or two cables and contains no switching elements
Network Types (Cont.)-LANs, MANs, & WANs • MAN standard-Distributed Queue and Dual Bus (DQDB), consists of two unidirectional buses (cables) to which all computers are connected • WAN-spans a large geographical area; it consists of several hosts, connected to a subnet, which in turn is connected via transmission lines and switching elements
Bus A Direction on flow on bus A Computer 1 2 3 N Direction on flow on bus B Architecture of DQDB metropolitan area network Network Types (Cont.)-LANs, MANs, & WANs Architecture of DQDB metropolitan area network
Network Types (Cont.)-Wireless Networks • Mobile computing, (e.g., notebook computers & portable digital assistants (PDA) is growing at a rapid rate) • Users want network connectivity in cars, airplanes, & other remote sites • The use of a portable computer capable of wireless networking will very likely revolutionize the way we use computers • Possible uses: portable office, fleets of trucks, taxis, buses, and repairpersons (keeping in contact with home)
Network Types (Cont.)-Wireless Networks • Other uses: workers at disaster sites (fires, floods, etc.) where telephone system is destroyed; military operations • Some disadvantages: low bandwidth (1-2 Mbps), high error rates, & frequent disconnections • Wireless networks communicate via modulating radio waves or pulsing infrared light • Wireless communication; linked to wired network infrastructure by transceivers
Network Types (Cont.)-Wireless Networks • Cell- area cover by an individual transceiver's signal; the cell sizes vary widely • Wireless networks comes in many forms. Some universities have installed antennas all over campus to allow students to access the library card catalog, while sitting under the trees • Security is a problem, because connection to wireless is so easy; challenge for software designers • Address migration also presents a challenge
Examples of Networks • Commercial Networks • DECNET • SNA • National Network • ARPANET • NREN • EDUNET • USENET
Examples of Networks (cont.) • Local Area Networks • NOVELL NETWARE • MAP and TOP • Packet Carriers • TYMNET • TELENET
The Internet Emerges-funded by ARPA • Need to interconnect LANs, MANs, and WANs • Initially interconnected: NSFNET and ARPANET • Results: Internet, with TCP/IP Software • Growth continues exponentially, doubles each yr. • Main applications: Email, Remote Login, News, File Transfer • New application: WWW, with Internet Explorer, further increased the Internet usage
Data Communications Organizations ISO CCITT ANSI State Dept. EIA Carriers Other NTIA NCS Org. Government Agencies
Communications Network A Simplified Architecture for File Transfer Computer X Computer Y File transfer application File transfer application File and file transfer command Communications Service module Communications Service module Communications-related data units Network access Module Network access Module Network interface logic Network interface logic
Network Architectures • Protocols • Layers
The ISO Reference Model (Basic Principles) 1. A layer should be created where a different level of abstraction is needed. 2. Each layer should perform a well defined function. 3. The function of each layer should be chosen with an eye toward defining internationally standardized protocols.
The ISO Reference Model (Basic Principles) (cont.) 4. The layer boundaries should be chosen to minimize the information flow across the interfaces. 5. The number of layers should be large enough that distinct functions need not be thrown together in the same layer out of necessity, and small enough that the architecture does not become unwieldy.
Design Issues For The Layers: • Mechanism For Connection Establishment • Mechanism For Connection Termination • Rules for Data Transfer • Simplex • Half Duplex • Full Duplex • Error Control • Properly Sequencing Messages
Design Issues For The Layers: (cont.) • Flow Control • Routing • Multiplexing Conversations • Mechanism For Handling Arbitrarily Long Messages
Transmitted Layer7 protocol m m 6/7 interface 6/7 interface Layer6 protocol M M 5/6 interface 5/6 interface Layer5 protocol M M Layer4 protocol H4 M1 H4 M2 H4 M1 H4 M2 Layer3 protocol H3 H4 M1 H3 H4 M2 H3 H4 M1 H3 H4 M2 Layer2 protocol H2 H3 H4 M1 T2 H2 H3 H4 M2 T2 H2 H3 H4 M1 T2 H2 H3 H4 M2 T2 Source machine Destination machine Example information flow supporting virtual comm. in layer 7.
Physical Layer • Concerned with Transmitting Raw Bits over a Communication Channel. • Design Issues: • Mechanical, Electrical, Procedural Interfacing to Subnet • Implemented in Hardware
Data Link Layer • Takes a Raw Transmission Facility & Transforms It To a Line Which Appears Free of Transmission Errors to The Network Layer. • Breaks Input Data Into Frames, Transmitting Frames Sequentially, & Process Acknowledgment Frames. • Design Issues: • Solve Problems Caused By Damaged, Lost, or Duplicate Frames. • How to Keep Fast Transmitters From Drowning Slow Receiver.
Network Layer --- Communication Subnet Layer • Determines Chief Characteristics of IMP Host Interface & How Packets Are Routed Within The Subnet. • Software Accepts Messages From The Source Host, Converts Them To Packets, & See That Packets Are Routed Correctly.
Network Layer --- Comm. Subnet Layer (cont.) • Design Issues • The Division of Labor Between The IMPs & The Host (i.e., Who Should Ensure That All Packets Are Correctly Received at Their Destination, & in Proper Order.) • How The Route is Determined? By Using Static Tables, Dynamic Tables, or ? • Implemented in Host by I/O Drivers
Transport Layer --- Host to Host Layer • Provides a flow of data between two hosts, for the application layer above. • Accepts Data From Session Layer, Splits It Into Smaller Units, If Needed, Passes to Network Layer, & Ensures That All Pieces Arrive Correctly at Other End. • Determines The Type of Service Provided to The Session Layer. e.g., • Error --- Free (Virtual) Point-to-Point Channel That Delivers Messages in The Order They Were Sent.
Transport Layer --- Host to Host Layer (cont.) • Transport of Isolated Messages With No Guarantee About The Order of Delivery. • Broadcasting of Messages to Multiple Destinations. • Design Issues • Mechanism to Regulate The Flow of Information From One Host to Another. • Determine Which Message Belongs to Which Connection. • Implemented as Part of The Host OS.
Session Layer --- User Interface Layer • User Negotiate to Establish a Connection with a Process on Another Machine. • Manages The Session Once It Has Been Set Up, (e.g., If Transport Connections are Unreliable, The Session Layer May Be Required To Recover From Broken Transport Connections.) • Implemented as Part of The OS.
Presentation Layer • Represents Information to Communication Application-Entities In a Way That Preserves Meaning While Resolving Syntax Differences. Typical Functions Include: • Text Compression • Encryption for Security • Syntax Selection • Conversion Between Character Codes (e.g., ASCII to EBCDIC)
Application Layer • Based on Request From User, This Layer Selects Appropriate Services To Be Supplied From Lower Layers. e.g. • Identification of Intended Communication Partners & Their Availability & Authenticity. • Determination of Cost Allocation Methodology. • Establishment of Error Recovery Responsibility. • Agreement on Required Privacy.
Application Layer (cont.) • Design Issues • Problem of Partitioning to Gain Maximum Advantage of Network. • Questions of Network Transparency, Hiding The Physical Distribution of Resources From The User.
A Critique of the OSI Model and Protocols • Bad timing • Bad technology • Bad implementation • Bad Politics
A Critique of the TCP/IP Reference Model • Does not distinguish concepts of service, interface, and Protocol clearly • Not at all general, & poorly suited to describing any other protocol stack • Host-to-network layer is not really a layer, but an interface between the network and the data-link layers • Does not distinguish between physical and data link layers • IP and TCP were well thought out, but the other protocols were ad hoc
IDU Layer N+1 SAP = Service Access Point IDU = Interface Data Unit SDU = Service Data Unit PDU = Protocol Data Unit ICI = Interface Control Information ICI SDU SAP Interface ICI SDU Layer N Layer N entities Exchange N-PDUs In their layer N protocol SDU Header N-PDU Relation Between Layers at an Interface In order to transfer the SDU, the layer N entity may have to fragment it into several pieces, each of which is given a header and sent as a separate PDU such as a packet
HTTP FTP TELNET NFS DNS SNMP RPC transport layer TCP UDP network layer IP data link layer Layering of TCP/IP-based protocols
Six different types of services Service Example Reliable message stream Sequence of pages Reliable byte stream Remote login Unreliable connection Digitized voice Unreliable datagram Electronic junk mail Acknowledged datagram Registered mail Request-reply Database query Connection- oriented Connection- less
Service Primitives request response 4 Layer N+1 2 1 Layer N 3 confirm indication Physical channel Host 1 Host 2
Service Primitives (cont.) • Request: An entity wants the service to do some work • Indication: An entity is to be informed about an event • Response: An entity wants to respond to an event • Confirm: An entity is to be informed about its request
Service Primitives (cont.) • To make the concept of a service more concrete, let us consider as an example a simple connection-oriented service with eight service primitives as follows: 1. CONNECT.request --- Request a connection to be established. 2. CONNECT.indication --- Signal the called party. 3. CONNECT.response --- Used by the callee to accept/reject calls. 4. CONNECT.confirm --- Tell the caller whether the call was accepted.
Service Primitives (cont.) 5. DATA.request --- Request that data be sent. 6. DATA.indication --- Signal the arrival of data. 7. DISCONNECT.request --- Request that a connection be released. 8. DISCONNECT.indication --- Signal the peer about the request. • In this example, CONNECT is a confirmed service (an explicit response is required) whereas DISCONNECT is unconfirmed (no response).