TCP/IP Protocols in the Internet

Definitions

Server: A software process that provides a service requested by a client.

Client: A software process that requests a service provided by a server.

Server-Client Model: A client initiates a request for a service from a server and the server responds to that request

Protocols: A protocol defines the rules for succesful communication between two devices on a network. The protocol decides signals,  codes and rules for the transmission.

Port: A port is an element added to an address to identify which process to pass data through.

Socket: A sockets is the combination of a port and an ip address.

TCP/IP (Transport Control Protocol/Internet Protocol)

These protocols are used together on the internet and are usually found within a four layer protocol stack. Protocols are usually designed in layers, with each layer handling something different, this is called a network protocol stack.

The four layered stack that runs when data is transfered accross the internet is this:

  1. Application Layer: This layer is in charge of encoding the data so that it is in an understandable format for the reciever.
  2. Transport Layer: This layer splits the data into chunks (packets). This layer will also deal with lost packets.
  3. Network Layer: This layer will add the IP address of the recipitent to the packets, it will also deal with the routing of packets (Packet Switching).
  4. Link Layer: This layer will add the mac address of the devices sent too and from to the packets.

Servers

Servers are universally known port numbers reserved for specific functions. Below is some of the well known port numbers and the processes their corrosponding servers carry out.

Port  Server
 20 FTP, Data
 21  FTP, Control
80 & 8080  Web Server
 25  SMTP
 100  PoP3
 23 TelNet

 

 

How a Domain Name is Returned as an IP

How a Domain Name is Returned as an IP

Domain Names were created so that users could easily access and navigate between websites without having to remember all the IP addresses for them. Whenever you access a website by inputting a domain name into the address bar of a browser, the corrosponding IP for that address will be retrieved. The following process outlines how this happens.

When you type a domain name into your browser address bar, such as google.com, a query will be sent to retrieve the IP address.

Use the featured image above to help you understand!

  1. The first server that your query encounters is the RR (Recursive Resolver), which is hosted by your ISP (Internet Service Provider).
  2. The RR will send the query to the Root DNS server, which holds all the information about Top Level Domain (TLD) servers.
  3. The query will then find its way to the correct TLD server, in this case for google.com it will be the .com TLD server. The server will then send you the IP of the hosting server in which google.com is located.
  4. Next your query will be sent to the DNS server hosting the domain and the IP will be returned to the RR.
  5. Finally the RR returns the IP address to the browser on your computer and then your browser can send a request to the IP to retrieve the websites content.

The query in this example would be “What is the IP address for the website domain google.com”.


This Website was very useful in helping me understand the process.

The Stored Program Concept

The Stored Program Concept

Three main features of the concept:

  1. Programs/Instructions and data are stored in the main memory.
  2. Programs/Instructions are fetched and then executed in sequence.
  3. A program/instructions can be replaced by loading another program/instructions into main memory.

Types of architecture:

  1. Von Nuemann
    •  Stores instructions and data in main memory and uses the same data and address bus to fetch each.
    • image040
  2. Harvard
    • Uses separate data stores for instructions and data and uses separate data and address buses to connect the two to the processor.
    • image043
  3. Micro controller (Embedded Computer)
    • A micro controller is a chip that includes the processor, memory and IO. A common example is an MP3 player.

Types of Program Translators

Types of Program Translators

Generations of code

In order of generation, types of code:

  1. Machine code (Object code)
  2. Assembly code
  3. High Level Language (Source code)
  4. Declaration Language (SQL)

Translators

The role of the translator is to take program code/source code and to translate it into machine code.

  • Assembler (Assembly code to machine code)
  • Compiler (Source code to machine code)
    • A compiler takes whole source code and translates it into object code
    • Compiled code executes quicker
    • Produces an executable file
  • Interpreter (Source code to machine code)
    • An interpreter translates a programs source code line-by-line
    • Interpreters are slower than running compiled code
    • Source code is required for the program to be interpreted

Situations translators are used

Compiler

  • So that source code cannot be accessed by user
  • When the program is to be distributed as an executible
  • Where speed of execution is important

Interpreter

  • To allow execution on a wide range of processors
  • When prototyping and testing code
  • When no compiler yet exists for the processor

 

Setting up a Website

Setting up a Website

Steps to follow

  1. Register the domain with an internet registrar.
  2. IP address linked to domain name with a DNS.
  3. Webpage written in HTML.
  4. CSS to control layout and presentation.
  5. FTP set to run on port 20/21.
  6. Upload the website to the hosting server through FTP.
  7. Search engine optimization (SEO) to allow user to easily find site.

Things to consider

  1. Security of the website and server
  2. Geographical location of the hosting server in comparison to the clients accessing the websites location.

Fetch-Execute Cycle

Fetch-Execute Cycle

This is the simplified version of the fetch-execute cycle outlining everything you would need to know for the A-Level computing exam.

Parts of the cycle

  • PC – Program Counter
  • MAR – Memory Address Register
  • MDR – Memory Data Register (MBR -Memory Buffer Register)
  • CIR – Current Instruction Register
  • SR – Status Register
  • ACC – Accumulator
  • CU – Control Unit

Fetch

This part of the cycle is illustrated above in an easy to understand diagram.

  1. The address location from the PC is fetched and copied into the MAR
  2. The contents of the memory location from the MAR is copied to the MDR
  3. The MDR is copied to the CIR
  4. The PC is incremented by 1
  5. The SR is checked for interuptions

Decode

  1. The instruction found in the CIR is interpreted by the decoder. (Decoded by the CPU’s CU)

Execute

  1. The instruction is split into Opcode and a operand.
  2. The address location from the instruction in the CIR is moved to the MAR
  3. The contents of the memory address location in the MAR is moved to the MDR
  4. The results of the computation stored in the MDR are moved to the ACC (Depends on the type of instruction, e.g. LOAD, ADD, STORE).
  5. SR is updated.

The cycle then repeats itself until there are no more instructions.