SlideShare a Scribd company logo
1 of 529
Download to read offline
Communication Networks
Introduction to Communication Networks
Smoke signals Bird messengers Horse messengers Postal communications
Telephones Wireless
communication Communication Networks
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Basic Communication Network
• Network with one central processor and a separate communication link to each device.
RJEs: Remote job entry points
 Separate communication link for each peripheral device
 Increase in the #peripheral devices and users
 Leads to more #communication links, higher space, power and cost
 Problem statement: Design the basic communication network with minimal #links, lower space, power and cost
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Basic Communication Network
• Network with one central processor but with shared communication links to devices.
RJEs: Remote job entry points
 Multiplexers: To collect the traffic from a set of peripheral devices or users in the same area and to send it on a
single link to the control processor/computer
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Advantages of the Multiplexing and Traffic Grooming
RJEs: Remote job entry points
 Better capacity utilization
 Lower #communication links
 Lower space, power and cost per bit
 Traffic Grooming: It is a process where small telecommunication services are groomed
in to the larger units and processed as a single entity. (e.g. 10x10 GbE LAN ->
1x100GbE LAN service)
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Computer network with subnets
RJEs: Remote job entry points
• General network with a subnet of communication links and nodes. External devices are connected to the subnet via links to the
subnet nodes.
Account/HR
subnet
Marketing
subnet
Engineering
subnet
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Network of Networks
RJEs: Remote job entry points
 Gateway/Edge routers
 Allow users of one network to send the data to the users of the other networks.
 Network of Networks
 Problem statement: Design LAN, MAN and WAN forming subnets & gateways
Account/HR
subnet
Marketing
subnet
Engineering
subnet
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Commercial application of Communication Networks
RJEs: Remote job entry points
 Data-centres:
 Central storage and remote access: Google drive
 Banking and financial services:
 Remote services
 E-mails
 Cloud computing and automation
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Open System Inter connection (OSI) model
RJEs: Remote job entry points
Physical Layer
RJEs: Remote job entry points
 Defines rules by which bits are passed from one system to another on the Physical
communication channel/medium
 Provides physical interface for the transmission
 To provide a virtual link for transmitting the
sequence of bits between any pair of nodes joined by
the physical communication channel
 Such virtual links are also known as bit pipes
 Physical interface to map the incoming bits
from Data link layer into appropriate signals for
the transmission over the physical
channel/medium
 At the receiving maps the signal back in to bits
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Data Link Layer
RJEs: Remote job entry points
 Provides reliable and error free communication over the physical layer interface
 Breaks the outgoing data into frames and resembles the receiving frames
 Place overhead control bits called header at the beginning and trailer at the end of each packet
 Over Head bits determine errors in the transmission frames
 Handles the errors by implementing an acknowledgement and retransmission
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
The MAC sub-layer
RJEs: Remote job entry points
 Medium Access Control (MAC): Requirement of an
intermediate layer to manage the multi-access link so that frames
can be sent by each node without constant interference from the
other nodes.
 Usually considered as the lower sub-layer of layer 2 (Data Link
Layer)
 The function of the MAC sub-layer is to allocate the multi-access
channel so that each node can successfully transmit its frames
without undue interference from the other nodes
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Network Layer
RJEs: Remote job entry points
 Routing, flow and congestion control
 When a frame enters a node or site from a communication
link, the bits in that frame pass through the physical layer to
the DL layer.
 The DL layer determines where the frame begins and ends,
and if the frame is accepted as correct, the DLC strips off the
DLC header and trailer from the frame and passes the
resulting packet up to the network layer.
 A packet consists of two parts, a packet header followed by
the packet body
 The network layer module uses the packet header of an
incoming packet, along with stored information (Source and
Destination addresses) to accomplish its routing, flow and
control functions.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Routing exercise
RJEs: Remote job entry points
 Problem statement: Design the routing table for each router and identify the route for the
transmission
Internet sub-layer
RJEs: Remote job entry points
 Standards for the routing and flow control protocols
 Despite of all standardization, different networks use different algorithm for routing and flow
control at the network layer
 Can’t connect different sub-networks together
 Solution:
 Create a new sub-layer called Internet sub-layer
 Several subnets can be combined by creating special nodes called Gateways between
them.
 A gateway connecting two subnets will interface with each Subnet through a network
layer module appropriate for that subnet.
 When a packet arrives at a gateway from one subnet, the corresponding network layer
module passes the packet body and subsidiary information about the packet to the
internet sub-layer
 Internet sub-layer plays a role in routing and flow control
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Transport Layer
RJEs: Remote job entry points
 Pair of peer process
 Break the messages in to packets of the transmitting end
 Reassemble the packets into the messages at Rx
 Buffering improves the sequential delivery of the packets
 Limited or shared buffer space between many virtual links can cause the buffer
overflow and results in the packet loss (Problem statement: Estimate the
optimal buffer size)
 Multiplexing/De-multiplexing:
 Multiplex several low-rate sessions/services which are originated from the
same source and going towards the same destination
 Also splits the high rate sessions in to multiple small sessions in case if the
network layer is not capable of handling that much of high data rate.
 End to end reliability:
 To handle the failures
 End to end flow control
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Session Layer
RJEs: Remote job entry points
 Session layer provides the mechanism for controlling the dialogue between two end systems
 Session layer creates, maintains, and terminates communication between devices on a network.
 Establishing the connection
 Maintaining the session
 Terminate the connection
 Dialog control
 Dialog separation
 Session is a logical communication channel that is created and maintained between two network
devices in order to transfer data.
 Access rights/Authorization check/Log-in-ID/Password
 Check points/Failure checks and Retransmission from the last check point
 E.g. Restore the web services
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager and online sources
Presentation Layer
RJEs: Remote job entry points
 Presentation layer ensures
 Common format
 Data compression and decompression for better bandwidth
and storage utilization
 Translation and code conversation
 Data encryption/decryption and cryptography for security
 Application: Confidentiality in military communications
 Prevent messages from getting to the wrong recipients
 Prevent malfunctions
 Systematic information exchange between two sides
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Application Layer
RJEs: Remote job entry points
 Application layer interacts with application programs and is the highest level of OSI
model.
 Application layer contains management functions to support distributed applications.
 Examples of application layer are applications such as file transfer, electronic mail,
remote login etc.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Summary
RJEs: Remote job entry points
Physical Layer
Physical Medium for the transmission
Data link Layer
Error free transmission, Medium Access Control (MAC) sub-L.
Network Layer
Routing, flow and congestion control, Internet sub-layer (L)
Transport Layer
Buffering, Multiplexing/De-multiplexing, E2E connections
Session Layer
Establish, Maintain, Terminate the connection, Access rights
Presentation Layer
Format, Compression/Decompression, Encryption/Decryption
Application Layer
functions to support applications
Circuit Switching and Packet Switching
Overview
RJEs: Remote job entry points
 Networks interconnect multiple devices.
 We studied the Local Area Networks.
 Now, let’s go through wide area networks
 Circuit Switching: Communication via circuit switching implies that there is a dedicated communication
path between two stations
 Telephones: Circuit switching has been the dominant technique for the voice communications.
 Packet Switching: Data transmission in which a message is broken into small entities called packets
which are sent independently
 Since 1970, packet switching has evolved significantly for digital data communications. It was
designed to achieve the more efficiency than circuit switching for burst data traffic.
 Two types of packet switching:
 Connectionless Packet Switching/Datagram approach (such as today’s Internet)
 Connection-Oriented Packet Switching/Virtual circuit approach (such as Frame Relay, ATM)
Ref. Book: Data and Computer Communication by William Stallings
Switched Communications Networks
RJEs: Remote job entry points
 Long distance transmission between
stations is typically achieved over a network
through switching nodes.
 Switching nodes do not concern with
content of data. Their purpose is to provide
a switching facility that will move the data
from node to node until they reach their
destination.
 A collection of nodes and connections
forms a communications network.
 In a switched communications network,
data entering the network from a station are
routed to the destination by being switched
from node to node.
Ref
Switching Nodes
Central offices with switching nodes
RJEs: Remote job entry points Ref
Circuit Switching
RJEs: Remote job entry points Ref
• Circuit switching:
– There is a dedicated communication path between two stations (end-to-end)
– The path is a connected sequence of links between network nodes. On each
physical link, a logical channel is dedicated to the connection.
• Communication via circuit switching has three phases:
– Circuit establishment (link by link)
• Routing & resource allocation (FDM or TDM)
– Data transfer
– Circuit disconnect
• Decommission the dedicated resources
• The switches must know how to find the route to the destination and
how to allocate bandwidth (channel) to establish a connection.
Circuit Switching Properties
RJEs: Remote job entry points Ref
• Inefficiency
– Channel capacity is dedicated for the whole duration of a connection
– If no data, capacity is wasted
• Delay
– Long initial delay: circuit establishment takes time
– Low data delay: after the circuit establishment, information is
transmitted at a fixed data rate with no delay other than the
propagation delay. The delay at each node is negligible.
• Developed for voice traffic (public telephone network) but
can also applied to data traffic.
– For voice connections, the resulting circuit will enjoy a high
percentage of utilization because most of the time one party or the
other is talking.
– But how about data connections?
Packet Switching Principles
RJEs: Remote job entry points Ref
• Problem of circuit switching
– designed for voice service
– Resources dedicated to a particular call
– For data transmission, much of the time the
connection is idle (say, web browsing)
– Data rate is fixed
• Both ends must operate at the same rate during the
entire period of connection
• Packet switching is designed to address these
problems.
Basic Operation
RJEs: Remote job entry points Ref
• Data are transmitted in short packets
– Typically at the order of 1000 bytes
– Longer messages are split into series of packets
– Each packet contains a portion of user data plus some
control info
• Control info contains at least
– Routing (addressing) info, so as to be routed to the intended
destination
• Store and forward
– On each switching node, packets are received, stored
(buffered) and passed on to the next node.
Buffering
Advantages of Packet Switching
RJEs: Remote job entry points Ref
• Line efficiency
– Single node-to-node link can be dynamically shared by
many packets over time
– Packets are queued up and transmitted as fast as possible
• Data rate conversion
– Each station connects to the local node at its own speed
• In circuit-switching, a connection could be blocked if
there lacks free resources. On a packet-switching
network, even with heavy traffic, packets are still
accepted, by delivery delay increases (Buffering).
• Priorities can be used
– On each node, packets with higher priority can be
forwarded first. They will experience less delay than
lower-priority packets.
Packet Switching Technique
RJEs: Remote job entry points Ref
• A station breaks long message into packets
• Packets are sent out to the network sequentially, one at a
time
• How will the network handle this stream of packets as it
attempts to route them through the network and deliver
them to the intended destination?
– Two approaches
• Connectionless Packet Switching/Datagram approach
• Connection-Oriented Packet Switching/Virtual circuit approach
RJEs: Remote job entry points
Connectionless Packet Switching/Datagram approach
• Each packet is treated independently, with no
reference to packets that have gone before.
– Each node chooses the next node on a packet’s
path.
• Packets can take any possible route.
– Also, depends on the available link capacity.
• Packets may arrive at the receiver out of order.
• Packets may go missing.
• It is up to the receiver to re-order packets and
recover from missing packets.
• Example: Internet
Connection-Oriented Packet Switching/Virtual Circuit approach
RJEs: Remote job entry points Ref
• In virtual circuit, a preplanned route is
established before any packets are sent, then
all packets follow the same route.
• Each packet contains a virtual circuit
identifier instead of destination address, and
each node on the preestablished route knows
where to forward such packets.
– The node need not make a routing decision for
each packet.
• Example: X.25, Frame Relay, ATM
Virtual Circuit
RJEs: Remote job entry points Ref
• A route between stations is set
up prior to data transfer.
• All the data packets then follow
the same route.
• But there is no dedicated
resources reserved for the
virtual circuit! Packets need to
be stored-and-forwarded.
Virtual Circuits v Datagram
RJEs: Remote job entry points Ref
• Virtual circuits
– Network can provide sequencing (packets arrive at the
same order) and error control (retransmission between
two nodes).
– Packets are forwarded more quickly
• Based on the virtual circuit identifier
• No routing decisions to make
– Less reliable
• If a node fails, all virtual circuits that pass through that node fail.
• Datagram
– No call setup phase
• Good for bursty data, such as Web applications
– More flexible
• If a node fails, packets may find an alternate route
• Routing can be used to avoid congested parts of the network
Event Timing for Circuit Switching and Packet Switching
RJEs: Remote job entry points Ref
Comparison of communication switching techniques
RJEs: Remote job entry points Ref
Error Detection
Role of Data Link Layer in Error Detection
RJEs: Remote job entry points
 Data link control (DLC) module knows where frames begin and end. The problem then is to
determine which of those frames contain errors
 Provide error-free packets to the next layer
 Extra bits must be appended to a packet to detect errors
 Note that the receiver cannot tell which bit is in error, nor how many errors occurred; it simply
knows that errors occurred because of the odd number of 1's
 Characters are mapped into strings of seven bits and then a parity check is appended as an
eighth bit
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Single Parity Checks
RJEs: Remote job entry points
 Total number of 1's in an encoded string (i.e., the original bit string plus the appended parity
check) is always even.
 If an encoded string is transmitted and a single error occurs in transmission, then, whether 1
is changed to 0 or 0 to 1, the resulting number of 1's in the string is odd and the error can be
detected at the receiver.
 Disadvantage:
 Limited to single error detection
 What if, two errors occurred?
 In general, any odd number of errors are detected and any even number are undetected.
 Single parity check is ineffective
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Horizontal and Vertical Parity Checks
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Error detection
Error detection
Error detection
Parity Check Codes and Cyclic Redundancy Checks (CRC)
Parity Check Code
RJEs: Remote job entry points
 The transformation from the string of data bits to the string of data bits and parity checks is
called a parity check code or linear code.
 A parity check code is defined by the particular collection of subsets used to generate parity
checks. Note that the word code refers to the transformation itself; we refer to an encoded bit
string (data plus parity checks) as a code word.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
CRC encoder and decoder
RJEs: Remote job entry points Ref. Book: Data Communication and Networking by Forouzan
Parity Check Code
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
 K- length of the data string for a given parity check code
 L-the number of parity checks
 K +L is the frame length
 Objective: Detect the errors
 In the error-detection system, the frame is transmitted and
the receiving DLC module determines if each of the parity
checks is still the modulo 2 sum of the corresponding
subset of data bits. If so, the frame is regarded by the
receiver as error-free, and if not, the presence of errors is
detected.
 If errors on the link convert one code word into another,
the frame is regarded by the receiver as error-free, and
undetectable errors are said to have occurred in the
frame.
Parity Check Code
RJEs: Remote job entry points
 Predict the probability of undetectable errors in a frame. Unfortunately, this is very difficult.
 As a result of these difficulties, the effectiveness of a code for error detection is usually
measured by three parameters:
1) the minimum distance of the code
2) the burst-detecting capability
3) the probability that a completely random string will be accepted as error-free
 The minimum distance of a code is defined as the smallest number of errors that can
convert one code word into another.
 As we have seen, the minimum distance of a code using a single parity check is 2, and the
minimum distance of a code with horizontal and vertical parity checks is 4.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Parity Check Code
RJEs: Remote job entry points
 The length of a burst of errors in a frame is the number of bits from the first error to the last,
inclusive. The burst-detecting capability of a code is defined as the largest integer B such that
a code can detect all bursts of length B or less.
 The burst-detecting capability of the single parity check code is 1, whereas the burst-detecting
capability of a code with horizontal and vertical parity checks is 1 plus the length of a row.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Parity Check Code
RJEs: Remote job entry points
Predict the probability of undetectable errors in a frame
 Random string of length K + L is meant that each such string is received with probability
 code words, the probability of an undetected error is the probability that the random string
is one of the code words; this occurs with probability of .
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Cyclic Redundancy Checks
RJEs: Remote job entry points
 The parity check codes used for error detection in most DLCs today are cyclic redundancy
check (CRC) codes. The parity check bits are called the CRC.
 L - the length of the CRC (number of check bits)
 K - the length of the string of data bits
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
 Indeterminate D can be thought of as keeping track of the bits; high-order terms are viewed as
being transmitted first.
 The CRC is represented as
 Transmitted frame:
Parity Check Code
RJEs: Remote job entry points
 The CRC polynomial c(D) is a function of the information polynomial s(D), defined in terms of a
generator polynomial g(D); this is a polynomial of degree L with binary coefficients that specifies
the particular CRC code to be used.
 For a given g(D), the mapping from the information polynomial to the CRC polynomial c(D) is
given by
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
 The polynomial division above is just ordinary long
division of one polynomial by another, except that
the coefficients are restricted to be binary and the
arithmetic on coefficients is performed modulo 2.
Thus, for example, (1 + 1) modulo 2 = 0 and (0 - 1)
modulo 2 = 1. Note that subtraction using modulo 2
arithmetic is the same as addition.
Parity Check Code
RJEs: Remote job entry points
 This long division can be implemented easily in hardware by the feedback shift register circuit
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Division in CRC encoder
RJEs: Remote job entry points Ref. Book: Data Communication and Networking by Forouzan
Division in the CRC decoder for two cases
RJEs: Remote job entry points Ref. Book: Data Communication and Networking by Forouzan
Parity Check Code
RJEs: Remote job entry points
 Let z(D) be the quotient resulting from dividing s(D)DL by g(D). Then, c(D) can be represented as
 Subtracting c(D) (modulo 2) from both sides of this equation and recognizing that modulo 2
subtraction and addition are the same, we obtain
 x(D) is transmitted and that the received sequence is represented by a polynomial y(D), where
x(D) and y(D) differ because of the errors on the communication link.
 Error sequence is represented as a polynomial e(D)
y(D) = x(D) + e(D)
 Where, as throughout this section, + means modulo 2 addition;
 Each error in the frame corresponds to a non zero coefficient in e(D) [i.e., a coefficient in which
y(D) and x(D) differ].
 At the receiver, remainder can be calculated as shown below
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Parity Check Code
RJEs: Remote job entry points
 This long division can be implemented easily in hardware by the feedback shift register circuit
 If no errors occur, then e(D) = 0 and the remainder above will be 0.
 The rule followed by the receiver is to decide that the frame is error-free if this remainder is 0 and to
decide that there are errors otherwise.
 When errors occur
 The receiver fails to detect the errors only if this remainder is 0; this occurs only if e(D), is itself some
code word. In other words, is undetectable if and only if
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Parity Check Code
RJEs: Remote job entry points
 If a double error occurs, say in positions i and j,
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
 From the argument above, Dj is not divisible by g(D) or by any factor of
g(D); thus, e(D) fails to be detected only if is divisible by g(D).
 For any binary polynomial
 g(D) of degree L, there is some smallest n for which is divisible
by g(D). It
 is known from the theory of finite fields that this smallest n can be no
larger than
 moreover, for all L > 0, there are special L-degree polynomials, called
primitive
 polynomials, such that this smallest n is equal to 2L - 1.
Parity Check Code
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
 Thus, if g(D) is chosen to be such a primitive polynomial of degree L, and if the frame length is restricted
to be at most , then cannot be divisible by g(D); thus, all double errors are detected.
Parity Check Code
RJEs: Remote job entry points
• https://www.geeksforgeeks.org/modulo-2-binary-division/
• http://www.ritsumei.ac.jp/~piumarta/networks/notes/crc.pdf
• http://computing.dcu.ie/~humphrys/Notes/Networks/data.polynomial.html
• http://ecomputernotes.com/computernetworkingnotes/communication-networks/cyclic-redundancy-check
Parity Check Code
RJEs: Remote job entry points
Some CRC polynomials that are actually used
•CRC-8: x8+x2+x+1
• Used in: 802.16 (along with error correction).
•CRC-CCITT:
•x16+x12+x5+1
• Used in: HDLC, SDLC, PPP Default
•IBM-CRC-16 (ANSI):
•x16+x15+x2+1
•802.3:
x32+x26+x23+x22 +x16+x12+x11+x10 +x8+x7+x5+x4+x2+x+1
• Append 32 bits to the message.
• Detects all bursts of length 32 or less.
Automatic Repeat Request (ARQ)
RJEs: Remote job entry points
Objective: Detect frames with errors
and request the transmitting DLC
module to retransmit erroneous
frames.
Correctness: Does the protocol
succeed in releasing each packet,
once and only once, without errors,
from the receiving DLC?
Efficiency: How much of the bit-
transmitting capability of the bit pipe
is wasted by unnecessary waiting
and by sending unnecessary
retransmissions?
Stop-and-Wait ARQ
RJEs: Remote job entry points
 Ensure that each packet has been received correctly before initiating transmission of the next packet.
 In transmitting packets from point A to B, the first packet is transmitted in the first frame, and then the
