What Is the Internet?
Many computers of various types and at various locations – “hosts”
Computers are connected to nearby computers by Local Area Networks (LANs).
Each LAN technology has its own standard
The “Internet” is built from a single umbrella set of standards
Standard naming scheme for all the computers (IP, DNS)
Standard digital communication scheme for any two computers to exchange bits — IP packets
Use “routers” which connect adjacent LANs. Internet communication “hops” from LAN to LAN until it gets to the right place.
Email, the web, are essentially programs which run on the computers and rely on the Internet standards to communicate with each other.
Point: The Internet is a set of standards which allows any computer on the internet to contact and exchange information with any other computer on the Internet. Useful services (email, the web) are built on top of this basic infrastructure.
Bytes, K, Meg
As of the late 1990’s 1998…
- “1k” = ~1000 bytes = ~1000 characters
- 1 page text = 2k
- small image = 10k
- “1 Meg” = ~1000k (aka “1 MB”)
- Typical computer program 1-3 Megs
- 1 hour stereo CD = 600 Megs (not compressed)
- “1 Gig” = 1000 Meg
- Movie = ~2 Gigs (compressed)
- Hard disk: $200 / 4 Gig drive = $0.05 / Meg
- RAM memory: $3 / Meg
“Bandwidth” — bits per second (Kbps, Mbps) used by EE types.
Bytes per second (K per second, MB per second) used by software types. Figure roughly 10 bits per byte when converting to allow for overhead and so the math is easy.
“Latency” — the initial delay for anything to get to the destination. The time required for a “dialog” type protocol between two computers can be largely bound by latency rather than bandwidth, even though bandwidth is the more frequently quoted figure.
Serial vs. Parallel. Paradoxically, the fastest future directions appear to be serial based. (Cheaper cables, remove the difficulty of keeping the parallel signals in synch.)
Copper can go up to around 1000 Mbps. Wire quality, shielding, and length all matter. (There are 1000 Mbps ethernet standards for both copper and fiber, but copper versions can’t span very far — say 100 Meters)
Fiber optic can go to around (in the lab) 1000 Gbps. Or 10^12 bps — on the order of a million simultaneous channels of video. More expensive than copper, but getting cheaper. A little harder to install, has fancier connectors, can’t go around sharp bends. Current fiber standards run around 5 Gbps.
Typical phone line / modem type application = 53 Kbps =~5K / sec
- ISDN 128 kbps = ~ 12K / sec
- Digital Subscriber Loop (DSL) 256 kbps — 25K / sec (The local phone company monopolies have not been a good thing for development in this area)
- 10T Ethernet connection. Uses a 10Mbps signaling. Ideal case 2 computers in a room. May approach 900k/sec. Around 500k/sec more likely, with reductions the more traffic (from other computers) the ethernet must carry at the same time. Latency can approach 1 thousandth of second — 1 ms.
- USB 12Mbps — 1.2MB/sec
- Standard SCSI — 5MB/ sec
- Fast SCSI — 10MB/sec (a current 9 GB hard drive can just about saturate this on sustained reads. Hard drives have latencies on the order of 10ms.)
- Ultra Wide SCSI — 40MB/sec
- Ultra2 Wide SCSI — 80MB/sec
- Firewire aka 1304 400Mbps — 50MB/sec (800 Mbps is rumored)
- Fast Ethernet 100T (5-10MB/sec) and 1000T (50-100MB/sec) are increasingly in use. Capacity depends very much on how much “sharing” is going on.
Uncompressed CD sound — 160k/sec (16 bit samples, 44kHz, stereo)
Compressed sound — 15k / sec — depends very much on quality
Uncompressed video is on the order of 20MB/sec — video compresses very, very well
Compressed VHS video = ~1.5M bps = 150k bytes / second. (this is how those little satellite TV dishes work).
Local Area Network — computers in physical proximity. 200 computers within 1/4 mile radius — one floor of a building scale.
Problem: want to get bytes from one computer to another
Could have centralized phone system type setup – switching logic gets messy
Broadband Ethernet LAN technology
(editorial) An admirably elegant way to cheaply connect a group of computers — original design credited to Bob Metcalfe at Xerox PARC.
Original design was for a radio based network — read the story in Accidental Empires, by Robert X Cringely.
All computers on the LAN have an address
There is one wire, and all the computers are connected to it — they share the wire — only one computer can transmit at once. Much simpler than the “active star” shape of a telephone type network. Simpler =cheaper.
All computers listen to the wire at all times
Ethernet uses a single cable as the shared medium
Could use the same sort of strategy with any shared medium — e.g. a radio frequency
Sender divides their message into small “packets” of, say, around 1000 bytes. Every packet begins with the address of the recipient.
The sender listens, waiting for a period of silence.
When there’s a period of silence, sender broadcasts the packet
Everybody listens all the time – ignoring packets not for them
Sometimes two transmission overlap, and so the packets “collide” and get garbled. The network card can usually detect this “collision” and so know to re-transmit.
Have a “wait/re-transmit” protocol to resend packets — wait a random amount of time — one of Metcalfe’s breakthrough ideas. Also part of what makes ethernet a little unpredictable in terms of performance, especially latency.
Shared — there’s just the one wire and everybody uses it
Distributed and cooperative — no central control — surprisingly decentralized
Insecure — not to hard to listen and pick up packets not intended for you
Performance degrades as more computers use the shared medium
A little unpredictable how long it will take to get a message through
Compare to the telephone system “connection” oriented service — connection services is more predictable but typically less efficient overall.
Works really well overall
Wide Area Network — largely superseded by the Internet
Each WAN imposes an overall naming scheme for hosts and communication standards to allow hosts to communicate with each other – initiate and respond to “data calls” to each other.
The WAN technologies were for the most part “proprietary” – it is not in the vendor’s interest to interoperate well with other vendor’s technologies. This is a feature of “inertia” in the marketplace which we’ll discuss more completely later.
A relatively small bundle of bytes (like a small file) – perhaps 1k in size.
Packet = “header” information for routing + “body” of bytes to be transmitted. The body can contain, text, voice, video….the transport system is independent of the purpose.
Communication is broken up into packets. A typical text email message takes up a few packets. Audio takes a stream of thousands of packets.
Each packet starts at the source and is communicated hop by hop across the routers to the destination.
- The overall flow of packets may be “bursty” and a little unreliable.
- Efficient use of resources
- Fine for text, web pages
- Bad for real time telephone, video
To understand the Internet, want to define the idea of a router
- Connected to two LAN’s with a router
- The router must be able to communicate on both the LANs — it will translate between the two
- Listen to packets on both sides
- Retransmit packets on one LAN from the other when necessary — eg. when the sender is on one LAN, and the recipient is on the other
- NOTE: the IP address of your local router is one of the things you frequently need to configure on your computer in order to be on the Internet.
TCP/IP Standard — Internet Foundation
Like any WAN technology, TCP/IP is an overall naming and communication standard which can be used by routers and hosts. The difference is that TCP/IP is a public standard and that sits on top of heterogeneous LAN technology. Any vendor is free to implement it in their equipment, and that equipment will automatically interoperate with all the other TCP/IP equipment (in theory).
- Internet Protocol (IP) — fundamental addresses, packets, and routing
- Transmission Control Protocol (TCP) — controls the overall flow of a collection of packets as part of a larger message. End-to-end service.
- Introduce standards for all the different LANs, computers, and routers so they may interconnect.
- TCP/IP is a free, public standard developed cooperatively by groups of volunteer engineering committees.
- Contrast to “profit motive” type standards
- Point: if a device supports the public standard, then it should automatically “fit in” with all the other devices TCP/IP structure.