TCP/IP

From TRCCompSci - AQA Computer Science
Revision as of 18:58, 21 May 2017 by Admin (talk | contribs) (Ports)
Jump to: navigation, search

What is a protocol

A protocol is a set of rules, using protocols will allow 2 devices using the same protocol to communicate effectively. Many protocols are used, but they all perform a specific task.

TCPIP Stack

Application layer

Transport layer

Network layer

Link layer

Ports

An addressable location on a network that links to a process or application. A port number is a way to identify a specific process to which an Internet or other network message is to be forwarded when it arrives at a server. The port number is a 16 bit integer, The well-known ports cover the range of possible port numbers from 0 through 1023. The registered ports are numbered from 1024 through 49151. The remaining ports, referred to as dynamic ports or private ports, are numbered from 49152 through 65535.

Why we need them

When an application communicates over a certain port, it expects a specific type of connection with another system or application. Specifying port numbers ensure two systems communicate correctly. While it is possible for two systems to communicate over any given port, it can cause interference if other data is being transmitted on the same port. The application will also listen to the port for incoming data.

Well known port numbers

Well Known port numbers are important because if everyone sticks to the numbers you can connect without any issues. If you change the port number of your webserver to 85 for example, nobody would be able to connect unless they knew to use 85 instead of 80.

The common port numbers are:

  • 21 FTP
  • 22 SSH
  • 23 Telnet
  • 25 SMTP
  • 80 HTTP
  • 110 POP3
  • 443 HTTPS

Socket

A socket is an endpoint in a communication, it identifies an application and device. It is the IP address with a Port number, so this would be a socket:

192.168.1.150 : 80

Where as, this is just an IP:

192.168.1.150

Protocols

The most common are:

HTTP

Hyper Text Transfer Protocol, most often found at the beginning of URLs, is used to transfer an user to a web address that is specified via the domain. This uses port 80,

HTTPS

A verified, secure version of HTTP. This ensures the user that the website they are on is safe and well protected. This uses port 443.

FTP

File Transfer Protocol. This allows you to download / upload files to a server, for example you would upload your websites pages to your webserver using FTP. FTP uses port 21.

SSH

Secure Shell protocol. This protocol allows remote access to a computer, this could be used to perform admin tasks on a server. You will only have command line access to the computer. SSH is also designed for operating securely over an unsecure network. SSH uses port 22, this was deliberately chosen because it was created to potentially use instead of Telnet or FTP.

TELNET

Allows a user to log into a remote computer over the interlinking network. Similar to but predates SSH. Telnet uses port 23.

POP3

Post Office Protocol, version 3. Used to receive incoming emails from an email server. This uses port 110.

SMTP

Simple Mail Transfer Protocol. This is used to send emails, it uses port 25.