internet architecture and protocol
TRANSCRIPT
Internet Architecture and Protocol
Hayder Al-Ghanimi
University of Babylon College of Information Technology
Department of Software
Protocols and layering
• Network protocols and software
• Layered protocol suites
• The OSI 7 layer model
• Common network design issues and solutions
What is a protocol
• A protocol is an agreement on how to communicate
• Includes – Syntax: how a communication is specified &
structured • Format, order messages are sent and received
• Semantics: what a communication means – Actions taken when transmitting, receiving, or when a
timer expires
– Timing: when and how long
Examples of Protocols in Human Interactions
• Telephone 1. (Pick up / open up the phone.) 2. Listen for a dial tone / see that you have service. 3. Dial. 4. Should hear ringing … 5. Callee: “Hello?” 6. Caller: “Hi, it’s Hayder….” Or: “Hi, it’s me” (¬ what’s that about?) 7. Caller: “Hey, do you think … blah blah blah …” pause 8. Callee: “Yeah, blah blah blah …” pause 9. Caller: Bye 10. Callee: Bye 11. Hang up
Examples of Protocols in Human Interactions
• Asking a question
1. Raise your hand.
2. Wait to be called on.
3. Or: wait for speaker to pause and vocalize
The need for protocols
• Basic communication hardware can transfer bits from one place to another
• Communication software provides a convenient high level interface for application programmers – do not have to deal directly with hardware
– can run over different hardware
• A set of rules for exchanging messages is a network protocol
Protocol suites
• Rather than having a single huge protocol, protocols tend to be structured as suites of specific protocols
– design and testing is easier
– extension and updating is easier
– selection and combination becomes possible
Layering
• The most common approach to designing protocol suites
• Each layer deals with a different level of abstraction and communicates with the layers above and below
Example - the OSI 7 layer model
• ISO model for standardising all networks
• Now 20 years old and woefully out of date
• Probably too complex
• However, still provides useful terminology and a good general example of layering
The 7 OSI layers
Conceptual path of data
Commercially available stacks
Multiple nested headers
• Each layer places information in a header before passing a packet to a lower layer and removes it before passing it to an upper layer
Layering principle
• Layer N software on the destination computer must receive exactly the message sent by layer N software on the sending computer
Common networking issues
• Sequencing for out-of-order delivery
• Sequencing to remove duplicate packets
• Re-transmitting lost packets
• Avoiding replay caused by excessive delay
• Flow control to prevent data overrun
• Mechanisms to avoid network congestion
Sequencing for out-of-order delivery
• Connectionless network with dynamic routing may deliver packets out of order
• Transport protocols solve this with sequencing • Each packet is given a sequence number • The receiver notes the number of the last
packet that arrived in sequence and stores additional out of order packets
• The packets are delivered in sequence to the next layer up
Sequencing to reject duplicates
• Malfunctioning hardware can produce multiple copies of a packet
• Sequence numbers allow duplicates to be detected and discarded
Re-transmitting lost packets
• Packet loss is a fundamental problem due to transmission errors
• One approach to reliable transmission involves positive acknowledgements – sender transmits and starts a timer
– receiver receives and acknowledges
– on time-out the sender transmits again
– the receiver must watch out for duplicates
Avoiding replay caused by delay
• A duplicate packet might turn up in a later session (e.g., if it was queued in a switch for a long time)
• May be confused with a packet from the later session that uses the same sequence number
• Solution is to include a session identifier in the packet
Flow control to prevent overrun
• Data overrun occurs when the sender sends faster than the receiver can receive
• Simple solution is to acknowledge each packet before sending the next (“stop and go”)
• However, this can be wasteful of bandwidth
Sliding window protocols
• Sender and receiver agree a window size (number of packets)
• Initially a whole window is sent
• After that, each packet is acknowledged and then another can be sent
Congestion
• Congestion arises due to too much traffic and/or bottlenecks in the network
• Limited storage in switches means that packets get dropped
Dealing with congestion
• Detecting congestion
– switches can inform senders
– packet loss can be used as a measure of congestion
OSI Model in Details
This is the second part of this lecture
• The model • Functions of the layers
7OSI
[ 1] PHYSICAL LAYER This is the second part of this lecture
Physical
Session
Transport
Network
Data Link
Presentation
Application
Goals of Physical Layer
• Service: move information between two systems connected by a physical link
• Interface: specifies how to send and receive bits
• Protocol: coding scheme used to represent a bit, voltage levels, duration of a bit
• Examples: coaxial cable, optical fiber links; transmitters, receivers
Goals of this lecture for Physical
• Explain how electric current can be used to transmit bits over short distances
• Present a popular mechanism (RS-232) for sending characters this way
• Introduce notions of baud rate and bandwidth
Asynchronous communication
• Where the receiver does not know when the sender will transmit – transmit when data is ready
– variable delays between transmissions
– no sender-receiver coordination beforehand
• E.g., keyboard connected to a computer
• Technically, the electrical signal does not contain information about where individual bits begin and end
Using electric current to send bits
• Use a wire to create a circuit between the sender and receiver
• Negative voltage on the wire could represent a 1 and positive a 0
• Waveform diagram shows variable delay
The RS-232 standard
• To connect keyboards, terminals etc. to computers over copper wire
• Is concerned with 7-bit characters
• Electrical details (voltages)
• Serial communication
• Asynchronous (for each character)
RS-232 continued
• Never leaves 0 volts on the wire - an idle line is the same as a 1 bit
• Sender and receiver agree how long a bit lasts - receiver uses a local timer
• A 0 start bit signifies the start of a character and is followed by 7 data bits
• A minimum gap of 1 bit between characters (a phantom stop bit of 1)
Example RS-232 waveform
Baud rate
• Transmission hardware is rated in baud - the number of signals that are generated per second
• The baud rate need not be the same as the bit rate, it depends on how many levels of signal are used
• With RS-232 they are the same
Agreeing the Baud rate
• Sender and receiver agree on length of time each bit is held => maximum number of bits per second (e.g., 300, 9600, 19200)
• RS-232 may often have a configurable baud rate (manually or by software)
Framing errors
• Might occur if the sender and receiver are set to different baud rates
• Receiver samples the signal several times for each bit to check for differences (framing errors)
• Used by the break key to send an abort signal
Full duplex communication
• Two wires required to carry information in one direction (return is a ground)
• Full duplex is two way communication and needs 3 wires - ground is shared
Hardware bandwidth
• Hardware cannot change signals instantly => maximum speed at which bits can be sent
• Bandwidth - maximum frequency of signal that a transmission medium can carry
• Measured in cycles per sec = Hertz (Hz)
• Every system (electronic and biological) has a limited bandwidth
Bitrate, Baudrate and Bandwidth
• Bitrate – how many bits per second are being sent
• Baudrate – how many signals per second are used to send those bits
• Bandwidth – the number of signals per second that a medium can accommodate