sender A waits for the acknowledgment (Ack).
 Thus, If the frame is error-free, B sends an Ack back to A; if the frame is an error frame, B sends a
negative acknowledgment (called a Nak) back to A.
 If an error-free frame is received at B, and the corresponding Ack frame to A is error-free, then A can
start to send the next packet in a new frame.
 Alternatively, detected errors can occur either in the transmission of the frame or the return Ack or
Nak, and in either case A resends the old packet in a new frame. Finally, if either the frame or the
return ack or nak is lost, A must eventually time-out and resend the old packet.
Stop-and-Wait ARQ
RJEs: Remote job entry points
 Potential malfunction: Delay
 Case: Node A to time-out and resend a packet when the first transmission and/or the corresponding
Ack is abnormally delayed. If B receives both transmissions of the given packet correctly, B has no
way of knowing whether the second transmission is a new packet or a repetition of the old packet.
 B should simply compare the packets to
resolve this issue, but as far as the DLC layer
is concerned, packets are arbitrary bit strings
and the first and second packets could be
identical; it would be a violation of the principle
of layering for the DLC layer to rely on higher
layers to ensure that successive packets are
different.
 Solution: Use the sequence numbers
Stop-and-Wait ARQ
RJEs: Remote job entry points
Solution: The simplest solution to this problem is for the sending DLC module (at A) to use
a sequence number in the frame header to identify successive packets.
Problem with the unnumbered
Acks: If Acks can get lost on the
return channel, and thus when B
gets the same packet correctly
twice in a row, it has to send a
new Ack for the second reception
(see Fig. 2.19). After transmitting
the packet twice but receiving
only one Ack, node A could
transmit the next packet in
sequence, and then on receiving
the second Ack could interpret
that as an Ack for the new
packet, leading to a potential
failure of the system.
Request numbers and Piggyback
RJEs: Remote job entry points
 To avoid the problem with the unnumbered Acks, use request numbers and overcome the
ambiguities about which frame is being Acked
 Node B can request next awaited packet upon the receipt of each packet
 Piggyback: In many applications, there is another stream of data from B to A, and in this case,
the frames from B to A carrying requests for new A to B packets must be interspersed with
data frames carrying data from B to A. It is also possible to "piggyback" these requests for
new packets into the headers of the data frames from B to A (see Fig. 2.20).
Delay to avoid the retransmission
RJEs: Remote job entry points
Algorithm: Pseudo code
RJEs: Remote job entry points
 The algorithm at node A for A-to-B transmission:
1. Set the integer variable SN to 0.
2. Accept a packet from the next higher layer at A; if no packet is available, wait
until it is; assign number SN to the new packet.
3. Transmit the SNth packet in a frame containing SN in the sequence number field.
4. If an error-free frame is received from B containing a request number RN greater
than SN, increase SN to RN and go to step 2. If no such frame is received within
some finite delay, go to step 3.
1. Set the integer variable RN to 0 and then repeat steps 2 and 3 forever.
2. Whenever an error-free frame is received from A containing a sequence number
SN equal to RN, release the received packet to the higher layer and increment
RN.
3. At arbitrary times, but within bounded delay after receiving any error-free data
frame from A, transmit a frame to A containing RN in the request number field.
 The algorithm at node B for A-to-B transmission:
Correctness of stop and wait
RJEs: Remote job entry points
 An algorithm is safe if it never produces an incorrect result, which in this
case means never releasing a packet out of the correct order to the higher
layer at B.
 An algorithm is live if it can continue forever to produce results (i.e., if it can
never enter a deadlock condition from which no further progress is
possible).
Correctness of stop and wait
RJEs: Remote job entry points
State transition diagram
RJEs: Remote job entry points
Go Back n-ARQ/sliding window ARQ protocol
RJEs: Remote job entry points
Advantage: In contrast to stop-and-wait ARQ, several successive packets can be sent
without waiting for the next packet to be requested.
 It accepts packets only in the correct order and sends request numbers RN back to A;
the effect of a given request RN is to acknowledge all packets prior to RN and to
request transmission of packet RN.
 The go back number n >= 1 in a go back n protocol is a parameter that determines how
many successive packets can be sent in the absence of a request for a new packet.
 Specifically, node A is not allowed to send packet i +n before i has been acknowledged
(i.e., before i + 1 has been requested). Thus, if i is the most recently received request
from node B, there is a "window" of n packets, from i to i +n - 1, that the transmitter is
allowed to send.
 As successively higher-numbered requests are received from B, this window slides
upward; thus go back n protocols are often called sliding window ARQ protocols.
Operation of go back 7 ARQ with piggybacking
RJEs: Remote job entry points
Sources of delay
RJEs: Remote job entry points
 Even in the absence of transmission errors, there are several sources of delay between
the time that a packet is first assembled into a frame at A and the time when A receives
an acknowledgment of the packet.
Sources of delay:
 Transmission time of the frame
 Propagation delay
 Wait until the frame in transmission at Rx side is completed
 Transmission time of the frame carrying the acknowledgment
 Propagation delay in the reverse direction (B-to-A)
Effect of a transmission error on go back 4
RJEs: Remote job entry points
 The second frame from A,
carrying packet 1, is received
in error at node B. Node B
continues to look for packet 1
and to transmit RN = 1 in
frames from B to A. Packets
2, 3, and 4 from A all arrive at
B in error-free frames but are
not accepted since node B is
looking only for packet 1.
 It would be more efficient for
node B to buffer packets 2, 3,
and 4, thus avoiding the
necessity for A to retransmit
them after packet 1 is finally
retransmitted. Such a
buffering strategy is called
selective repeat ARQ
Effect of transmission errors in the reverse direction for go back 4
RJEs: Remote job entry points
Effect of delayed feedback for go back 4
RJEs: Remote job entry points
 Impact of short frames in one direction and long frames in the other
Algorithm: Pseudo code
RJEs: Remote job entry points
 The transmitter uses two integer variables, SNmin and SNmax to keep track of its operations. SNmin
denotes the smallest-numbered packet that has not yet been acknowledged (i.e., the lower end of the
window).
 SNmax denotes the number of the next packet to be accepted from the higher layer. Thus the DLC layer
is attempting to transmit packets SNmin to SNmax - 1.
The go back n algorithm at node A for A-to-B transmission:
1. Set the integer variables SNmin and SNmax to 0.
2. Do steps 3, 4, and 5 repeatedly in any order. There can be an arbitrary but bounded delay between the
time when the conditions for a step are satisfied and when the step is executed.
3. If SNmax < SNmin + n, and if a packet is available from the higher layer, accept a new packet into the
DLC, assign number SNmax to it, and increment SNmax.
4. If an error-free frame is received from B containing a request number RN greater than SNmax , increase
SNmin to RN.
5. If SNmin < SNmax, and no frame is currently in transmission, choose some number SN, SNmin < SNmax;
transmit the SNth packet in a frame containing SN in the sequence number field. At most a bounded delay
is allowed between successive transmissions of packet SNmin over intervals when SNmin does not change.
Algorithm: Pseudo code
RJEs: Remote job entry points
The go back n algorithm at node B for A-to-B transmission:
1. Set the integer variable RN to 0 and repeat steps 2 and 3 forever.
2. Whenever an error-free frame is received from A containing a sequence number
SN equal to RN. release the received packet to the higher layer and increment
RN.
3. At arbitrary times, but within bounded delay after receiving any error-free data
frame from A, transmit a frame to A containing RN in the request number field.
Exercise
RJEs: Remote job entry points
Problem statement: Considering the stop and wait protocol, for the given
communication link the link capacity is 100 kbps, the latency or propagation
delay is 40 ms, frame processing delay is 1 µs, frame transmission delay is
10 ms, frame size is 1 kbits.
What is the minimum wait duration?
What is the throughput or the maximum link capacity utilization of the
system?
In order to improve the throughput or link capacity utilization, we would
like to employ Go Back and N-ARQ protocol. What is the optimal
window size to achieve the maximum link capacity utilization? Assume
there are no errors or fame losses.
Exercises on sliding window protocols
RJEs: Remote job entry points
http://home.deib.polimi.it/capone/fcn/E3-Error-and-flow-control.pdf
Correctness of go back n
RJEs: Remote job entry points
 The safety property of the go back n algorithm is exactly the same as for
stop and wait. (Release/Deliver the packets in the correct order)
 To verify the liveness property, assume That i is the value of SNmin at
node A at a given time t1 (see Fig. 2.28). Let t2 be the time at which
packet i is received error-free and released to the higher layer at node B;
let t2 = Infinite) if this event never occurs.
 Similarly, let t3 be the time at which SNmin is increased beyond i and let t3
=Infinite, if this never occurs. We will show that t3 is finite and that t1 < t3
and t2 < t3.
 Hence the protocol is a live.
Correctness of go back n
RJEs: Remote job entry points
Correctness of go back n
RJEs: Remote job entry points
 Let RN(t) be the value of the variable RN at node B as a function of time t and let SNmin (t) be the
corresponding value of SNmin at node A.
 It is seen directly from the algorithm statement that SNmin(t) and RN(t) are non-decreasing in t.
Also, since SNmin(t) is the largest request number (if any) received from B up to time t, SNmin(t) =<
RN(t).
 By definition of t2 and t3, RN(t) is incremented to i + 1 at t2 and SNmin(t) is increased beyond i at
t3. Using the fact that SNmin(t) =< RN(t), it follows that t2 < t3. Note that it is possible that t2 < t1,
since packet i might have been received error-free and released at B before time t1 and even
before SN, in became equal to i.
 From the algorithm statement, node A transmits packet i repeatedly, with finite delay between
successive transmissions, from t1 until t3. If t1 < t2, then RN(t) = i for t1=< t=<t2, so the first
error-free reception of packet i after t1 will be accepted and released to the higher layer at B.
 Since t2 < t3, node A will retransmit packet i until this happens. Since there is a probability q > 0
that each retransmission is received correctly, and retransmissions occur within finite intervals,
the time from t1 to t2 is finite.
 B (whether t1 < t2 , or vice versa) transmits frames carrying RN>= i + 1 from time t2 until some
such frame is received error-free at A at time t3. Since node A is also transmitting frames in this
interval, the delay between subsequent transmissions from B is finite, and, since q > 0, the
interval from t2 to t3 is finite. Thus the interval from t1 to t3 is finite and the algorithm is live.
Go back n with modulus m > n
RJEs: Remote job entry points
 It will now be shown that
if the sequence number
SN and the request
number RN are sent
modulo m, for some m
strictly greater than the
go back number n, the
correctness of go back n
is maintained as long as
we re-impose the
condition that frames do
not get out of order on
the links. To demonstrate
this correctness, we first
look more carefully at the
ordering of events when
ordinary integers are
used for SN sand RN.
Go back n with modulus m > n.
RJEs: Remote job entry points
 Consider the transmission of an
arbitrary frame from node A to B.
Suppose that the frame is generated at
time t1 and received at t2 (see Fig.
2.29). The sequence number SN of the
frame must lie in node A's window at
time t1, so
 SN and RN(t2) are both contained in
the interval from SNmin(t1) to SNmin (t1)
+n, and thus must satisfy (eq. 2.26)
Go back n with modulus m > n.
RJEs: Remote job entry points
 Now suppose that when packet number SN is sent, the accompanying
sequence number is sent modulo m, and let sn denote SN mod m.
 Step 3 of the algorithm at node B must then be modified to: If an error-
free frame is received from A containing a sequence number sn equal
to RN mod m, release the received packet to the higher layer and
increment RN.
 Since m > n by assumption, we see from Eq. (2.26) that sn = RN mod
m will be satisfied if and only if the packet number SN is equal to RN;
thus, the algorithm still works correctly.
Go back n with modulus m > n.
RJEs: Remote job entry points
 Now suppose that RN is sent modulo m, and let
rn = RN mod m. Step 4 of the algorithm at node
A must then be modified to: If an
error-free frame is received from B containing
SNmin mod m, then increment SNmin until rn =
SNmin mod m.
 Because of the range of RN in Eq. (2.27), we
see that this new rule is equivalent to the old
rule, and it is sufficient to send request numbers
modulo m.
 At this point, however, we see that it is
unnecessary for SNmin, SNmax, and RN to be
saved at nodes A and B as ordinary integers;
everything can be numbered modulo m, and the
algorithm has been demonstrated to work
correctly for m>n.
Algorithm: Pseudo code
RJEs: Remote job entry points
The go back n algorithm at node A for modulo m operation, m>n:
1. Set the modulo m variables SNmin and SNmax to 0.
2. Do steps 3, 4, and 5 repeatedly in any order. There can be an arbitrary but bounded delay
between the time when the conditions for a step are satisfied and when the step is executed.
3. If (SNmax - SNmin ) mod m < n, and if a packet is available from the higher layer, accept a
new packet into the DLC, assign number SNmax to it, and increment SNmax to (SNmax + 1) mod
m.
4. If an error-free frame is received from B containing a request number RN, and (RN - SNmin)
mod m ≤ (SNmax - SNmin) mod m, set SNmin to equal RN.
5. If and no frame is currently in transmission, choose some number SN
such that (SN - SNmin ) mod m < (SNmax - SNmin ) mod m transmit packet SN in a frame
containing SN in the sequence number field.
RJEs: Remote job entry points
The go back n algorithm at node B for modulo m operation, m>n
1. Set the modulo m variable RN to 0.
2. Whenever an error-free frame is received from A containing a sequence
number SN equal to RN, release the received packet to the higher layer and
increment RN to (RN + 1) mod m.
3. At arbitrary times, but within bounded delay after receiving any error-free
data frame from A, transmit a frame to A containing RN in the request
number field.
Algorithm: Pseudo code
Selective Repeat ARQ
RJEs: Remote job entry points
Even if unnecessary retransmissions are avoided, go back n protocols must retransmit at least one
round-trip-delay worth of frames when a single error occurs in an awaited
Selective repeat ARQ can be used to increase efficiency
The basic idea of selective repeat ARQ for data on a link from A to B is to accept out-of-order packets
and to request retransmissions from A only for those packets that are not correctly received.
If p is the probability of frame error, the expected number η of packets delivered to B per frame from
A to B is bounded by
(1 – p) is also called the throughput
The throughput of this ideal is shown in Problem 2.26 to be where β is the expected number of
frames in a round-trip delay interval. This indicates that the increase in throughput available with
selective repeat is significant only when pβ is appreciable relative to 1.
Selective Repeat ARQ
RJEs: Remote job entry points
Go back n with modulus m > n.
RJEs: Remote job entry points
Internet Protocols
Protocol Functions
RJEs: Remote job entry points
 Encapsulation
 Fragmentation and reassembly
 Connection control
 Ordered delivery
 Flow control
 Error control
 Addressing
 Multiplexing
 Transmission services
Ref. Book: Data and Computer Communication by William Stallings
Encapsulation
RJEs: Remote job entry points
 Data usually transferred in blocks
 Protocol data units (PDUs)
 Each PDU contains data and control information
 Some PDUs only control
 Three categories of control
 Address
 Of sender and/or receiver
 Error-detecting code
 E.g. frame check sequence
 Protocol control
 Additional information to implement protocol functions
 Addition of control information to data is encapsulation
 Data accepted or generated by entity and encapsulated into PDU
 Containing data plus control information
 e.g. TFTP, HDLC, frame relay, ATM, AAL5 (Figure 11.15), LLC, IEEE 802.3, IEEE
802.11
Ref. Book: Data and Computer Communication by William Stallings
Fragmentation and Reassembly
RJEs: Remote job entry points
 Exchange data between two entities
 Characterized as sequence of PDUs of some bounded size
 Application level message
 Lower-level protocols may need to break data up into smaller blocks
 Communications network may only accept blocks of up to a certain size
 ATM 53 octets
 Ethernet 1526 octets
 More efficient error control
 Lesser retransmission
 Equitable access to shared transmission
 Prevent station monopolizing medium
 Smaller buffers
 Provision of checkpoint and restart/recovery operations
Ref. Book: Data and Computer Communication by William Stallings
Disadvantages of Fragmentation
RJEs: Remote job entry points
 Make PDUs as large as possible because
 PDU contains some control information
 Smaller block, larger overhead
 PDU arrival generates interrupt
 Smaller blocks, more interrupts
 More time processing smaller, more
numerous PDUs
Ref. Book: Data and Computer Communication by William Stallings
Reassembly
RJEs: Remote job entry points
 Segmented data must be reassembled into messages
 More complex if PDUs out of order
Ref. Book: Data and Computer Communication by William Stallings
PDUS and Fragmentation
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Connection Control
RJEs: Remote job entry points
 Connectionless data transfer
 Each PDU treated independently
 E.g. datagram
 Connection-oriented data transfer
 E.g. virtual circuit
 Connection-oriented preferred (even required) for lengthy exchange of data
 Or if protocol details must be worked out dynamically
 Logical association, or connection, established between entities
 Three phases occur
 Connection establishment
 Data transfer
 Connection termination
 May be interrupt and recovery phases to handle errors
Ref. Book: Data and Computer Communication by William Stallings
Sequencing
RJEs: Remote job entry points
 Many connection-oriented protocols use sequencing
 e.g. HDLC, IEEE 802.11
 PDUs numbered sequentially
 Each side keeps track of outgoing and incoming
numbers
 Supports three main functions
 Ordered delivery
 Flow control
 Error control
 Not found in all connection-oriented protocols
 E.g.frame relay and ATM
 All connection-oriented protocols include some way of
identifying connection
 Unique connection identifier
 Combination of source and destination addresses
Ref. Book: Data and Computer Communication by William Stallings
Ordered Delivery
RJEs: Remote job entry points
 PDUs may arrive out of order
 Different paths through network
 PDU order must be maintained
 Number PDUs sequentially
 Easy to reorder received PDUs
 Finite sequence number field
 Use modulo maximum numbering
 Maximum sequence number greater than maximum number
of PDUs that could be outstanding
 In fact, maximum number may need to be twice of the
maximum number of PDUs that could be outstanding
 e.g. selective-repeat ARQ
Ref. Book: Data and Computer Communication by William Stallings
Flow Control
RJEs: Remote job entry points
 Control the data-rate
 Stop-and-wait
 Each PDU must be acknowledged before next sent
 Credit
 Amount of data that can be sent without acknowledgment
 E.g. sliding-window
 Must be implemented in several protocols
 Network traffic control
 Buffer space
 Application overflow
 E.g. waiting for disk access
Ref. Book: Data and Computer Communication by William Stallings
Error Control
RJEs: Remote job entry points
 Guard against loss or damage
 Error detection and retransmission
 Sender inserts error-detecting code in PDU
 E.g. CRC
 Receiver checks code on incoming PDU
 If error, discard and request for the retransmission
 If transmitter doesn’t get acknowledgment in reasonable time, retransmit
 Error-correction code
 E.g. Forward Error Correction (FEC)
 Enables receiver to detect and possibly correct errors
 Error control is performed at various layers of protocol
 Between station and network
 Inside network
Ref. Book: Data and Computer Communication by William Stallings
Addressing
RJEs: Remote job entry points
 Addressing level
 Addressing scope
 Connection identifiers
 Addressing mode
Ref. Book: Data and Computer Communication by William Stallings
Addressing Level
RJEs: Remote job entry points
 Addressing level refers to the level in the communications architecture at
which an entity is named
 Unique address for each end system
 e.g. workstation or server
 And each intermediate system
 e.g., router
 Network-level address
 IP address or internet address
 OSI - network service access point (NSAP)
 Used to route PDU through network
 At destination data must routed to some process
 Each process assigned an identifier
 TCP/IP port
 Service access point (SAP) in OSI
Ref. Book: Data and Computer Communication by William Stallings
Addressing Scope
RJEs: Remote job entry points
 Global address
 Global non-ambiguity
 Identifies unique system
 Synonyms permitted
 System may have more than one global address
 Global applicability
 Possible at any global address to identify any other global address, in any system, by
means of global address of other system
 Enables internet to route data between any two systems
 Need unique address for each device interface on network
 MAC address on IEEE 802 network and ATM host address
 Enables network to route data units through network and deliver to intended system
 Network attachment point address
 Addressing scope only relevant for network-level addresses
 Port or SAP above network level is unique within system
 Need not be globally unique
 E.g port 80 web server listening port in TCP/IP
Ref. Book: Data and Computer Communication by William Stallings
Connection Identifiers
RJEs: Remote job entry points
 Entity 1 on system A requests connection to entity 2 on system B,
