Internet Foundations

Web Architecture (INFO 290-03)

Erik Wilde, UC Berkeley School of Information
2008-09-04

Creative Commons License

This work is licensed under a CC
Attribution 3.0 Unported License

Abstract

The Internet is the technical infrastructure on top of which the Web is built. Some of the services provided by the Internet are essential for the Web, most importantly the naming service and the data transfer service. The Domain Name System (DNS) provides the human-readable names for computers, which can then be used in the addresses of Web servers and ultimately Web pages. The Transmission Control Protocol (TCP) provides the reliable data transfer service between Web Servers and Web Browsers, building on the very robust Internet Protocol (IP).


Computer Networks

Outline (Computer Networks)

  1. Computer Networks [20]
    1. Networking Protocols [5]
    2. Internet Protocol (IP) [2]
    3. Transmission Control Protocol (TCP) [3]
    4. Domain Name System (DNS) [6]
    5. Other Internet Protocols [2]
  2. Conclusions [2]

Network History


Networks vs. Internetworks


Networking Protocols

Internet vs. ISO/OSI

  • Global network emerges by the end of the 80's
    • some kind of internetworking protocols were required
    • ARPANET had been running since the late 60's (1965: Berkeley-MIT)
  • ISO/OSI was a new specification
    • the idea was to build something new
    • Open Systems Interconnection (OSI) as a general model for open systems
    • OSI was specified rather than developed and tested
  • For some time, it was unclear what the global internetwork would be based on
    • Internet protocols were already established and running
    • OSI promised a fresh start with bigger is better protocols

Internet

  • Very early start and a lot of experience
    • pragmatic and evolutionary approach
    • if it's not broken, don't fix it
  • Standardization by independent technical experts
    • avoids the designed by committee effect of consortiums
    • conservative and concentrating on stability
    • implementations are required to prove technical feasibility
    • simplicity whenever possible

Internet Principles

Be liberal in what you accept, and conservative in what you send.

Jon Postel, RFC 1122

Whenever possible, communications protocol operations should be defined to occur at the end-points of a communications system, or as close as possible to the resource being controlled.

J. Saltzer, D. Reed, D. Clark, End-to-end Arguments in System Design


Internet Protocols

Internet Protocol Layers

Network Convergence

Convergence in the Protocol Stack

Internet Protocol (IP)

IP Features

  • End-to-end data transfer (IP addresses)
  • Hiding lower-level heterogeneity
  • Connection-less (each packet routed individually)
  • Unreliable (packets may be lost or duplicated)

IP Address

  • IP identifies nodes by an IP address
  • IP addresses are globally unique (and can be geocoded)
  • IP uses 4 bytes for addresses (e.g., 128.32.226.29)
    • maximum number of addresses: 232 = 4 billion
    • IPv6 extends the address format to 16 bytes (2128 addresses)
  • IP address shortage led to the some trickery using IP addresses
  • IP addresses are well-organized
    • important for routing (i.e., sending packets to the target host)
    • not ideally suited for mobile or ad-hoc networks

Transmission Control Protocol (TCP)

Outline (Transmission Control Protocol (TCP))

  1. Computer Networks [20]
    1. Networking Protocols [5]
    2. Internet Protocol (IP) [2]
    3. Transmission Control Protocol (TCP) [3]
    4. Domain Name System (DNS) [6]
    5. Other Internet Protocols [2]
  2. Conclusions [2]

TCP Features

  • Flow-controlled (avoiding congestion)
  • Reliable (no data lost or duplicated)
  • Connection-oriented
  • Application addressing

Reliable Connections

  • IP may drop or duplicate packets
    • TCP adds serial numbers in data packets
    • if problems are detected, TCP recovers automatically
  • TCP avoids network congestion and system overload
    • slow start avoid flooding receivers with data they cannot process
    • fast retransmit for avoiding timeouts when losing data
    • a sliding window for controlling the amount of outstanding packets

TCP Window

tcp-window.png

Domain Name System (DNS)

