CS 352
Internet Technology
Badri Nath
http://www.cs.rutgers.edu/~badri/352.html
Dept. of Computer Science Rutgers University
What is a Network?
• Carrier of information between 2 or more entities • Interconnection may be any medium capable of
communicating information:
– copper wire – Lasers (optic fibre) – Microwave
– Cable (coax) – satellite link
– Wireless link (cellular, 802.11, bluetooth)
• Examples: Ethernet, 802.11, cable modem
Why Networks?
• Availability of Resources– Resources become available regardless of the
user’s physical location
• Load Sharing
– Jobs processed on least crowded machine
• High Reliability
– Alternative source of supply (multiple copies)
• Human-to-Human Communication
– e.g., Telephone (Voice-over IP)
What is Internet Technology?
• What is an internet?– Network of networks
• What istheInternet?
– A global internet based on the IP protocol – Network to network – adopt a common
language
• To what does “Internet technology” refer?
Sample Internet Applications
• Electronic mail, Instant messaging • Remote terminal• File transfer • Chat groups • File sharing
• Resource distribution • World Wide Web, blog • Streaming media, VOIP • Video conferencing • Games
Impact of the Net on People
• Access to remote information– HW assignments from my server – Stock quotes from financial web site – Corporate video, news clips, virtual tours – Virtual tours of homes, tourist spots
• Person to person and group communication
– email, collaborative tools (chat groups), blogs
• Interactive entertainment
– MTV online, Audio juke box, music
(napster?), video clips
Impact of the Net on Society
• The good– Access to information (i-commerce),
e-commerce, incredible productivity tool
• The bad
– gossip, too much information, chat room,
net addicts
• The ugly
– Fraud, pornography, threatening e-mail
• But, it is just a mirror of society
Internet Players
• Users, people who use the applications• Everyone (mom and pop, kids) • get something done (hopefully useful)
• Designers
• You: protocol design and implementation • performance, cost and scale
• Service Providers
• Administrators and ISPs (www.thelist.com) • Management, revenue, deployment
• Market/business models for the Internet
• Consumer to consumer (ebay), Business to consumer (amazon, orbitz), Business to business (Freemarket, ARIBA), Consumer to business (hotjobs, monster), Govt to C, Govt to B etc • PtoP : napster or peer to peer
Internet service providers (ISPs)
• Peering ISPs– Have a mutual relationship about forwarding
traffic of each others customers (no $ involved)
• Transit ISPs
– Provides access to all reachable customers
($$ involved)
• Tier3 – local ISPs • Tier2- regional ISPs
• Tier1 – global ISPS (MCI, ATT)
Peering Vs transit
• Peering ISPs carry each others traffic • Share resources
• Transit ISPS provide service to its customers. • Involves money (global crossing, MCI. ATT)
ISP1 ISP1 Peering Transit provider Customer
Components of an Internet
– Links• Communication links for transmission – Host
• Computer running applications of end user – Router
• Computer for routing packets from input line to another output line – Gateway
• A router directly connected to two or more networks – Firewall
• A ingress router that enforces policy on which packets to allow into the network
Types of Networks in an Internet
• Local area networks– Privately owned, within building – High speed, broadcast, Ethernet
• 2 to 100 Mbps • Wide area networks
– Spans a large area
– Point-to-point, high speed fiber or trunk
lines
Types of Networks
(cont’d)• Wireless networks
– Hosts connected by infrared or radio links – Local area and wide area
– Satellite networks
Historical perspective
• Late 1960’s: ARPAnet (4 nodes)• Early 1970’s: Aloha net, ethernet, multiple access problem • Mid-to-late 1970’s: TCP/IP, 4.2BSD
• 1980’s to early 1990’s: early internet growth, e-mail & file transfer dominant, NSFNET
• Mid 1990s: NSFnet handed over to commercial service providers, WWW explodes
• Late 90s, business models using the internet; dot-com boom and bust
• Future: Embedded networks, 5 to 10 billion devices waiting to be networked, media convergence. RFID tags
Internet Hosts Growth
0 20000000 40000000 60000000 80000000 100000000 120000000 140000000 160000000 180000000 200000000 1-Ja n-95 1-Ju l-95 1-Jan -96 1-Ju l-96 1-Ju l-97 1-Jan -98 1-Ju l-98 1-Ja n-99 7/1/19 9 1-Jan -00 1-Ju l-00 1-Ja n-01 2-Ju l-02 3-Jan -03 Hosts Log scale Log scale Source:www.zakon.org/robert/internet/timeline/#Growth
170 million web hosts-today
WWW Growth
1 10 100 1000 10000 100000 1000000 10000000 100000000 Jul-9 3 Jul-9 4 Jul-9 5 Jul-9 6 Jul-9 7 Jul-9 8 Jul-9 9 Jul-0 0 Jul-0 1 Jul-0 2 Jul-0 3 Jul-0 4 WWW Log scale Log scale l46 million web sites-today
Rutgers Intranetwork
Busch Busch Cook/Douglass Cook/Douglass Newark Newark Camden Camden Livingston Livingston CAC CAC OC3=155Mbps OC3=155Mbps OC12=622Mbps OC12=622Mbps OC3 OC3 OC3OC3 OC3OC3
OC12
OC12
OC12
OC12 OC12OC12
Info provided by Michael
Info provided by Michael MundraneMundrane
Rutgers Internet Connections
2 T1 2 T1 T1 T1 T3T3 OC3 OC3 BBN Planet BBN Planet network network EsNet
EsNet AlterNetAlterNet
OC3 OC3 Newark Newark Busch Busch T1=1.544 mbps T1=1.544 mbps T3=44.7 mbps T3=44.7 mbps OC3=155.52 mbps OC3=155.52 mbps vBNS vBNS
Course Goals
• Understand the basic principles of computer networks
• Understand the Internet and its protocols • Understand the key design principles used to build
the Internet
Course Work
• Quizzes (5%) during recitations• Programming Assignments + written homeworks (30%)
• Two Midterms (30%) • Final (35%)
Honor code
• All work submitted must be your own • Severe consequences for violating the above • Please turn off cell phones in classSome Definitions
– Network: Collection of interconnected
machines
– Host: Machine running user application – Subnet: Subset of the network, responsible
for carrying messages between hosts
– Channel: Logical line of communication – Topology: Network configuration
– Router: Process packets and routes packets
towards the destination
– Protocol: Rules of communication
1. How Do Computers Communicate?
• With 1’s and 0’s
– Computers only deal with 1’s and 0’s – So do networks
• How do we transmit 1’s and 0’s in a network?
Physical Transmission
See Tanenbaum Fig. 2-18, pp. 110
Switching Schemes
(1) Circuit Switching(2) Message Switching (Store-and-Forward) (3) Packet Switching (Store-and-Forward)
Circuit Switching
• Provides service by setting up the total path of connected lines from the origin to the destination • Example: Telephone network
Circuit Switching (cont’d)
1. Control message sets up a path from origin todestination
2. Return signal informs source that data transmission may proceed
3. Data transmission begins
4. Entire path remains allocated to the transmission (whether used or not)
5. When transmission is complete, source releases the circuit
Circuit Switching (cont’d)
Tim
e
A B C D
Data Call accept signal Call request signal
Data Transmission Time Propagation Delay IMPs Transmission Delay
Message Switching
• Each message is addressed to a destination• When the entire message is received at a router, the next step in its journey is selected; if this selected channel is busy, the message waits in a queue until the channel becomes free
• Thus, the message “hops” from node to node through a network while allocating only one channel at a time • Analogy: Postal service
Message Switching (cont’d)
Tim e A B C D Msg Msg Msg Queueing Delay IMPs Transmission Delay Header
Packet Switching
• Messages are split into smaller pieces called packets • These packets are numbered and addressed and sentthrough the network one at a time • Pipelining
Packet Switching (cont’d)
Tim e A B C D IMPs Pkt 1 Pkt 2 Pkt 3 Pkt 1 Pkt 2 Pkt 3 Pkt 1 Pkt 2 Pkt 3 Transmission Delay Header
Comparisons
(1) Header OverheadCircuit < Message < Packet (2) Transmission Delay
Short Bursty Messages:
Packet < Message < Circuit
Long Continuous Messages:
Circuit < Message < Packet
Protocols
• Building blocks of a network architecture • Each protocol object has two different interfaces
– service interface: operations on this protocol
– peer-to-peer interface: messages exchanged with peer
• Term “protocol” refers to both the specification and implementation of the module
ISO/OSI Architecture
Application Presentation Session Transport End hostOne or more nodes within the network Network Data link Physical Network Data link Physical Network Data link Physical Application Presentation Session Transport End host Network Data link Physical
Why Layering?
• Network communication is very complex • Testing and maintenance is simplified• Easy to replace a single layer with a different version
Network Protocols
An OverviewStandards Making Organizations
ISO = International Standards OrganizationITU = International Teletraffic Union (formerly CCITT) ANSI = American National Standards Institute IEEE = Institute of Electrical and Electronic Engineers IETF = Internet Engineering Task Force
ATM Forum = ATM standards-making body ...and many more
Why So Many Standards
Organizations?
• Multiple standards• Different areas of emphasis
Different Layering Architectures
• ISO OSI 7-Layer Architecture• TCP/IP 4-Layer Architecture
ISO OSI Layering Architecture
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Protocol Transport Protocol Presentation Protocol Session Protocol Host A Host B Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Router RouterISO’s Design Principles
• A layer should be created where a different level ofabstraction is needed
• Each layer should perform a well-defined function • The layer boundaries should be chosen to minimize
information flow across the interfaces
• 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
General Protocol Functions
• Header encapsulation and stripping Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Data Data AH Data PH Data SH Data TH Data NH Data DH DT Data PHLayer 1: Physical Layer
• Functions:– Transmission of a raw bit stream
– Forms the physical interface between devices • Issues:
– Which modulation technique (bits to pulse)? – How long will a bit last?
– Bit-serial or parallel transmission? – Half- or Full-duplex transmission?
– How many pins does the network connector have? – How is a connection set up or torn down?
Layer 2: Data Link Layer
• Functions:– Provides reliable transfer of information
between two adjacent nodes
– Creates frames, or packets, from bits and
vice versa
– Provides frame-level error control – Provides flow control
• In summary, the data link layer provides the network layer with what appears to be an error-free link for packets
Layer 3: Network Layer
• Functions:– Responsible for routing decisions
• Dynamic routing • Fixed routing
– Performs congestion control
Layer 4: Transport Layer
• Functions:– Hide the details of the network from the
session layer
• Example: If we want replace a point-to-point link with a satellite link, this change should not affect the behavior of the upper layers
– Provides reliable end-to-end communication
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Protocol Transport Protocol Presentation Protocol Session Protocol Host A Host B Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Router Router
Transport Layer (cont’d)
first end-to-end
Transport Layer (cont’d)
• Functions (cont’d):– Perform end-to-end flow control
– Perform packet retransmission when packets
are lost by the network
Layer 5: Session Layer
• May perform synchronization between severalcommunicating applications
• Groups several user-level connections into a single “session”
Layer 6: Presentation Layer
• Performs specific functions that are requestedregularly by applications • Examples:
– encryption
– ASCII to Unicode, Unicode to ASCII – LSB-first representations to MSB-first
representations
Layer 7: Application Layer
• Application layer protocols areapplication-dependent
• Implements communication between two applications of the same type
• Examples:
– FTP – HTTP – SMTP (email)
Internet Architecture
• Defined by Internet Engineering Task Force (IETF) • Hourglass Design
• Application vs Application Protocol (FTP, HTTP)
…
FTP HTTP NV TFTP
TCP UDP
IP
NET1 NET2 NETn
TCP/IP Layering Architecture
• A simplified model • The network layer– Hosts drop packets into
this layer, layer routes towards destination- only promise- try my best
• The transport layer – reliable byte-oriented stream Application Application Transport Transport Internet/Network Internet/Network Host
Host--toto--NetNet
TCP/IP Layering Architecture
(cont’d)Application Layer Transport Layer Network Layer Host-to-Net Layer Application Protocol Transport Protocol (TCP) Host A Host B Application Layer Transport Layer Network Layer Host-to-Net Layer Network Layer Host-to-Net Layer Network Layer Host-to-Net Layer IP IP IP
Internet Design Principles
– Scale
• Protocols should work in networks of all sizes and distances
– Incremental deployment
• New protocols need to be deployed gradually
– Heterogeneity
• Different technologies, autonomous organizations
– End-to-end argument
• Networking functions should be delegated to the edges; application knows best
Measuring a Network’s Performance
A Brief IntroductionSome Definitions
• Packet length: size of a packet (units = bits or bytes) • Channel speed: How fast the channel can transmit bits (units =bits/second)
• Packet transmission time: amount of time to transmit an entire packet (units = seconds)
• Propagation delay: Delay imposed by the properties of the link. Depends on the link’s distance (units = seconds)
Example
packet length = 1500 bytes channel capacity = 10 Mbps propagation delay factor = 5 µsec/km
A B
500 m
1. How long does it take a single bit to travel on the link
from A to B?
2. How long does it take A to transmit an entire packet
onto the link?
Digression: Units
• Bits are the units used to describe an amount of data in a network
– 1 kilobit (Kbit) = 1 x 103bits = 1,000 bits
– 1 megabit (Mbit) = 1 x 106bits = 1,000,000 bits
– 1 gigabit (Gbit) = 1 x 109bits = 1,000,000,000 bits
• Seconds are the units used to measure time
– 1 millisecond (msec) = 1 x 10-3seconds = 0.001 seconds
– 1 microsecond (µsec) = 1 x 10-6seconds = 0.000001 seconds
– 1 nanosecond (nsec) = 1 x 10-9seconds = 0.000000001 seconds
• Bits per second are the units used to measure channel capacity/bandwidth and throughput
– bit per second (bps) – kilobits per second (Kbps) – megabits per second (Mbps)
Propagation Delay
1. How long does it take a single bit to travel on the link from A to B of length 500 m with a prop. delay factor = 5 msec/km ?
Another way to ask this question:
If it takes a signal 5 µsec to travel 1 kilometer, then how long does it take a signal to travel 500 meters?
5 µsec
1000 m = 500 m
t Solving for t…
t = 2.5 µsec 1500 x 8 bits
Packet Transmission Time
2. How long does it take A to transmit an entire packet ontothe link?
Relevant information: packet length = 1500 bytes channel capacity = 10 Mbps Another way to ask this question:
If the link can transmit 10 million bits in a second, how many seconds does it take to transmit 1500 bytes (8x1500 bits)?
10 Mbits
1 sec = t
Solving for t…
t = 0.0012 sec (or 1.2 msec)
Analogy
Think of a transmission link as a water pipe
1. The thicker the pipe, the more water it can carry from one end to the other
2. Water is carried from one end of the pipe to the other at constant speed, no matter how thick the pipe is Water = Data bits
Thickness of the pipe = Channel capacity or speed Speed of water through the pipe = Propagation delay
Message switching vs Packet switching
• Link speed is 1.5 Mbps. (ignore prop delay) • Packet size is 1.5 Kbps, file size is 7.5 Mbits
• Find total time to transfer the entire file under the two switching techniques