using global address B.2.
 B.2 accepts connection
 Connection identifier used by both entities for future transmissions
 Reduced overhead
 Generally shorter than global identifiers
 Routing
 Fixed route may be defined
 Connection identifier identifies route to intermediate systems
 Multiplexing
 Entity may wish more than one connection simultaneously
 PDUs must be identified by connection identifier
 Use of state information
 Once connection established, end systems can maintain state
information about connection
 Flow and error control using sequence numbers
Ref. Book: Data and Computer Communication by William Stallings
Addressing Mode
RJEs: Remote job entry points
 Usually address refers to single system or port
 Individual or unicast address
 Address can refer to more than one entity or port
 Multiple simultaneous recipients for data
 Broadcast for all entities within domain
 Multicast for specific subset of entities
Ref. Book: Data and Computer Communication by William Stallings
Mulitplexing
• Network with one central processor but with shared communication links to devices.
RJEs: Remote job entry points
 Multiplexers: To collect the traffic from a set of peripheral devices or users in the same area and to send it on a
single link to the control processor/computer
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Advantages of the Multiplexing and Traffic Grooming
RJEs: Remote job entry points
 Better capacity utilization
 Lower #communication links
 Lower space, power and cost per bit
 Traffic Grooming: It is a process where small telecommunication services are groomed
in to the larger units and processed as a single entity. (e.g. 10x10 GbE LAN ->
1x100GbE LAN service)
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Transmission Services
RJEs: Remote job entry points
 Protocol may provide additional services to entities
 Priority
 Connection basis
 On message basis
 E.g. terminate-connection request
 Quality of service (QOS)
 E.g. minimum throughput or maximum delay threshold
 Security
 Security mechanisms, restricting access
 These services depend on underlying transmission
system and lower-level entities
Ref. Book: Data and Computer Communication by William Stallings
Internetworking Terms (1)
RJEs: Remote job entry points
 Communications Network
 Facility that provides data transfer service
 An internet
 Collection of communications networks interconnected by
bridges and/or routers
 The Internet
 The global collection of thousands of individual machines
and networks
 Intranet
 Corporate internet operating within the organization
 Uses Internet (TCP/IP and http) technology to deliver
documents and resources
Ref. Book: Data and Computer Communication by William Stallings
Internetworking Terms (2)
RJEs: Remote job entry points
 End System (ES)
 Device attached to one of the networks of an internet
 Supports end-user applications or services
 Intermediate System (IS)
 Device used to connect two networks
 Permits communication between end systems attached to different
networks
 Bridge
 IS used to connect two LANs using similar LAN protocols
 Address filter passing on packets to the required network only
 OSI layer 2 (Data Link)
 Router
 Connects two (possibly dissimilar) networks
 Uses internet protocol present in each router and end system
 OSI Layer 3 (Network)
Ref. Book: Data and Computer Communication by William Stallings
Internet Protocol (IP)
RJEs: Remote job entry points
• IP provides connectionless (datagram) service
• Each packet treated separately
• Network layer protocol common to all routers
– which is the Internet Protocol (IP)
Ref. Book: Data and Computer Communication by William Stallings
Connectionless Internetworking
RJEs: Remote job entry points
• Advantages
– Flexible and robust
• e.g. in case of congestion or node failure, packets find their way easier
than connection-oriented services
– No unnecessary overhead for connection setup
– Can work with different network types
• does not demand too much services from the actual network
• Disadvantage: Unreliable
– Best effort: Not guaranteed delivery (no throughput guarantee, no
delay guarantee,…)
– Not guaranteed order of delivery
• Packets can take different routes
– Unreliable: Reliability is responsibility of next layer up (e.g. TCP)
Ref. Book: Data and Computer Communication by William Stallings
Internet Protocols
RJEs: Remote job entry points
Application
TCP
IP
Data Link
Application
TCP
IP
Network
Access
Application protocol
TCP protocol
IP protocol IP protocol
Data
Link
Data
Link
IP
Data
Link
Data
Link
IP
Data
Link
Data
Link
Data
Link
IP protocol
Router
Router Host
Host
Ref. Book: Data and Computer Communication by William Stallings
IP Operation
RJEs: Remote job entry points
Link Access Procedure for Frame Relay (or LAPF), Logical Link Control (LLC)
Ref. Book: Data and Computer Communication by William Stallings
Network Design Issues
RJEs: Remote job entry points
• Routing
• Datagram lifetime
• Fragmentation and re-assembly
• Error control
• Flow control
• Addressing
Ref. Book: Data and Computer Communication by William Stallings
Routing
RJEs: Remote job entry points
• End systems and routers maintain routing tables
– Indicate next router to which datagram should be sent
– Static
• Tables do not change but may contain alternative routes
– Dynamic
• If needed, the tables are dynamically updated
• Flexible response to congestion and errors
• status reports issued by neighbors about down routers
• Source routing
– Source specifies route as sequential list of routers to be
followed
– useful, for example, if the data is top secret and should
follow a set of trusted routers.
• Route recording
– routers add their address to datagrams
– good for tracing and debugging purposes
Ref. Book: Data and Computer Communication by William Stallings
Datagram Lifetime
RJEs: Remote job entry points
• Datagrams could loop indefinitely
– Not good
• Unnecessary resource consumption
• Transport protocol needs upper bound on datagram life
• Datagram marked with lifetime
– Time To Live (TTL) field in IP
– Once lifetime expires, datagram discarded (not forwarded)
– Hop count
• Decrement time to live on passing through each router
– Time count
• Need to know how long since last router
• global clock is needed
Ref. Book: Data and Computer Communication by William Stallings
Fragmentation and Re-assembly
RJEs: Remote job entry points
• Different maximum packet sizes for different
networks
– routers may need to split the datagrams into
smaller fragments
• When to re-assemble
– At destination
– Intermediate reassembly
• Need large buffers at routers
• All fragments must go through same router
– Inhibits dynamic routing
Ref. Book: Data and Computer Communication by William Stallings
IP Fragmentation
RJEs: Remote job entry points
• In IP, reassembly is at destination only
• Uses fields in header
– Data Unit Identifier – In order to uniquely
identify datagram
– Source and destination addresses
1. Upper protocol layer (e.g. TCP)
2. Identification supplied by that layer
– Data length
• Length of user data in octets (if fragment,
length of fragment data)
• Actually header contains total length incl.
header but data length can be calculated
– Offset
• Position of fragment of user data in original
datagram (position of the first byte of the
fragment)
• In multiples of 64 bits (8 octets)
– More flag
• Indicates that this is not the last fragment (if
this flag is 1)
Ref. Book: Data and Computer Communication by William Stallings
Dealing with Failure
RJEs: Remote job entry points
• Re-assembly may fail if some fragments get
lost
• Need to detect failure
• Re-assembly time out
– Assigned to first fragment to arrive
– If timeout expires before all fragments arrive,
discard partial data
• Use packet lifetime (time to live in IP)
– If time to live runs out, kill partial data
Ref. Book: Data and Computer Communication by William Stallings
Error Control
RJEs: Remote job entry points
• In IP, delivery is not guaranteed
• Router may attempt to inform source if packet discarded, if
possible
– specify the reason of drop, e.g. for time to live expiration,
congestion, bad checksum (error detected)
• Datagram identification needed
• When source receives failure notification, it
– may modify transmission strategy
– may inform high layer protocol
• Note that such a failure notification is not guaranteed
Ref. Book: Data and Computer Communication by William Stallings
Flow Control (in IP layer)
RJEs: Remote job entry points
• Allows routers and/or stations to limit rate of
incoming data
• Limited in connectionless systems
• Send flow control packets
– Requesting reduced flow
• e.g. ICMP
Ref. Book: Data and Computer Communication by William Stallings
Internet Protocol (IP) Version 4
RJEs: Remote job entry points
• Part of TCP/IP
– Used by the Internet
• Specifies interface with higher layer
– e.g. TCP
• Specifies protocol format and mechanisms
• RFC 791
– www.rfc-editor.org
• Replaced or will be replaced by IPv6 (see later)
Ref. Book: Data and Computer Communication by William Stallings
Internet Protocol (IP) Version 4
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
IP Services
RJEs: Remote job entry points
• Information and commands exchanged across
adjacent layers (e.g. between IP and TCP)
• Primitives (functions to be performed)
– Send
• Request transmission of data unit
– Deliver
• Notify user of arrival of data unit
• Parameters
– Used to pass data and control info
Ref. Book: Data and Computer Communication by William Stallings
Parameters (1)
RJEs: Remote job entry points
• Source IP address
• Destination IP address
• Protocol
– Recipient e.g. TCP
• Type of Service Indicators
– Specify treatment of data unit during
transmission through networks
• Identification
– Uniquely identifies PDU together with source,
destination IP addresses and user protocol
– Needed for re-assembly and error reporting
Ref. Book: Data and Computer Communication by William Stallings
Parameters (2)
RJEs: Remote job entry points
• Don’t fragment indicator
– Can IP fragment data?
– If not, may not be possible to deliver
• Time to live (initial TTL value)
• Data length
• Options
• Data from/to upper layer
Ref. Book: Data and Computer Communication by William Stallings
Options
RJEs: Remote job entry points
• Security
– security label - mostly for military applications
• Source routing
• Route recording
• Stream identification
– identifies reserved resources for stream traffic
(like video)
• Time-stamping
– added by source and routers
Ref. Book: Data and Computer Communication by William Stallings
Type of Service Indicators
RJEs: Remote job entry points
• Requests for service quality
– now different QoS (Quality of Service) mechanisms are used,
but this is out of scope of this course
• Precedence
– 8 levels
• Reliability
– Normal or high
• Delay
– Normal or low
• Throughput
– Normal or high
Ref. Book: Data and Computer Communication by William Stallings
IPv4 Header
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Internet Header Length (IHL), Differentiated Services (DS), Explicit congestion notification (ECN)
Header Fields (1)
RJEs: Remote job entry points
• Version
– Currently 4 (IP v4)
• Internet header length
– In 32 bit words
– Including options
• Type of service
• Total length
– Of datagram, in octets
Ref. Book: Data and Computer Communication by William Stallings
Header Fields (2)
RJEs: Remote job entry points
• Identification
– Sequence number
– Used with addresses and user protocol to identify
datagram uniquely
• Flags
– More bit
– Don’t fragment
• Fragmentation offset
• Time to live
• Protocol
– Next higher layer to receive data field at destination
Ref. Book: Data and Computer Communication by William Stallings
Header Fields (3)
RJEs: Remote job entry points
• Header checksum
– Reverified and recomputed at each router
– 16 bit ones complement sum of all 16 bit words in
header
– Set to zero during calculation
• Source address
• Destination address
• Options
• Padding
– To fill to multiple of 32 bits long
Ref. Book: Data and Computer Communication by William Stallings
Data Field
RJEs: Remote job entry points
• Carries user data from next layer up
• Integer multiple of 8 bits long (octet)
• Max length of datagram (header plus data)
65,535 octets
Ref. Book: Data and Computer Communication by William Stallings
IPv4 Address Formats
RJEs: Remote job entry points
• 32 bit global Internet
address
• Network part and host part
• All-zero host part
identifies the network
• All-one host part means
broadcast (limited to
current network)
Ref. Book: Data and Computer Communication by William Stallings
Class A: Few networks, each with many hosts
Class B: Medium number of networks, each with a medium number of hosts
Class C: Many networks, each with a few hosts
IP Addresses - Class A
RJEs: Remote job entry points
• 32 bit global internet address
• Network part and host part
• All zero
– Special meaning (means “this
computer”)
• 01111111 (127) (network part )
reserved for loopback
– Generally 127.0.0.1 is used
• Range 1.x.x.x to 126.x.x.x
– 10.x.x.x is for private networks
• Few networks - many hosts
• All networks have been allocated
Ref. Book: Data and Computer Communication by William Stallings
IP Addresses - Class B
RJEs: Remote job entry points
• Starts with binary 10
• Range 128.x.x.x to 191.x.x.x
– Second octet is also part of the
network id.
• 14-bit network, 16-bit host
number
– 214 = 16,384 class B addresses
– 216 = 65,536 hosts per network
• Actually minus 2 due to network and
broadcast addresses
• All networks have been allocated
Ref. Book: Data and Computer Communication by William Stallings
IP Addresses - Class C
RJEs: Remote job entry points
• Start binary 110
• Range 192.x.x.x to 223.x.x.x
• Second and third octets are also
part of network address
• 221 = 2,097,152 addresses
(networks)
• 256 – 2 = 254 hosts per network
• Nearly all allocated
Ref. Book: Data and Computer Communication by William Stallings
IPv4 Address Formats
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
E.g.10.250.1.1
E.g.150.10.15.0
E.g. 192.14.2.0
Exercise: Identify
the class address
http://172.20.0.20
2/nitw_prm/index.
aspx
Special IP address forms
RJEs: Remote job entry points
Prefix
(network)
Suffix (host) Type & Meaning
all zeros all zeros this computer
(used during
bootstrap)
network address all zeros identifies network
network address all ones broadcast on the
specified network
all ones all ones broadcast on local
network
127 any loopback (for
testing purposes)
Ref. Book: Data and Computer Communication by William Stallings
Subnets and Subnet Masks
RJEs: Remote job entry points
• Allow arbitrary complexity of internetworked LANs within organization
– By not having one network class for each LAN within the organization
– Each such LAN is called a subnet
• Such a network with several subnets looks like a single network from the
point of view of the rest of internet
• Each subnet is assigned a subnet number
• Host portion of address partitioned into subnet number and host number
• Local routers route within subnetted network
• Subnet mask indicates which bits are network/subnet number and which
are host number. Applying a subnet mask to an IP address separates
network address from host address.
– Subnet mask must be in the form of several 1's followed by several 0's (total 32 bits)
- 111..111000…0
– number of 0's is used to determine the number of hosts in that subnet (see next
example)
Ref. Book: Data and Computer Communication by William Stallings
Subnet Mask Calculation (Exercise)
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Routing Using Subnets
RJEs: Remote job entry points
 Subnet Mask:
255.255.255.224
 Addresses start with
192, so class C
addresses. Last octet is
for Subnet number and
Host number
 224 -> 11100000 in
binary last 5 bits are
for Host number,
previous 3 bits are for
Subnet number
 Don't forget! All zero
host number identifies
the subnet and all ones
is used for broadcast
Ref. Book: Data and Computer Communication by William Stallings
Custom subnet mask (Exercise)
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Problem statement: Take a single network, which has an IP 193.100.10.0 and distribute it into 16
smaller networks. The external world still sees the network as 193.100.10.0, but the internal
computers and routers see 16 Independent smaller subnets.
IP Address: 193 . 100 . 10 . 0
Custom Subnet Mask: 255.255.255.240
Network Subnet Host
IP Address: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 1 0 1 0 1 0 (193 . 100 . 10 . 42)
Custom Subnet Mask: 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1. 1 1 1 1 0 0 0 0 (255.255.255.240)
AND operation: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 1 0 0 0 0 0 (193 . 100 . 10 . 32)
Network Subnet Host
IP Address: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0)
Custom Subnet Mask: 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1. 1 1 1 1 0 0 0 0 (255. 255. 255. 240)
AND operation: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0)
 Applying a subnet mask to an IP address separates network address from host address. The network
bits are represented by the 1's in the mask, and the host bits are represented by 0's. Performing a
bitwise logical AND operation on the IP address with the subnet mask produces the network address.
Belongs to which subnet, tells the subnet ID
Custom subnet mask (Exercise)
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Problem statement: Take a single network has an IP 193.100.10.0 and distribute it into 16 smaller
networks. The external world still sees the network as 193.100.10.0, but the internal computers and
routers see 16 Independent smaller subnets.
IP Address: 193 . 100 . 10 . 0
Custom Subnet Mask: 255.255.255.240
Address Ranges:
SubNet-1: 193.10.10.0 to 193.100.10.15 (Customer-1)
SubNet-2: 193.100.10.16 to 193.100.10.31 (Customer-2)
SubNet-3: 193.100.10.32 to 193.100.10.47 (Customer-3)
SubNet-4: 193.100.10.48 to 193.100.10.63 (Customer-4)
SubNet-5: 193.100.10.64 to 193.100.10.79 (Customer-5)
SubNet-6: 193.100.10.80 to 193.100.10.95 (Customer-6)
SubNet-7: 193.100.10.96 to 193.100.10.111 (Customer-7)
SubNet-8: 193.100.10.112 to 193.100.10.127 (Customer-8)
SubNet-9: 193.100.10.128 to 193.100.10.143 (Customer-9)
SubNet-10: 193.100.10.144 to 193.100.10.159 (Customer-10)
SubNet-11: 193.100.10.160 to 193.100.10.175 (Customer-11)
SubNet-12: 193.100.10.176 to 193.100.10.191 (Customer-12)
SubNet-13: 193.100.10.192 to 193.100.10.207 (Customer-13)
SubNet-14: 193.100.10.208 to 193.100.10.223 (Customer-14)
SubNet-15: 193.100.10.224 to 193.100.10.239 (Customer-15)
SubNet-16: 193.100.10.240 to 193.100.10.255 (Customer-16)
193 . 100 . 10 . 42
SubNet-1 (Customer-1),
Useful range of addresses:
193.10.10.1 to 193.100.10.14
Q. Why?
Classless Inter Domain Routing (CIDR)
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings and online sources
 Classless Inter Domain Routing (CIDR) was invented to keep the Internet from running out of IP Addresses.
 The IPv4, a 32-bit, addresses have a limit of 4,294,967,296 (232) unique IP addresses. The classful address
