Internet Foundations

Web Architecture [./]
Fall 2008 — INFO 290-03 (CCN 42584)

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

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents E. Wilde: Internet Foundations

Contents

E. Wilde: Internet Foundations

(2) 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]
Computer Networks E. Wilde: Internet Foundations

(4) Network History



Computer Networks E. Wilde: Internet Foundations

(5) Networks vs. Internetworks



Networking Protocols

Networking Protocols E. Wilde: Internet Foundations

(7) 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


Networking Protocols E. Wilde: Internet Foundations

(8) 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


Networking Protocols E. Wilde: Internet Foundations

(9) Internet Principles

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

Jon Postel [http://www.postel.org/postel.html], RFC 1122 [http://dret.net/rfc-index/reference/RFC1122]

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 [http://dret.net/biblio/reference/sal84]



Networking Protocols E. Wilde: Internet Foundations

(10) Internet Protocols

Internet Protocol Layers

Networking Protocols E. Wilde: Internet Foundations

(11) Network Convergence

Convergence in the Protocol Stack

Internet Protocol (IP)

Internet Protocol (IP) E. Wilde: Internet Foundations

(13) 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)


Internet Protocol (IP) E. Wilde: Internet Foundations

(14) IP Address

  • IP identifies nodes by an IP address
  • IP addresses are globally unique (and can be geocoded [http://api.hostip.info/get_html.php?position=true])
  • 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]
Transmission Control Protocol (TCP) E. Wilde: Internet Foundations

(16) TCP Features

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


Transmission Control Protocol (TCP) E. Wilde: Internet Foundations

(17) 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


Transmission Control Protocol (TCP) E. Wilde: Internet Foundations

(18) 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]
Domain Name System (DNS) E. Wilde: Internet Foundations

(20) 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


Domain Name System (DNS) E. Wilde: Internet Foundations

(21) 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 [IP Address (1)], 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)


Domain Name System (DNS) E. Wilde: Internet Foundations

(22) 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 System (DNS) E. Wilde: Internet Foundations

(23) Domain Name Space

dns-namespace.png

Domain Name System (DNS) E. Wilde: Internet Foundations

(24) DNS Namespace Organization

  • Domain owners can organize the assignment of subdomains
    • berkeley.edu [http://www.berkeley.edu/] is an U.S. educational institution
    • ethz.ch [http://www.ethz.ch/] is a Swiss university
    • imperial.ac.uk [http://www.imperial.ac.uk/] is a British university
    • uts.edu.au [http://www.uts.edu.au/] is an Australian university
  • 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 [http://www.ischool.berkeley.edu/])


Domain Name System (DNS) E. Wilde: Internet Foundations

(25) 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]
Other Internet Protocols E. Wilde: Internet Foundations

(27) User Datagram Protocol (UDP)

  • Transport protocol based on Internet Protocol (IP) [Internet Protocol (IP) (1)], just like Transmission Control Protocol (TCP) [Transmission Control Protocol (TCP) (1)]
    • 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


Other Internet Protocols E. Wilde: Internet Foundations

(28) 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) [Internet Protocol (IP) (1)] routing finds the network, but what about the host?
    • the sender broadcasts a request with the IP Address [IP Address (1)]
    • 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]
Conclusions E. Wilde: Internet Foundations

(30) Internet Technologies



Conclusions E. Wilde: Internet Foundations

(31) Web Technologies



2008-09-04 Web Architecture [./]
Fall 2008 — INFO 290-03 (CCN 42584)