Ch. 14 Communication and internet technologies

14.1 Protocols

The need for protocols

When sending and receiving data, both parties need to agree the protocol being used to ensure successful communication takes place.

Internet protocol suite

The 4 layer structure for internet protocol suite looks like:

where sending goes from the application layer to the link layer, and receiving goes from the link layer to the application layer.

Application layer

  1. HTTP (Hypertext transfer protocol)
    • Used when fetching an HTML document from a web server
    • Defines the format of the messages sent and received
    • Web browser initiates the web page request and also converts HTML into a format which can be displayed on the user’s screen
  1. FTP (File transfer protocol)
    • Used when transferring files from one computer/device to another via the internet or other networks
  1. POP3 (Post office protocol)
    • Used when receiving emails from the email server
    • A pull protocol
    • Does not keep the server and client in synchronisation
    • When emails are downloaded by the client, they are then deleted by the server
  1. IMAP (Internet message access protocol)
    • Used when receiving emails from the email server
    • A pull protocol
    • Keeps the server and client in synchronisation
    • Only a copy of the email is downloaded with the original remaining on the server
  1. SMTP (Simple mail transfer protocol)
    • Used when sending emails
    • A push protocol
    • Client opens a connection to a server and keeps the connection at all times
    • Client uploads a new email to the server
  1. BitTorrent protocol
    • Computers share files directly with each other
    • No structure and no controlling mechanism
    • Peers act as both clients and servers
    • Each peer is just one end-system
    • When a peer acts as a server, it is called a “seed
    • How does a peer find others that have the wanted content?
      • Every content provider provides a content description, which is a file that contains the name of the tracker and a list of the chunks that make up the content
      • The tracker is a server that maintains a list of all the other peers (the “swarm”) actively downloading and uploading the content
    • How do peers replicate content to provide high-speed downloads for everyone?
      • Peers download and upload chunks at the same time, but peers have to exchange lists of chunks and aim to download rare chunks for preference
      • Each time a rare chunk is downloaded it automatically becomes less rare
    • How do peers encourage other peers to provide content rather than just using the protocol to download for themselves?
      • Requires dealing with “leechers” who only download
      • Randomly try other peers but then to only continue to upload to those peers that provide regular downloads
      • If a peer is not downloading or only downloading slowly, the peer will eventually be isolated

Transport layer

TCP (Transmission control protocol)

Network layer

IP (Internet protocol)

Data link layer

  1. Ethernet protocols
    • Designed for use in a local area network
    • Connects a number of computers or devices together to form a LAN
    • Uses protocols to control the movement of frames between computers or devices and to avoid simultaneous transmission by two or more devices
    • A local protocol, does not communicate with external devices

14.2 Circuit switching and packet switching

Circuit switching

Packet switching