Email, DNS, and P2P Protocols

Tom Kelliher, CS 325

Feb. 7, 2011




Written assignment.

Review examples, in notes and textbook, of using telnet to exchange protocol messages with application services.

See me if you don't remember your phoenix username/password.

From Last Time

Application layer, HTTP, and FTP.


  1. SMTP, POP, and IMAP protocols.

  2. DNS.

  3. P2P.

Coming Up

Protocols lab.

Email protocols

The overall model:


Sending email:


  1. Email service in the traditional Unix model.

  2. Email service with a standalone GUI client: POP and IMAP.

  3. Email service with a web-based GUI client.

  4. Email service with a Blackberry device.
    1. Push vs. pull architectures.

    2. What are the design models we could consider?

    3. What model does RIM use?

  5. Use of MX records.


Historical context:

  1. How was name resolution initially performed?

  2. What was wrong with that?

Features of today's DNS:

  1. A FQDN and its components:

  2. Hierarchy.

  3. Delegation of authority.

  4. Redundancies: multiple root servers; primary and secondaries.

  5. Two components: the resolver and DNS service. Finding a DNS server.

    How the hosts file is used.

  6. Caching servers. Priming the cache.

    TTL field.

    Stale entries and flushing the cache.

  7. A and PTR records. Some other records types: SOA, NS, MX,

    TXT records and Sender Policy Framework (SPF) information for reducing SPAM.

  8. Vulnerabilities: DDOS, cache poisoning, hosts file attacks.

A view of the hierarchy:


Anatomy of a DNS query:


Format of a DNS server response:


  1. Why does phoenix have two IP addresses?

  2. DNS implications under this scenario.


The file distribution problem:


Scalable vs. unscalable architectures:


BitTorrent chunking:


Centralized indexing service:


Distributed indexing service; query flooding:


Limiting scope with a hop count field.

A hybrid approach:


Thomas P. Kelliher 2011-02-06
Tom Kelliher