TCP/ IP Stack & Data Flow
State the purpose of TCP / IP Protocol.
Enables communication across the internet between different devices.
State from top-down the layers of TCP / IP Protocol.
ApplicationTransportNetworkLink
State the purpose of the Application Layer when sending data across the internet.
Interact with the user, using application software (e.g. web browser) and select the correct protocol to use.
State the purpose of the Transport Layer when sending data across the internet.
Establishes a virtual pathThen splits the transmission into equal sized packets. Assigns packages a sequence number and port number.
State the purpose of the Network Layer when sending data across the internet.
Provides the correct source and destination IP addresses, The routers within the network layer, use these to send each packet to its destination.
State the purpose of the Link Layer when sending data across the internet.
Controls the physical connections between hardware in the network. Add MAC addresses to packets, which change from each "hop" through the network.
Define virtual path.
An end-to-end connection between the sender and the recipient.
Describe what the port number assigned to each packet on the transport layer signifies.
Used to identify which protocol is in use.
Describe how data is received through the TCP / IP Stack.
- Link layer removed MAC addresses.
- Network Layer removes IP addresses.
- Transport layer ensures that packages are in correct sequence.
- Transport layer uses the port number to route the packet to the appropriate application.
- Application Layer receives packets and displays information to the user.
Common Protocols
What is the port(s) for FTP?
20 & 21
What is the port for SSH?
22
What is the port for HTTP?
80
What is the port for HTTPS?
443
What is the port(s) for POP3?
110 & 995
What is the port(s) for SMTP?
25, 587 & 465
What is the purpose of FTP?
Sending files between devices on a network, anonymously or with a login & passwordThere is an FTP sever and many clients
What is the purpose of SSH?
makes a TCP connectionremote management of computers, provides command line accessrequires username & password for securityand provides encryption
What is the purpose of HTTP and HTTPS?
- Web servers deliver content to clients with HTTP or HTTPS.
- Clients render HTML files.
- Only HTTPS encrypts the information and prevents unauthorised or unintended modification during transmission.
What is the purpose of POP3?
Post-Office-Protocol 3 retrieves emails from an email server. It works by checking for new messages and downloads them on the client.
What is the purpose of SMTP?
Used for sending emails, to and between email servers.
Managing IP Addresses
State the two component parts of an IP address.
The first part is network identifierThe second part host identifier
State the purpose of the subnet mask.
Identify which part of the IP address is the network identifier. Identify if the IP address is within the same network or outside of our network.
Explain how you would use the subnet mask.
- Convert the subnet mask to binary.
- There are 19 ""1""s → so the network identifier part is 19 bits.
- Then subnet mask and IP addresses is ANDed bitwise.
- 01101011.00111000.01011110.01101111
- 11111111.11111111.11100000.00000000
- 01101011.00111000.01000000.000000000
E.g. 255.255.255.244.0 → 11111111.11111111.11100000.00000000
107.56.94.111 → 01101011.00111000.01011110.01101111
State the purpose of subnetting.
Dividing a large organisation into a small subnetworks can improve speed, stability, reduce network traffic and collision frequency.
Explain how subnetting is implemented on the IP address.
Host identifier made longer, split into subnet identifier and host identifierNetwork identifier made a few bits shorter.
Describe the structural differences between IPv4 standard and IPv6.
IPv4 = dotted quad numbers = 192.168.43.7IPv6 = eight blocks of 4 hexadecimal characters, separated by colons = 2071:0eb8:85a3:8a2f:0000:0000:0370:7264
Explain why IPv6 was introduced when IPv4 already existed.
4 parts (quad), each 8 bits = 4*8 = 32IPv4 = 32 bits = 2^32 unique addresses8 parts (blocks), each 16 bits = 8*`6 = 128IPv6 = 128 bits = 2^128 unique addresses.
IoT and increasing number of connected devices reduce supply of unique IPv4 addresses
What problem does the routable (public) non-routable (private) IP address split solve?
Unique IP addresses are in short supply, so each site is given a few or one routable (public) IP addresses While each device within the network is given its own non-routable private IP address.
Describe the difference between routable (public) IP addresses and non-routable (private) IP addresses.
Only public IP addresses are globally unique. Public IP addresses are assigned to sites by global authorities, ensuring no address is issued twice
State the purpose of DHCP.
Ensures that the limited number of private IP addresses is never reached. So that devices which join once and never again do not take up unique addresses.
Explain how DHCP works
Dynamic Host Configuration Protocol assigns each device its own private IP address from a pool of available IP addresses for the duration of its sessionWhen a device disconnects its IP address returns to the pool.
Describe the process of NAT when sending messages.
As the packet leaves the private network the router makes a record of the packet's private sender IP and replaces it with the sides routable IP.
Describe the process of NAT when receiving responses.
Router receives response at the public routable IP, uses the record previously made to forward the response packets to the device at the correct private IP.
State the purpose of NAT.
Network Address Translation enables one device with only a private IP address to communicate with another similar device across the internet.
State the purpose of port forwarding.
Enables communication between a client and a sever on a private network with a non-routable IP.
Explain how port forwarding works.
The clients sends messages to the public IP belonging the servers private network. The port number on the packets is used by router of the private network to forward it to the correct server computer via NAT.
Developing Web Apps
Describe the client-server model.
- A client computer sends request messages to server computers.
- Server computers reply with response messages.
- Each server is specialised in one task (file server, database server, web server, email server).
Define API.
An Application Programming Interface is a set of protocols relating to how different applications may communicate with each other. Standard definitions allows applications to make use of other applications.
Explain the purpose web socket protocol.
Provides a constant stream of information between two devices (client web browser, and server).
Explain how the web socket protocol works.
The API, operates on the application layer of the TCP /IP where it establishes a full-duplex connection, for bidirectional transmission.
State 1 advantage and 1 disadvantage of the web socket protocol over TCP.
- Data transmission is fast, because there are smaller packet headers.
- Data packets are frequently lost and must be retransmitted, as only TCP has error checking functions.
State three uses of the web socket protocol.
- Video streaming.
- Online real-time-multiplier games.
- Instant messaging.
For each CRUD command, state the SQL equivalent.
- Create → INSERT
- Retrieve → SELECT
- Update → UPDATE
- Delete → Delete
State the four HTTP request methods used within the REST design methodology.
POST, GET, PUT and DELETE.
For each HTTP verb, state the SQL equivalent.
- POST → INSERT
- GET → SELECT
- PUT → UPDATE
- DELETE → DELETE
Explain the process of making a HTTP request
- Client makes HTTP request to web server.
- Web server responds with HTML web page.
- Browser displays web page.
- JavaScript calls API, which uses the REST methodology to make a HTTP request to the database server using a HTTP verb.
- Database server responds with XML or JSON formatted data.
- JavaScript processes XML or JSON to display information on web page.
State the advantages of JSON compared to XML.
- More compact.
- Easier to read - less markup.
- Easier to create - fewer characters.
- Dictionary implementation, makes it faster to process.
State the advantages of XML compared to JSON.
- More flexible.
- More extensible.
Thin & Thick Client Networks
Define thin-client networks.
Majority of networks processing power is at server computer, while clients are far less powerful.
Define thick-client networks.
Each client pc is powerful enough to provide for its owns processing and storage needs.
State the advantages of thin-client networks over thick-client networks.
- Cheap to add new clients.
- Easier to add new clients.
- Greater security possible through centralisation of management.
State the advantages of thick-client networks over thin-client networks.
- Network hardware is expensive to set up.
- Cost and expertise of maintenance is drastically lower.
- Lower volumes of traffic, lower likelihood of collisions.
State the disadvantages of thin-client networks over thick-client networks.
- Server pcs may be much more expensive than the combined total of a few thick clients.
- There is cost to hiring experts to manage, maintain and setup a thin-client network.
- Higher volumes of traffic, so higher likelihood of collisions.
State the disadvantages of thick-client networks over thin-client networks.
Harder to maintains as there is no centralisation of updates, security and backup.