830 likes | 1.16k Views
CS 2200. Presentation 21 Networking. Questions?. Our Road Map. Processor. Memory Hierarchy. I/O Subsystem. Parallel Systems. Networking. Overview. Today A Brief History Basic Concepts Network Hardware Ethernet Network Protocols Distributed Systems Remote Procedure Calls (RPC).
E N D
CS 2200 Presentation 21 Networking
Our Road Map Processor Memory Hierarchy I/O Subsystem Parallel Systems Networking
Overview • Today • A Brief History • Basic Concepts • Network Hardware • Ethernet • Network Protocols • Distributed Systems • Remote Procedure Calls (RPC)
A Brief History • 1876 Telephone Invented (Analog technology) • 1942 Mainframes Developed Use continues today Initially batch oriented environment Evolution to Timesharing i.e. Data terminals connected to mainframes • Early 60's Voice telephony switches to digital
A Brief History • 1960 AT&T Introduced Dataphone • First commercial modem • Modem: Modulator/Demodulator • Convert between digital and analog signals • (Essentially same technology used today)
A Brief History • 1965 DoD Advanced Research Projects Association begins work on ARPANET • 1968/9 Carterphone decision allowed devices which were beneficial and not harmful to the network to be connected to the Public Switched Telephone Network (PSTN). Paved the way for computers to communicate using the telephone switching infrastructure.
A Brief History • 1969 ARPANET connects 4 computers Stanford Research Institute, UCLA, UC Santa Barbara, and the University of Utah • 1971 The ARPANET grows to 23 hosts connecting universities and government research centers around the country. • 1971 Intel introduces the first microprocessor - the Intel 4004.
A Brief History • 1971 The Kenbak-1, the first microcomputer, is introduced in Scientific American, selling a total of 40 units in 2 years. Used 130 IC's with a 256 byte memory and 8-bit words, processed 1000 instructions per second, and cost $750.
A Brief History • 1972 Intel launches the 8-bit 8008 - the first microprocessor which could handle both upper and lowercase characters. • 1972 Xerox develops the Xerox Alto - the first computer to use a Graphic User Interface. The Alto consists of four major parts: the graphics display, the keyboard, the graphics mouse, and the disk storage/processor box. Each Alto is housed in a beautifully formed, textured beige metal cabinet that hints at its $32,000 price tag (1979US money). With the exception of the disk storage/processor box, everything is designed to sit on a desk or tabletop
A Brief History • 1973 Robert Metcalfe invents the Ethernet networking system at the Xerox Palo Alto Research Center.
A Brief History • 1973 The ARPANET goes international • 1974 Intel introduces the 8080 microprocessor • 5 times faster than the 8008. • And the heart of the future Altair 8800.
A Brief History • 1975 MITS markets the Altair 8800 - the first mass-market microcomputer, launching the Personal Computer Revolution. • 1975 Internet operations transferred to the Defense Communications Agency • 1975 Bill Gates and Paul Allen form the Microsoft company to create software for the new Altair 8800.
A Brief History • 1976 Apple Computer is formed by Steve Jobs, Steve Wozniak, and Ron Wayne, and launches the Apple Computer. • 1977 Tandy Radio Shack ships its first personal computer - the TRS-80. It sells over 10,000 units, tripling expectations. • 1977 Apple Computer launches the Apple II, which sets new standards for sophisticated personal computer systems.
A Brief History • 1978 The C programming language is completed at AT&T Bell Laboratories, offering a new level of programming. • 1978 Apple and Tandy ship PCs with 5.25" floppy disks, replacing cassette tape as the standard storage medium for PCs. • 1978 Hayes Microcomputer Products releases the first mass-market modem, transmitting at 300 bps (0.3K).
A Brief History • 1978 Intel ships the Intel 8086 microprocessor, with 29,000 transistors, and running at 4.77 megahertz. • 1979 Personal Software creates VisiCalc for the Apple II, the first electronic spreadsheet program, selling over 100,000 copies. • 1979 Intel develops the 8088 microprocessor, which would later become the heart of the IBM PC.
A Brief History • 1979 Motorola develops the Motorola 68000 microprocessor, offering a new level of processing power. • 1980 Seagate Technology introduces the first microcomputer hard disk, capable of holding 5 megabytes of data. • 1980 Philips introduces the first optical laser disk, with many times the storage capacity of floppy or hard disks.
A Brief History • 1980 Xerox creates Smalltalk - the first object-oriented programming language. • 1980 John Shoch at Xerox creates the first “worm” program, with the capacity to travel through networks. • 1981 Ungermann-Bass ships the first commercial Ethernet network interface card.
A Brief History • 1981 Xerox introduces the Xerox Star 8010, the first commercial Graphic User Interface computer, for $16,000-$17,000. • 1981 Microsoft supplies IBM with PC-DOS (which it would also sell as MS-DOS), the OS that would power the IBM PC. • 1981 IBM brings to market the IBM PC, immediately establishing a new standard for the world of personal computers.
A Brief History • 1981 ARPANET has 213 hosts. A new host is added approximately once every 20 days. • 1982 The term 'Internet' is used for the first time. • 1983 TCP/IP becomes the universal language of the Internet
Question • That last group of slides was swell • Strongly agree • Agree • Neutral • Disagree • Strongly Disagree
Types of Interconnections • Massively Parallel Processors (MPP) • Thousands of nodes • Short distances • Local Area Networks (LAN) • Hundreds of computers • Several kilometers • Traffic many to one (clients to servers) • Wide Area Network (WAN) • Thousands of computers • Thousands of kilometers • Scalable
Types of Interconnections • Massively Parallel Processors (MPP) • Tightly coupled • Share memory and sometimes clock • Local Area Networks (LAN) • Wide Area Network (WAN) • Loosely coupled • Do not share memory and clock • Each processor has its own local memory • Communication via networks
Basic Concepts Machine A Machine B Each machine has the ability to send a message to the other a.) Please send me the contents of address x b.) Here is the contents of address x Thus, messages must contain an extra bit.
Basic Concepts • Messages are divided into parts • Payload or actual data to be transferred • Header (or trailer) data used to control the message passing scheme • System must be designed to work well with operating system. • Multiple Processes • Error Handling Header (1 bit) Payload (32 bits) 0-Request 1-Reply 0 Address 1 Data
Software Steps to Send • Application copies data into O.S. buffer • Operating System • Calculates checksum • Includes checksum in header and/or trailer • Starts timer • Sends data to network interface hardware and tells it to send message • Wait...
Reception • Copy data from network hardware into operating system buffer • Calculate checksum from data • If calculated checksum matches included checksum • Send acknowledgement • Copy data into application space • Else • Discard message • Wait for resend
Sender... • If acknowledgement arrives • Discard copy of message in buffer • If timer times out first • Resend data • Restart timer Header (2 bits) 00=Request 01=Reply 10=Acknowledge Request 11=Acknowledge Reply Payload Data (32 bits) Checksum (4 bits)
Protocols • Sequence of steps performed by software to send and receive messages. • Issues • Endianess • Duplicate messages • Queue full • etc. • More next time...
There is an old network saying: Bandwidth problems can be cured with money. Latency problems are harder because the speed of light is fixed--you can’t bribe God. David Clark, MIT
Vocabulary Fun • Bandwidth • Time of Flight • Transmission Time • Transport Latency • Sender Overhead • Receiver Overhead
Diagramatically Sender Overhead Transmission Time Sender Time of Flight Transmission Time Receiver Overhead Receiver Transport Latency Total Latency TIME
Questions? • Where do you connect the network to the computer? • Which media are available to connect computers together? • What issues arise when connecting more than two computers • Additional practical issues?
Connecting the Computer • Connection Point • Memory Bus • I/O Bus • Control • Polling • Interrupts • Operating System Involvement
Connecting the Computer • Connection Point • Memory Bus MPP • I/O Bus LAN/WAN • Control • Polling Hybrid • Interrupts Approaches • Operating System Involvement • Avoid invoking O.S. in common case
Hierarchy of Media • Twisted Pair • Coaxial Cable • Fiber Optics
Question • Why is twisted pair twisted? • Keeps cable from kinking i.e. adds strength • Avoids electromagnetic interference • Keeps matching pairs grouped together in large bundle cables • Invented by Dee Snyder
Media • Twisted Pair • 1 Mb/Sec 2 km $0.23/m + $15 • 20 Mb/sec 0.1 km $0.23/m • Coaxial Cable • 10 Mb/sec 1 km $1.64 + $460 • Multimode Fiber • 600 Mb/sec 2 km $1.03 + $2000 • Single-Mode Fiber • 2000 Mb/sec 100 km $1.64 + $2000
Questions? So far how many computers have we connected?
Connecting > 2 • Shared Media • Bus • Ethernet (Vampire Taps) • Coordination Mechanism • Carrier Sensing and Collision Detection • Broadcast • Switched Media • Better utilization of bandwidth • Point to point Node Node Node Node Node Node Switch Node Node
More About Rings • Token Ring • Nodes pass token from one to another • When you have token you can send
Ethernet CSMA/CD allows any node to talk at any time unless two talk at the same time Efficient at low loads As the number of hosts increases performance degrades Token Ring Token being passed around ring only allows node holding token to talk Less efficient than Ethernet at low loads As number of nodes increases performance slows but performance is predictable Comparison
Connection vs. Connectionless • Phone System • To make call a connection or circuit was connected (might be multiplexed). • Not a bad idea for voice • Connection exists whether or not anyone is talking. • Limit is number of conversations NOT amount of data • Postal System • Each piece of information is routed according to its address • Long messages can be broken up into pieces or packets (or frames).
Routing • Shared Media • Message goes to all nodes. Each looks at address to determine if they are recipient • Switched Media • Source-based routing • Message specifies path to destination • Virtual circuits • Temporary or permanent • Destination-based routing • Deterministic • Adaptive • Random
Routing Policies • Store and Forward • Wormhole • http://www.johnlockhart.com/research/janet/
Congestion Control • Circuit switched • “All circuits are busy” • Packet switched • Deadlock • Reducing Congestion • Packet discarding! • Flow control (Window used by TCP) • Choke packets