In a desperate last attempt to help me revise my first year course, I'm going to publish rewritten notes to help someone revise Computer Science topics – this first post will be about Internet Communications. Sorry that I'm deviating away from the usual blog theme of my website!
There are many different areas to look at when thinking of Internet Communications. In this revision page, I will go through the following:
- Quality of Service
- Layer system of protocol
1. Quality of Service (QoS)
Following is a rough list of network services that computing can achieve.
- Shared Resources
- Storage
- Programs
- Databases
- Printing
- File transfer
- Email and instant messaging
- World-wide-web access (through 'The internet' or an Intranet)
- E-commerce
- Voice and/or video transfer
- Peer-to-peer services
- Scatter-gather networks (Bittorrent and others)
Quality of Service is measured using the following metrics:
- Throughput
- The overall speed of data transfer, taking into account all protocols and losses. - Delay
- The time taken for the first bit to arrice and its destination. - Bandwidth
- In modern terms means an amalgamation of throughput and delay.
- High bandwidth -> High throughput, Low delay
- Low bandwidth -> Low throughput, High delay. - Jitter
- The variation in delay between packets/frames. - Packet loss
- Defined as the probability that a given packet will never reach its intended destination. - Error rate
- The proportion of arrived bits with error
- Can be burst errors, or random errrors - Availability
- Measured in % uptime - Maintainability
- How easy are faults to repair when things fail? - Security
- What do you want to protect your data against? - Cost
- The overall cost of using and maintaining the network
A high-definition, wide-screen, full motion video has:
- 1366 x 768 pixels per frame
- 24 bit of colour per pixel
- 100 frames per second
If the video is transferred without compression, we need a throughput of no less than 2.5 Gbps!
2. Layer system of protocols
To aid maintainability and logical thinking, the internet protocol is broken down into 'layers'. Lowest to highest.
- "Transfer of bits" — Physical layer (most important)
- Voltage, sampling, wireless etc. The physical voltages and currents of electronic bits. - "Perfect data delivery" — Data link layer
- Error correction, repeat requests, CRC etc… - "Choosing the route" — Network layer
- Path control & routing, addressing scheme, IPv4/6, segmentation & reassembly of frames - "Reliable end-to-end delivery" — Transport layer
- Further error, flow and sequence control - "Right program" — Application addressing layer
- Achieved through ports, ie. (182.16.10.30) :80 – http, :21 – ftp, :6842 – msn etc… - "Make it useful to the user" — Application layer
- User interface, web browser, email client, applications