Revision Document - Digital Solutions External PDF

Summary

This document provides an overview of digital solutions, including topics such as hashing, encryption, data compression, and network transmission principles. It explains the concepts and provides examples for each topic. The document focuses on fundamental networking topics.

Full Transcript

**Revision document -- digital solutions external** Hashing - Used for data security - Uses mathematical functions to produce a fixed length digest known as a hashsum/checksum - Appends salt so that the same original message will produce a new hashsum - One-way cryptographic alg...

**Revision document -- digital solutions external** Hashing - Used for data security - Uses mathematical functions to produce a fixed length digest known as a hashsum/checksum - Appends salt so that the same original message will produce a new hashsum - One-way cryptographic algorithm that cannot be decoded - Example: used in the storage of passwords -- hashsum is irreversible and therefore passwords cannot be manipulation (benefit against encryption) Encryption - Uses key for encryption/decryption - Can be decrypted and go back to original form - Example: used for text transfer where the receiver must decode it in order ot view the original message Data compression - Reduction in the number of bits need to represent data - Example: save storage capacity, speed up file transfer, decrease costs for storage hardware Checksums: - A digit representing the sum of all correct digits - Used to ensure data integrity - Example: used in TCP/IP model. TCP uses checksums to ensure data integrity when transmitted through HTTPS network protocol. If there is no confirmation sent from receiver, data is re-transmitted **Network transmission principles:** Timeliness of delivery: measured by counting the number of packets that arrive after a pre-determined deadline. This is dependent on the BANDWIDTH and LATENCY. Bandwidth: maximum transmission capacity of the device aka the most data that can be downloaded at once. Latency: the delay from transmission of the data to the destination arrival time -- vital for good gaming experience Jitter: the variance in the delay between requesting and receiving data Quality of service: set of guidelines to prioritise some packets of data over others How bandwidth, latency, and jitter affects these things: Bandwidth Latency Jitter --------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Timeliness of delivery Higher bandwidth decreases timeliness of delivery Lower latency decreases the timeliness of delivery Higher jitter increases the latency which in turn increases the timeliness of delivery Video and audio streaming Bandwidth is a major factor in streaming. Lower bandwidth increases buffering and worsens the quality of visuals -- only applicable for the one streaming the content Latency is important when you are the one broadcasting a stream. It causes delay between streamer doing something and when the viewer sees it. Higher latency makes the stream more out of sync and more confusing Video chat Lower bandwidth worsens the quality of the visuals Higher latency means more sync issues and freezing Web browsing Lower bandwidth increases the load times for pages in web browsers Higher latency may mean the page will appear empty for a long time and suddenly all the content appears Latency Affects latency because its dependent on the traffic flow and may cause packets arrive out of order. More traffic means more out of order packets which requires more re-ordering of packets, increasing latency as a result **Network transmission protocols:** +-----------------------------------+-----------------------------------+ | HTTP -- hypertext transfer | HTTPS -- hypertext transfer | | protocol | protocol secure | +===================================+===================================+ | Both responsible for the | | | presentation of web pages. HTTP | | | was updated and an S was added | | | for an extra layer of protection | | | and security during data | | | transmission on the internet | | +-----------------------------------+-----------------------------------+ | - Transfers data as text | - Establishes secure connection | | | | | - Offers no encryption or | TLS: protocol responsible for | | authentication | sending encrypted messages across | | | networks. Uses RSA, an asymmetric | | - Easily interpreted | encryption algorithm to ensure | | | data security during | | | transmission. | | | | | | TCP/IP model: 2 layers | | | | | | 1. Data layer (TCP) uses | | | checksums to ensure data | | | integrity. Uses additional | | | error-checking mechanisms to | | | ensure no packets were lost, | | | corrupted, or arrived out of | | | order. If there is no | | | confirmation sent be receiver | | | in a timely manner, the data | | | is re-submitted. TCP | | | emphasises the reliability of | | | data over the latency | | | | | | 2. Location layer (IP) makes | | | sure the data arrives to the | | | correct device/serve. IP | | | addresses each server/device | | | uniquely based on their | | | geographical location | +-----------------------------------+-----------------------------------+ HTTP: - Main protocol of the internet - Stateless and asynchronous - Types of HTTP messages are request and response - HTTP request is sent from source to the destination. Instructions are carried out and the HTTP response is sent back with the results - Eg. HTTP request can be to GET data at a particular web server address the response is a success code with the HTML for the webpage with that address - Used to display a webpage UDP and TCP: both describe how to split data into packets and send those packets to their destination. UDP emphasises low latency over reliability of data, as it is a lightweight data transport protocol with one error-checking mechanism to handle corrupt packets (using checksums). TCP is the upgraded version of UDP, and although it may be slower, it is much more reliable, as it handles corrupt, lost, and out of order packets. Internet protocol (IP) describes the internet addressing scheme and the internet routing strategy. All computing devices that exchange data on the internet follow rules of IP. Data exchange from computer A to computer B: 1. Computer A splits data into packets 2. Does 3-way handshake with computer B to establish connection, sending each packet to nearest router 3. If it detects packet loss, it re-sends the missing packets **More protocols:** VPN: makes a generated IP address, different to the actual one and establishes an encrypted connection for data transmission, ensuring the location of the receiver is not intercepted or viewed. DNS: translates web domain names (URLs) into IP addresses, used by web pages/servers at the beginning of data transfers. FTP: used to upload/download larger files like images. SMTP: used to transfer emails, requires authentication. **Routers' process within data transmission:** 1. Computer stores destination IP address in IP packet header and send the packet to the nearest router 2. The router looks at the IP address and decides where to send the packet next based on a lookup table 3. The next router does the same thing until the packet eventually reaches the destination **OSI Model:** +-----------------------+-----------------------+-----------------------+ | Layer | Steps of data | Where it's used | | | transfer within layer | | +=======================+=======================+=======================+ | 1. Physical layer: | - Data serialised | Ethernet, wireless | | converts data | into bits and | connection | | into electric or | each bit is sent | | | analogue pulses | one at a time | | | | | | | | - Each bit travels | | | | through physical | | | | cable/airwaves | | +-----------------------+-----------------------+-----------------------+ | 2. Datalink layer: | - Nearest connected | Mac address | | sends data from | device collects | | | one network | bits, checking | | | adapter to | each byte (8 | | | another | bits) has arrived | | | | safely, using | | | | checksums | | | | | | | | - Sends to next | | | | nearest device | | +-----------------------+-----------------------+-----------------------+ | 3. Network layer: | - At some points, | IP address | | routes data from | router inspects | | | point A to B in | data packet to | | | local network | find next nearest | | | | device to | | | | transmit it to | | | | | | | | - Continues until | | | | all packets | | | | arrive at | | | | intended location | | +-----------------------+-----------------------+-----------------------+ | 4. Transport layer: | - As each packet | TCP, UDP | | error-correction | arrives, it is | | | and transmission | checked for | | | across networks | corruption using | | | | checksums | | | | | | | | - When | | | | corrupted/lost, | | | | replacement | | | | packet requested | | | | | | | | - Packets are | | | | buffered in as | | | | they wait for the | | | | rest of the | | | | packets to arrive | | | | | | | | - When all the | | | | packets are | | | | received, they | | | | are reassembled | | | | in the correct | | | | order | | +-----------------------+-----------------------+-----------------------+ | 5. Session layer: | - If required by | SOCKS, RPC | | authentication | security | | | and data exchange | protocols, data | | | across networks | integrity and | | | | authenticity is | | | | checked | | +-----------------------+-----------------------+-----------------------+ | 6. Presentation | - Data package | JSON, XML, PNG, HTML | | layer: | converted to | | | encryption, data | appropriate | | | compression and | format for device | | | converting data | | | | to standard | - If its been | | | format for device | encrypted for | | | | secure | | | | transmission, | | | | must be decrypted | | | | now | | +-----------------------+-----------------------+-----------------------+ | 7. Application | - Data is then | HTTP, SOAP, REST, FTP | | layer: supports | process by the | | | exchange of | application | | | information over | | | | network or | | | | internet | | | +-----------------------+-----------------------+-----------------------+ **Data exchange: transmission of data between systems, crucial for seamless communication and integration** REST: - Architectural style for application program that uses HTTP request to access and use data - Relies on statelessness communication: each request is independent of one another, so there is no session history - HTTP requests: POST, GET, PUT, PATCH, DELETE - Benefits: - Good for its simplicity, scalability, and compatibility with most web protocols - Returns data in various formats, most commonly parsed in JSON or XML - Easier to work with - Works better with data and offers faster parsing - Better performance, as it uses caching of information that is not altered/dynamic - Protocol for most main web browsers - Faster and uses less bandwidth - Can integrate easily into existing websites, so programmers do not have to code applications from scratch with REST SOAP: - Used in place of REST for higher security and reliability - Only parses XML AJAX: - Used in conjunction with REST or SOAP - Creates automated updates on a web page by using JavaScript event handlers to process HTTP response and display the HTTP response on the webpage without having to reload the browser JSON vs XML: Both: human-readable (does not require prior coding experience to understand), hierarchal (there are values within values), parsed and used by many programming languages JSON: - Represented as key-value pairs within curly braces - Arrays enclosed in square brackets - Popular for web applications and APIs -- used within REST for exchanging data between client and server - Can be parse with standard JS functions - Effective method of exchange XML: - Represented in tree structure with nested tags that allow for hierarchal data display - Tree structure is very organised, as users can collapse elements using some web browsers - You can put metadata in the form of the tags attribute - XML has to be parsed with XML parser

Use Quizgecko on...
Browser
Browser