Chapter 14: Communication and Internet technologies


Protocols

A set of rules governing communication across a network - the rules agreed by both the sender and the recipient

Communication protocol definition:

  • Sets of rules
  • for successful transmission and receipt of data

Why communication protocol is necessary:

  • All data is sent and received using the same rules and format
  • Allows communication between devices operating on different platforms
  • The communication is independent of the software and hardware used
  • --
  • Provide a set of standards for transmission of data
  • … that gives a known/accepted set of rules for transmitting and receiving of data
  • This enables communication/compatibility between devices from different manufacturer/platform

Protocol implementation[^explanation]

Application layer
Transport layer
Internet layer
Network (access) layer

[^explanation]: There are lots of different names for each layer, but this is from 2022 specimen paper, making it more authentic.

Protocol stack

For a protocol suite the protocols can be viewed as layers within a protocol stack. There are a number of aspects relating to this concept.

  • Each layer can only accept input from the next higher layer or the next lower layer
  • There is a defined interface between adjacent layers which constitutes the only interaction allowed between layers.
  • A layer is serviced by the actions of lower layers.
  • With the possible exception of the lowest layer the function of a layer is created by installed software
  • A layer may comprise sub-layers.
  • Any user interaction will take place using protocols associated with the highest level layer in the stack.
  • Any direct access to hardware is confined to the lowest layer in the stack.

State how each layer of stack is implemented

  • Software/module/program/code

TCP/IP protocol suite

Describe the TCP/IP protocol suite:

  • A layered model with four layers
  • Uses a set of protocols for transmission of data
  • Transport control protocol with Internet protocol
  • Application layer, transport layer, internet layer, network (access) layer
Layer: Description:
Application layer Handles access to services
Define protocol used
Manage data exchange

Transport layer Handles the forwarding of packets
Where TCP takes place
Regulate the network connection
Data broken up into packets, then sent to internet layer
Internet layer Handles the transmission of data
Routing
IP addressing
--
Routes the packets around the network
Adds to the IP header a source/destination address for each header
Encapsulates data into datagram
Passes datagram to network access layer
Defines the addressing mode: subnetting, NAT
Network (access) layer Handles how data is physically sent
Encapsulates IP packets into frames for transmission
Ensure correct protocol is followed

Protocols

Protocol Purpose & Use Description
HTTP(Hyper text transfer protocol) Purpose:Transfer webpages / hypertext from server to client
Use: Browsing website
This is the protocol responsible for correct transfer of files that makes up web pages on the world wide web
Client/server protocol
Define the format of messages sent and received
SMTP(Simple mail transfer protocol) purpose: Protocol for sending email
Use: Used by mail servers to forward email messages to another mail sever
Email client sends email to email server
Text-based: if contain image, video, music – then use multipurpose internet mail extension(MIME) protocol
Email is transferred from one server to another server
Email client sends email to email server
POP3/4(Post office protocol) purpose: Mail is held for you by a remote server until you download it // download email
Use: To receive email
Pull protocols
Does not keep the server and client in synchronization; when emails are downloaded by the client, they are then deleted from the server which means it is not further updated.
IMAP(internet message access protocol) Purpose: downloading email // storing/organising emails on a remote server
Use: To receive email
More recent than POP3/4
Keeps the server and client in synchronization; only a copy of the email is downloaded with the original remaining on the server until the client mutually deletes it
FTP(file transfer protocol) Purpose: Used for interactive file transfer;
To directly transfer data between two computers over the internet
Use: Upload and download files over the internet
Anonymous ftp:
Allow user to access files
User does not need to identify themselves to the server
ftp commands
User can send instructions
That are carried out on the server
ftp server
Central computer
Stores files that are to be downloaded

BitTorrent Protocol

Purpose: Protocol for peer-to-peer file sharing

Use: Decentralized distribution of data

Properties:

  • Based on peer-to-peer networking concept
  • Allow fast sharing of files between computers
  • Allow many computers to share files

Description:

  1. Bit torrent software made available
  2. A computer joins a swarm by using this to load a torrent descriptor file
  3. A server called tracker keeps record of all the computer in the swarm
    … and shares their IP addresses allow them to be connected
  4. One computer of the swarm must have full copy of the file to be downloaded
  5. Torrent is split into small files
  6. Pieces of torrent are both downloaded and uploaded
  7. Rare pieces are given priority in download
  8. Once a computer have downloaded a full copy it becomes a seed
  9. Leech downloads more than they uploads

  1. Create small file called torrent: contains meta data about the file to be stored
  2. The actual file is broken up into equal segments known as pieces
  3. Others first obtains the torrent, then connect to the tracker (A central server that contains data about all computers connected to it)
  4. As each peer receives a piece of file, they then become the source for that piece of file. Other peers connected to the tracker will therefore know where to find the file they need
  5. Once the peer has downloaded the file completely and make the file available to the swarm, they become a seed. The more seeds in the swarm, the faster the download process.

Terms:

  • Swarm: A group of peers connected together
    • All the connected shared computers
    • That have all or other parts of the file to be downloaded
    • Share a torrent
  • Seed: A peer has downloaded a file and has then made it available to others in the swarm
    • Peer computer that has 100% of the file
    • It uploading the downloaded content
  • Tracker:
    • This is the central server that stores details about other computers that make up the swarm
    • It will store details about all the peers uploading/downloading the file
    • Allowing the peers to locate each other using the stored IP address
    • It will share information on request from members in the swarm
    • It will provide information on which members in the swarm have copies of which files or which part of files
  • Leech - A peer that has negative impact on the swarm by having a poor sharing ratio
  • Lurker - A peer that downloads many files but does not make available any new content for the community as a whole

