Infrastructure:
Computer Networks

Parke Godfrey
7 September 2012
CSE-2041

Credits

These slides are based on ones from the following sources.

Outline

  1. Basics
  2. The Protocol Stack
  3. Network Security
  4. The Application Layer

Network Interface Controller (NIC)

 
NIC card

Addresses

Cables

cables
  • This is a twisted pair cable.
  • This is a coaxial cable.

The physical medium that connects the NIC's can also be fiber optics. Or “nothing” in the case of wireless networks!

Different media have different costs, MBPS bandwidth, range, and noise tolerance.

Local Area Network (LAN)

A LAN is made up of two or more nodes (computers) whose NIC’s are connected.

The connection topology can be mesh, star, ring, or bus.

Network Topologies

Network Topologies

Unique MAC’s

Regardless of topology, no two nodes in a LAN can have the same MAC.

Computers in the LAN can thus address each using their MAC’s.

Inter-Networking

Connecting two LAN’s requires two things.

  1. The two LAN’s must share a node. That node would have two NIC’s.
  2. We need an addressing mechanism that goes beyond MAC’s.

IP Addresses

  • A router is a computer with two NIC’s connected to two LAN’s.
  • An IP address is a 32-bit integer that is unique across LAN’s.

32 bit = 4 x 8 bits
 = 4 x (int between 0 and 255)

Example: 130.63.236.137

Aside:
The above is IPv4. But the world is running out of IP addresses! Slowly and painfully, everything will migrate over to IPv6 over the next several years.

IP Addresses: map (circa 2006)

Map of The Internet
XKCD #262

Between LAN’s

Between LANs

Typical University Network

University Network

The Internet: lolcatz

The Internet
XKCD #262

The Internet: a network of networks

The Internet

The Internet: Trunks

Internet trunks

Orion

Orion Network

Outline

  1. Basics
  2. The Protocol Stack
  3. Network Security
  4. The Application Layer

Protocols

Rules that governs the communication of data between computers. They involve:

Protocol Example

protocol example

Abstraction!

  1. Communication in the Internet involves so many issues and deals with heterogeneous entities.
  2. To confront this complexity, we use abstraction.
  3. Each layers hides the details under it. It appears as a service to the layer above it.
  4. Separation of concerns: an implementer at one level is not concerned with issues at other levels.
  5. Same strategy as separating class usage from its implementation in OOP.

The Internet Protocol Suite

The Internet Protocol Suite

The Physical Layer

The Physical Layer

physical layer

The Data Link Layer

  1. Responsibility
    • Transmitting frames from one node to another on the same LAN.
  2. Data Unit
    • Frame.
  3. Issues
    • Error control and access control.
  4. Protocols
    • Ethernet, 802.11 (WiFi), ARP (and RARP), …
  5. Addressing
    • Via from/to MAC addresses.

The Data Link Layer

data link layer

The Network Layer

  1. Responsibility
    • Transmitting packets from a node in one LAN to a node in another LAN.
  2. Data Unit
    • Datagram.
  3. Issues
    • Routing.
  4. Protocols
    • IP (v4/v6), IPsec, ICMP, ATM, …
  5. Addressing
    • Via from/to IP addresses.

The Network Layer

network layer

The Transport Layer

  1. Responsibility
    • Transmitting messages from a process running on a node in one LAN to one running on a node in another LAN.
  2. Data Unit
    • Segment.
  3. Issues
    • Error control, flow control, reordering
  4. Protocols
    • TCP, UDP, …
  5. Addressing
    • Via from/to PORT number (a 16-bit integer).

The Transport Layer

transport layer

Ports

A process can associate itself with any port number but most port numbers below 1024 are reserved.

E.g.,

The Application Layer

  1. Responsibility
    • Providing services to the end user.
  2. Data Unit
    • Messages.
  3. Issues
    • Synchronization, encryption, logging, compression, …
  4. Protocols
    • HTTP, DNS, FTP, SSH, TELNET, SMTP, JDBC, SOAP, …
  5. Addressing
    • URL:
      scheme://host:port/path;extra?query#fragment

The Application Layer

application layer

Header Addition & Removal

header

TCP/IP Protocol:
How the Layers Work Together

TCP/IP down

TCP/IP Protocol:
How the Layers Work Together (p.2)

TCP/IP up

The Protocol Stack
Five or Seven Layers?

The Internet Protocol suite is usually described as these five layers.

The OSI Model describes seven layers. Essentially, its first four are the same as the Internet Protocol suite's. OSI divides our application layer further into three layers:

  1. Session Layer,
  2. Presentation Layer, and
  3. Application Layer.

Much of our focus in this course is in the Internet Protocol suite's application layer.

Outline

  1. Basics
  2. The Protocol Stack
  3. Network Security
  4. The Application Layer

Network Security

Why is network security much of an issue? Wouldn't the design of the “Internet” have designed in security from the beginning?! Well...

Like a city's infrastructure, individual pieces are often well designed at the start (e.g., highway systems, sewage, zoning). But much evolves over time.

Network Security
Issues

Malware

Trojan horse
  • Hidden part of some otherwise useful software.
  • Today, often on a Web page (e.g., Active‐X, plugin).
Worm
  • Infection by passively receiving object that gets itself executed.
  • Self‐replicating: propagates to other hosts, users.

Spyware
  • Can record keystrokes and then upload info to collection site.
  • Can use cookies and other local objects to track visits.
Virus
  • infection by actively executing a received object (e.g., attachment).
  • Self‐replicating: propagates to other hosts, users.

D-DOS: Distributed-denial-of-service attack

D-DOS

Packet Sniffing

packet sniffing

Works in

IP Spoofing

IP spoofing

Simply change the IP-level header.

Replay

replay

Sniff password, then masquerade.

Outline

  1. Basics
  2. The Protocol Stack
  3. Network Security
  4. The Application Layer

The Application Layer
Domain Name System (DNS)

Problems with IP addresses:

DNS is a hierarchical distributed naming system for NIC's that maps names to IP addresses.

The Internet's name-space is overseen by ICANN (the Internet Corporation for Assigned Names and Numbers).

“DNS” is also an application layer service.

The Application Layer
DNS

DNS

The Application Layer
Hypertext Transfer Protocol (HTTP)

HTTP is the application layer protocol for what we call the World Wide Web (also called the WWW, W3, or the Web).

History

So... The Internet ≠ The Web