scheme (Class A, B and C) of allocating IP addresses in 8-bit increments can be very wasteful. With classful
addressing scheme, a minimum number of IP addresses allocated to an organization is 256 (Class C).
Giving 256 IP addresses to an organization only requiring 15 IP addresses is wasteful.
 Also, an organization requiring more than 256 IP addresses (let's say 1,000 IP addresses) is assigned a
Class B, which allocates 65,536 IP addresses. Similarly, an organization requiring more than 65,636 (65,634
usable IPs) is assigned a Class A network, which allocates 16,777,216 (16.7 Million) IP addresses. This type
of address allocation is very wasteful.
 With CIDR, a network of IP addresses is allocated in 1-bit increments as opposed to 8-bits in classful
network. The use of a CIDR notated address can easily represent classful addresses (Class A = /8, Class B
= /16, and Class C = /24). The number next to the slash (i.e. /8) represents the number of bits assigned to
the network address. The example shown above can be illustrated with CIDR as follows:
Network Subnet Host
IP Address: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0/28)
Custom Subnet Mask: 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1. 1 1 1 1 0 0 0 0 (255.255.255.240)
AND operation: 1 0 1 0 1 1 0 0. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0/28)
Hostel Work
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
18.15 What is the difference between the subnet mask for a Class A address with 16 bits for the
subnet ID and a class B address with 8 bits for the subnet ID?
18.17 Given a network address of 192.168.100.0 and a subnet mask of 255.255.255.192,
a. How many subnets are created?
b. How many hosts are there per subnet?
18.19 In contemporary routing and addressing, the notation commonly used is called classless
interdomain routing or CIDR. With CIDR, the number of bits in the mask is indicated in the following
fashion: 192.168.100.0/24. This corresponds to a mask of 255.255.255.0. If this example would
provide for 256 host addresses on the network, how many addresses are provided with the following?
a. 192.168.100.0/23
b. 192.168.100.0/25
18.21 Using your IP address and your mask, what is your network address? This is determined by
converting the IP address and the mask to binary and then proceeding with a bitwise logical AND
operation. For example, given the address 172.16.45.0 and the mask 255.255.224.0, we would
discover that the network address would be 172.16.32.0.
Practice exercises on IP: http://www.ece.virginia.edu/mv/edu/7457/lectures/IP/IP-exer.pdf
IP v6 - Version Number
RJEs: Remote job entry points
• IP v 1-3 defined and replaced
• IP v4 – last version
• IP v5 - stream protocol
– Connection oriented internet layer protocol
• IP v6 - replacement for IP v4
– During the initial development it was called IPng
(Next Generation)
Ref. Book: Data and Computer Communication by William Stallings
Driving Motivation to change IP
RJEs: Remote job entry points
• Address space exhaustion
– Two level addressing (network and host) wastes space
– Network addresses used even if not connected to Internet
– Growth of networks and the Internet
– Extended use of TCP/IP
• e.g. for POS terminals
• Wireless nodes
• Vehicles
• Current trend: Internet of Things
– Single address per host
• Requirements for new types of service
Ref. Book: Data and Computer Communication by William Stallings
IPv6 Enhancements (1)
RJEs: Remote job entry points
• Expanded address space
– 128 bit
• Improved option mechanism
– Separate optional headers between IPv6 header
and transport layer header
– Most are not examined by intermediate routes
• Improved speed and simplified router processing
• Easier to extend options
• Address auto configuration
– Dynamic assignment of addresses
Ref. Book: Data and Computer Communication by William Stallings
IPv6 Enhancements (2)
RJEs: Remote job entry points
• Increased addressing flexibility
– Anycast - delivered to one of a set of nodes
– Improved scalability of multicast addresses
• Support for resource allocation
– Replaces type of service
– Labeling of packets to particular traffic flow
– Allows special handling
– e.g. real time video
Ref. Book: Data and Computer Communication by William Stallings
IPv6 PDU (Packet) Structure
RJEs: Remote job entry points
IPv6 header + optional
extension headers
Ref. Book: Data and Computer Communication by William Stallings
Extension Headers
RJEs: Remote job entry points
• Hop-by-Hop Options
– special options that require hop-by-hop
processing
• Routing
– Similar to source routing
• Fragment
– fragmentation and reassembly information
• Authentication
– Integrity and Authentication
• Encapsulating security payload
– Privacy and Confidentiality (plus optional
authentication)
• Destination options
– Optional info to be processed at destination
node
Ref. Book: Data and Computer Communication by William Stallings
IPv6 Header
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
IPv6 Header Fields (1)
RJEs: Remote job entry points
• Version
– 6 (in binary: 0110)
• DS/ECN
– Previously, Traffic Class (Types of
Service)
• Classes or priorities of packet
– Now interpretation is different
as discussed in v4
• Flow Label
– Identifies a sequence of packets
(a flow) that has special
handling requirements
• Payload length
– Length of all extension headers
plus user data
Ref. Book: Data and Computer Communication by William Stallings
Differentiated Services (DS), Explicit congestion notification (ECN)
IPv6 Header Fields (2)
RJEs: Remote job entry points
• Next Header
– Identifies type of the following header
• Extension or next layer up
• Hop Limit
– Remaining number of hops
– As in TTL of IPv4, decremented by one
at each router
– Packet discarded if reaches zero
• Source Address
• Destination address
• Longer header but less number of
fields
– simplified processing
Ref. Book: Data and Computer Communication by William Stallings
Flow Label
RJEs: Remote job entry points
• Flow
– Sequence of packets from particular source to particular destination
– Source desires special handling by routers
– Uniquely identified by source address, destination address, and 20-bit
flow label
• Router's view
– Sequence of packets that share some attributes affecting how packets
handled
• Path, resource allocation, discard needs, security, etc.
– Handling must somehow be arranged a priority
• Negotiate handling ahead of time using a control protocol
Ref. Book: Data and Computer Communication by William Stallings
IPv6 Addresses
RJEs: Remote job entry points
• 128 bits long
• Assigned to interface
– An interface may have multiple addresses
• network/host id parts
– arbitrary boundary
– like CIDR addresses in v4
• Multilevel hierarchy
– ISP - Organization - Site - …
– Helps faster routing due to aggregation of IP addresses
• Smaller routing tables and faster lookup
• IPv4 addresses are mapped into v6 addresses
• Three types of address
Ref. Book: Data and Computer Communication by William Stallings
Differences Between v4 and v6 Headers
RJEs: Remote job entry points
• No header length (IHL) in v6
– main header is of fixed length in v6
• No Protocol info in v6
– next header field will eventually point to
the transport layer PDU
• No fragmentation related fields in v6
base header
– fragmentation is an extension header
• No checksum in v6
– rely on reliable transmission medium and
checksums of upper and lower layers
• Flow label is part of base header in v6
– it was in the options part in v4
Ref. Book: Data and Computer Communication by William Stallings
Internet Header Length (IHL), Differentiated Services (DS), Explicit congestion notification (ECN)
Differences Between v4 and v6 Headers
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
IPv6 Extension Headers
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Hop-by-Hop Options
RJEs: Remote job entry points
• Next header
• Header extension length
• Options
– Type (8 bits), length (8 bits) , option data (variable size)
• type also says what should router do if it does not recognize the option
– Pad1 / Pad N
• Insert one/N byte(s) of padding into Options area of header
• Ensure header is multiple of 8 bytes
– Jumbo payload (Jumbogram)
• Option data field (32 bits) gives the actual length of packet in octets
– excluding the base IPv6 header
• For packets over 216 -1 = 65,535 octets, we use this option
– up to 232 octets
– for large video packets
– Router alert
• Tells the router that the content of packet is of interest to the router
• Provides support for Resource Reservation Protocol (RSVP)
Ref. Book: Data and Computer Communication by William Stallings
Fragmentation Header
RJEs: Remote job entry points
• Fragmentation only allowed at source
• No fragmentation at intermediate routers
• Node must perform path discovery to find
smallest MTU of intermediate networks
• Source fragments to match MTU
• Otherwise limit to 1280 octets
Ref. Book: Data and Computer Communication by William Stallings
Maximum Transmission Unit (MTU)
Fragmentation Header Fields
RJEs: Remote job entry points
• Next Header
• Reserved
• Fragmentation offset
• Reserved
• More flag
• Identification
Ref. Book: Data and Computer Communication by William Stallings
Routing Header
RJEs: Remote job entry points
• List of one or more intermediate nodes to be
visited
• Next Header
• Header extension length
• Routing type
• Segments left
– i.e. number of nodes still to be visited
Ref. Book: Data and Computer Communication by William Stallings
Destination Options
RJEs: Remote job entry points
• Same format as Hop-by-Hop options header
• RFC 2460 defines Pad 1/Pad N as in hop-by-
hop options header
Ref. Book: Data and Computer Communication by William Stallings
Migration to IPv6
RJEs: Remote job entry points
• Not an overnight operation
– lots of investments in v4 networking equipment and software
– currently equipment and software are IPv6 compatible
– however, turning the key on synchronously all around the
world is not easy
• isolated v6 islands
– communicating via tunnels
• eventually those islands will get larger and merge
• Specialized networks of small devices with IPv6 addresses
– e.g. a network of sensors that covers a large area for security
protection
Ref. Book: Data and Computer Communication by William Stallings
Internet control protocols
RJEs: Remote job entry points
• Internet control protocols
– Internet Control Message Protocol (ICMP)
– Dynamic Host Configuration Protocol (DHCP)
– Address Resolution Protocol (ARP)
Ref. Online sources
Internet Control Message Protocol (ICMP)
RJEs: Remote job entry points
• Internet Control Message Protocol - RFC 792
– Sister protocol of IP
– All IP implementations should also implement ICMP
• ICMP is an error-reporting protocol network devices like routers use
to generate error messages to the source IP address when network
problems prevent delivery of IP packets.
• Feedback about problems
– e.g. datagram discarded, router’s buffer full
• Some simple applications can be implemented using ICMP
– e.g. ping
• ICMP Source Quench packet to slow down the transmission rate.
Ref. Book: Data and Computer Communication by William Stallings
ICMP Message Formats
RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
Address Resolution Protocol (ARP)
How to Bootstrap an End Host?
RJEs: Remote job entry points Ref. Online sources
• Bootstrapping: Self-starting process that is supposed to
proceed without external input
• What IP address the host should use?
• What local Domain Name System (DNS) server to use?
– DNS is responsible for translating domain names into IP addresses
• How to send packets to remote destinations?
• How to ensure incoming packets arrive?
host host DNS
...
host host DNS
...
router router
1.2.3.0/24
1.2.3.7 1.2.3.156
???
1.2.3.19
router
Avoiding Manual Configuration
RJEs: Remote job entry points Ref. Online sources
host host DNS
...
host host DNS
...
router router
1.2.3.0/24
1.2.3.7 1.2.3.156
???
1.2.3.19
router
• Dynamic Host Configuration Protocol (DHCP)
– End host learns how to send packets
– Learn IP address, DNS servers, and gateway
• Address Resolution Protocol (ARP)
– Others learn how to send packets to the end host
– Learn mapping between IP address and MAC
address
Key Ideas in Both Protocols
RJEs: Remote job entry points
• Broadcasting: when in doubt, shout!
– Broadcast query to all hosts in the local-area-network when you
don’t know how to identify the right one
• Caching: remember the past for a while
– Store the information you learn to reduce overhead
– Remember your own address & other host’s addresses
• Soft state: eventually forget the past
– Associate a time-to-live field with the information and either
refresh or discard the information
– Key for robustness in the face of unpredictable change
Ref. Online sources
Need Another Kind of Identity
RJEs: Remote job entry points
• LANs are designed for arbitrary network protocols
– Not just for IP and the Internet
• Using IP address would require reconfiguration
– Every time the adapter is rebooted or powered up
• Broadcasting all data to all adapters is expensive
– Requires every host on the LAN to inspect each packet
Motivates separate Medium Access Control (MAC) addresses
Ref. Online sources
MAC/Physical Address vs. IP Address
RJEs: Remote job entry points
• MAC/Physical addresses
– Hard-coded in read-only memory when adaptor is built
– Like a social security number
– 48 bits contains six groups of two hexadecimal digits
(e.g., 00-0E-9B-6E-49-76)
– Portable, and can stay the same as the host moves
– Used to get packet between interfaces on same network
• IP addresses
– Configured, or learned dynamically
– Like a postal mailing address
– Hierarchical name space of 32 bits (e.g., 12.178.66.9)
– Not portable, and depends on where the host is attached
– Used to get a packet to destination IP subnet
Ref. Online sources
MAC Addresses on a LAN
RJEs: Remote job entry points
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
Ref. Online sources
Change adapter settings
RJEs: Remote job entry points Ref. Online sources
Bootstrapping Problem
RJEs: Remote job entry points
host host host
...
DHCP server
• Bootstrapping: Self-starting process that is supposed to proceed
without external input
• Host doesn’t have an IP address yet
– So, host doesn’t know what source address to use
• Host doesn’t know who to ask for an IP address
– So, host doesn’t know what destination address to use
• Solution: shout to discover a server who can help
– Broadcast a server-discovery message
– Server sends a reply offering an address
Ref. Online sources
Broadcasting
RJEs: Remote job entry points
• Broadcasting: sending to everyone
– Special destination address: FF-FF-FF-FF-FF-FF
– All adapters on the LAN receive the packet
• Delivering a broadcast packet
– Easy on a “shared media”
– Like shouting in a room – everyone can hear you
– E.g., Ethernet, wireless, and satellite links
Ref. Online sources
Response from the DHCP Server
RJEs: Remote job entry points
• DHCP “offer message” from the server
– Configuration parameters (proposed IP address, mask, gateway router,
DNS server, ...)
– Lease time (the time during that the information remains valid)
• Multiple servers may respond
– Multiple servers on the same broadcast media
– Each may respond with an offer
– The client can decide which offer to accept
• Accepting one of the offers
– Client sends a DHCP request echoing the parameters
– The DHCP server responds with an ACK to confirm
– The other servers see they were not chosen
Ref. Online sources
Dynamic Host Configuration Protocol
RJEs: Remote job entry points
arriving
client DHCP server
233.1.2.5
Ref. Online sources
Network Connection Details
RJEs: Remote job entry points Ref. Online sources
Deciding What IP Address to Offer
RJEs: Remote job entry points
• Server as centralized configuration: static database
– All parameters are statically configured in the server
– E.g., a dedicated IP address for each MAC address
– Avoids complexity of configuring hosts directly
– … while still having a permanent IP address per host
• Or, dynamic assignment of IP addresses
– Server maintains a pool of available addresses
– … and assigns them to hosts on demand
– Leads to less configuration complexity
– … and more efficient use of the pool of addresses
– Though, it is harder to track the same host over time
Ref. Online sources
Soft State: Refresh or Forget
RJEs: Remote job entry points
• Why is a lease time necessary?
– Rrelease the IP address (DHCP RELEASE)
• E.g., “ipconfig /release” at the DOS prompt
• E.g., clean shutdown of the computer
– But, the host might not release the address
• E.g., the host crashes (blue screen of death!)
• E.g., buggy client software
– And you don’t want the address to be allocated forever
• Performance trade-offs
– Short lease time: returns inactive addresses quickly
– Long lease time: avoids overhead of frequent renewals
Ref. Online sources
Now the Host Knows Things
RJEs: Remote job entry points
• IP address
• Mask
• Gateway router
• DNS server
• And can send packets to
other IP addresses
– But, how to learn the MAC
address of the destination?
Ref. Online sources
Sending Packets Over a Link
RJEs: Remote job entry points
• Adaptors only understand MAC addresses
– Translate the destination IP address to MAC address
– Encapsulate the IP packet inside a link-level frame
host host host
...
1.2.3.156
router
1.2.3.53
1.2.3.53
1.2.3.156
IP packet
Ref. Online sources
Address Resolution Protocol (ARP) Table
RJEs: Remote job entry points
• Every node maintains an ARP table
– (IP address, MAC address) pair
• Consult the table when sending a packet
– Map destination IP address to destination MAC address
– Encapsulate and transmit the data packet
• But, what if the IP address is not in the table?
– Sender broadcasts: “Who has IP address 1.2.3.156?”
– Receiver responds: “MAC address 58-23-D7-FA-20-B0”
– Sender caches the result in its ARP table
• No need for network administrator to get involved
host host host
...
1.2.3.156
router
1.2.3.53
Ref. Online sources
Example: A Sending a Packet to B
RJEs: Remote job entry points
How does host A send an IP packet to host B?
A sends packet to R, and R sends packet to B.
A
R
B
Ref. Online sources
Host A Decides to Send Through R
RJEs: Remote job entry points
• Host A constructs an IP packet to send to B
– Source 111.111.111.111, destination 222.222.222.222
• Host A has a gateway router R
– Used to reach destinations outside of 111.111.111.0/24
– Address 111.111.111.110 for R learned via DHCP
A
R
B
Ref. Online sources
Host A Sends Packet Through R
RJEs: Remote job entry points
• Host A learns the MAC address of R’s interface
– ARP request: broadcast request for 111.111.111.110
– ARP response: R responds with E6-E9-00-17-BB-4B
• Host A encapsulates the packet and sends to R
A
R
B
Ref. Online sources
R Decides how to Forward Packet
RJEs: Remote job entry points
• Router R’s adaptor receives the packet
– R extracts the IP packet from the Ethernet frame
– R sees the IP packet is destined to 222.222.222.222
• Router R consults its forwarding table
– Packet matches 222.222.222.0/24 via other adaptor
A
R
B
Ref. Online sources
R Sends Packet to B
RJEs: Remote job entry points
• Router R’s learns the MAC address of host B
– ARP request: broadcast request for 222.222.222.222
– ARP response: B responds with 49-BD-D2-C7-56-2A
• Router R encapsulates the packet and sends to B
A
R
B
Ref. Online sources
Internet control protocols: Summary
RJEs: Remote job entry points
• Important control functions
– Bootstrapping
– Error reporting and monitoring
• Internet control protocols
– Internet Control Message Protocol (ICMP)
– Dynamic Host Configuration Protocol (DHCP)
– Address Resolution Protocol (ARP)
Ref. Online sources
Routing algorithms
RJEs: Remote job entry points
 Shortest path routing
 Distance vector routing
 Link state routing
 Routing Information Protocol (RIP)
 Open Shortest Path First (OSPF)
 Inter-domain routing
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Routing algorithms
RJEs: Remote job entry points
 The two main functions performed by a routing algorithm are:
 The selection of routes for various origin-destination pairs
 Delivery of messages to their correct destination
 Quality of Service (QoS):
 Throughput
 Latency or Delay
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Delay-Throughput operating curves
RJEs: Remote job entry points
 Delay depends on
 The routes chosen by the routing
algorithm
 Buffering and Congestion
 Processing time
 Optimal balance between throughput and
delay (i.e., Rejecting offered load when delay
starts getting excessive).
 As the routing algorithm is more successful in
keeping delay low, the flow control algorithm
allows more traffic into the network.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Impact of the route selection on Delay
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Impact of the route selection on Throughput
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Efficient Routing algorithm (Objectives)
RJEs: Remote job entry points
https://www.google.com/search?biw=1366&bih=662&tbm=isch&sa=1&ei=tCKIW_a1ENGoyAOpk72wDg&q=delay+vs+traffic+load&oq=delay+vs+traffic+load&gs_l=img.3...106339.107441.0.108937.5.5.0.0.0.0.212.799.0j4j1.5.0....0...1c.1.64.img..0.0.0....0.7VrGCy8ydzI#imgrc=rlht
VdEspcS25M:
 Design objectives of the Routing algorithm:
 Increase throughput or maintain the same value of average delay
per packet under high offered load conditions.
 Decrease average delay per packet under low and moderate offered
load conditions.
Minimum Weighted Spanning Tree construction
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Minimum Weighted Spanning Tree construction
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm
RJEs: Remote job entry points
 Node 1 is the “destination” node
and consider the problem of
finding a shortest path from
every node to node 1.
 Same algorithm can be applied
to find the shortest path
between each source and
destination pair
 dij =∞ if (i, j) is not an arc of the
graph.
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm (Cont..)
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm (Cont..)
RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm (Cont..)
RJEs: Remote job entry points
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm (Cont..)
RJEs: Remote job entry points
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Bellman-Ford algorithm (Cont..)
RJEs: Remote job entry points
Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks
Computer Networks | Communication Networks

More Related Content

Similar to Computer Networks | Communication Networks

Data Communication
Data Communication Data Communication
Data Communication MSSadeq
 
seven layer OSI model
seven layer OSI modelseven layer OSI model
seven layer OSI modelManjeet MN
 
Class_notes_InternetTechnology
Class_notes_InternetTechnologyClass_notes_InternetTechnology
Class_notes_InternetTechnologyGulrez Khan
 
Basic networking tutorial
Basic networking tutorialBasic networking tutorial
Basic networking tutorialreddydivakara
 
Networking And Telecommunications
Networking And TelecommunicationsNetworking And Telecommunications
Networking And TelecommunicationsUMaine
 
OSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networkingOSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networkingMeenakshiGupta233101
 
Fundamental Of Computer Network.
Fundamental Of Computer Network. Fundamental Of Computer Network.
Fundamental Of Computer Network. PushpendraSingh483
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networkstechbed
 
network fundamentals _Chapter 2 - Week 2and 3.pptx
network fundamentals _Chapter 2 - Week 2and 3.pptxnetwork fundamentals _Chapter 2 - Week 2and 3.pptx
network fundamentals _Chapter 2 - Week 2and 3.pptxmashfiqislam
 
IMD 251 - Networking
IMD 251 - NetworkingIMD 251 - Networking
IMD 251 - Networkingisma ishak
 
Basic networking hardware pre final 1
Basic networking hardware pre final 1Basic networking hardware pre final 1
Basic networking hardware pre final 1Sujee Antony
 
Jaimin chp-1 - introduction - 2011 batch
Jaimin   chp-1  - introduction - 2011 batchJaimin   chp-1  - introduction - 2011 batch
Jaimin chp-1 - introduction - 2011 batchJaimin Jani
 
Sample elements of computer networking
Sample elements of computer networkingSample elements of computer networking
Sample elements of computer networkingRameesh Paul
 

Similar to Computer Networks | Communication Networks (20)

Data Communication
Data Communication Data Communication
Data Communication
 
seven layer OSI model
seven layer OSI modelseven layer OSI model
seven layer OSI model
 
Networking
NetworkingNetworking
Networking
 
Class_notes_InternetTechnology
Class_notes_InternetTechnologyClass_notes_InternetTechnology
Class_notes_InternetTechnology
 
COMPUTER NETWORKS
COMPUTER NETWORKSCOMPUTER NETWORKS
COMPUTER NETWORKS
 
Basic networking tutorial
Basic networking tutorialBasic networking tutorial
Basic networking tutorial
 
The Osi Model
The Osi ModelThe Osi Model
The Osi Model
 
Networking And Telecommunications
Networking And TelecommunicationsNetworking And Telecommunications
Networking And Telecommunications
 
CCNA Report
CCNA ReportCCNA Report
CCNA Report
 
OSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networkingOSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networking
 
Fundamental Of Computer Network.
Fundamental Of Computer Network. Fundamental Of Computer Network.
Fundamental Of Computer Network.
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networks
 
Sem 1 Ch 5
Sem 1 Ch 5Sem 1 Ch 5
Sem 1 Ch 5
 
network fundamentals _Chapter 2 - Week 2and 3.pptx
network fundamentals _Chapter 2 - Week 2and 3.pptxnetwork fundamentals _Chapter 2 - Week 2and 3.pptx
network fundamentals _Chapter 2 - Week 2and 3.pptx
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
IMD 251 - Networking
IMD 251 - NetworkingIMD 251 - Networking
IMD 251 - Networking
 
