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 clientUse : 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 emailUse : 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 emailUse : 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 serverUse : 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:
- Bit torrent software made available
- A computer joins a swarm by using this to load a torrent descriptor file
- A server called tracker keeps record of all the computer in the swarm
… and shares their IP addresses allow them to be connected - One computer of the swarm must have full copy of the file to be downloaded
- Torrent is split into small files
- Pieces of torrent are both downloaded and uploaded
- Rare pieces are given priority in download
- Once a computer have downloaded a full copy it becomes a seed
- Leech downloads more than they uploads
—
- Create small file called torrent: contains meta data about the file to be stored
- The actual file is broken up into equal segments known as pieces
- Others first obtains the torrent, then connect to the tracker (A central server that contains data about all computers connected to it)
- 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
- 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.