Networking and the Internet (8&9) Revision of Week 7 » » » » Message/Queuing model for distributing function Data Transfers (Coope, chapter 10) Local and Wide area networking Network structure – the Seven-layer model Focus of week 8 and self-study week 9 » » » » » » Data transmission (Willis, chapter 12) Modulation; Media used (Coope, chapter 13) Network types (Willis, chapter 13; Coope, chapter 14) Relieving Bottlenecks Communication protocols (Willis, ch.14; Coope, ch.15) Workshop for Assignment due Thursday May 6th BS2911 Week 8 1 Data Transmission Issues Don’t be too scared of past exams » We’ll be revising the material covered Computer Networks » Concept of packet-switching » Rôle of a router LAN technologies: Ethernet » What is a collision? What’s the consequence? WAN technologies: modems versus digital circuits » How long does it take to receive 1MB down a 50kbps line? Network structure – the Seven-layer model » Conceptually, each layer talks directly to its peer » Physically, it talks only to adjacent layer(s) » Vital to building any heterogeneous network BS2911 Week 8 2 Links to Real Life There’s very little technology unique to data networks, so think about the products you use » How does a Discman handle shocks? – Technical aspects: Buffering, error detection, retransmission » What are quality issues with a mobile phone? – Multiplexing, signal/noise ratio, compression » Why does AM radio sound so grotty? – Noise, attenuation, bandwidth » How does FreeView put multiple programmes on a channel; why is movement sometimes jerky? – Multiplexing, “lossy” compression, buffering We’ll cover all these technologies and see how they apply to data transmission BS2911 Week 8 3 Network Types Point to Point Broadcast Cell-phones Routed (Switched) Local Area Network Direct Meshed Switched local Circuit switched Message Switched Packet Switched PSTN Connectionless Virtual Circuit www IP telephony Willis covers the taxonomy of networks well, though the top of p.230 needs heavy concentration BS2911 Week 8 4 Issues of Switched Networks What type of switching is performed? » See chart above How is the route worked out? » Fixed routing » Adaptive routing; central or distributed What about congestion? » Caused by: – Excessive traffic – Failure of components » Impact varies with technology – e.g. Ethernet collisions run away at high utilization Why? » Remedies include Flow control and priorities BS2911 Week 8 5 Blurring the Boundaries Multi-protocol Networks » Useful for sending SNA over TCP/IP networks » Use virtual circuits over IP to transmit another protocol » Usually a hardware box that manages the virtual circuit and envelopes the “alien” protocol (most ADSL modems do this) Virtual Private Networks » Usually connecting private domains over public Internet, without traffic flow to addresses outside private domains » Private gateways establish virtual circuit, and wrap packets from the private area before transmitting » Generally encrypted to prevent eavesdropping en route Voice over IP » Establish virtual circuit on demand, for digital voice flows BS2911 Week 8 6 Relieving Bottlenecks Speed of a system is often determined by slowest link Example: » » » » Web Server running on fast mainframe or Unix system High-speed connection to Internet Browser running on a fast PC Dialling up an Internet Service Provider Why is it slow? Approach: start by isolating the cause of delay » Are other Servers slow from the same environment? » Is our connection running at the expected speed? » What are we waiting for? BS2911 Week 8 7 Possible Bottlenecks PC running the browser – not usually a problem unless there’s heavy Java usage Connection to ISP » Is it actually slow at all? – a 100KB picture should take 16-20 seconds to come down a high-speed dial-up line » Line faults can cause error correction and slow running » Is data compression turned off? (it’s a modem option) Server connection » They may have a 2Mbps line, but that’s only 20kbps each on average if the line is shared between 100 active users The Server itself » Some actions (like CGI scripts) burn up resources » 1000 users at 1 interaction per minute, with each using 5 files, is 87 transactions/second BS2911 Week 8 8 Business Implications Know your audience: » Don’t send unnecessary graphics over dial-up lines » Allow browsers to re-use cached data www.peagreen.co.uk (most .asp sites do not do this) » Avoid excessive demands on browser (functional or Java) » Listen to user feedback – www.gioiajewellery.com did » boo.com ignored all these points and went out of business! Manage everything you can – especially at peak times » Performance measurements on the server – CPU, memory, disk access, error handling » Measure traffic on company network and delay it adds » Traffic measurements on Internet connections » Simulation of expected user behaviour BS2911 Week 8 9 Networking Summary from last time All modern networking is Packet-switched Application sends messages to network software » Messages wrapped in headers indicating destination » Each message becomes one or more packets » Packets passed to software layer or link as needed (may require adding more wrapping to the data) Significant LAN technology is Ethernet » Throw data on the bus, detect collisions, retransmit » Usually 100Mbps (formerly 10Mbps, 1Gbps now common) » LANs based on hubs, switches or routers Wide-area connections usually via the Internet, accessed on leased lines, ADSL or dial-up BS2911 Week 8 10 Communication Protocols A vital part of communication that is not the message » » » » Attracting attention Handshaking Turn-taking Body language – Acknowledgement (e.g. nod) – Failure to acknowledge (blank look) » Interruptions – Request to repeat Humans are very adaptive Computers need more formal protocols BS2911 Week 8 11 Example of a Protocol [Transmits] [Receives] Brrrp Brrrp Hello It’s Fred here, may I speak to Mildred? Hi Fred, this is Mildred [conversation continues] …and the number you wanted is 854 321 Too fast for me; did you say 845 321? No, 8 5 4, 3 2 1 OK, got it Would you read that back to me? 854 321 Fine, that’s all I needed. Good bye Goodbye [Hangs up] [Hangs up] BS2911 Week 8 12 Underlying Protocols » Brrrp Brrrp Session pending » Hello Session confirmation It’s Fred here, may I speak to Mildred? » Hi Fred, this is Mildred Handshaking ….. …and the number you wanted is 854 321 » Too fast for me; did you say 845 321? Negative ack No, 8 5 4, 3 2 1 Retransmission » OK, got it Acknowledgement Would you read that back to me? Error checking » 854 321 Fine, that’s all I needed. Good bye Ack. Sign off » Goodbye Session termination BS2911 Week 8 13 Time-out Protocol » Brrrp Brrrp » [ng, boink] session established It’s Fred here, may I speak to Mildred? » [click…….. Buzzz] IT’S FRED, IS MILDRED THERE? » [… sizzle handshake failed ….] Timeout I can’t hear you; can you hear me? Retry » [not a sausage] Timeout Maybe you can hear me, but I’m not getting anything; I’ll hang up and try again in a minute session abandoned BS2911 Week 8 14 Formal Protocols Error Control (assuming we can recognize errors) » ACKs and NAKs depending on results of error checks Sequence Control » Putting packets back together into a message Flow Control » Request to sender to slow down (or speed up) Time-out Control » How to deal with absence of responses Direction Control » Turning round a half-duplex link (“over”) Start-up Control » Establishing a connection BS2911 Week 8 15 Error Detection and Correction In any transmission, it’s possible to lose bits » Error rate usually measured as “1 bit in 106” or similar » Errors may be random or clustered For example, a drop-out on a tape can hit a group of bits Parity checks let us detect single-bit errors » It doesn’t let us correct the error » But we could always ask to have the data sent again Parity is just one form of redundancy » If we sent everything three times and took a vote, we’d be pretty sure the data had arrived OK! » In the real world, we go for smallest effective redundancy To validate an entire block, we can count the on bits in each position and transmit the count modulo something » Combined with parity, lets us correct a single bit error BS2911 Week 8 16 Cyclic Redundancy Checks A form of block checking, creating totals for each block » Simplest form is linear bit-count, modulo some power of 2 » Better methods use polynomials to generate a check-sum » Algorithms chosen to be easy to implement in hardware ITU (CCITT) standard version uses 16-bit sum to detect: » » » » all single and double errors all errors with odd number of bits burst errors up to 16 bits 99.998% of 18-bit and longer bursts CRC not confined to transmission, also common in: » Tape and disk drives » Detecting human errors such as in transcription – your credit card number includes a CRC component BS2911 Week 8 17 Assignment Workshop Remember to do the problem as set: » Develop a web site, and hand in a backup of it on USB stick – Site doesn’t have to be large, but will have multiple pages » Provide brief documentation, including – Summary of what you set out to achieve; – Review what you discovered during research & development – Reflection on how you developed your site, how well you feel you’ve achieved your targets, what you would like to change or develop further, and what you’ve learnt along the way. Marking: » 2/3 of marks are for quality of the site that you produce, including accuracy of coding and the logic of site design » Other third is for the supporting documentation, including your reflection on the key parts of the task BS2911 Week 8 18 Publishing Your Site Following a copyright abuse problem some years back, the University no longer encourages students to publish on its web-site, but your ISP will probably provide facilities Wherever you publish, the usual default file for the home page is index.html or index.htm But I wish to be able to mark it on a USB stick » Proves that the site is portable (so test it away from the computer you developed it on) » Ensures we get the stick back to use again » Ask if you need me to mark it on a real web-server (for example if you user server-side functions) BS2911 Week 8 19 Independent Study in Week 9 – Work out Why Ethernet collisions “run away” when the load grows too large » Would you expect to be OK at higher utilizations if there were just one client using the server? » Find out what an “Ethernet switch” is and how it can help What is “Wired Equivalent Privacy” on a wireless LAN? Why is WPA better? Why does a 50KB jpeg picture take longer to transmit through a modem than a 50KB Word document? Read up on VoIP » There’s been a fair bit of coverage in IT Week and other trade magazines BS2911 Week 8 20