The Internet
An Engineering Approach to Computer Networking
My how you’ve grown!
■ The Internet has doubled in size every year since 1969
■ In 1996, 10 million computers joined the Internet
■ By July 1997, 10 million more will join!
■ Soon, everyone who has a phone is likely to also have an email
account
◆ already nearly true for Ithaca
◆ PacTel telephone directories are planning to include email
addresses in white pages
What does it look like?
■ Loose collection of networks organized into a multilevel
hierarchy
◆ 10-100 machines connected to a hub or a router
✦ service providers also provide direct dialup access
✦ or over a wireless link
◆ 10s of routers on a department backbone
◆ 10s of department backbones connected to campus backbone
◆ 10s of campus backbones connected to regional service providers
◆ 100s of regional service providers connected by national backbone
◆ 10s of national backbones connected by international trunks
Example of message routing
# traceroute [Link]
traceroute to [Link] ([Link]), 30 hops max, 40 byte packets
1 [Link]
[Link] ([Link]) 1 ms 1 ms 1 ms
2 [Link]
[Link] ([Link]) 2 ms 3 ms 2 ms
3 [Link]
[Link] ([Link]) 2 ms 2 ms 2 ms
4 [Link]
[Link] ([Link]) 4 ms 3 ms 4 ms
5 ny-ith
ny-ith-1-H1/0-T3.
-1-H1/[Link]
[Link]
.net ([Link]) 5 ms 5 ms 4 ms
6 ny-ith
ny-ith-2-F0/0.
-2-F0/[Link]
[Link]
.net ([Link]) 4 ms 4 ms 3 ms
7 ny-pen
ny-pen-1-H3/0-T3.
-1-H3/[Link]
[Link]
.net ([Link]) 21 ms 19 ms 16 ms
8 sl-pen
sl-pen-21-F6/0/0.
-21-F6/0/[Link]
[Link]
.net ([Link]) 16 ms 40 ms 36 ms
9 [Link]
[Link]
.net ([Link]) 20 ms 20 ms 24 ms
10 [Link]
[Link]
.net ([Link]) 21 ms 34 ms 26 ms
11 [Link]
[Link] ([Link]) 21 ms 21 ms 21 ms
12 [Link] ([Link]) 623 ms 639 ms 621 ms
13 [Link] ([Link]) 628 ms 629 ms 628 ms
14 [Link]
[Link] ([Link]) 1375 ms 1349 ms 1343 ms
15 [Link] ([Link]) 1380 ms 1405 ms 1368 ms
Intranet, Internet, and Extranet
■ Intranets are administered by a single entity
◆ e.g. Cornell campus network
■ Internet is administered by a coalition of entities
◆ name services, backbone services, routing services etc.
■ Extranet is a marketing term
◆ refers to exterior customers who can access privileged Intranet
services
◆ e.g. Cornell could provide ‘extranet’ services to Ithaca college
What holds the Internet together?
■ Addressing
◆ how to refer to a machine on the Internet
■ Routing
◆ how to get there
■ Internet Protocol (IP)
◆ what to speak to be understood
Example: joining the Internet
■ How can people talk to you?
◆ get an IP address from your administrator
■ How do you know where to send your data?
◆ if you only have a single external connection, then no problem
◆ otherwise, need to speak a routing protocol to decide next hop
■ How to format data?
◆ use the IP format so that intermediate routers can understand the
destination address
■ If you meet these criteria--you’re on the Internet!
■ Decentralized, distributed, and chaotic
◆ but it scales (why?)
What lies at the heart?
■ Two key technical innovations
◆ packets
◆ store and forward
Packets
■ Self-descriptive data
◆ packet = data + metadata (header)
■ Packet vs. sample
◆ samples are not self descriptive
◆ to forward a sample, we have to know where it came from and
when
◆ can’t store it!
◆ hard to handle bursts of data
Store and forward
■ Metadata allows us to forward packets when we want
■ E.g. letters at a post office headed for main post office
◆ address labels allow us to forward them in batches
■ Efficient use of critical resources
■ Three problems
◆ hard to control delay within network
◆ switches need memory for buffers
◆ convergence of flows can lead to congestion
Key features of the Internet
■ Addressing
■ Routing
■ Endpoint control
Addressing
■ Internet addresses are called IP addresses
■ Refer to a host interface: need one IP address per interface
■ Addresses are structured as a two-part hierarchy
◆ network number
◆ host number
135.105.53 100
An interesting problem
■ How many bits to assign to host number and how many to
network number?
■ If many networks, each with a few hosts, then more bits to
network number
■ And vice versa
■ But designer’s couldn’t predict the future
■ Decided three sets of partitions of bits
◆ class A: 8 bits network, 24 bits host
◆ class B: 16 bits each
◆ class C: 24 bits network, 8 bits host
Addressing (contd.)
■ To distinguish among them
◆ use leading bit
◆ first bit = 0=> class A
◆ first bits 10 => class B
◆ first bits 110 => class C
◆ (what class address is [Link]?)
■ Problem
◆ if you want more than 256 hosts in your network, need to get a
class B, which allows 64K hosts => wasted address space
■ Solution
◆ associate every address with a mask that indicates partition point
◆ CIDR
Routing
■ How to get to a destination given its IP address?
■ We need to know the next hop to reach a particular network
number
◆ this is called a routing table
◆ computing routing tables is non-trivial
■ Simplified example
Default routes
■ Strictly speaking, need next hop information for every network in
the Internet
◆ > 80,000 now
■ Instead, keep detailed routes only for local neighborhood
■ For unknown destinations, use a default router
■ Reduces size of routing tables at the expense of non-optimal
paths
Endpoint control
■ Key design philosophy
◆ do as much as possible at the endpoint
◆ dumb network
◆ exactly the opposite philosophy of telephone network
■ Layer above IP compensates for network defects
◆ Transmission Control Protocol (TCP)
■ Can run over any available link technology
✦ but no quality of service
✦ modification to TCP requires a change at every endpoint
✦ (how does this differ from telephone network?)
Challenges
■ IP address space shortage
◆ because of free distribution of inefficient Class B addresses
◆ decentralized control => hard to recover addresses, once handed
out
■ Decentralization
◆ allows scaling, but makes reliability next to impossible
◆ cannot guarantee that a route exists, much less bandwidth or buffer
resources
◆ single points of failure can cause a major disaster
✦ and there is no control over who can join!
◆ hard to guarantee security
✦ end-to-end encryption is a partial solution
✦ who manages keys?
Challenges (contd.)
■ Decentralization (contd.)
◆ no uniform solution for accounting and billing
✦ can’t even reliably identify individual users
◆ no equivalent of white or yellow pages
✦ hard to reliably discover a user’s email address
◆ nonoptimal routing
✦ each administrative makes a locally optimal decision
Challenges (contd).
■ Multimedia
◆ requires network to support quality of service of some sort
✦ hard to integrate into current architecture
✦ store-and-forward => shared buffers => traffic interaction =>
hard to provide service quality
◆ requires endpoint to signal to the network what it wants
✦ but Internet does not have a simple way to identify streams of
packets
✦ nor are are routers required to cooperate in providing quality
✦ and what about pricing!