Introduction to Internet : Introduction to Internet
Computer Networks : Computer Networks A computer network is a system for communication among two or more computers
What amounts to “computers”?
What kind of communication? – “digital”
System: both software & hardware
Examples? Our focus is on the Internet
History of the Internet : History of the Internet 61-72: development of packet switching
72-80: Proprietary networks and internetworking
Multiple packet switching networks
“Networks of networks”: earlier development of TCP, UDP, IP
ALOHA, Ethernet
80-90: proliferation of networks
Standardization of networking protocols TCP/IP, DNS etc
NSF builds NSFNET as backbone, links 6 Supercomputer centers, 1.5 Mbps, 10,000 computers
90’s: Internet explosion
94: NSF backbone dismantled, multiple private backbones
Emergence of World Wide Web (invented by Time Berners-Lee)
Internet “Hall of Fame” : Internet “Hall of Fame” Al Gore, former vice president of USA
Vinton G. Cerf and Robert E. Kahn
2004 Turing Award winner “For pioneering work on internetworking, including the design and implementation of the Internet's basic communications protocols, TCP/IP, and for inspired leadership in networking”
Turing lecture: http://www.acm.org/sigs/sigcomm/sigcomm2005/webcast.html
David Clark et al “end2end arguments”
Van Jacobson, TCP congestion control
Robert Metcalfe, inventor of Ethernet
…
Growth of the Internet : Growth of the Internet Number of Hosts on the Internet:
Aug. 1981 213
Oct. 1984 1,024
Dec. 1987 28,174
Oct. 1990 313,000
Oct. 1993 2,056,000
Apr. 1995 5,706,000
Jan. 1997 16,146,000
Jan. 1999 56,218,000
Jan. 2001 109,374,000
Jan 2003 171,638,297
Data available at: http://www.isc.org/
Growth of the Internet : Growth of the Internet Traffic on Internet (in TB/mo)
1990 1.0
1991 2.0
1992 4.4
1993 8.3
1994 16.3
1996 1,500
1997 2,500 - 4,000
1998 5,000 - 8,000
1999 10,000 - 16,000
2000 20,000 - 35,000
2001 40,000 - 70,000
2002 80,000 - 140,000
Andrew Odlyzko, “Internet traffic growth: Sources and implications”
Growth of the Internet : Growth of the Internet Internet bandwidth
Nielsen’s law: 50% each year Projected
What is Next Big Thing? : What is Next Big Thing? I wish I have the answer
Technology
Wireless broadband networks
Optical switching networks (?)
Application
VOIP
Peer-to-peer applications
Online gaming
Sony’s EverQuest servers host 600,000 PC gamers
A Few Words on Networking Research : A Few Words on Networking Research Wireless System Research Group (WiSeR)
http://coco.cs.uh.edu/~rzheng Information Theory Distributed Systems Grid Computing Computer Networking Combinatorics/
Graph theory Probability/
Stochastic techniques Protocol design
Performance modeling, analysis
System building
Data structure, algorithms,
complexity theory Application Domains Wireless Management Security
What will be covered? : What will be covered? Network architecture, services, apps
TCP/IP
Protocol details
Algorithms
Performance analysis
Ethernet, Wireless networks
Multimedia networks
QoS scheduling
Signaling
Network security
Basic knowledge
Attacks and counter-measures
Network management
What will not be covered? : What will not be covered? Socket programming (chap 2.7-2.9)
Physical layer technologies (chap 1.4)
Cellular networks
Multicast routing (chap 4.7)
ATM, frame relay, PPP (chap 5.7-5.8)
The emphasis is no only on “how” but also “why”
Knowledge base
Reasoning behind the design
Logistics : Logistics Textbook, reference book
Office hour
Homework, project policy
Grade
Prerequisite test:
What are the OSI-ISO layers? How is it related to the practice in the Internet?
What is protocol?
What is the difference between packet switching and circuit switching?
Sockets
What’s the Internet: “nuts and bolts” view : What’s the Internet: “nuts and bolts” view End systems
Host computer
Network applications
Access networks
Local area networks
communication links
Network core:
routers
network of networks
What’s the Internet: “nuts and bolts” view : What’s the Internet: “nuts and bolts” view Protocols control sending, receiving of msgs
e.g., TCP, IP, HTTP, FTP, PPP
Internet: “network of networks”
loosely hierarchical
public Internet versus private intranet
Internet standards
RFC: Request for comments
IETF: Internet Engineering Task Force local ISP company
network regional ISP router workstation server mobile
Network Components (Examples) : Network Components (Examples) Fibers Coaxial Cable Links Interfaces Switches/routers Ethernet card Wireless card Large router
Switch
Juniper Routers : Juniper Routers
Internet structure: network of networks : Internet structure: network of networks roughly hierarchical
at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable and Wireless), national/international coverage
treat each other as equals Tier 1 ISP Tier 1 ISP Tier 1 ISP
Tier-1 ISP: e.g., Sprint : Tier-1 ISP: e.g., Sprint Sprint US backbone network
Internet structure: network of networks : Internet structure: network of networks “Tier-2” ISPs: smaller (often regional) ISPs
Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier 1 ISP Tier 1 ISP Tier 1 ISP
Internet structure: network of networks : Internet structure: network of networks “Tier-3” ISPs and local ISPs
last hop (“access”) network (closest to end systems)
Tier 1 ISP Tier 1 ISP Tier 1 ISP
Internet structure: network of networks : Internet structure: network of networks a packet passes through many networks!
Tier 1 ISP Tier 1 ISP Tier 1 ISP
Internet Architecture : Internet Architecture http://www.nap.edu/html/coming_of_age/
http://www.ietf.org/rfc/rfc1958.txt
Packet switching over circuit switching
“Hourglass” design
End-to-end architecture
Layering of functionality
Distributed design, decentralized control
Superior organizational process
The Network Core : The Network Core mesh of interconnected routers
the fundamental question: how is data transferred through net?
circuit switching: dedicated circuit per call: telephone net
packet-switching: data sent thru net in discrete “chunks”
Network Core: Circuit Switching : Network Core: Circuit Switching Resources reserved for “call” on an end to end basis
link bandwidth, switch capacity
dedicated resources: no sharing
circuit-like (guaranteed) performance
call setup required
Network Core: Circuit Switching : Network Core: Circuit Switching network resources (e.g., bandwidth) divided into “pieces”
pieces allocated to calls
resource piece idle if not used by owning call (no sharing)
dividing link bandwidth into “pieces”
frequency division
time division
Network Core: Circuit Switching Example : Network Core: Circuit Switching Example 1890-current: Phone network
Fixed bit rate
Mostly voice
Not fault-tolerant
Components extremely reliable
Global application-level knowledge throughout network
Network Core: Packet Switching : Network Core: Packet Switching each end-end data stream divided into packets
user A, B packets share network resources
each packet uses full link bandwidth
resources used as needed, resource contention:
aggregate resource demand can exceed amount available
congestion: packets queue, wait for link use
store and forward: packets move one hop at a time
transmit over link
wait turn at next link
Network Core: Packet Switching : Network Core: Packet Switching A B C 10 Mbs
Ethernet 1.5 Mbs 45 Mbs statistical multiplexing queue of packets
waiting for output
link
Network Core: Packet Switching Example : Network Core: Packet Switching Example 1981-current: Internet network
Variable bit rate
Mostly data
Fault-tolerant
Components not extremely reliable (versus phone components)
Distributed control and management
Packet switching versus circuit switching : Packet switching versus circuit switching 1 Mbit link
each user:
100Kbps when “active”
active 10% of time
circuit-switching:
10 users
packet switching:
with 35 users, probability > 10 active less that .004
Packet switching allows more users to use network! N users 1 Mbps link
Packet switching versus circuit switching : Packet switching versus circuit switching Great for bursty data
resource sharing
no call setup
Excessive congestion: packet delay and loss
protocols needed for reliable data transfer, congestion control
Q: How to provide circuit-like behavior?
bandwidth guarantees needed for audio/video apps
still an unsolved problem (chapter 6) Is packet switching a “slam dunk winner?”
Hourglass design : Hourglass design
Hourglass design : Hourglass design D. Clark, “The design philosophy of the DARPA internet”, SIGCOMM 1988, August 16 - 18, 1988.
http://www.acm.org/pubs/citations/proceedings/comm/52324/p106-clark/
Hourglass design : Hourglass design Only one protocol at the Internet level
Minimal required elements at the narrowest point
IP – Internet Protocol
http://www.rfc-editor.org/rfc/rfc791.txt
http://www.rfc-editor.org/rfc/rfc1812.txt
Unreliable datagram service
Addressing and connectionless connectivity
Fragmentation and assembly
Innovation at the edge
Phone network: dumb edge devices, intelligent network
Internet: dumb network, intelligent edge devices
Hourglass design : Hourglass design Simplicity allowed fast deployment of multi-vendor, multi-provider public network
Ease of implementation
Limited hardware requirements
Eventual economies of scale
Designed independently of hardware
Hardware addresses decoupled from IP addresses
IP header contains no data/physical link specific information
Allows IP to run over any fabric
Hourglass design : Hourglass design Waist expands at transport layer
Two dominant services layered above IP
TCP – Transmission Control Protocol
Connection-oriented service
http://www.rfc-editor.org/rfc/rfc793.txt
UDP – User Datagram Protocol
Connectionless service
http://www.rfc-editor.org/rfc/rfc768.txt
Hourglass design : Hourglass design TCP – Transmission Control Protocol
Reliable, in-order byte-stream data transfer
Acknowledgements and retransmissions
Flow control
Sender won’t overwhelm receiver
Congestion control
Senders won’t overwhelm network
Hourglass design : Hourglass design UDP – User Datagram Protocol
Unreliable data transfer
No flow control
No congestion control
Hourglass design : Hourglass design Check out /etc/services on *nix or C:\WIN*\system32\services
IANA
http://www.iana.org/assignments/port-numbers
What uses TCP?
HTTP, FTP, Telnet, SMTP, NNTP, BGP
What uses (mainly) UDP?
SNMP, NTP, NFS, RTP (streaming media, IP telephony, teleconferencing), multicast applications
Many protocols can use both
Hourglass design : Hourglass design Question?
Are TCP, UDP, and IP enough?
What other functionality would applications need?
Hourglass design : Hourglass design Security?
Quality-of-service?
Reliable, out-of-order delivery service?
Handling greedy sources?
Accounting and pricing support?
IPsec, DiffServ, SCTP, ….
End-to-end principle : End-to-end principle J. H. Saltzer, D. P. Reed and D. D. Clark “End-to-end arguments in system design”, Transactions on Computer Systems, Vol. 2, No. 4, 1984
http://www.acm.org/pubs/citations/journals/tocs/1984-2-4/p277-saltzer/
End-to-end principle : End-to-end principle Where to put the functionality?
In the network? At the edges?
End-to-end functions best handled by end-to-end protocols
Network provides basic service: data transport
Intelligence and applications located in or close to devices at the edge
Violate principle as a performance enhancement
End-to-end principle : End-to-end principle The good
Basic network functionality allowed for extremely quick adoption and deployment using simple devices
The bad
New network features and functionality are impossible to deploy, requiring widespread adoption within the network
IP Multicast, QoS
Layering : Layering Modular approach to network functionality
Example: Link hardware Host-to-host connectivity Application
Layering Characteristics : Layering Characteristics Each layer relies on services from layer below and exports services to layer above
Interface defines interaction
Hides implementation - layers can change without disturbing other layers (black box)
Examples
Topology and physical configuration
Routing
Applications require no knowledge of this
New applications deployed without coordination with network operators or operating system vendors
Protocols : Protocols Module in layered structure
Set of rules governing communication between network elements (applications, hosts, routers)
Protocols define:
Interface to higher layers (API)
Interface to peer
Format and order of messages
Actions taken on receipt of a message
Layering : Layering Host Host Application Transport Network Link User A User B Layering: technique to simplify complex systems
Layer Encapsulation : Layer Encapsulation Get index.html Connection ID Source/Destination Link Address User A User B
E.g.: OSI Model: 7 Protocol Layers : E.g.: OSI Model: 7 Protocol Layers Physical: how to transmit bits
Data link: how to transmit frames
Network: how to route packets
Transport: how to send packets end2end
Session: how to tie flows together
Presentation: byte ordering, security
Application: everything else
OSI Layers and Locations : OSI Layers and Locations Switch Router Host Host Application Transport Network Data Link Presentation Session Physical
Example: Transport Layer : Example: Transport Layer First end-to-end layer
End-to-end state
May provide reliability, flow and congestion control
Example: Network Layer : Example: Network Layer Point-to-point communication
Network and host addressing
Routing
Layering : Layering Is Layering always good?
Sometimes..
Layer N may duplicate lower level functionality (e.g., error recovery)
Layers may need same info (timestamp, MTU)
Strict adherence to layering may hurt performance
Layering : Layering Need for exposing underlying layers for optimal application performance
D. Tennenhouse and D. Clark. Architectural Considerations for a New Generation of Protocols. SIGCOMM 1990.
Intel employees: Tennenhouse is a networking “rock star” and your head of research
Application Layer Framing (ALF)
Enable application to process data as soon as it can
Expose application processing unit (ADU) to protocols
Integrated Layer Processing (ILP)
Layering convenient for architecture but not for implementations
Combine data manipulation operations across layers
Distributed design and control : Distributed design and control Reliability from intelligent aggregation of unreliable components
Alternate paths, adaptivity, lack of centralized control
Each network owned and managed separately
Exception: IP address allocation (ICANN)
Superior organizational process : Superior organizational process IAB/IETF process allowed for quick specification, implementation, and deployment of new standards
Free and easy download of standards
Rough consensus and running code
2 interoperable implementations
Bake-offs
http://www.ietf.org/
ISO/OSI
Comparison to IETF left as an exercise