Circuit switching & Packet switching

Circuit switching Packet Switching
Features 1. A dedicated circuit is established at the start of the communication
2. Between the sender and the receiver
3. All data are transmitted along the same route
4. This lasts for the duration of the call
5. Then the circuit is removed

1. Set up for the duration of conversation
2. Set up before communication starts
3. Maintained throughout the communication
4. All data travel down the same route
5. Dropped at the end of the conversation
6. Complete bandwidth used
- A circuit does not has to be established at the start of the communication
- Data to be sent are divided into packets
- That can travel along different routes
- From node to node 
- The packets are reassembled at the correct order at the receiver’s end
- Must wait until last packet is received to put data back together

- A large message is divided up into a group of smaller chunks of same size
- The packet has a header and a payload
- The header contains a source IP address, destination IP address, and sequence number
- Each packet is dispatched independently
- And may travel along different routes
- The packets may arrive out of order
- And are reassembled into the original message at the destination
- If packets are missing, a retransmission request is sent
Pros - Reduced latency
- There are little delay in sending and receiving data once the circuit is established
- … because error checking is not required
- Circuit made available is dedicated to this communication stream

- Two way real-time conversation
- Better synchronization
- Full bandwidth available

Explain why company uses circuit switching to make voice calls
- A dedicated circuit is established
- Can use the whole bandwidth
- Two way real-time conversation
- No delay as no switching
- Data arrive in the order sent
- Accuracy: allow accurate deliver of messages
- Completeness: the missing packets can be easily detected and resend request sent so message arrive complete
- Resilience: if the network changes, the the router can detect this and send data another way to ensure it arrives
- Paths are also available to others; allow simultaneous use of channel; doesn’t use the whole bandwidth
- Better security as packets hashed and sent along different routes
- Packets can take the least congested route

- Packets can be rerouted if there are problems
- Packets can take the least congested route
- Transmission errors can be detected
- Missing/corrupt packets can be resent

Explain why company uses packet switching to send and receive other types of data
- Asynchronous communication
- Allows for error checking
- Real time transmission is not required
- Smaller amount of data is sent, so able to share bandwidth
- Doesn’t matter if data arrives out of order
Cons - Bandwidth not available to others
- Need extra time before communication to set up the circuit
- Alternative route not available without restarting the conversation
- Less secure, as easy to intercept data (only one route)
- Failure of single route means failure of transmission

- Not very flexible
- Nobody else can use the circuit/channel even when it is idle
- The circuit is always there whether or not it is used
- If there’s a fault, no alternative
- Dedicated channel require greater bandwidth
- Time to establish a link can be long
- Time delay to correct errors / network problems may introduce errors in packets
- Require complex protocol
- Unsuitable for real-time transmission application

- --
- packets can be dropped/delayed
- The protocols for packets switching can be more complex than those for circuit switching if a packet is lost
- The sender must resend the packet, waste time
- Do not work well with real time data stream
- The circuit/channel has to share its bandwidth with other packets
- There is a delay at the destination while packets are reassembled
- Needs large amount of RAM to handle the large amount of data.

State problems that could arise if video conferencing were to use packet switching
- Picture and sound not synchronized
- Interruptions/video not continuous
- Can be degraded by other computing traffic
Applications - Public telephone networks
- Private telephone networks
- Private data networks
- Video conferencing / live stream
Questions The TCP/IP protocol is used to send an email message from one node on a LAN to a node on different LAN. State the steps that take place when the email message is sent and received.
- Message is split into packets
- Each packet is a fixed size
- Each packet is given a header
- … including the destination IP address, sequence number
- Packets are forwarded from one LAN to another LAN
- Packets may take different routes
- Missing packets are requested to be resent
- Packets are reassembled in order at the destination

Packet header

Purpose:

  • To store data about the header
  • and its routing // to ensure it reaches the correct destination
  • to ensure the packet can be correctly constructed

Examples:

  • IP address of the sender/ receiver
  • ID of the packet
  • Packet length
  • Checksum
  • Protocol used
  • Synchronization data
  • Number of packets the message consists of
  • Type of service
  • IP version number
  • Fragmentation flags
  • Fragmentation offsets

Router

Function of router in packet switching:

  • The router examines the packet header
  • It reads the IP address of the destination
  • A router has access to a routing table
    • Containing information about: eg: available hops/netmask/gateway used
    • And the status of the routes along the route
    • The router decides the next hop/next route
    • And sends the packets to the next hop

Routing table:

  • Network ID // network destination
  • Routing data to decide best route
  • IP address of next hop/gateway
  • Interface

Explain the role of routers in sending an email from one email server to another

  • A router is a node in the Internet
  • A router will receive a packet that is in the process of transmission
  • A router has data stored regarding the routers that are within its vicinity
  • A router can access this data to make a choice of which router to send the packet to next
  • The destination IP address in the packet also guides this choice
  • Some of the data stored relates to the amount of traffic using a particular network link
  • Different packets heading to the same destination will not necessarily be directed along the same link from the router.