Outline (Domain Name System (DNS))

  1. Computer Networks [20]
    1. Networking Protocols [5]
    2. Internet Protocol (IP) [2]
    3. Transmission Control Protocol (TCP) [3]
    4. Domain Name System (DNS) [6]
    5. Other Internet Protocols [2]
  2. Conclusions [2]

Naming vs. Addressing

  • IP addresses depend on network topology and organization
    • reorganizing a network may change all IP addresses
    • identifying important hosts should not be address-based
  • Names are supposed to be more stable than addresses
    • a name is an abstract identification of something
    • names can be used to obtain more information
  • Network services should use names instead of addresses
    • before using the service, a mapping has to be performed
    • the Domain Name System (DNS) is providing this service

DNS Properties

  • DNS has a bootstrap problem
    • DNS provides a service and should thus be identified by a name
    • for resolving names into addresses, the DNS service is required
  • DNS configuration is part of basic Internet configuration
    • Dynamic Host Configuration Protocol (DHCP) provides IP Address, netmask, gateway, and DNS server address
  • DNS names are hierarchically structured
    • ischool.berkeley.edu, edu is the Top-Level Domain (TLD)
    • TLDs are either generic (gTLD) or country code (ccTLD)
    • subdomains are federated (e.g., edu, us, uk, tv)

Names Matter

  • Names are not unique and namespaces are finite
    • name disputes arise which were irrelevant before the Web
    • cybersquatting as a popular way to make money
  • Names can be worth a lot of money
    • business.com was sold for $7.5 million
  • Name inflation can be used to generate money
  • Names can have political significance
    • ccTLDs are assigned based on the UNO's idea of what a country is
  • Names can have symbolic significance
    • Catalonia managed to get a domain of its own (cat)

Domain Name Space

dns-namespace.png

DNS Namespace Organization

  • Domain owners can organize the assignment of subdomains
  • Special rules may apply (Germany does not assign car license plate names)
  • Organizations may be countries or companies
    • countries have national organizations for assigning names
    • companies may create an internal multi-level namespace (www.ischool.berkeley.edu)

Using DNS

  • DNS is used by virtually all Internet applications
    • names are more stable than addresses
  • E-mail has some dedicated features built into DNS
    • special entries (MX records) identify the e-mail server for a domain
    • fallback entries help dealing with failing e-mail servers
  • most URIs are based on DNS names
    • http://ischool.berkeley.edu/ identifies the access protocol and the host
    • the browser first performs a DNS lookup
    • a TCP connection is then established to the address returned by the DNS

Other Internet Protocols

Outline (Other Internet Protocols)

  1. Computer Networks [20]
    1. Networking Protocols [5]
    2. Internet Protocol (IP) [2]
    3. Transmission Control Protocol (TCP) [3]
    4. Domain Name System (DNS) [6]
    5. Other Internet Protocols [2]
  2. Conclusions [2]

User Datagram Protocol (UDP)

  • Transport protocol based on Internet Protocol (IP), just like Transmission Control Protocol (TCP)
    • very thin protocol, adds few features to IP
    • provides application addressing
  • UDP is unreliable and connection-less
    • ideal for fast streaming media (delay is critical, lost packets are tolerable)
    • acceptable for one-packet applications (lightweight and fast)
    • not acceptable for reliable data transfer

Address Resolution Protocol (ARP)

  • How to find an Internet host
    • hosts are configured (manually or by using DHCP)
    • there is no externally controlled registry of available hosts
  • Internet Protocol (IP) routing finds the network, but what about the host?
    • the sender broadcasts a request with the IP Address
    • if there is such a host, it responds with its physical address
    • the sender can now send the IP packet to the physical address

Conclusions

Outline (Conclusions)

  1. Computer Networks [20]
    1. Networking Protocols [5]
    2. Internet Protocol (IP) [2]
    3. Transmission Control Protocol (TCP) [3]
    4. Domain Name System (DNS) [6]
    5. Other Internet Protocols [2]
  2. Conclusions [2]

Internet Technologies


Web Technologies