1. Protocols
Protocols:
● Provide a standard set of rules for devices’ communication (over a network), and enable
successful data transfer between devices
● Allow communication/compatibility between devices from different manufacturers/platforms,
by making communications independent of software and hardware, ensuring data is sent,
received and understood correctly by all devices
● Two devices wouldn’t be able to communicate/send messages to each other if they were using
different protocols - both parties need to agree on the same protocol to use
● Without protocols:
○ Devices would not know how to structure or interpret data
○ Data could be lost, corrupted, or misrouted
○ Communication between different hardware and software systems would break down
● Protocols are essential to guarantee:
○ Reliable data transfer
○ Consistent formatting and addressing
○ Error checking and correction
○ Security during transmission
Protocol stack:
● Organising network protocols into layers, where each layer is responsible for a specific function
● Each layer handles its own task independently - using layers breaks the process down into
manageable self-contained modules (decomposition)
● Layers communicate/accept input with the layers directly above and below
● There is an interface between the adjacent layers which is the only interaction between layers -
interactions are carried out by installed software
● Data is added to the headers as the frames/packets pass through the layers
● The stacked model makes the network easier to design, update, and troubleshoot
● Makes communication modular and efficient
● Allows different technologies to work together using standardised rules
● E.g. TCP/IP protocol stack
TCP/IP protocol stack/suite:
● Application layer
● Transport layer
● Internet (network) layer
● Link layer
Application layer:
● Interacts directly with the user/user software applications e.g. web browser, email client
● Defines the protocols that any application uses to allow the exchange of data - prepares data for
transmission over the network by converting it into a format that can be sent and received over
the network (known as encapsulation)
● Provides mechanisms for securing communication e.g. encryption/authentication
● Error detection and recovery mechanisms to handle application specific errors
● Sends data to the transport layer - allows applications to access the services used in other layers
, Hypertext Transfer Protocol (HTTP/HTTPS):
● Allow for communication between clients/servers (networked devices) for sending and receiving
webpages/hypertext/hypermedia documents (client/server protocol)
○ Allows clients to receive data from the web server by sending request messages
○ and send data to the server (e.g. submitting a form, uploading a file)
● Makes use of hyperlinks (rules for the transferring of data over the internet)
● HTTP protocols define the format of the messages sent and received
● The web browser (which is part of the application layer) initiates the web page request and also
converts HTML into a format which can be displayed on the user’s screen
● HTTPS works in the same way as HTTP but with an added layer of security
○ All data sent and received using HTTPS is encrypted
○ Important to protect sensitive information e.g. bank details, personal data
File Transfer Protocol (FTP):
● Network protocol used for sending/receiving files between computers/devices (to transfer files
from one location to another/from a server to a client over a network)
● FTP offers greater efficiency/support for bulk transfers and large files such as resuming
interrupted transfers
● FTP clients - software applications that use FTP to make the process easier for users
● FTP server - where the files, which can be downloaded as required by a user, are stored
● Session would be started by typing in the ftp hostname (of the remote system), followed by a
user id and password
● Can use ftp commands (e.g. delete, close, rename, cd, lcd) to carry out actions that can change
files stored on the ftp server
● Anonymous ftp - allows user to access files without needing to identify who they are to ftp server
Simple Mail Transfer Protocol (SMTP):
● Push protocol for uploading/sending emails from the computer to the mail server, and between
mail servers (using the Internet)
● Text-based only protocol - doesn’t handle binary files (contain media/images) - this requires a
multi-purpose internet mail extension (MIME) header is at the beginning of the transmission
Post Office Protocol (POP3):
● Pull protocol for receiving/downloading/retrieving emails to a device from an email server
● Does not keep the client and server in synchronisation - once an email is copied to the computer/
client, it is removed from the email server and not further updates
● Advantages:
○ Frees up storage space on email servers
○ Faster on slow connections
● Disadvantages:
○ Can only access emails from the device they're downloaded to, since emails deleted on
the server once downloaded (so cannot access them from other devices)