Basic networking hardware pre final 1
Basic networking hardware pre final 1Basic networking hardware pre final 1
Basic networking hardware pre final 1
 
Ccna report
Ccna reportCcna report
Ccna report
 
Jaimin chp-1 - introduction - 2011 batch
Jaimin   chp-1  - introduction - 2011 batchJaimin   chp-1  - introduction - 2011 batch
Jaimin chp-1 - introduction - 2011 batch
 
Sample elements of computer networking
Sample elements of computer networkingSample elements of computer networking
Sample elements of computer networking
 

More from Dr. Rahul Pandya

Dr. Rahul Pandya ECE Gate Course Communications Original.pdf
Dr. Rahul Pandya ECE Gate Course Communications Original.pdfDr. Rahul Pandya ECE Gate Course Communications Original.pdf
Dr. Rahul Pandya ECE Gate Course Communications Original.pdfDr. Rahul Pandya
 
Everything on Plagiarism | What is Plagiarism?
Everything on Plagiarism | What is Plagiarism?Everything on Plagiarism | What is Plagiarism?
Everything on Plagiarism | What is Plagiarism?Dr. Rahul Pandya
 
Stochastic Process and its Applications.
Stochastic Process and its Applications.Stochastic Process and its Applications.
Stochastic Process and its Applications.Dr. Rahul Pandya
 
Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...
Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...
Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...Dr. Rahul Pandya
 
Introduction to Probability Theory
Introduction to Probability TheoryIntroduction to Probability Theory
Introduction to Probability TheoryDr. Rahul Pandya
 
How to Cite Sources in PPT.pdf
How to Cite Sources in PPT.pdfHow to Cite Sources in PPT.pdf
How to Cite Sources in PPT.pdfDr. Rahul Pandya
 
Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...
Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...
Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...Dr. Rahul Pandya
 
Paraphrasing without citing the souces.pdf
Paraphrasing without citing the souces.pdfParaphrasing without citing the souces.pdf
Paraphrasing without citing the souces.pdfDr. Rahul Pandya
 
Avoid Plagiarism - Dr. Rahul Pandya.pdf
Avoid Plagiarism - Dr. Rahul Pandya.pdfAvoid Plagiarism - Dr. Rahul Pandya.pdf
Avoid Plagiarism - Dr. Rahul Pandya.pdfDr. Rahul Pandya
 
Journal Papers vs. Conference Papers - Dr. Rahul Pandya
Journal Papers vs. Conference Papers - Dr. Rahul PandyaJournal Papers vs. Conference Papers - Dr. Rahul Pandya
Journal Papers vs. Conference Papers - Dr. Rahul PandyaDr. Rahul Pandya
 
Research Paper Writing - Dr. Rahul Pandya
Research Paper Writing - Dr. Rahul PandyaResearch Paper Writing - Dr. Rahul Pandya
Research Paper Writing - Dr. Rahul PandyaDr. Rahul Pandya
 

More from Dr. Rahul Pandya (11)

Dr. Rahul Pandya ECE Gate Course Communications Original.pdf
Dr. Rahul Pandya ECE Gate Course Communications Original.pdfDr. Rahul Pandya ECE Gate Course Communications Original.pdf
Dr. Rahul Pandya ECE Gate Course Communications Original.pdf
 
Everything on Plagiarism | What is Plagiarism?
Everything on Plagiarism | What is Plagiarism?Everything on Plagiarism | What is Plagiarism?
Everything on Plagiarism | What is Plagiarism?
 
Stochastic Process and its Applications.
Stochastic Process and its Applications.Stochastic Process and its Applications.
Stochastic Process and its Applications.
 
Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...
Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...
Dr Rahul Pandya 6G Vision, Potential technologies, and Challenges - Animated ...
 
Introduction to Probability Theory
Introduction to Probability TheoryIntroduction to Probability Theory
Introduction to Probability Theory
 
How to Cite Sources in PPT.pdf
How to Cite Sources in PPT.pdfHow to Cite Sources in PPT.pdf
How to Cite Sources in PPT.pdf
 
Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...
Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...
Verbatim Plagiarism | Direct Plagiarism | Direct Copy Paste | Types of Plagia...
 
Paraphrasing without citing the souces.pdf
Paraphrasing without citing the souces.pdfParaphrasing without citing the souces.pdf
Paraphrasing without citing the souces.pdf
 
Avoid Plagiarism - Dr. Rahul Pandya.pdf
Avoid Plagiarism - Dr. Rahul Pandya.pdfAvoid Plagiarism - Dr. Rahul Pandya.pdf
Avoid Plagiarism - Dr. Rahul Pandya.pdf
 
Journal Papers vs. Conference Papers - Dr. Rahul Pandya
Journal Papers vs. Conference Papers - Dr. Rahul PandyaJournal Papers vs. Conference Papers - Dr. Rahul Pandya
Journal Papers vs. Conference Papers - Dr. Rahul Pandya
 
Research Paper Writing - Dr. Rahul Pandya
Research Paper Writing - Dr. Rahul PandyaResearch Paper Writing - Dr. Rahul Pandya
Research Paper Writing - Dr. Rahul Pandya
 

