Title: Computer Networks
1Computer Networks
2Generic Types of Computer Networks
- Depending on the number of nodes and their
proximity, three types of computer networks can
be identified - Local area network (LAN) It connects hundreds of
computers, and the distance is up to a few
kilometers. - Metropolitan area network (MAN) It connects
thousands of computers in a metropolitan area
within a distance of hundreds of kilometers. - Wide area network (WAN) It connects tens of
thousands of computers distributed throughout a
country or the world at a typical distance of
thousands of kilometers.
3Network Architecture (Layering)
- To reduce their design complexity, most networks
are organized as a series of layers, i.e.,
network protocols are designed in terms of
layered architecture (layering). - The major advantage of layering is that it
clearly delineates the responsibilities of
various protocols, by dividing responsibilities
hierarchically among layers, with each layer
offering services needed by the layer above. - The key to protocol families is that
communication occurs logically at the same layer
of the protocol in both sender and receiver, but
it is implemented via services of the lower level
(peer-to-peer).
4Layering Contd.
- The danger in layering is the considerable
latency added to message delivery. However,
protocol families are used to define a standard,
not to force how the standard is implemented. - The most popular network architectures are OSI
architecture and TCP/IP (transmission control
protocol/internet protocol) architecture. - Application
- Presentation Application
- Session Transport
- Transport Network
- Network DataLink
- Data Link Physical
- Physical
- OSI Layers TCP/IP Layers
5(No Transcript)
6OSI reference model
- 7 Application
Application 7 - 6 Presentation
Presentation 6 - 5 Session
Session 5 - 4 Transport
Transport 4 - 3 Network 3 3 3
Network 3 - 2 Data Link 2 2 2 Data
Link 2 - 1 Physical 1 1 1
Physical 1 - Host A
Host B - The common purpose of layers 4-7 is to provide
interoperability all the system elements can
exchange data regardless of the vendor of the
equipment (open system). - Connectivity is provided in the layers 1-3 of the
model, which provides a working connection
between the sender and receiver, i.e., the
ability to move data anywhere in the network,
regardless of the transmission technology or
medium.
7OSI Application layer
- This layer's responsibility is to interface the
user application with the rest of the layers in
the model. The Application layer is also
responsible for providing an API (Application
Programming Interface) to the user applications
so the programmers who write code for the user
interface don't have to worry about the
implementation details of the interface. This
means that the Application layer takes the
responsibility of the networking details away
from the user application so the user application
does not have to know anything about the
underlying implementation of the network. Some
examples of user applications are file transfer
services, printing services, e-mail services,
network management consoles, client-server
processes, and so on.
8OSI Presentation layer.
- This layer's responsibility is to provide
encoding standards for the network. The
Presentation layer is also responsible for
negotiating between the Application layer and the
rest of the protocol stack. It provides a
standard encoding streamer for the Application
layer so that communication between the
Application layer and the rest of the protocol
stack is standardized across different operating
environments. In other words, the Presentation
layer provides translation and conversion
functions to successfully transfer data to the
underlying protocol stack. As an example, if the
Application layer of a PC sends information in
ASCII format, the Presentation layer is
responsible for formatting the information in the
standard network type. This standard network
type, which is generic for the underlying
protocol stack across different operating
environments, would be transferred without
further conversion. At the receiving end, it is
again the Presentation layer's responsibility to
convert the generic network format to a format
that the receiving application can understand.
Data encryption and decryption can also take
place at the Presentation layer.
9OSI Session layer.
- This layer's responsibility is to provide a
communication channel between hosts. It provides
a definition for managing the individual network
channels, also called sessions, between two
hosts. The Session layer is responsible for
establishing a session between the hosts, as well
as maintaining and ending the session. Some
examples of the Session layer protocol are RPC
(Remote Procedure Call), AppleTalk, and NFS
(Network File System).
10OSI Transport layer.
- This layer's responsibility is to control the
transmission of data on the network. In other
words, it provides flow control mechanisms to
ensure data integrity between the nodes. The flow
control mechanism acknowledges the receipt of
every segment from the sending host and the
proper sequencing of the segments. If the sender
does not receive an acknowledgement from the
recipient, the flow control mechanism at the
sender's end is responsible for resending the
segment. On the whole, the Transport layer's
responsibility is to segment the data received
from the Session layer and forward it to the
Network layer. In addition, the Transport layer
receives segmented data from the Network layer to
reassemble the segments to forward them to the
Session layer. The Transport layer is also
responsible for establishing a logical connection
between the destination node and the source node.
Some examples of the Transport layer are TCP and
UDP (User Datagram Protocol).
11OSI Network layer.
- This layer's responsibility is to ensure the
addressing of the hosts. It also ensures the
routing of information between hosts across
networks. In other words, the Network layer
handles all of the transmission and traffic
management among hosts. It also provides address
resolution for the segments forwarded by the Data
Link layer.
12OSI Data Link layer.
- This layer's responsibility is to define how data
is accessed from a physical medium. It provides a
mechanism to format the information presented
from a physical medium so the information can be
passed to the Network layer. The information
presented from a physical medium can be in the
form of bits. The Data Link layer collates this
information and formats it into frames. A frame
is a unit of information that contains the
destination address, the source address, an error
checksum, and the data itself. The Data Link
layer is also responsible for converting the
information obtained from the Network layer into
bits to forward it to the Physical layer. In
addition, the Data Link layer is responsible for
ensuring that the messages traversing the network
reach the appropriate physical devices. This is
possible because the Data Link layer manages the
unique identity of the physical device on the
network. It uses the concept of hardware
addressing (MAC address) to identify a physical
device. Some examples of the Data Link layer
protocol are ARP (Address Resolution Protocol)
and RARP (Reverse Address Resolution Protocol).
13OSI Physical layer.
- This layer's responsibility is to manage the
hardware details of sending and receiving binary
data over a physical channel. The physical
channel is typically made up of wires such as
twisted-pair and fiber optic cables. It can also
be made up of wireless media such as infrared or
radio waves. In general, the Physical layer
provides a specification for interfacing with a
physical channel based on the electrical and
mechanical functions of the medium. The
connectors at the Physical layer have different
topologies defined for different network designs.
Topologies are the structures in which you set up
your network. Some examples are the star
topology, the ring topology, and the bus
topology. One example of the Physical layer is
the Ethernet standard, which is the network
protocol that defines how different devices on
the network communicate with each other over the
Physical layer.
14TCP/IP reference model
- 5 layers
- Application layer. This layer's responsibility is
to provide a common interface for any user
application to communicate with the underlying
layers. In other words, the Application layer is
responsible for providing an interface between
the user application and the network.
- Transport layer. This layer's responsibility is
to control the flow of data between two
communicating hosts. The Transport layer is
responsible for breaking down data into packets
and sending and receiving them from the Network
layer. - Network layer. This layer's responsibility is to
route packets across the network. It is also
responsible for some message control and group
management. - Link layer. This layer's responsibility is to
handle the hardware-related details of the
system. In other words, the Link layer is
responsible for interfacing the operating system
to the network interface card within the computer.
15TCP/IP enabled communica
16Internetwork communication
17Homework
- Compare OSI and TCP/IP model
18LAN Components
- 3 general characteristics
- A diameter of not more than a few kilometers.
- A total data rate of at least several Mbps.
- Completely ownership by a single organization.
- The medium in LAN is usually a twisted pairs of
copper wires, or coaxial cable, or fiber optics.
It may also be wireless transmission. - Hardware in LAN includes network interface cards
(NICs), servers, communication devices. - NIC connects a machine to LAN.
- Server provides service to other machines.
- Communication devices include repeaters, bridges,
routers, and gateways etc..
19LAN components
- Repeaters copy individual bits between cable
segments. - Bridges connect LANs together.
- Routers or gateways connect LANs to WANs or WANs
to WANs and resolve incompatible addressing.
LAN server
Repeater
Host
Other LAN
Router
Bridge
To WAN router
20LAN Communication Concepts
- In LAN, network control is distributed among the
devices on the network, it resides in the NIC
firmware in each machine. - LAN communication may be connectionless or
connection-oriented. - Connectionless messages (datagrams) are sent with
the expectation that they will be received
correctly. There is no acknowledgment of correct
receipt. A higher layer must ask for
retransmission if the message is received
incorrectly. - Connection-oriented communications include the
acknowledgment of message as correct before they
are passed on to the recipient.
21Comm. Concepts contd.
- LANs have five major communications
characteristics - Medium the means by which data is sent.
- Transmission technique In baseband technique,
the LAN signal is carried directly on the medium
in broadband system, the LAN signal is modulated
on to an analog carrier signal, which allows
several LANs to share the same medium. - Network topology the layout of the cabling.
- Access control method contention (Ethernet) and
token passing (token ring) for shared medium. - Data Rate the raw ability to transfer
information in megabits per second.
22Comm. Concepts contd.
- In LANs, the machines can be connected by shared
medium or switched (point-to-point) medium. - Shared medium Multiple computers share a single
interconnection medium (Ethernet). - Switched medium It allows communication directly
from source to destination, without intermediate
nodes to interfere with these signals.
23WAN
- Wide area networks (WANs) carry message at a
lower speed between computers that are separated
by large distance. - Many WANs and LANs can be combined to produce a
single internetwork a communication system that
interconnects large collections of geographically
dispersed computers. - The computers interconnected by a WAN are called
host computers. The communication medium is a set
of communication circuits linking a set of
dedicated computers called packet switches or
packet switching exchanges (PSEs). - The OSI layer architecture, TCP/IP layer
architecture, or other layer architectures can be
used in building WANs.
24WAN
- In WANs (packet networks), a message is divided
into packets before transmission and the packets
are reassembled at the receiving computer
(transport layer). A packet consists of a header
and a data field. The header contains a transport
address composed of the network address of a host
and a port number. - The PSEs operate the network by forwarding
packets from one PSE to another along a route
from sender to the recipient. PSEs are
responsible for defining the route (network
layer).
25WAN
- Every packet of data is stored temporarily by
each PSE along its route before it is forwarded
to another PSE (store-and-forward communication).
The routing operations introduce a delay at each
point in the route, and the total transmission
time for a message depends on the route it
follows. - Two types of data transport service can be
provided connection-oriented -- a virtual
connection is set up between a sending and a
receiving process and is used for the
transmission of a stream of data connectionless
individual messages (datagrams) are transmitted
to specified destinations.
26Intranet
12
15
87
19
10
DATA
87
T2
10
A
SW2
LAN
LAN
SW1
LAN
LAN
SW3
D
27Internet
A
D
S1
S3
A
S2
F2
LAN
F1
LAN
S1
WAN
F1
F3
F2
F1
LAN
F2
LAN
S3
D
28Introduction to DLL
- Receives service from physical layer and provides
service to the network layer. - Receives service from network layer and provides
service to physical layer. - Responsible for carrying data from one hop to the
next hop.
12
15
87
19
10
DATA
87
T2
10
29Duties
bridge
15
87
12
19
Duties of DLL
packetinzing
Error control
Access control
Addressing
Flow control
Frame or cell
MAC or VC
Prevent conflict or collision
CRC
DLL is for point to point, or node to node on a
common link LAN and WAN operate in DLL
30IEEE standards
- 802 project
- LLC (logical Link Control)
- MAC (Media Access Control)
- 802.3CSMA/CD
- 802.4 TOKEN BUS
- 802.5 TOKEN RING
- 802.6 DQDB
- 802.11 WIRELESS LAN
MAC
DLL
LLC
PHYSICAL LAYER
PHYSICAL LAYER
INTERNET
IEEE
31Design issues
- How to perform the duties stated in the last
slide? - DL can be designed to offer various services. 3
main responsibilities - Unacknowledged Connectionless service.
- Acknowledged connectionless service.
- Connection oriented service.
32Connection oriented service
- A connection is established before the data is
sent. Each frame sent is numbered, and DL
guarantees that the frame is indeed received.
Each frame is received only once and in right
order. - Transfers have 3 distinct phases.
- Connection establishes by initializing variables
and counters needed to keep track of frames
received. - One or more frames are transmitted
- Connection released by freeing variables, buffers
and other resources to maintain the connection.
33Framing
- Packetizing. Hand over the frame to physical
layer. Or create frames from raw data received
from physical layer. - Breaks up bit streams into discrete frames and
compute checksums for each frame. - Frame gap in addition to this
- Character count rarely used now
- Starting and ending character with character
stuffing - Start, end flags with bit stuffing
- Physical layer coding violation
34- Problem with character count
- count character may be corrupted.
- Character delimiter
- ASCII character sequence used as frame delimiter
- When delimiter appears in the data consecutive
delimiter character is used as a escape sequence. - Suitable for 8-bit character and ASCII code
transfer.
35- Start, end flags with bit stuffing
- Start bit pattern 01111110
- If there are consecutive 5 1s on the data, DLL
automatically stuff a 0 bit after the consecutive
5 1s in the outgoing bit pattern. Receiver remove
this 0 bit after the consecutive 5 1s. - Use different encoding for data and frame
separator. - Manchester encoding represent 1 by H-L and 0 by
L-H. H-H and L-L are not used for data. One can
use H-H-L-L as frame delimiter.
36Error control
- Need feedback for sending frames.
- Waiting time for feedback timer.
- Retransmit if frame or the acknow is lost.
- Potential danger to retransmitting.
- Use sequence number to each outgoing frame.
- Whole issue is of managing timers and sequence
numbers so as to ensure that each frame is
ultimately passes to the NL at the destination
exactly once.
37Flow control
- How does a recv handle the situation when a
sender sends frames faster than it can receive. - Sender need feedback from recv to control its
frame rate.
38Access control
39Elementary data link protocolsFlow control
protocols
40- Physical, data link and Network layers are
independent. Uses message to communi. - Connection oriented, reliable channel.
- Infinite supply of data.
- No processing delay.
- Simplex mode.
- DL waits for a packet form NL. When and if DL
recv a pack from NL, it encapsulates it into a
frame adding some control bits (header), and then
handed over to physical layer. Transmitting HW
appends checksum bits and then transmits frame on
the cable. - DL in rcvr waits for a frame from physical layer.
DL may wait in an infinite loop or for an
interrupt from physical layer. Recv HW recv a
frame and computes the checksum. If checksum is
ok frame is recvd undamaged and passed to DL. DL
checks if the destination matches with its own
id. If everything is ok, DL drops the frame
header and passed the packet to NL.
41Definitions
- const LastBit . determines the pkt size
- doomsday false repeat forever
- MaxSeq . Highest Seq 2n -1
- type bit 0..1
- SequenceNr 0 .. MaxSeq
- packet packed array 0 .. LastBit of
bit - FrameKind (data, ack, nak)
- Frame packed record
- kind FrameKind
- seq SequenceNr
- ack SequenceNr
- info packet
- end
42Definitions contd.
- procedure wait (var event EvType)
- begin wait for an event to happen return its
type in event end. - procedure FromNL(var p packet)
- begin Fetch info from NL for transmission end
- procedure ToNL(p packet)
- begin delivers info from inbound frame to NL
end - procedure FromPhysL(var r frame)
- begin get an frame from PhysL and copy it to r
end - procedure ToPhysL(s frame)
- begin pass the frame s to PhysL for
transmission end - procedure StartTimer(k SequencNr)
- begin start the clock and enable TimeOut event
end
43Definitions contd.
- procedure StopTimer(kSequenceNr)
- begin Stop the clock and disable TimeOut event
end - procedure StartAckTimer
- begin Start aux timer for sending separate acks
end - procedure StopAcktimer
- begin Stop aux timer and disable NLIdle event
end - procedure EnableNL
- begin allows NL to cause a NLReady event end
- procedure DisableNL
- begin Forbids NL from causing a NLReady event
end - procedure inc(var k SequenceNr)
- begin increment k circularly end
44Unrestricted simplex protocol
- Assumptions Data trans in one direction only.
Channel error free. No processing delay. Infinite
buffer space. - Sender DL protocol
- type EvType (FrameArival)
- procedure sender1
- var s frame
- buffer packet
- begin
- repeat
- FromNL (buffer)
- s.info buffer
- ToPhysL(s)
- until doomsday
- end
45- Receiver end DL
- procedure receiver1
- Var r frame
- event EvType
- begin
- repeat
- wait(event)
- FromPhysL(r)
- ToNL(r.info)
- until doomsday
- end
46Simplex wait-and-Stop protocol
- The main problem we have to deal with is how to
prevent sender from flooding the recevr with data
faster than it can handle. - Assumption recev has limited buffer, needs time
to process frames. Needs mechanism to control the
rate of frame-flow from sender. - If the recvr requires a time t to execute
FromPhysLToNL, the sender must transmit at an
average rate less than one frame per t time.
Moreover, recvr HW my not have automatic buffer
and queuing. - Recvr sends a dummy frame as the feedback gt Ack.
- Sender wait for Ackn before it sending the next
frame. - A half-duplex physical channel is sufficient here.
47- type Evtype (FrameArrival)
- procedure sender2
- var sframe
- buffer packet
- event EvType
- begin
- repeat
- FromNL(buffer)
- s.info buffer
- ToPhysL(s)
- wait(event)
- until doomsday
- end
procedure receiver2 var s,r frame event
EvType begin repeat wait(event) FromPhysL(r
) ToNL(r.info) ToPhysL(s) until
doomsday end
48Stop and Wait protocol for Noise channel
- Sending device keeps a copy of the last frame
transmitted until it recvs an ack for that frame. - Both data frames and ack frames are numbered
alternatively 0 and 1. A data 0 frame is ack by
an ACK 1 frame, indicating that it has recved
data frame 0 and expecting data frame 1. - If the recvr detects an error in the recevd
frame, it simply discard the frame and send no
ack. If the recvr recives a frame out of order,
it knows that a frame is lost. It discards the
out-of order recvd frame. - Sender has control variable S, that holds the
number iof the recently sent frame (0 or 1). The
rcvr has a control variable, R, that holds the
number of the next frame expected (0 or 1). - The sender starts a timer when it sends a frame.
If an ack is not received within timeout period,
the sender assumes that the frame is lost and
resends it. - Rcvr sends only positive ack for frames received
safely. Ack number always defines the next frame
expected.
49Operation Normal
Data 0
S0
R0
Ack 1
S1
Data 1
R1
Ack 0
time
50Lost frame
- A receiver remains silent and keeps it value of
R. - After the time out interval at the sender ends,
sender sends another copy of the frame.
51Lost Acknowledgement
- If the sender receives a damaged Ack, it discards
it. - When the timeout for Ack is over sender
retransmits the frame. - However, receiver discards the duplicate frame
and sends the Ack again.
52Delayed Ack
- Ack is received by the sender after the timeout
for ack 0. The sender already retransmitted a
copy of the frame 0. - Since receiver expects the frame 1, it simply
discards the duplicate frame 0 and sends ack 1.
53Piggybacking
- Bidirectional transmission.
- Piggybacking combines data frame with
acknowledgment
54Sliding window protocols
- To improve efficiency multiple frames
(outstanding frame) are sent - Go back N
- Selective repeat
- Frames are numbered sequentially from 0 to 2N-1.
If N is 3, frames are 0,1,2,3,4,5,6,7,0,1,2,3,4,5
,6,7,0,1,2,3,.. - Sliding window concept is used to hold the
outstanding frame.
Senders sliding window
55Receivers 1 bit sliding window
- Always 1 bit window.
- Hold outstanding frame the frame to be received
next.
56Control variables
- S seq.no of recently sent frame.
- SF seq. no of the first frame in the window.
- SL Last frame in the window.
- R seq no of the frame it expects to receive.
57Acknowledgement
- If a frame is damaged or is received out of
order, the recv is silent and will discard all
subsequent frames. - The silence of the recv. cause the timer of the
unacknowledged frame in the sender to expire.
Then sender go back to send all frames, beginning
with the unacknowledged one.
58Go back N normal operation
59Lost or damaged frame
60Sender window size
- Window size must be less than 2m.
- Otherwise recv can recv erroneous packet.
- Piggybacking is possible to implement
bidirectional transmission. - Q Explain the problem that can result in if the
window size is larger than or equal to 2m.
61Selective repeat
- In noisy channel Go back N protocol is
inefficient. Retransmission is high. - Selective repeat protocol does no sent N frames
only the damaged frame is retransmitted. - Sender and receiver window size must be less than
or equal to 2m/2. - Use Nack to report damaged frame.
3 0 1 2 3 0 1
3 0 1 2 3 0 1
Frame acknowledged
Frames waiting to be sent
Frames received acknolgd
Frames that cannot be accepted
RF
RL
SF
S
SL
Sender window
Receiver window
62Selective repeat operation
- Frame 0 and 1 are received bcoz they are in the
range at the receiver. - When frame 3 is received, it is also accepted,
however, receiver sends nack for 2. - Sender then sends only frame 2.
- Try yourself what happes for lost and delayed
acks and nacks??
63Explain that the size of sender and receiver
window must be at most one-half of 2m.
64HDLC configuration and Transfer modes
HDLC High level data link control. Half-duplex
and full-duplex. Provides 2 common modes of
transmission
NRM Normal Response mode
One primary many secondary. Secondary can only
responds. Primary can send commands. Used for
both p2p and multipoint.
ABM Asynchronous balanced mode
P2p. Each station can function as a primary and
secondary.
65HDLC frame format
Flag
Flag
- Three types of frame
- I frames Information frames used to transport
user data control info relating to data. - S frames Supervisory frames used to transport
only control information. - U frames Unnumbered frames for system
management. - Bit oriented. Use bit stuffing.
- Address 1 or several bytes long. Ethernet uses
more bytes for both sender and receiver
addresses. - Control
- 1 or 2 bytes long. Sequence no., ackn., etc. flow
control. - Data
- Information. Its length can vary from network to
network but always fixed within each network. - Checksum
- Error control
- On idle, flags sequences are transmitted
continuously - Minimum frame length three fields (32 bits)flag
bits.
66HDLC contd.
- Seq frame sequence no. 3 bit sliding window.
Next piggybacked ackn. P/F poll/final, P is
used when computer is inviting the terminal to
send data. All the frames sent by the terminal
set the bit to P, except the final one, which is
set to F.
Information
Supervisiony
Unnumbered
Control fields for three kinds of frames
67- In some of the protocols the P/F bit is used to
force the other machine to send a supervisory
frame immediately rather than waiting for the
reverse traffic onto which to piggyback the
window information. - Type for different kinds of supervisory frames.
Type 0 is RECEIVE READY, 1 is REJECT. Next field
indicates frames to be retransmitted, Type 2
receive not ready, Type 3 - selective reject. - Unnumbered Frames used for connectionless
services. Differs greatly on implementation.
68PPP
- Point to Point Protocol
- Purposes
- router to router traffic
- home user to ISP
- provide three main features
- Framing. Frame format also handles error
detection - Link control protocols for bringing lines up,
testing them, negotiating options, and bringing
them down when necessary. This protocol is called
link control protocol (LCP). Supports sychronous
and asynchronous circuits and bit and byte
oriented encoding. - A way to support different network layer
protocols. Network Control protocol (NCP). - Moreover, PPP suports multiple protocols, allows
IP address to be negotiated at connection time,
permits authentication.