Client-Server Approach

Peer to Peer

Primary-secondary computing

New issues for networked apps

Technologies that are used to solve the issues

Circuit switching - traditional telephony

Packet switching (Assumes we have computers)

Break the message you want to send into reasonably smaller packages

Dump all the small packages to the nearest network

Internet Protocol Suite

The "peace treaty" that computers can talk to each other and no one company's computer can control the whole web

Documented Specified in in Internet RFCs (Request For Comments)

  1. Link layer
    1. hardware-oriented, point to point, only cares about the connection btwn 2 nodes
  2. Internet layer
    1. Packets. The protocol talks about how packets will get form a to b
  3. Transport Layer
    1. Data channels
  4. Application layer
    1. We take the lower layers(Channels, packet) and tailor it for a particular application.

Protocols: networks :: APIs : programs

IPv4 and IPv6

IPv4 - 32bits addresses

specify what a packet look like

an IPv4 packet has:

header includes:

senders' IP,

recipient's IP,

protocol number,

TTL (hop count → count how many nodes that you have been in ) avoids infinite loops

Checksum(16 bits) can catch transmission errors (OR all the 16 bit content)

contents