Recently uploaded

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesShubhangi Sonawane
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Recently uploaded (20)

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Computer Networks | Communication Networks

  • 2. Introduction to Communication Networks Smoke signals Bird messengers Horse messengers Postal communications Telephones Wireless communication Communication Networks Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 3. Basic Communication Network • Network with one central processor and a separate communication link to each device. RJEs: Remote job entry points  Separate communication link for each peripheral device  Increase in the #peripheral devices and users  Leads to more #communication links, higher space, power and cost  Problem statement: Design the basic communication network with minimal #links, lower space, power and cost Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 4. Basic Communication Network • Network with one central processor but with shared communication links to devices. RJEs: Remote job entry points  Multiplexers: To collect the traffic from a set of peripheral devices or users in the same area and to send it on a single link to the control processor/computer Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 5. Advantages of the Multiplexing and Traffic Grooming RJEs: Remote job entry points  Better capacity utilization  Lower #communication links  Lower space, power and cost per bit  Traffic Grooming: It is a process where small telecommunication services are groomed in to the larger units and processed as a single entity. (e.g. 10x10 GbE LAN -> 1x100GbE LAN service) Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 6. Computer network with subnets RJEs: Remote job entry points • General network with a subnet of communication links and nodes. External devices are connected to the subnet via links to the subnet nodes. Account/HR subnet Marketing subnet Engineering subnet Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 7. Network of Networks RJEs: Remote job entry points  Gateway/Edge routers  Allow users of one network to send the data to the users of the other networks.  Network of Networks  Problem statement: Design LAN, MAN and WAN forming subnets & gateways Account/HR subnet Marketing subnet Engineering subnet Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 8. Commercial application of Communication Networks RJEs: Remote job entry points  Data-centres:  Central storage and remote access: Google drive  Banking and financial services:  Remote services  E-mails  Cloud computing and automation Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 9. Open System Inter connection (OSI) model RJEs: Remote job entry points
  • 10. Physical Layer RJEs: Remote job entry points  Defines rules by which bits are passed from one system to another on the Physical communication channel/medium  Provides physical interface for the transmission  To provide a virtual link for transmitting the sequence of bits between any pair of nodes joined by the physical communication channel  Such virtual links are also known as bit pipes  Physical interface to map the incoming bits from Data link layer into appropriate signals for the transmission over the physical channel/medium  At the receiving maps the signal back in to bits Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 11. Data Link Layer RJEs: Remote job entry points  Provides reliable and error free communication over the physical layer interface  Breaks the outgoing data into frames and resembles the receiving frames  Place overhead control bits called header at the beginning and trailer at the end of each packet  Over Head bits determine errors in the transmission frames  Handles the errors by implementing an acknowledgement and retransmission Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 12. The MAC sub-layer RJEs: Remote job entry points  Medium Access Control (MAC): Requirement of an intermediate layer to manage the multi-access link so that frames can be sent by each node without constant interference from the other nodes.  Usually considered as the lower sub-layer of layer 2 (Data Link Layer)  The function of the MAC sub-layer is to allocate the multi-access channel so that each node can successfully transmit its frames without undue interference from the other nodes Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 13. Network Layer RJEs: Remote job entry points  Routing, flow and congestion control  When a frame enters a node or site from a communication link, the bits in that frame pass through the physical layer to the DL layer.  The DL layer determines where the frame begins and ends, and if the frame is accepted as correct, the DLC strips off the DLC header and trailer from the frame and passes the resulting packet up to the network layer.  A packet consists of two parts, a packet header followed by the packet body  The network layer module uses the packet header of an incoming packet, along with stored information (Source and Destination addresses) to accomplish its routing, flow and control functions. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 14. Routing exercise RJEs: Remote job entry points  Problem statement: Design the routing table for each router and identify the route for the transmission
  • 15. Internet sub-layer RJEs: Remote job entry points  Standards for the routing and flow control protocols  Despite of all standardization, different networks use different algorithm for routing and flow control at the network layer  Can’t connect different sub-networks together  Solution:  Create a new sub-layer called Internet sub-layer  Several subnets can be combined by creating special nodes called Gateways between them.  A gateway connecting two subnets will interface with each Subnet through a network layer module appropriate for that subnet.  When a packet arrives at a gateway from one subnet, the corresponding network layer module passes the packet body and subsidiary information about the packet to the internet sub-layer  Internet sub-layer plays a role in routing and flow control Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 16. Transport Layer RJEs: Remote job entry points  Pair of peer process  Break the messages in to packets of the transmitting end  Reassemble the packets into the messages at Rx  Buffering improves the sequential delivery of the packets  Limited or shared buffer space between many virtual links can cause the buffer overflow and results in the packet loss (Problem statement: Estimate the optimal buffer size)  Multiplexing/De-multiplexing:  Multiplex several low-rate sessions/services which are originated from the same source and going towards the same destination  Also splits the high rate sessions in to multiple small sessions in case if the network layer is not capable of handling that much of high data rate.  End to end reliability:  To handle the failures  End to end flow control Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 17. Session Layer RJEs: Remote job entry points  Session layer provides the mechanism for controlling the dialogue between two end systems  Session layer creates, maintains, and terminates communication between devices on a network.  Establishing the connection  Maintaining the session  Terminate the connection  Dialog control  Dialog separation  Session is a logical communication channel that is created and maintained between two network devices in order to transfer data.  Access rights/Authorization check/Log-in-ID/Password  Check points/Failure checks and Retransmission from the last check point  E.g. Restore the web services Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager and online sources
  • 18. Presentation Layer RJEs: Remote job entry points  Presentation layer ensures  Common format  Data compression and decompression for better bandwidth and storage utilization  Translation and code conversation  Data encryption/decryption and cryptography for security  Application: Confidentiality in military communications  Prevent messages from getting to the wrong recipients  Prevent malfunctions  Systematic information exchange between two sides Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 19. Application Layer RJEs: Remote job entry points  Application layer interacts with application programs and is the highest level of OSI model.  Application layer contains management functions to support distributed applications.  Examples of application layer are applications such as file transfer, electronic mail, remote login etc. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 20. Summary RJEs: Remote job entry points Physical Layer Physical Medium for the transmission Data link Layer Error free transmission, Medium Access Control (MAC) sub-L. Network Layer Routing, flow and congestion control, Internet sub-layer (L) Transport Layer Buffering, Multiplexing/De-multiplexing, E2E connections Session Layer Establish, Maintain, Terminate the connection, Access rights Presentation Layer Format, Compression/Decompression, Encryption/Decryption Application Layer functions to support applications
  • 21. Circuit Switching and Packet Switching
  • 22. Overview RJEs: Remote job entry points  Networks interconnect multiple devices.  We studied the Local Area Networks.  Now, let’s go through wide area networks  Circuit Switching: Communication via circuit switching implies that there is a dedicated communication path between two stations  Telephones: Circuit switching has been the dominant technique for the voice communications.  Packet Switching: Data transmission in which a message is broken into small entities called packets which are sent independently  Since 1970, packet switching has evolved significantly for digital data communications. It was designed to achieve the more efficiency than circuit switching for burst data traffic.  Two types of packet switching:  Connectionless Packet Switching/Datagram approach (such as today’s Internet)  Connection-Oriented Packet Switching/Virtual circuit approach (such as Frame Relay, ATM) Ref. Book: Data and Computer Communication by William Stallings
  • 23. Switched Communications Networks RJEs: Remote job entry points  Long distance transmission between stations is typically achieved over a network through switching nodes.  Switching nodes do not concern with content of data. Their purpose is to provide a switching facility that will move the data from node to node until they reach their destination.  A collection of nodes and connections forms a communications network.  In a switched communications network, data entering the network from a station are routed to the destination by being switched from node to node. Ref Switching Nodes
  • 24. Central offices with switching nodes RJEs: Remote job entry points Ref
  • 25. Circuit Switching RJEs: Remote job entry points Ref • Circuit switching: – There is a dedicated communication path between two stations (end-to-end) – The path is a connected sequence of links between network nodes. On each physical link, a logical channel is dedicated to the connection. • Communication via circuit switching has three phases: – Circuit establishment (link by link) • Routing & resource allocation (FDM or TDM) – Data transfer – Circuit disconnect • Decommission the dedicated resources • The switches must know how to find the route to the destination and how to allocate bandwidth (channel) to establish a connection.
  • 26. Circuit Switching Properties RJEs: Remote job entry points Ref • Inefficiency – Channel capacity is dedicated for the whole duration of a connection – If no data, capacity is wasted • Delay – Long initial delay: circuit establishment takes time – Low data delay: after the circuit establishment, information is transmitted at a fixed data rate with no delay other than the propagation delay. The delay at each node is negligible. • Developed for voice traffic (public telephone network) but can also applied to data traffic. – For voice connections, the resulting circuit will enjoy a high percentage of utilization because most of the time one party or the other is talking. – But how about data connections?
  • 27. Packet Switching Principles RJEs: Remote job entry points Ref • Problem of circuit switching – designed for voice service – Resources dedicated to a particular call – For data transmission, much of the time the connection is idle (say, web browsing) – Data rate is fixed • Both ends must operate at the same rate during the entire period of connection • Packet switching is designed to address these problems.
  • 28. Basic Operation RJEs: Remote job entry points Ref • Data are transmitted in short packets – Typically at the order of 1000 bytes – Longer messages are split into series of packets – Each packet contains a portion of user data plus some control info • Control info contains at least – Routing (addressing) info, so as to be routed to the intended destination • Store and forward – On each switching node, packets are received, stored (buffered) and passed on to the next node. Buffering
  • 29. Advantages of Packet Switching RJEs: Remote job entry points Ref • Line efficiency – Single node-to-node link can be dynamically shared by many packets over time – Packets are queued up and transmitted as fast as possible • Data rate conversion – Each station connects to the local node at its own speed • In circuit-switching, a connection could be blocked if there lacks free resources. On a packet-switching network, even with heavy traffic, packets are still accepted, by delivery delay increases (Buffering). • Priorities can be used – On each node, packets with higher priority can be forwarded first. They will experience less delay than lower-priority packets.
  • 30. Packet Switching Technique RJEs: Remote job entry points Ref • A station breaks long message into packets • Packets are sent out to the network sequentially, one at a time • How will the network handle this stream of packets as it attempts to route them through the network and deliver them to the intended destination? – Two approaches • Connectionless Packet Switching/Datagram approach • Connection-Oriented Packet Switching/Virtual circuit approach
  • 31. RJEs: Remote job entry points Connectionless Packet Switching/Datagram approach • Each packet is treated independently, with no reference to packets that have gone before. – Each node chooses the next node on a packet’s path. • Packets can take any possible route. – Also, depends on the available link capacity. • Packets may arrive at the receiver out of order. • Packets may go missing. • It is up to the receiver to re-order packets and recover from missing packets. • Example: Internet
  • 32. Connection-Oriented Packet Switching/Virtual Circuit approach RJEs: Remote job entry points Ref • In virtual circuit, a preplanned route is established before any packets are sent, then all packets follow the same route. • Each packet contains a virtual circuit identifier instead of destination address, and each node on the preestablished route knows where to forward such packets. – The node need not make a routing decision for each packet. • Example: X.25, Frame Relay, ATM
  • 33. Virtual Circuit RJEs: Remote job entry points Ref • A route between stations is set up prior to data transfer. • All the data packets then follow the same route. • But there is no dedicated resources reserved for the virtual circuit! Packets need to be stored-and-forwarded.
  • 34. Virtual Circuits v Datagram RJEs: Remote job entry points Ref • Virtual circuits – Network can provide sequencing (packets arrive at the same order) and error control (retransmission between two nodes). – Packets are forwarded more quickly • Based on the virtual circuit identifier • No routing decisions to make – Less reliable • If a node fails, all virtual circuits that pass through that node fail. • Datagram – No call setup phase • Good for bursty data, such as Web applications – More flexible • If a node fails, packets may find an alternate route • Routing can be used to avoid congested parts of the network
  • 35. Event Timing for Circuit Switching and Packet Switching RJEs: Remote job entry points Ref
  • 36. Comparison of communication switching techniques RJEs: Remote job entry points Ref
  • 38. Role of Data Link Layer in Error Detection RJEs: Remote job entry points  Data link control (DLC) module knows where frames begin and end. The problem then is to determine which of those frames contain errors  Provide error-free packets to the next layer  Extra bits must be appended to a packet to detect errors  Note that the receiver cannot tell which bit is in error, nor how many errors occurred; it simply knows that errors occurred because of the odd number of 1's  Characters are mapped into strings of seven bits and then a parity check is appended as an eighth bit Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 39. Single Parity Checks RJEs: Remote job entry points  Total number of 1's in an encoded string (i.e., the original bit string plus the appended parity check) is always even.  If an encoded string is transmitted and a single error occurs in transmission, then, whether 1 is changed to 0 or 0 to 1, the resulting number of 1's in the string is odd and the error can be detected at the receiver.  Disadvantage:  Limited to single error detection  What if, two errors occurred?  In general, any odd number of errors are detected and any even number are undetected.  Single parity check is ineffective Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 40. Horizontal and Vertical Parity Checks RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager Error detection Error detection Error detection
  • 41. Parity Check Codes and Cyclic Redundancy Checks (CRC)
  • 42. Parity Check Code RJEs: Remote job entry points  The transformation from the string of data bits to the string of data bits and parity checks is called a parity check code or linear code.  A parity check code is defined by the particular collection of subsets used to generate parity checks. Note that the word code refers to the transformation itself; we refer to an encoded bit string (data plus parity checks) as a code word. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 43. CRC encoder and decoder RJEs: Remote job entry points Ref. Book: Data Communication and Networking by Forouzan
  • 44. Parity Check Code RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager  K- length of the data string for a given parity check code  L-the number of parity checks  K +L is the frame length  Objective: Detect the errors  In the error-detection system, the frame is transmitted and the receiving DLC module determines if each of the parity checks is still the modulo 2 sum of the corresponding subset of data bits. If so, the frame is regarded by the receiver as error-free, and if not, the presence of errors is detected.  If errors on the link convert one code word into another, the frame is regarded by the receiver as error-free, and undetectable errors are said to have occurred in the frame.
  • 45. Parity Check Code RJEs: Remote job entry points  Predict the probability of undetectable errors in a frame. Unfortunately, this is very difficult.  As a result of these difficulties, the effectiveness of a code for error detection is usually measured by three parameters: 1) the minimum distance of the code 2) the burst-detecting capability 3) the probability that a completely random string will be accepted as error-free  The minimum distance of a code is defined as the smallest number of errors that can convert one code word into another.  As we have seen, the minimum distance of a code using a single parity check is 2, and the minimum distance of a code with horizontal and vertical parity checks is 4. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 46. Parity Check Code RJEs: Remote job entry points  The length of a burst of errors in a frame is the number of bits from the first error to the last, inclusive. The burst-detecting capability of a code is defined as the largest integer B such that a code can detect all bursts of length B or less.  The burst-detecting capability of the single parity check code is 1, whereas the burst-detecting capability of a code with horizontal and vertical parity checks is 1 plus the length of a row. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 47. Parity Check Code RJEs: Remote job entry points Predict the probability of undetectable errors in a frame  Random string of length K + L is meant that each such string is received with probability  code words, the probability of an undetected error is the probability that the random string is one of the code words; this occurs with probability of . Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 48. Cyclic Redundancy Checks RJEs: Remote job entry points  The parity check codes used for error detection in most DLCs today are cyclic redundancy check (CRC) codes. The parity check bits are called the CRC.  L - the length of the CRC (number of check bits)  K - the length of the string of data bits Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager  Indeterminate D can be thought of as keeping track of the bits; high-order terms are viewed as being transmitted first.  The CRC is represented as  Transmitted frame:
  • 49. Parity Check Code RJEs: Remote job entry points  The CRC polynomial c(D) is a function of the information polynomial s(D), defined in terms of a generator polynomial g(D); this is a polynomial of degree L with binary coefficients that specifies the particular CRC code to be used.  For a given g(D), the mapping from the information polynomial to the CRC polynomial c(D) is given by Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager  The polynomial division above is just ordinary long division of one polynomial by another, except that the coefficients are restricted to be binary and the arithmetic on coefficients is performed modulo 2. Thus, for example, (1 + 1) modulo 2 = 0 and (0 - 1) modulo 2 = 1. Note that subtraction using modulo 2 arithmetic is the same as addition.
  • 50. Parity Check Code RJEs: Remote job entry points  This long division can be implemented easily in hardware by the feedback shift register circuit Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 51. Division in CRC encoder RJEs: Remote job entry points Ref. Book: Data Communication and Networking by Forouzan
  • 52. Division in the CRC decoder for two cases RJEs: Remote job entry points Ref. Book: Data Communication and Networking by Forouzan
  • 53. Parity Check Code RJEs: Remote job entry points  Let z(D) be the quotient resulting from dividing s(D)DL by g(D). Then, c(D) can be represented as  Subtracting c(D) (modulo 2) from both sides of this equation and recognizing that modulo 2 subtraction and addition are the same, we obtain  x(D) is transmitted and that the received sequence is represented by a polynomial y(D), where x(D) and y(D) differ because of the errors on the communication link.  Error sequence is represented as a polynomial e(D) y(D) = x(D) + e(D)  Where, as throughout this section, + means modulo 2 addition;  Each error in the frame corresponds to a non zero coefficient in e(D) [i.e., a coefficient in which y(D) and x(D) differ].  At the receiver, remainder can be calculated as shown below Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 54. Parity Check Code RJEs: Remote job entry points  This long division can be implemented easily in hardware by the feedback shift register circuit  If no errors occur, then e(D) = 0 and the remainder above will be 0.  The rule followed by the receiver is to decide that the frame is error-free if this remainder is 0 and to decide that there are errors otherwise.  When errors occur  The receiver fails to detect the errors only if this remainder is 0; this occurs only if e(D), is itself some code word. In other words, is undetectable if and only if Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 55. Parity Check Code RJEs: Remote job entry points  If a double error occurs, say in positions i and j, Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager  From the argument above, Dj is not divisible by g(D) or by any factor of g(D); thus, e(D) fails to be detected only if is divisible by g(D).  For any binary polynomial  g(D) of degree L, there is some smallest n for which is divisible by g(D). It  is known from the theory of finite fields that this smallest n can be no larger than  moreover, for all L > 0, there are special L-degree polynomials, called primitive  polynomials, such that this smallest n is equal to 2L - 1.
  • 56. Parity Check Code RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager  Thus, if g(D) is chosen to be such a primitive polynomial of degree L, and if the frame length is restricted to be at most , then cannot be divisible by g(D); thus, all double errors are detected.
  • 57. Parity Check Code RJEs: Remote job entry points • https://www.geeksforgeeks.org/modulo-2-binary-division/ • http://www.ritsumei.ac.jp/~piumarta/networks/notes/crc.pdf • http://computing.dcu.ie/~humphrys/Notes/Networks/data.polynomial.html • http://ecomputernotes.com/computernetworkingnotes/communication-networks/cyclic-redundancy-check
  • 58. Parity Check Code RJEs: Remote job entry points Some CRC polynomials that are actually used •CRC-8: x8+x2+x+1 • Used in: 802.16 (along with error correction). •CRC-CCITT: •x16+x12+x5+1 • Used in: HDLC, SDLC, PPP Default •IBM-CRC-16 (ANSI): •x16+x15+x2+1 •802.3: x32+x26+x23+x22 +x16+x12+x11+x10 +x8+x7+x5+x4+x2+x+1 • Append 32 bits to the message. • Detects all bursts of length 32 or less.
  • 59. Automatic Repeat Request (ARQ) RJEs: Remote job entry points Objective: Detect frames with errors and request the transmitting DLC module to retransmit erroneous frames. Correctness: Does the protocol succeed in releasing each packet, once and only once, without errors, from the receiving DLC? Efficiency: How much of the bit- transmitting capability of the bit pipe is wasted by unnecessary waiting and by sending unnecessary retransmissions?
  • 60. Stop-and-Wait ARQ RJEs: Remote job entry points  Ensure that each packet has been received correctly before initiating transmission of the next packet.  In transmitting packets from point A to B, the first packet is transmitted in the first frame, and then the sender A waits for the acknowledgment (Ack).  Thus, If the frame is error-free, B sends an Ack back to A; if the frame is an error frame, B sends a negative acknowledgment (called a Nak) back to A.  If an error-free frame is received at B, and the corresponding Ack frame to A is error-free, then A can start to send the next packet in a new frame.  Alternatively, detected errors can occur either in the transmission of the frame or the return Ack or Nak, and in either case A resends the old packet in a new frame. Finally, if either the frame or the return ack or nak is lost, A must eventually time-out and resend the old packet.
  • 61. Stop-and-Wait ARQ RJEs: Remote job entry points  Potential malfunction: Delay  Case: Node A to time-out and resend a packet when the first transmission and/or the corresponding Ack is abnormally delayed. If B receives both transmissions of the given packet correctly, B has no way of knowing whether the second transmission is a new packet or a repetition of the old packet.  B should simply compare the packets to resolve this issue, but as far as the DLC layer is concerned, packets are arbitrary bit strings and the first and second packets could be identical; it would be a violation of the principle of layering for the DLC layer to rely on higher layers to ensure that successive packets are different.  Solution: Use the sequence numbers
  • 62. Stop-and-Wait ARQ RJEs: Remote job entry points Solution: The simplest solution to this problem is for the sending DLC module (at A) to use a sequence number in the frame header to identify successive packets. Problem with the unnumbered Acks: If Acks can get lost on the return channel, and thus when B gets the same packet correctly twice in a row, it has to send a new Ack for the second reception (see Fig. 2.19). After transmitting the packet twice but receiving only one Ack, node A could transmit the next packet in sequence, and then on receiving the second Ack could interpret that as an Ack for the new packet, leading to a potential failure of the system.
  • 63. Request numbers and Piggyback RJEs: Remote job entry points  To avoid the problem with the unnumbered Acks, use request numbers and overcome the ambiguities about which frame is being Acked  Node B can request next awaited packet upon the receipt of each packet  Piggyback: In many applications, there is another stream of data from B to A, and in this case, the frames from B to A carrying requests for new A to B packets must be interspersed with data frames carrying data from B to A. It is also possible to "piggyback" these requests for new packets into the headers of the data frames from B to A (see Fig. 2.20).
  • 64. Delay to avoid the retransmission RJEs: Remote job entry points
  • 65. Algorithm: Pseudo code RJEs: Remote job entry points  The algorithm at node A for A-to-B transmission: 1. Set the integer variable SN to 0. 2. Accept a packet from the next higher layer at A; if no packet is available, wait until it is; assign number SN to the new packet. 3. Transmit the SNth packet in a frame containing SN in the sequence number field. 4. If an error-free frame is received from B containing a request number RN greater than SN, increase SN to RN and go to step 2. If no such frame is received within some finite delay, go to step 3. 1. Set the integer variable RN to 0 and then repeat steps 2 and 3 forever. 2. Whenever an error-free frame is received from A containing a sequence number SN equal to RN, release the received packet to the higher layer and increment RN. 3. At arbitrary times, but within bounded delay after receiving any error-free data frame from A, transmit a frame to A containing RN in the request number field.  The algorithm at node B for A-to-B transmission:
  • 66. Correctness of stop and wait RJEs: Remote job entry points  An algorithm is safe if it never produces an incorrect result, which in this case means never releasing a packet out of the correct order to the higher layer at B.  An algorithm is live if it can continue forever to produce results (i.e., if it can never enter a deadlock condition from which no further progress is possible).
  • 67. Correctness of stop and wait RJEs: Remote job entry points
  • 68. State transition diagram RJEs: Remote job entry points
  • 69. Go Back n-ARQ/sliding window ARQ protocol RJEs: Remote job entry points Advantage: In contrast to stop-and-wait ARQ, several successive packets can be sent without waiting for the next packet to be requested.  It accepts packets only in the correct order and sends request numbers RN back to A; the effect of a given request RN is to acknowledge all packets prior to RN and to request transmission of packet RN.  The go back number n >= 1 in a go back n protocol is a parameter that determines how many successive packets can be sent in the absence of a request for a new packet.  Specifically, node A is not allowed to send packet i +n before i has been acknowledged (i.e., before i + 1 has been requested). Thus, if i is the most recently received request from node B, there is a "window" of n packets, from i to i +n - 1, that the transmitter is allowed to send.  As successively higher-numbered requests are received from B, this window slides upward; thus go back n protocols are often called sliding window ARQ protocols.
  • 70. Operation of go back 7 ARQ with piggybacking RJEs: Remote job entry points
  • 71. Sources of delay RJEs: Remote job entry points  Even in the absence of transmission errors, there are several sources of delay between the time that a packet is first assembled into a frame at A and the time when A receives an acknowledgment of the packet. Sources of delay:  Transmission time of the frame  Propagation delay  Wait until the frame in transmission at Rx side is completed  Transmission time of the frame carrying the acknowledgment  Propagation delay in the reverse direction (B-to-A)
  • 72. Effect of a transmission error on go back 4 RJEs: Remote job entry points  The second frame from A, carrying packet 1, is received in error at node B. Node B continues to look for packet 1 and to transmit RN = 1 in frames from B to A. Packets 2, 3, and 4 from A all arrive at B in error-free frames but are not accepted since node B is looking only for packet 1.  It would be more efficient for node B to buffer packets 2, 3, and 4, thus avoiding the necessity for A to retransmit them after packet 1 is finally retransmitted. Such a buffering strategy is called selective repeat ARQ
  • 73. Effect of transmission errors in the reverse direction for go back 4 RJEs: Remote job entry points
  • 74. Effect of delayed feedback for go back 4 RJEs: Remote job entry points  Impact of short frames in one direction and long frames in the other
  • 75. Algorithm: Pseudo code RJEs: Remote job entry points  The transmitter uses two integer variables, SNmin and SNmax to keep track of its operations. SNmin denotes the smallest-numbered packet that has not yet been acknowledged (i.e., the lower end of the window).  SNmax denotes the number of the next packet to be accepted from the higher layer. Thus the DLC layer is attempting to transmit packets SNmin to SNmax - 1. The go back n algorithm at node A for A-to-B transmission: 1. Set the integer variables SNmin and SNmax to 0. 2. Do steps 3, 4, and 5 repeatedly in any order. There can be an arbitrary but bounded delay between the time when the conditions for a step are satisfied and when the step is executed. 3. If SNmax < SNmin + n, and if a packet is available from the higher layer, accept a new packet into the DLC, assign number SNmax to it, and increment SNmax. 4. If an error-free frame is received from B containing a request number RN greater than SNmax , increase SNmin to RN. 5. If SNmin < SNmax, and no frame is currently in transmission, choose some number SN, SNmin < SNmax; transmit the SNth packet in a frame containing SN in the sequence number field. At most a bounded delay is allowed between successive transmissions of packet SNmin over intervals when SNmin does not change.
  • 76. Algorithm: Pseudo code RJEs: Remote job entry points The go back n algorithm at node B for A-to-B transmission: 1. Set the integer variable RN to 0 and repeat steps 2 and 3 forever. 2. Whenever an error-free frame is received from A containing a sequence number SN equal to RN. release the received packet to the higher layer and increment RN. 3. At arbitrary times, but within bounded delay after receiving any error-free data frame from A, transmit a frame to A containing RN in the request number field.
  • 77. Exercise RJEs: Remote job entry points Problem statement: Considering the stop and wait protocol, for the given communication link the link capacity is 100 kbps, the latency or propagation delay is 40 ms, frame processing delay is 1 µs, frame transmission delay is 10 ms, frame size is 1 kbits. What is the minimum wait duration? What is the throughput or the maximum link capacity utilization of the system? In order to improve the throughput or link capacity utilization, we would like to employ Go Back and N-ARQ protocol. What is the optimal window size to achieve the maximum link capacity utilization? Assume there are no errors or fame losses.
  • 78. Exercises on sliding window protocols RJEs: Remote job entry points http://home.deib.polimi.it/capone/fcn/E3-Error-and-flow-control.pdf
  • 79. Correctness of go back n RJEs: Remote job entry points  The safety property of the go back n algorithm is exactly the same as for stop and wait. (Release/Deliver the packets in the correct order)  To verify the liveness property, assume That i is the value of SNmin at node A at a given time t1 (see Fig. 2.28). Let t2 be the time at which packet i is received error-free and released to the higher layer at node B; let t2 = Infinite) if this event never occurs.  Similarly, let t3 be the time at which SNmin is increased beyond i and let t3 =Infinite, if this never occurs. We will show that t3 is finite and that t1 < t3 and t2 < t3.  Hence the protocol is a live.
  • 80. Correctness of go back n RJEs: Remote job entry points
  • 81. Correctness of go back n RJEs: Remote job entry points  Let RN(t) be the value of the variable RN at node B as a function of time t and let SNmin (t) be the corresponding value of SNmin at node A.  It is seen directly from the algorithm statement that SNmin(t) and RN(t) are non-decreasing in t. Also, since SNmin(t) is the largest request number (if any) received from B up to time t, SNmin(t) =< RN(t).  By definition of t2 and t3, RN(t) is incremented to i + 1 at t2 and SNmin(t) is increased beyond i at t3. Using the fact that SNmin(t) =< RN(t), it follows that t2 < t3. Note that it is possible that t2 < t1, since packet i might have been received error-free and released at B before time t1 and even before SN, in became equal to i.  From the algorithm statement, node A transmits packet i repeatedly, with finite delay between successive transmissions, from t1 until t3. If t1 < t2, then RN(t) = i for t1=< t=<t2, so the first error-free reception of packet i after t1 will be accepted and released to the higher layer at B.  Since t2 < t3, node A will retransmit packet i until this happens. Since there is a probability q > 0 that each retransmission is received correctly, and retransmissions occur within finite intervals, the time from t1 to t2 is finite.  B (whether t1 < t2 , or vice versa) transmits frames carrying RN>= i + 1 from time t2 until some such frame is received error-free at A at time t3. Since node A is also transmitting frames in this interval, the delay between subsequent transmissions from B is finite, and, since q > 0, the interval from t2 to t3 is finite. Thus the interval from t1 to t3 is finite and the algorithm is live.
  • 82. Go back n with modulus m > n RJEs: Remote job entry points  It will now be shown that if the sequence number SN and the request number RN are sent modulo m, for some m strictly greater than the go back number n, the correctness of go back n is maintained as long as we re-impose the condition that frames do not get out of order on the links. To demonstrate this correctness, we first look more carefully at the ordering of events when ordinary integers are used for SN sand RN.
  • 83. Go back n with modulus m > n. RJEs: Remote job entry points  Consider the transmission of an arbitrary frame from node A to B. Suppose that the frame is generated at time t1 and received at t2 (see Fig. 2.29). The sequence number SN of the frame must lie in node A's window at time t1, so  SN and RN(t2) are both contained in the interval from SNmin(t1) to SNmin (t1) +n, and thus must satisfy (eq. 2.26)
  • 84. Go back n with modulus m > n. RJEs: Remote job entry points  Now suppose that when packet number SN is sent, the accompanying sequence number is sent modulo m, and let sn denote SN mod m.  Step 3 of the algorithm at node B must then be modified to: If an error- free frame is received from A containing a sequence number sn equal to RN mod m, release the received packet to the higher layer and increment RN.  Since m > n by assumption, we see from Eq. (2.26) that sn = RN mod m will be satisfied if and only if the packet number SN is equal to RN; thus, the algorithm still works correctly.
  • 85. Go back n with modulus m > n. RJEs: Remote job entry points  Now suppose that RN is sent modulo m, and let rn = RN mod m. Step 4 of the algorithm at node A must then be modified to: If an error-free frame is received from B containing SNmin mod m, then increment SNmin until rn = SNmin mod m.  Because of the range of RN in Eq. (2.27), we see that this new rule is equivalent to the old rule, and it is sufficient to send request numbers modulo m.  At this point, however, we see that it is unnecessary for SNmin, SNmax, and RN to be saved at nodes A and B as ordinary integers; everything can be numbered modulo m, and the algorithm has been demonstrated to work correctly for m>n.
  • 86. Algorithm: Pseudo code RJEs: Remote job entry points The go back n algorithm at node A for modulo m operation, m>n: 1. Set the modulo m variables SNmin and SNmax to 0. 2. Do steps 3, 4, and 5 repeatedly in any order. There can be an arbitrary but bounded delay between the time when the conditions for a step are satisfied and when the step is executed. 3. If (SNmax - SNmin ) mod m < n, and if a packet is available from the higher layer, accept a new packet into the DLC, assign number SNmax to it, and increment SNmax to (SNmax + 1) mod m. 4. If an error-free frame is received from B containing a request number RN, and (RN - SNmin) mod m ≤ (SNmax - SNmin) mod m, set SNmin to equal RN. 5. If and no frame is currently in transmission, choose some number SN such that (SN - SNmin ) mod m < (SNmax - SNmin ) mod m transmit packet SN in a frame containing SN in the sequence number field.
  • 87. RJEs: Remote job entry points The go back n algorithm at node B for modulo m operation, m>n 1. Set the modulo m variable RN to 0. 2. Whenever an error-free frame is received from A containing a sequence number SN equal to RN, release the received packet to the higher layer and increment RN to (RN + 1) mod m. 3. At arbitrary times, but within bounded delay after receiving any error-free data frame from A, transmit a frame to A containing RN in the request number field. Algorithm: Pseudo code
  • 88. Selective Repeat ARQ RJEs: Remote job entry points Even if unnecessary retransmissions are avoided, go back n protocols must retransmit at least one round-trip-delay worth of frames when a single error occurs in an awaited Selective repeat ARQ can be used to increase efficiency The basic idea of selective repeat ARQ for data on a link from A to B is to accept out-of-order packets and to request retransmissions from A only for those packets that are not correctly received. If p is the probability of frame error, the expected number η of packets delivered to B per frame from A to B is bounded by (1 – p) is also called the throughput The throughput of this ideal is shown in Problem 2.26 to be where β is the expected number of frames in a round-trip delay interval. This indicates that the increase in throughput available with selective repeat is significant only when pβ is appreciable relative to 1.
  • 89. Selective Repeat ARQ RJEs: Remote job entry points
  • 90. Go back n with modulus m > n. RJEs: Remote job entry points
  • 92. Protocol Functions RJEs: Remote job entry points  Encapsulation  Fragmentation and reassembly  Connection control  Ordered delivery  Flow control  Error control  Addressing  Multiplexing  Transmission services Ref. Book: Data and Computer Communication by William Stallings
  • 93. Encapsulation RJEs: Remote job entry points  Data usually transferred in blocks  Protocol data units (PDUs)  Each PDU contains data and control information  Some PDUs only control  Three categories of control  Address  Of sender and/or receiver  Error-detecting code  E.g. frame check sequence  Protocol control  Additional information to implement protocol functions  Addition of control information to data is encapsulation  Data accepted or generated by entity and encapsulated into PDU  Containing data plus control information  e.g. TFTP, HDLC, frame relay, ATM, AAL5 (Figure 11.15), LLC, IEEE 802.3, IEEE 802.11 Ref. Book: Data and Computer Communication by William Stallings
  • 94. Fragmentation and Reassembly RJEs: Remote job entry points  Exchange data between two entities  Characterized as sequence of PDUs of some bounded size  Application level message  Lower-level protocols may need to break data up into smaller blocks  Communications network may only accept blocks of up to a certain size  ATM 53 octets  Ethernet 1526 octets  More efficient error control  Lesser retransmission  Equitable access to shared transmission  Prevent station monopolizing medium  Smaller buffers  Provision of checkpoint and restart/recovery operations Ref. Book: Data and Computer Communication by William Stallings
  • 95. Disadvantages of Fragmentation RJEs: Remote job entry points  Make PDUs as large as possible because  PDU contains some control information  Smaller block, larger overhead  PDU arrival generates interrupt  Smaller blocks, more interrupts  More time processing smaller, more numerous PDUs Ref. Book: Data and Computer Communication by William Stallings
  • 96. Reassembly RJEs: Remote job entry points  Segmented data must be reassembled into messages  More complex if PDUs out of order Ref. Book: Data and Computer Communication by William Stallings
  • 97. PDUS and Fragmentation RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 98. Connection Control RJEs: Remote job entry points  Connectionless data transfer  Each PDU treated independently  E.g. datagram  Connection-oriented data transfer  E.g. virtual circuit  Connection-oriented preferred (even required) for lengthy exchange of data  Or if protocol details must be worked out dynamically  Logical association, or connection, established between entities  Three phases occur  Connection establishment  Data transfer  Connection termination  May be interrupt and recovery phases to handle errors Ref. Book: Data and Computer Communication by William Stallings
  • 99. Sequencing RJEs: Remote job entry points  Many connection-oriented protocols use sequencing  e.g. HDLC, IEEE 802.11  PDUs numbered sequentially  Each side keeps track of outgoing and incoming numbers  Supports three main functions  Ordered delivery  Flow control  Error control  Not found in all connection-oriented protocols  E.g.frame relay and ATM  All connection-oriented protocols include some way of identifying connection  Unique connection identifier  Combination of source and destination addresses Ref. Book: Data and Computer Communication by William Stallings
  • 100. Ordered Delivery RJEs: Remote job entry points  PDUs may arrive out of order  Different paths through network  PDU order must be maintained  Number PDUs sequentially  Easy to reorder received PDUs  Finite sequence number field  Use modulo maximum numbering  Maximum sequence number greater than maximum number of PDUs that could be outstanding  In fact, maximum number may need to be twice of the maximum number of PDUs that could be outstanding  e.g. selective-repeat ARQ Ref. Book: Data and Computer Communication by William Stallings
  • 101. Flow Control RJEs: Remote job entry points  Control the data-rate  Stop-and-wait  Each PDU must be acknowledged before next sent  Credit  Amount of data that can be sent without acknowledgment  E.g. sliding-window  Must be implemented in several protocols  Network traffic control  Buffer space  Application overflow  E.g. waiting for disk access Ref. Book: Data and Computer Communication by William Stallings
  • 102. Error Control RJEs: Remote job entry points  Guard against loss or damage  Error detection and retransmission  Sender inserts error-detecting code in PDU  E.g. CRC  Receiver checks code on incoming PDU  If error, discard and request for the retransmission  If transmitter doesn’t get acknowledgment in reasonable time, retransmit  Error-correction code  E.g. Forward Error Correction (FEC)  Enables receiver to detect and possibly correct errors  Error control is performed at various layers of protocol  Between station and network  Inside network Ref. Book: Data and Computer Communication by William Stallings
  • 103. Addressing RJEs: Remote job entry points  Addressing level  Addressing scope  Connection identifiers  Addressing mode Ref. Book: Data and Computer Communication by William Stallings
  • 104. Addressing Level RJEs: Remote job entry points  Addressing level refers to the level in the communications architecture at which an entity is named  Unique address for each end system  e.g. workstation or server  And each intermediate system  e.g., router  Network-level address  IP address or internet address  OSI - network service access point (NSAP)  Used to route PDU through network  At destination data must routed to some process  Each process assigned an identifier  TCP/IP port  Service access point (SAP) in OSI Ref. Book: Data and Computer Communication by William Stallings
  • 105. Addressing Scope RJEs: Remote job entry points  Global address  Global non-ambiguity  Identifies unique system  Synonyms permitted  System may have more than one global address  Global applicability  Possible at any global address to identify any other global address, in any system, by means of global address of other system  Enables internet to route data between any two systems  Need unique address for each device interface on network  MAC address on IEEE 802 network and ATM host address  Enables network to route data units through network and deliver to intended system  Network attachment point address  Addressing scope only relevant for network-level addresses  Port or SAP above network level is unique within system  Need not be globally unique  E.g port 80 web server listening port in TCP/IP Ref. Book: Data and Computer Communication by William Stallings
  • 106. Connection Identifiers RJEs: Remote job entry points  Entity 1 on system A requests connection to entity 2 on system B, using global address B.2.  B.2 accepts connection  Connection identifier used by both entities for future transmissions  Reduced overhead  Generally shorter than global identifiers  Routing  Fixed route may be defined  Connection identifier identifies route to intermediate systems  Multiplexing  Entity may wish more than one connection simultaneously  PDUs must be identified by connection identifier  Use of state information  Once connection established, end systems can maintain state information about connection  Flow and error control using sequence numbers Ref. Book: Data and Computer Communication by William Stallings
  • 107. Addressing Mode RJEs: Remote job entry points  Usually address refers to single system or port  Individual or unicast address  Address can refer to more than one entity or port  Multiple simultaneous recipients for data  Broadcast for all entities within domain  Multicast for specific subset of entities Ref. Book: Data and Computer Communication by William Stallings
  • 108. Mulitplexing • Network with one central processor but with shared communication links to devices. RJEs: Remote job entry points  Multiplexers: To collect the traffic from a set of peripheral devices or users in the same area and to send it on a single link to the control processor/computer Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 109. Advantages of the Multiplexing and Traffic Grooming RJEs: Remote job entry points  Better capacity utilization  Lower #communication links  Lower space, power and cost per bit  Traffic Grooming: It is a process where small telecommunication services are groomed in to the larger units and processed as a single entity. (e.g. 10x10 GbE LAN -> 1x100GbE LAN service) Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 110. Transmission Services RJEs: Remote job entry points  Protocol may provide additional services to entities  Priority  Connection basis  On message basis  E.g. terminate-connection request  Quality of service (QOS)  E.g. minimum throughput or maximum delay threshold  Security  Security mechanisms, restricting access  These services depend on underlying transmission system and lower-level entities Ref. Book: Data and Computer Communication by William Stallings
  • 111. Internetworking Terms (1) RJEs: Remote job entry points  Communications Network  Facility that provides data transfer service  An internet  Collection of communications networks interconnected by bridges and/or routers  The Internet  The global collection of thousands of individual machines and networks  Intranet  Corporate internet operating within the organization  Uses Internet (TCP/IP and http) technology to deliver documents and resources Ref. Book: Data and Computer Communication by William Stallings
  • 112. Internetworking Terms (2) RJEs: Remote job entry points  End System (ES)  Device attached to one of the networks of an internet  Supports end-user applications or services  Intermediate System (IS)  Device used to connect two networks  Permits communication between end systems attached to different networks  Bridge  IS used to connect two LANs using similar LAN protocols  Address filter passing on packets to the required network only  OSI layer 2 (Data Link)  Router  Connects two (possibly dissimilar) networks  Uses internet protocol present in each router and end system  OSI Layer 3 (Network) Ref. Book: Data and Computer Communication by William Stallings
  • 113. Internet Protocol (IP) RJEs: Remote job entry points • IP provides connectionless (datagram) service • Each packet treated separately • Network layer protocol common to all routers – which is the Internet Protocol (IP) Ref. Book: Data and Computer Communication by William Stallings
  • 114. Connectionless Internetworking RJEs: Remote job entry points • Advantages – Flexible and robust • e.g. in case of congestion or node failure, packets find their way easier than connection-oriented services – No unnecessary overhead for connection setup – Can work with different network types • does not demand too much services from the actual network • Disadvantage: Unreliable – Best effort: Not guaranteed delivery (no throughput guarantee, no delay guarantee,…) – Not guaranteed order of delivery • Packets can take different routes – Unreliable: Reliability is responsibility of next layer up (e.g. TCP) Ref. Book: Data and Computer Communication by William Stallings
  • 115. Internet Protocols RJEs: Remote job entry points Application TCP IP Data Link Application TCP IP Network Access Application protocol TCP protocol IP protocol IP protocol Data Link Data Link IP Data Link Data Link IP Data Link Data Link Data Link IP protocol Router Router Host Host Ref. Book: Data and Computer Communication by William Stallings
  • 116. IP Operation RJEs: Remote job entry points Link Access Procedure for Frame Relay (or LAPF), Logical Link Control (LLC) Ref. Book: Data and Computer Communication by William Stallings
  • 117. Network Design Issues RJEs: Remote job entry points • Routing • Datagram lifetime • Fragmentation and re-assembly • Error control • Flow control • Addressing Ref. Book: Data and Computer Communication by William Stallings
  • 118. Routing RJEs: Remote job entry points • End systems and routers maintain routing tables – Indicate next router to which datagram should be sent – Static • Tables do not change but may contain alternative routes – Dynamic • If needed, the tables are dynamically updated • Flexible response to congestion and errors • status reports issued by neighbors about down routers • Source routing – Source specifies route as sequential list of routers to be followed – useful, for example, if the data is top secret and should follow a set of trusted routers. • Route recording – routers add their address to datagrams – good for tracing and debugging purposes Ref. Book: Data and Computer Communication by William Stallings
  • 119. Datagram Lifetime RJEs: Remote job entry points • Datagrams could loop indefinitely – Not good • Unnecessary resource consumption • Transport protocol needs upper bound on datagram life • Datagram marked with lifetime – Time To Live (TTL) field in IP – Once lifetime expires, datagram discarded (not forwarded) – Hop count • Decrement time to live on passing through each router – Time count • Need to know how long since last router • global clock is needed Ref. Book: Data and Computer Communication by William Stallings
  • 120. Fragmentation and Re-assembly RJEs: Remote job entry points • Different maximum packet sizes for different networks – routers may need to split the datagrams into smaller fragments • When to re-assemble – At destination – Intermediate reassembly • Need large buffers at routers • All fragments must go through same router – Inhibits dynamic routing Ref. Book: Data and Computer Communication by William Stallings
  • 121. IP Fragmentation RJEs: Remote job entry points • In IP, reassembly is at destination only • Uses fields in header – Data Unit Identifier – In order to uniquely identify datagram – Source and destination addresses 1. Upper protocol layer (e.g. TCP) 2. Identification supplied by that layer – Data length • Length of user data in octets (if fragment, length of fragment data) • Actually header contains total length incl. header but data length can be calculated – Offset • Position of fragment of user data in original datagram (position of the first byte of the fragment) • In multiples of 64 bits (8 octets) – More flag • Indicates that this is not the last fragment (if this flag is 1) Ref. Book: Data and Computer Communication by William Stallings
  • 122. Dealing with Failure RJEs: Remote job entry points • Re-assembly may fail if some fragments get lost • Need to detect failure • Re-assembly time out – Assigned to first fragment to arrive – If timeout expires before all fragments arrive, discard partial data • Use packet lifetime (time to live in IP) – If time to live runs out, kill partial data Ref. Book: Data and Computer Communication by William Stallings
  • 123. Error Control RJEs: Remote job entry points • In IP, delivery is not guaranteed • Router may attempt to inform source if packet discarded, if possible – specify the reason of drop, e.g. for time to live expiration, congestion, bad checksum (error detected) • Datagram identification needed • When source receives failure notification, it – may modify transmission strategy – may inform high layer protocol • Note that such a failure notification is not guaranteed Ref. Book: Data and Computer Communication by William Stallings
  • 124. Flow Control (in IP layer) RJEs: Remote job entry points • Allows routers and/or stations to limit rate of incoming data • Limited in connectionless systems • Send flow control packets – Requesting reduced flow • e.g. ICMP Ref. Book: Data and Computer Communication by William Stallings
  • 125. Internet Protocol (IP) Version 4 RJEs: Remote job entry points • Part of TCP/IP – Used by the Internet • Specifies interface with higher layer – e.g. TCP • Specifies protocol format and mechanisms • RFC 791 – www.rfc-editor.org • Replaced or will be replaced by IPv6 (see later) Ref. Book: Data and Computer Communication by William Stallings
  • 126. Internet Protocol (IP) Version 4 RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 127. IP Services RJEs: Remote job entry points • Information and commands exchanged across adjacent layers (e.g. between IP and TCP) • Primitives (functions to be performed) – Send • Request transmission of data unit – Deliver • Notify user of arrival of data unit • Parameters – Used to pass data and control info Ref. Book: Data and Computer Communication by William Stallings
  • 128. Parameters (1) RJEs: Remote job entry points • Source IP address • Destination IP address • Protocol – Recipient e.g. TCP • Type of Service Indicators – Specify treatment of data unit during transmission through networks • Identification – Uniquely identifies PDU together with source, destination IP addresses and user protocol – Needed for re-assembly and error reporting Ref. Book: Data and Computer Communication by William Stallings
  • 129. Parameters (2) RJEs: Remote job entry points • Don’t fragment indicator – Can IP fragment data? – If not, may not be possible to deliver • Time to live (initial TTL value) • Data length • Options • Data from/to upper layer Ref. Book: Data and Computer Communication by William Stallings
  • 130. Options RJEs: Remote job entry points • Security – security label - mostly for military applications • Source routing • Route recording • Stream identification – identifies reserved resources for stream traffic (like video) • Time-stamping – added by source and routers Ref. Book: Data and Computer Communication by William Stallings
  • 131. Type of Service Indicators RJEs: Remote job entry points • Requests for service quality – now different QoS (Quality of Service) mechanisms are used, but this is out of scope of this course • Precedence – 8 levels • Reliability – Normal or high • Delay – Normal or low • Throughput – Normal or high Ref. Book: Data and Computer Communication by William Stallings
  • 132. IPv4 Header RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings Internet Header Length (IHL), Differentiated Services (DS), Explicit congestion notification (ECN)
  • 133. Header Fields (1) RJEs: Remote job entry points • Version – Currently 4 (IP v4) • Internet header length – In 32 bit words – Including options • Type of service • Total length – Of datagram, in octets Ref. Book: Data and Computer Communication by William Stallings
  • 134. Header Fields (2) RJEs: Remote job entry points • Identification – Sequence number – Used with addresses and user protocol to identify datagram uniquely • Flags – More bit – Don’t fragment • Fragmentation offset • Time to live • Protocol – Next higher layer to receive data field at destination Ref. Book: Data and Computer Communication by William Stallings
  • 135. Header Fields (3) RJEs: Remote job entry points • Header checksum – Reverified and recomputed at each router – 16 bit ones complement sum of all 16 bit words in header – Set to zero during calculation • Source address • Destination address • Options • Padding – To fill to multiple of 32 bits long Ref. Book: Data and Computer Communication by William Stallings
  • 136. Data Field RJEs: Remote job entry points • Carries user data from next layer up • Integer multiple of 8 bits long (octet) • Max length of datagram (header plus data) 65,535 octets Ref. Book: Data and Computer Communication by William Stallings
  • 137. IPv4 Address Formats RJEs: Remote job entry points • 32 bit global Internet address • Network part and host part • All-zero host part identifies the network • All-one host part means broadcast (limited to current network) Ref. Book: Data and Computer Communication by William Stallings Class A: Few networks, each with many hosts Class B: Medium number of networks, each with a medium number of hosts Class C: Many networks, each with a few hosts
  • 138. IP Addresses - Class A RJEs: Remote job entry points • 32 bit global internet address • Network part and host part • All zero – Special meaning (means “this computer”) • 01111111 (127) (network part ) reserved for loopback – Generally 127.0.0.1 is used • Range 1.x.x.x to 126.x.x.x – 10.x.x.x is for private networks • Few networks - many hosts • All networks have been allocated Ref. Book: Data and Computer Communication by William Stallings
  • 139. IP Addresses - Class B RJEs: Remote job entry points • Starts with binary 10 • Range 128.x.x.x to 191.x.x.x – Second octet is also part of the network id. • 14-bit network, 16-bit host number – 214 = 16,384 class B addresses – 216 = 65,536 hosts per network • Actually minus 2 due to network and broadcast addresses • All networks have been allocated Ref. Book: Data and Computer Communication by William Stallings
  • 140. IP Addresses - Class C RJEs: Remote job entry points • Start binary 110 • Range 192.x.x.x to 223.x.x.x • Second and third octets are also part of network address • 221 = 2,097,152 addresses (networks) • 256 – 2 = 254 hosts per network • Nearly all allocated Ref. Book: Data and Computer Communication by William Stallings
  • 141. IPv4 Address Formats RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings E.g.10.250.1.1 E.g.150.10.15.0 E.g. 192.14.2.0 Exercise: Identify the class address http://172.20.0.20 2/nitw_prm/index. aspx
  • 142. Special IP address forms RJEs: Remote job entry points Prefix (network) Suffix (host) Type & Meaning all zeros all zeros this computer (used during bootstrap) network address all zeros identifies network network address all ones broadcast on the specified network all ones all ones broadcast on local network 127 any loopback (for testing purposes) Ref. Book: Data and Computer Communication by William Stallings
  • 143. Subnets and Subnet Masks RJEs: Remote job entry points • Allow arbitrary complexity of internetworked LANs within organization – By not having one network class for each LAN within the organization – Each such LAN is called a subnet • Such a network with several subnets looks like a single network from the point of view of the rest of internet • Each subnet is assigned a subnet number • Host portion of address partitioned into subnet number and host number • Local routers route within subnetted network • Subnet mask indicates which bits are network/subnet number and which are host number. Applying a subnet mask to an IP address separates network address from host address. – Subnet mask must be in the form of several 1's followed by several 0's (total 32 bits) - 111..111000…0 – number of 0's is used to determine the number of hosts in that subnet (see next example) Ref. Book: Data and Computer Communication by William Stallings
  • 144. Subnet Mask Calculation (Exercise) RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 145. Routing Using Subnets RJEs: Remote job entry points  Subnet Mask: 255.255.255.224  Addresses start with 192, so class C addresses. Last octet is for Subnet number and Host number  224 -> 11100000 in binary last 5 bits are for Host number, previous 3 bits are for Subnet number  Don't forget! All zero host number identifies the subnet and all ones is used for broadcast Ref. Book: Data and Computer Communication by William Stallings
  • 146. Custom subnet mask (Exercise) RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings Problem statement: Take a single network, which has an IP 193.100.10.0 and distribute it into 16 smaller networks. The external world still sees the network as 193.100.10.0, but the internal computers and routers see 16 Independent smaller subnets. IP Address: 193 . 100 . 10 . 0 Custom Subnet Mask: 255.255.255.240 Network Subnet Host IP Address: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 1 0 1 0 1 0 (193 . 100 . 10 . 42) Custom Subnet Mask: 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1. 1 1 1 1 0 0 0 0 (255.255.255.240) AND operation: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 1 0 0 0 0 0 (193 . 100 . 10 . 32) Network Subnet Host IP Address: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0) Custom Subnet Mask: 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1. 1 1 1 1 0 0 0 0 (255. 255. 255. 240) AND operation: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0)  Applying a subnet mask to an IP address separates network address from host address. The network bits are represented by the 1's in the mask, and the host bits are represented by 0's. Performing a bitwise logical AND operation on the IP address with the subnet mask produces the network address. Belongs to which subnet, tells the subnet ID
  • 147. Custom subnet mask (Exercise) RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings Problem statement: Take a single network has an IP 193.100.10.0 and distribute it into 16 smaller networks. The external world still sees the network as 193.100.10.0, but the internal computers and routers see 16 Independent smaller subnets. IP Address: 193 . 100 . 10 . 0 Custom Subnet Mask: 255.255.255.240 Address Ranges: SubNet-1: 193.10.10.0 to 193.100.10.15 (Customer-1) SubNet-2: 193.100.10.16 to 193.100.10.31 (Customer-2) SubNet-3: 193.100.10.32 to 193.100.10.47 (Customer-3) SubNet-4: 193.100.10.48 to 193.100.10.63 (Customer-4) SubNet-5: 193.100.10.64 to 193.100.10.79 (Customer-5) SubNet-6: 193.100.10.80 to 193.100.10.95 (Customer-6) SubNet-7: 193.100.10.96 to 193.100.10.111 (Customer-7) SubNet-8: 193.100.10.112 to 193.100.10.127 (Customer-8) SubNet-9: 193.100.10.128 to 193.100.10.143 (Customer-9) SubNet-10: 193.100.10.144 to 193.100.10.159 (Customer-10) SubNet-11: 193.100.10.160 to 193.100.10.175 (Customer-11) SubNet-12: 193.100.10.176 to 193.100.10.191 (Customer-12) SubNet-13: 193.100.10.192 to 193.100.10.207 (Customer-13) SubNet-14: 193.100.10.208 to 193.100.10.223 (Customer-14) SubNet-15: 193.100.10.224 to 193.100.10.239 (Customer-15) SubNet-16: 193.100.10.240 to 193.100.10.255 (Customer-16) 193 . 100 . 10 . 42 SubNet-1 (Customer-1), Useful range of addresses: 193.10.10.1 to 193.100.10.14 Q. Why?
  • 148. Classless Inter Domain Routing (CIDR) RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings and online sources  Classless Inter Domain Routing (CIDR) was invented to keep the Internet from running out of IP Addresses.  The IPv4, a 32-bit, addresses have a limit of 4,294,967,296 (232) unique IP addresses. The classful address scheme (Class A, B and C) of allocating IP addresses in 8-bit increments can be very wasteful. With classful addressing scheme, a minimum number of IP addresses allocated to an organization is 256 (Class C). Giving 256 IP addresses to an organization only requiring 15 IP addresses is wasteful.  Also, an organization requiring more than 256 IP addresses (let's say 1,000 IP addresses) is assigned a Class B, which allocates 65,536 IP addresses. Similarly, an organization requiring more than 65,636 (65,634 usable IPs) is assigned a Class A network, which allocates 16,777,216 (16.7 Million) IP addresses. This type of address allocation is very wasteful.  With CIDR, a network of IP addresses is allocated in 1-bit increments as opposed to 8-bits in classful network. The use of a CIDR notated address can easily represent classful addresses (Class A = /8, Class B = /16, and Class C = /24). The number next to the slash (i.e. /8) represents the number of bits assigned to the network address. The example shown above can be illustrated with CIDR as follows: Network Subnet Host IP Address: 1 1 0 0 0 0 0 1. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0/28) Custom Subnet Mask: 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1. 1 1 1 1 0 0 0 0 (255.255.255.240) AND operation: 1 0 1 0 1 1 0 0. 0 1 1 0 0 1 0 0. 0 0 0 0 1 0 1 0. 0 0 0 0 0 0 0 0 (193 . 100 . 10 . 0/28)
  • 149. Hostel Work RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings 18.15 What is the difference between the subnet mask for a Class A address with 16 bits for the subnet ID and a class B address with 8 bits for the subnet ID? 18.17 Given a network address of 192.168.100.0 and a subnet mask of 255.255.255.192, a. How many subnets are created? b. How many hosts are there per subnet? 18.19 In contemporary routing and addressing, the notation commonly used is called classless interdomain routing or CIDR. With CIDR, the number of bits in the mask is indicated in the following fashion: 192.168.100.0/24. This corresponds to a mask of 255.255.255.0. If this example would provide for 256 host addresses on the network, how many addresses are provided with the following? a. 192.168.100.0/23 b. 192.168.100.0/25 18.21 Using your IP address and your mask, what is your network address? This is determined by converting the IP address and the mask to binary and then proceeding with a bitwise logical AND operation. For example, given the address 172.16.45.0 and the mask 255.255.224.0, we would discover that the network address would be 172.16.32.0. Practice exercises on IP: http://www.ece.virginia.edu/mv/edu/7457/lectures/IP/IP-exer.pdf
  • 150. IP v6 - Version Number RJEs: Remote job entry points • IP v 1-3 defined and replaced • IP v4 – last version • IP v5 - stream protocol – Connection oriented internet layer protocol • IP v6 - replacement for IP v4 – During the initial development it was called IPng (Next Generation) Ref. Book: Data and Computer Communication by William Stallings
  • 151. Driving Motivation to change IP RJEs: Remote job entry points • Address space exhaustion – Two level addressing (network and host) wastes space – Network addresses used even if not connected to Internet – Growth of networks and the Internet – Extended use of TCP/IP • e.g. for POS terminals • Wireless nodes • Vehicles • Current trend: Internet of Things – Single address per host • Requirements for new types of service Ref. Book: Data and Computer Communication by William Stallings
  • 152. IPv6 Enhancements (1) RJEs: Remote job entry points • Expanded address space – 128 bit • Improved option mechanism – Separate optional headers between IPv6 header and transport layer header – Most are not examined by intermediate routes • Improved speed and simplified router processing • Easier to extend options • Address auto configuration – Dynamic assignment of addresses Ref. Book: Data and Computer Communication by William Stallings
  • 153. IPv6 Enhancements (2) RJEs: Remote job entry points • Increased addressing flexibility – Anycast - delivered to one of a set of nodes – Improved scalability of multicast addresses • Support for resource allocation – Replaces type of service – Labeling of packets to particular traffic flow – Allows special handling – e.g. real time video Ref. Book: Data and Computer Communication by William Stallings
  • 154. IPv6 PDU (Packet) Structure RJEs: Remote job entry points IPv6 header + optional extension headers Ref. Book: Data and Computer Communication by William Stallings
  • 155. Extension Headers RJEs: Remote job entry points • Hop-by-Hop Options – special options that require hop-by-hop processing • Routing – Similar to source routing • Fragment – fragmentation and reassembly information • Authentication – Integrity and Authentication • Encapsulating security payload – Privacy and Confidentiality (plus optional authentication) • Destination options – Optional info to be processed at destination node Ref. Book: Data and Computer Communication by William Stallings
  • 156. IPv6 Header RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 157. IPv6 Header Fields (1) RJEs: Remote job entry points • Version – 6 (in binary: 0110) • DS/ECN – Previously, Traffic Class (Types of Service) • Classes or priorities of packet – Now interpretation is different as discussed in v4 • Flow Label – Identifies a sequence of packets (a flow) that has special handling requirements • Payload length – Length of all extension headers plus user data Ref. Book: Data and Computer Communication by William Stallings Differentiated Services (DS), Explicit congestion notification (ECN)
  • 158. IPv6 Header Fields (2) RJEs: Remote job entry points • Next Header – Identifies type of the following header • Extension or next layer up • Hop Limit – Remaining number of hops – As in TTL of IPv4, decremented by one at each router – Packet discarded if reaches zero • Source Address • Destination address • Longer header but less number of fields – simplified processing Ref. Book: Data and Computer Communication by William Stallings
  • 159. Flow Label RJEs: Remote job entry points • Flow – Sequence of packets from particular source to particular destination – Source desires special handling by routers – Uniquely identified by source address, destination address, and 20-bit flow label • Router's view – Sequence of packets that share some attributes affecting how packets handled • Path, resource allocation, discard needs, security, etc. – Handling must somehow be arranged a priority • Negotiate handling ahead of time using a control protocol Ref. Book: Data and Computer Communication by William Stallings
  • 160. IPv6 Addresses RJEs: Remote job entry points • 128 bits long • Assigned to interface – An interface may have multiple addresses • network/host id parts – arbitrary boundary – like CIDR addresses in v4 • Multilevel hierarchy – ISP - Organization - Site - … – Helps faster routing due to aggregation of IP addresses • Smaller routing tables and faster lookup • IPv4 addresses are mapped into v6 addresses • Three types of address Ref. Book: Data and Computer Communication by William Stallings
  • 161. Differences Between v4 and v6 Headers RJEs: Remote job entry points • No header length (IHL) in v6 – main header is of fixed length in v6 • No Protocol info in v6 – next header field will eventually point to the transport layer PDU • No fragmentation related fields in v6 base header – fragmentation is an extension header • No checksum in v6 – rely on reliable transmission medium and checksums of upper and lower layers • Flow label is part of base header in v6 – it was in the options part in v4 Ref. Book: Data and Computer Communication by William Stallings Internet Header Length (IHL), Differentiated Services (DS), Explicit congestion notification (ECN)
  • 162. Differences Between v4 and v6 Headers RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 163. IPv6 Extension Headers RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 164. Hop-by-Hop Options RJEs: Remote job entry points • Next header • Header extension length • Options – Type (8 bits), length (8 bits) , option data (variable size) • type also says what should router do if it does not recognize the option – Pad1 / Pad N • Insert one/N byte(s) of padding into Options area of header • Ensure header is multiple of 8 bytes – Jumbo payload (Jumbogram) • Option data field (32 bits) gives the actual length of packet in octets – excluding the base IPv6 header • For packets over 216 -1 = 65,535 octets, we use this option – up to 232 octets – for large video packets – Router alert • Tells the router that the content of packet is of interest to the router • Provides support for Resource Reservation Protocol (RSVP) Ref. Book: Data and Computer Communication by William Stallings
  • 165. Fragmentation Header RJEs: Remote job entry points • Fragmentation only allowed at source • No fragmentation at intermediate routers • Node must perform path discovery to find smallest MTU of intermediate networks • Source fragments to match MTU • Otherwise limit to 1280 octets Ref. Book: Data and Computer Communication by William Stallings Maximum Transmission Unit (MTU)
  • 166. Fragmentation Header Fields RJEs: Remote job entry points • Next Header • Reserved • Fragmentation offset • Reserved • More flag • Identification Ref. Book: Data and Computer Communication by William Stallings
  • 167. Routing Header RJEs: Remote job entry points • List of one or more intermediate nodes to be visited • Next Header • Header extension length • Routing type • Segments left – i.e. number of nodes still to be visited Ref. Book: Data and Computer Communication by William Stallings
  • 168. Destination Options RJEs: Remote job entry points • Same format as Hop-by-Hop options header • RFC 2460 defines Pad 1/Pad N as in hop-by- hop options header Ref. Book: Data and Computer Communication by William Stallings
  • 169. Migration to IPv6 RJEs: Remote job entry points • Not an overnight operation – lots of investments in v4 networking equipment and software – currently equipment and software are IPv6 compatible – however, turning the key on synchronously all around the world is not easy • isolated v6 islands – communicating via tunnels • eventually those islands will get larger and merge • Specialized networks of small devices with IPv6 addresses – e.g. a network of sensors that covers a large area for security protection Ref. Book: Data and Computer Communication by William Stallings
  • 170. Internet control protocols RJEs: Remote job entry points • Internet control protocols – Internet Control Message Protocol (ICMP) – Dynamic Host Configuration Protocol (DHCP) – Address Resolution Protocol (ARP) Ref. Online sources
  • 171. Internet Control Message Protocol (ICMP) RJEs: Remote job entry points • Internet Control Message Protocol - RFC 792 – Sister protocol of IP – All IP implementations should also implement ICMP • ICMP is an error-reporting protocol network devices like routers use to generate error messages to the source IP address when network problems prevent delivery of IP packets. • Feedback about problems – e.g. datagram discarded, router’s buffer full • Some simple applications can be implemented using ICMP – e.g. ping • ICMP Source Quench packet to slow down the transmission rate. Ref. Book: Data and Computer Communication by William Stallings
  • 172. ICMP Message Formats RJEs: Remote job entry points Ref. Book: Data and Computer Communication by William Stallings
  • 174. How to Bootstrap an End Host? RJEs: Remote job entry points Ref. Online sources • Bootstrapping: Self-starting process that is supposed to proceed without external input • What IP address the host should use? • What local Domain Name System (DNS) server to use? – DNS is responsible for translating domain names into IP addresses • How to send packets to remote destinations? • How to ensure incoming packets arrive? host host DNS ... host host DNS ... router router 1.2.3.0/24 1.2.3.7 1.2.3.156 ??? 1.2.3.19 router
  • 175. Avoiding Manual Configuration RJEs: Remote job entry points Ref. Online sources host host DNS ... host host DNS ... router router 1.2.3.0/24 1.2.3.7 1.2.3.156 ??? 1.2.3.19 router • Dynamic Host Configuration Protocol (DHCP) – End host learns how to send packets – Learn IP address, DNS servers, and gateway • Address Resolution Protocol (ARP) – Others learn how to send packets to the end host – Learn mapping between IP address and MAC address
  • 176. Key Ideas in Both Protocols RJEs: Remote job entry points • Broadcasting: when in doubt, shout! – Broadcast query to all hosts in the local-area-network when you don’t know how to identify the right one • Caching: remember the past for a while – Store the information you learn to reduce overhead – Remember your own address & other host’s addresses • Soft state: eventually forget the past – Associate a time-to-live field with the information and either refresh or discard the information – Key for robustness in the face of unpredictable change Ref. Online sources
  • 177. Need Another Kind of Identity RJEs: Remote job entry points • LANs are designed for arbitrary network protocols – Not just for IP and the Internet • Using IP address would require reconfiguration – Every time the adapter is rebooted or powered up • Broadcasting all data to all adapters is expensive – Requires every host on the LAN to inspect each packet Motivates separate Medium Access Control (MAC) addresses Ref. Online sources
  • 178. MAC/Physical Address vs. IP Address RJEs: Remote job entry points • MAC/Physical addresses – Hard-coded in read-only memory when adaptor is built – Like a social security number – 48 bits contains six groups of two hexadecimal digits (e.g., 00-0E-9B-6E-49-76) – Portable, and can stay the same as the host moves – Used to get packet between interfaces on same network • IP addresses – Configured, or learned dynamically – Like a postal mailing address – Hierarchical name space of 32 bits (e.g., 12.178.66.9) – Not portable, and depends on where the host is attached – Used to get a packet to destination IP subnet Ref. Online sources
  • 179. MAC Addresses on a LAN RJEs: Remote job entry points 1A-2F-BB-76-09-AD 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 71-65-F7-2B-08-53 LAN Ref. Online sources
  • 180. Change adapter settings RJEs: Remote job entry points Ref. Online sources
  • 181. Bootstrapping Problem RJEs: Remote job entry points host host host ... DHCP server • Bootstrapping: Self-starting process that is supposed to proceed without external input • Host doesn’t have an IP address yet – So, host doesn’t know what source address to use • Host doesn’t know who to ask for an IP address – So, host doesn’t know what destination address to use • Solution: shout to discover a server who can help – Broadcast a server-discovery message – Server sends a reply offering an address Ref. Online sources
  • 182. Broadcasting RJEs: Remote job entry points • Broadcasting: sending to everyone – Special destination address: FF-FF-FF-FF-FF-FF – All adapters on the LAN receive the packet • Delivering a broadcast packet – Easy on a “shared media” – Like shouting in a room – everyone can hear you – E.g., Ethernet, wireless, and satellite links Ref. Online sources
  • 183. Response from the DHCP Server RJEs: Remote job entry points • DHCP “offer message” from the server – Configuration parameters (proposed IP address, mask, gateway router, DNS server, ...) – Lease time (the time during that the information remains valid) • Multiple servers may respond – Multiple servers on the same broadcast media – Each may respond with an offer – The client can decide which offer to accept • Accepting one of the offers – Client sends a DHCP request echoing the parameters – The DHCP server responds with an ACK to confirm – The other servers see they were not chosen Ref. Online sources
  • 184. Dynamic Host Configuration Protocol RJEs: Remote job entry points arriving client DHCP server 233.1.2.5 Ref. Online sources
  • 185. Network Connection Details RJEs: Remote job entry points Ref. Online sources
  • 186. Deciding What IP Address to Offer RJEs: Remote job entry points • Server as centralized configuration: static database – All parameters are statically configured in the server – E.g., a dedicated IP address for each MAC address – Avoids complexity of configuring hosts directly – … while still having a permanent IP address per host • Or, dynamic assignment of IP addresses – Server maintains a pool of available addresses – … and assigns them to hosts on demand – Leads to less configuration complexity – … and more efficient use of the pool of addresses – Though, it is harder to track the same host over time Ref. Online sources
  • 187. Soft State: Refresh or Forget RJEs: Remote job entry points • Why is a lease time necessary? – Rrelease the IP address (DHCP RELEASE) • E.g., “ipconfig /release” at the DOS prompt • E.g., clean shutdown of the computer – But, the host might not release the address • E.g., the host crashes (blue screen of death!) • E.g., buggy client software – And you don’t want the address to be allocated forever • Performance trade-offs – Short lease time: returns inactive addresses quickly – Long lease time: avoids overhead of frequent renewals Ref. Online sources
  • 188. Now the Host Knows Things RJEs: Remote job entry points • IP address • Mask • Gateway router • DNS server • And can send packets to other IP addresses – But, how to learn the MAC address of the destination? Ref. Online sources
  • 189. Sending Packets Over a Link RJEs: Remote job entry points • Adaptors only understand MAC addresses – Translate the destination IP address to MAC address – Encapsulate the IP packet inside a link-level frame host host host ... 1.2.3.156 router 1.2.3.53 1.2.3.53 1.2.3.156 IP packet Ref. Online sources
  • 190. Address Resolution Protocol (ARP) Table RJEs: Remote job entry points • Every node maintains an ARP table – (IP address, MAC address) pair • Consult the table when sending a packet – Map destination IP address to destination MAC address – Encapsulate and transmit the data packet • But, what if the IP address is not in the table? – Sender broadcasts: “Who has IP address 1.2.3.156?” – Receiver responds: “MAC address 58-23-D7-FA-20-B0” – Sender caches the result in its ARP table • No need for network administrator to get involved host host host ... 1.2.3.156 router 1.2.3.53 Ref. Online sources
  • 191. Example: A Sending a Packet to B RJEs: Remote job entry points How does host A send an IP packet to host B? A sends packet to R, and R sends packet to B. A R B Ref. Online sources
  • 192. Host A Decides to Send Through R RJEs: Remote job entry points • Host A constructs an IP packet to send to B – Source 111.111.111.111, destination 222.222.222.222 • Host A has a gateway router R – Used to reach destinations outside of 111.111.111.0/24 – Address 111.111.111.110 for R learned via DHCP A R B Ref. Online sources
  • 193. Host A Sends Packet Through R RJEs: Remote job entry points • Host A learns the MAC address of R’s interface – ARP request: broadcast request for 111.111.111.110 – ARP response: R responds with E6-E9-00-17-BB-4B • Host A encapsulates the packet and sends to R A R B Ref. Online sources
  • 194. R Decides how to Forward Packet RJEs: Remote job entry points • Router R’s adaptor receives the packet – R extracts the IP packet from the Ethernet frame – R sees the IP packet is destined to 222.222.222.222 • Router R consults its forwarding table – Packet matches 222.222.222.0/24 via other adaptor A R B Ref. Online sources
  • 195. R Sends Packet to B RJEs: Remote job entry points • Router R’s learns the MAC address of host B – ARP request: broadcast request for 222.222.222.222 – ARP response: B responds with 49-BD-D2-C7-56-2A • Router R encapsulates the packet and sends to B A R B Ref. Online sources
  • 196. Internet control protocols: Summary RJEs: Remote job entry points • Important control functions – Bootstrapping – Error reporting and monitoring • Internet control protocols – Internet Control Message Protocol (ICMP) – Dynamic Host Configuration Protocol (DHCP) – Address Resolution Protocol (ARP) Ref. Online sources
  • 197. Routing algorithms RJEs: Remote job entry points  Shortest path routing  Distance vector routing  Link state routing  Routing Information Protocol (RIP)  Open Shortest Path First (OSPF)  Inter-domain routing Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 198. Routing algorithms RJEs: Remote job entry points  The two main functions performed by a routing algorithm are:  The selection of routes for various origin-destination pairs  Delivery of messages to their correct destination  Quality of Service (QoS):  Throughput  Latency or Delay Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 199. Delay-Throughput operating curves RJEs: Remote job entry points  Delay depends on  The routes chosen by the routing algorithm  Buffering and Congestion  Processing time  Optimal balance between throughput and delay (i.e., Rejecting offered load when delay starts getting excessive).  As the routing algorithm is more successful in keeping delay low, the flow control algorithm allows more traffic into the network. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 200. Impact of the route selection on Delay RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 201. Impact of the route selection on Throughput RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 202. Efficient Routing algorithm (Objectives) RJEs: Remote job entry points https://www.google.com/search?biw=1366&bih=662&tbm=isch&sa=1&ei=tCKIW_a1ENGoyAOpk72wDg&q=delay+vs+traffic+load&oq=delay+vs+traffic+load&gs_l=img.3...106339.107441.0.108937.5.5.0.0.0.0.212.799.0j4j1.5.0....0...1c.1.64.img..0.0.0....0.7VrGCy8ydzI#imgrc=rlht VdEspcS25M:  Design objectives of the Routing algorithm:  Increase throughput or maintain the same value of average delay per packet under high offered load conditions.  Decrease average delay per packet under low and moderate offered load conditions.
  • 203. Minimum Weighted Spanning Tree construction RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 204. Minimum Weighted Spanning Tree construction RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 205. Bellman-Ford algorithm RJEs: Remote job entry points  Node 1 is the “destination” node and consider the problem of finding a shortest path from every node to node 1.  Same algorithm can be applied to find the shortest path between each source and destination pair  dij =∞ if (i, j) is not an arc of the graph. Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 206. Bellman-Ford algorithm RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 207. Bellman-Ford algorithm (Cont..) RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 208. Bellman-Ford algorithm (Cont..) RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 209. Bellman-Ford algorithm (Cont..) RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 210. Bellman-Ford algorithm (Cont..) RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager
  • 211. Bellman-Ford algorithm (Cont..) RJEs: Remote job entry points Ref. Book: Data Networks by Dimitri Bertsekas and Robert Gallager