CN Module 3
CN Module 3
o The message must first traverse the link that connects the source to the first
switch.
o We assume that each link has a propagation delay of τ seconds. We also
assume that the message has a transmission time of T seconds.
o The message must next traverse the link connecting the two switches, and
then it must traverse the link connecting the second switch and the
destination.
o Hence the minimum end-to-end message delay is 3τ + 3T. Hence, we can
conclude that for n intermediary switches, the delay would be
(n+1) τ + (n+1) T
o Note that this delay does not take into account any queueing delays that may
be incurred in the various links waiting for prior messages to be transmitted.
It also does not take into account the times required to perform the error
checks or any associated retransmissions.
o Disadvantage of Message Switching: It is not suitable for interactive
applications because it allows the transmission of very long messages that
can impose very long waiting delays on other messages.
o Hence, by placing a maximum length on the size of the blocks that are
transmitted, packet switching limits the maximum delay that can be
imposed by a single packet on other packets. Thus, packet switching is more
suitable than message switching for interactive applications
• Datagram / Connectionless Packet Switching
o In this approach, each packet is routed independently through the network.
Each packet has an attached header that provides all of the information
required to route the packet to its destination.
o When a packet arrives at a packet switch, the destination address in the
header is examined to determine the next hop in the path to the destination.
o The packet is then placed in a queue to wait until the given transmission line
becomes available. By sharing the transmission line among multiple packets,
packet switching can achieve high utilization at the expense of packet
queueing delays.
o Because each packet is routed independently, packets from the same source
to the same destination may traverse different paths through the network as
shown.
o For example, the routes may change in response to a network fault. Thus,
packets may arrive out of order, and re-sequencing may be required at
the destination.
o The below figure shows the minimum delay that is incurred by
transmitting a message that is broken into three separate packets.
o We neglect the overhead due to headers and suppose that each packet
requires P = T/3 seconds to transmit. The three packets are transmitted
successively from the source to the first packet switch.
o The first packet arrives at the first switch after τ + P seconds. It can then
begin transmission over the next hop after a brief processing time. The first
packet is received at the second packet switch at time 2τ + 2P. Then the
packet begins transmission over the final hop. The first packet then arrives at
the destination at time 3τ + 3P.
o Hence, the final packet will arrive at the destination at time 3τ +3P +2P = 3τ
+5P = 3τ + T +2P, which is less than the delay incurred in the message
switching.
o In general, if the path followed by a sequence of packets consists of L hops /
L-1 intermediary switches then the delay incurred by a message that consists
of k packets is given by
▪ Lτ + L P + (k − 1)P
o In contrast, the delay incurred using message switching is Lτ + LT = Lτ + L(k P)
Virtual-Circuit Packet Switching
• Virtual-circuit packet switching involves the establishment of a fixed path, often
called a virtual circuit or a connection, between a source and a destination prior to
the transfer of packets, as shown.
• The below figure shows the delay that is incurred when a message broken into
three packets is transmitted over a virtual circuit. Observe that the minimum delay
in virtual-circuit packet switching is similar to that in datagram packet switching,
except for an additional delay required to set up the virtual circuit.
• The virtual-circuit setup procedure first determines a path through the network
and then sets parameters in the switches by exchanging connect-request and
connect-confirm messages, as shown
• As in the datagram approach, packets from many other flows share the same
transmission line.
• Unlike the datagram approach, virtual-circuit packet switching guarantees the
order of the packets since packets for the same source-destination pair follow the
same path.
• In datagram packet switching each packet must contain the full address of the
source and destination. In large networks these addresses can require a large
number of bits and result in significant packet overhead and hence wasted
transmission bandwidth. One advantage of virtual-circuit packet switching is that
abbreviated headers can be used.
• The call setup procedure establishes a number of entries in routing tables located
in the various switches along the path. At the input to every switch, the virtual
circuit is identified by a virtual-circuit identifier (VCI). When a packet arrives at an
input port, the VCI in the header is used to access the table.
• The table lookup provides the output port to which the packet is to be forwarded
and the VCI that is to be used at the input port of the next switch. Thus, the call
setup procedure sets up a chain of pointers across the network that direct the flow
of packets in a connection.
In static routing routes are user defined. In dynamic routing, routes are updated
according to topology.
Static routing does not use complex Dynamic routing uses complex routing
routing algorithms. algorithms.
Static routing provides high or more Dynamic routing provides less security.
security.
Centralized vs Distributed
Central node computes the routes and Routes are computed by individual
uploads the information nodes using distributed algorithm and by
communicating with each other
All state information sent to central node State information exchanged by routers
• There are two virtual circuits between node A (host) and node 1 (switch). A packet
sent by node A with VCI 1 in the header will eventually reach node B, while a packet
with VCI 5 from node A will eventually reach node D.
• For each node pair, the VCI has local significance only. In our example VCI 1 from
node A gets translated to 2, and then to 7, and finally to 8 before reaching node B.
When node 1 receives a packet with VCI 1, that node should replace the incoming
VCI with 2 and then forward the packet to node 3.
• In practice, local port numbers are used instead of remote node numbers.
• With datagram packet switching, no virtual circuit has to be set up, since no
connection exists between a source and a destination.
• For the above network topology, the below would be the routing table. In general,
the destination address may be long (32 bits for IPv4), and thus a hash table or
more sophisticated lookup technique may be employed to yield a match quickly.
Hierarchical Routing
• The size of the routing tables that routers need to keep can be reduced if a
hierarchical approach is used in the assignment of addresses
• In this way routers need to examine only part of the address (i.e., the prefix) in
order to decide how a packet should be routed.
• In part (a) i.e., hierarchical routing, the hosts at each of the four sites have the
same prefix. Thus, the two routers need to only maintain tables with four entries
as shown.
• On the other hand, if the addresses are not hierarchical as in part (b) i.e., flat
routing, then the routers need to maintain 16 entries in their routing tables.
Specialized Routing
Here we examine two simple approaches to routing, called flooding and deflection
routing, which are used in certain network scenarios.
Flooding
• The principle of flooding calls for a packet switch (node) to forward an incoming
packet to all ports except the one the packet was received from.
• If each packet switch performs this flooding process, the packet will eventually reach
the destination as long as at least one path exists between the source and the
destination.
• Flooding may easily swamp the network as one packet creates multiple packets that
in turn create multiples of multiple packets, generating an exponential growth rate
as illustrated below.
Apply the Bellman-Ford algorithm to find both the minimum cost from each node to
the destination (node 6) and the next node along the shortest path.
Iteration N1 N2 N3 N4 N5
Initial (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞) (-1, ∞)
1 “ “ (6, 1) “ (6, 2)
2 (N3, N5 flood) (3, 3) (5, 6) “ (3, 3) (5, 5) “
2 (3, 3) (5, 6) (6, 1) (3, 3) (6, 2)
3 (N1, N2, N4 flood) (2, 9) (4, 8) (1, 6) (4, 4) (1, 5) (2, 9) (1, 8) (2, 7) (2, 10)
(4, 5) (4, 6) (4, 6)
3 (3, 3) (4, 4) (6, 1) (3, 3) (6, 2)
4 (N2 flood) (2, 7) “ “ (2, 5) (2, 8)
4 (3, 3) (4, 4) (6, 1) (3, 3) (6, 2)
At iteration 4, no node entries are updated and hence the algorithm has converged.
Now, draw the shortest path from each node to the destination node. (From last row)
Changes in the routing table trigger a node to broadcast the minimum costs to its
neighbours to speed up convergence.
Upon convergence, each node would know the minimum cost to each destination and
the corresponding next node along the shortest path.
Because only cost vectors (or distance vectors) are exchanged among neighbours, the
protocol implementing the distributed Bellman-Ford algorithm is often referred to as
a distance vector protocol.
Link breakage in above problem
Suppose that after the distributed algorithm stabilizes for the network shown above,
the link connecting node 3 and node 6 breaks. Compute the minimum cost from each
node to the destination node (node 6), assuming that each node immediately
recomputes its cost after detecting changes and broadcasts its routing updates to its
neighbours. The new network topology is as shown:
Iteration N1 N2 N3 N4 N5
Before Break (3, 3) (4, 4) (6, 1) ✖ (3, 3) (6, 2)
1 (N3 recomputes) “ “ (1, 5) (4, 5) “ “
1 (3, 3) (4, 4) (4, 5) (3, 3) (6, 2)
2 (When N3 updates, (2, 7) (4, 8) “ “ (1, 8) (2, 5) “
N1 & N4 recompute) (3, 7) (5, 5)
2 (3, 7) (4, 4) (4, 5) (2, 5) (6, 2)
3 (N3, N4, N2, N1, (3, 7) (2, 7) (4, 6) (5, 6) (1, 9) (4, 7) (1, 12) (3, 7) (6, 2) (4, 8)
N5 recomputes) (4, 10) (1, 10) (5, 5) (2, 5) (2, 8)
3 (3, 7) (4, 6) (4, 7) (2, 5) (6, 2)
4 (N1, N4, N5 (3, 9) (2, 9) “ “ (1, 12) (3, 9) (6, 2) (4, 8)
recomputes) (4, 10) (5, 5) (2, 7) (2, 10)
4 (2, 9) (4, 6) (4, 7) (5, 5) (6, 2)
5 (N3, N4, N2, N1, (3, 9) (2, 9) (4, 6) (5, 6) (1, 11) (1, 14) (3, 9) (6, 2) (4, 8)
N5 recomputes) (4, 10) (1, 12) (4, 7) (2, 7) (5, 5) (2, 10)
5 (no change) (2, 9) (4, 6) (4, 7) (5, 5) (6, 2)
Counting to Infinity Problem
This example shows that the distributed Bellman-Ford algorithm may react very
slowly to a link failure. To see this, consider the topology shown in Figure (a) with
node 4 as the destination. Suppose that after the algorithm stabilizes, link (3,4)
breaks, as shown in Figure (b). Recompute the minimum cost from each node to the
destination node (node 4).
Iteration N1 N2 N3
Before Break (2, 3) (3, 2) (4, 1) ✖
1 (N3 recomputes) (2, 3) (3, 2) (2, 3)
2 (N3 floods, hence N2 recomputes) (2, 3) (3, 4) (1, 4) (2, 3)
2 (2, 3) (3, 4) (2, 3)
3 (N2 floods→N1 & N3 recomputes) (2, 5) (3, 4) (2, 5)
4 (N1, N3 floods→N2 recomputes) (2, 5) (1, 6) (3, 6) (2, 5)
4 (2, 5) (3, 6) (2, 5)
. . . .
. . . .
As the table shows, each node keeps updating its cost (in increments of 2 units). At
each update, node 2 thinks that the shortest path to the destination is through node
3. Likewise, node 3 thinks the best path is through node 2. As a result, a packet in
either of these two nodes bounces back and forth until the algorithm stops updating.
Unfortunately, in this case the algorithm keeps iterating until the minimum cost is
infinite/very large, at which point, the algorithm realizes that the destination node is
unreachable. This problem is often called counting to infinity. It is easy to see that if
link (3,4) is restored, the algorithm will converge very quickly. Therefore: Good news
travels quickly, bad news travels slowly.
Methods to solve Counting to Infinity Problem
i) Split Horizon: Here, the minimum cost to a given destination is not sent to a
neighbour if the neighbour is the next node along the shortest path. For example, if
node X thinks that the best route to node Y is via node Z, then node X should not send
the corresponding minimum cost to node Z.
ii) Split Horizon with poisoned reverse: It allows a node to send the minimum costs
to all its neighbours; however, the minimum cost to a given destination is set to
infinity if the neighbour is the next node along the shortest path. Example, if node X
thinks that the best route to node Y is via node Z, then node X should set the
corresponding minimum cost to infinity before sending it to node Z.
Using Split Horizon with poisoned reverse on previous example: After the link
breaks, node 3 sets the cost to the destination equal to infinity, since the minimum
cost node 3 has received from node 2 is also infinity. When node 2 receives the
update message, it also sets the cost to infinity. Next node 1 also learns that the
destination is unreachable. Thus, split horizon with poisoned reverse speeds up
convergence in this case.
Iteration N1 N2 N3
Before Break (2, 3) (3, 2) (4, 1) ✖
1 (N3 recomputes) (2, 3) (3, 2) (-1, ∞)
2 (N2 recomputes) (2, 3) (-1, ∞) (-1, ∞)
3 (N1 recomputes) (-1, ∞) (-1, ∞) (-1, ∞)
Dijkstra’s Algorithm
Dijkstra’s algorithm is an alternative algorithm for finding the shortest paths from a
source node to all other nodes in a network. It is generally more efficient than the
Bellman-Ford algorithm but requires each link cost to be positive, which is
fortunately the case in communication networks. Example: Apply Dijkstra’s algorithm
to find the shortest paths from the source node (assumed to be node 1) to all the
other nodes.
Bellman Ford’s Algorithm works when Dijkstra’s Algorithm doesn’t work when
there is negative weight edge, it also there is negative weight edge.
detects the negative weight cycle.
Each node examines the header, strips off the address identifying the node, and
forwards the packet to the next node. The source (host A) initially includes the entire
path (1, 3, 6, B) in the packet to be destined to host B. Node 1 strips off its address
and forwards the packet to the next node, which is node 3. The path specified in the
header now contains 3, 6, B. Nodes 3 and 6 perform the same function until the
packet reaches host B, which finally verifies that it is the intended destination.
The TCP/IP protocol suite usually refers protocols called the Transmission Control
Protocol (TCP) and the Internet Protocol (IP) but also to other related protocols like:
IP Packet
• Internet Protocol being a layer-3 protocol (OSI) takes data Segments from layer-4
(Transport) and divides it into packets
• IP packet encapsulates data unit received from above layer and add to its own
header information
(check previous-to-previous diagram)
• The header has a fixed-length component of 20 bytes plus a variable-length
component consisting of options that can be up to 40 bytes.
• Below shows the IP header of an IPv4 packet.
• Class A addresses have 7 bits for network IDs and 24 bits for host IDs, allowing up
to 126 (27) networks and about 16 million (216) hosts per network.
• Class B addresses have 14 bits for network IDs and 16 bits for host IDs, allowing
about 16,000 (214) networks and about 64,000 (216) hosts for each network.
• Class C addresses have 21 bits for network IDs and 8 bits for host IDs, allowing
about 2 million (221) networks and 254 (28) hosts per network.
• Class D addresses are used for multicast services that allow a host to send
information to a group of hosts simultaneously. Class E addresses are reserved for
experiments.
• IP addresses are usually written in dotted-decimal notation so that they can be
communicated conveniently by people.
Class Begin Address End Address
A 1.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255
• A set of specific ranges of IP addresses have been set aside for use in private
networks. These addresses are considered unregistered and routers in the
Internet must discard packets with these addresses.
o Range 1: 10.0.0.0 to 10.255.255.255
o Range 2: 172.16.0.0 to 172.31.255.255
o Range 3: 192.168.0.0 to 192.168.255.255
Subnet Addressing
• The basic idea of subnetting is to add another hierarchical level called the “subnet”
as shown:
• For the subnet address scheme to work, every machine on the network must know
which part of the host address will be used as the subnet address. This is
accomplished by assigning each machine a subnet mask.
• In a subnet mask, the 1's in the subnet mask represent the positions that refer to
the Network or Subnet IDs and the 0's represent the positions that refer to the
Host ID part of the IP address.
• Note: to find the subnet address, perform an AND operation between the given IP
address and the subnet mask.
Address Resolution
• The source host must know the destination MAC address if the packet is to be
delivered to the destination host successfully.
• How does the host map the IP address to the MAC address? An elegant solution to
find the destination MAC address is to use the Address Resolution Protocol (ARP).
• Suppose H1 wants to send an IP packet to H3 but does not know the MAC address
of H3. H1 first broadcasts an ARP request packet asking the destination host, which
is identified by H3’s IP address, to reply.
• All hosts in the network receive the packet, but only the intended host, which is
H3, responds to H1.
• The ARP response packet contains H3’s MAC and IP addresses. From now on H1
knows how to send packets to H3.
• To avoid having to send an ARP request packet each time H1 wants to send a
packet to H3, H1 caches H3’s IP and MAC addresses in its ARP table.
Numerical on Fragmentation
Suppose a packet arrives at a router and is to be forwarded to an X.25 network having
an MTU of 576 bytes. The packet has an IP header of 20 bytes and a data part of
1484 bytes. Perform fragmentation and include the pertinent values of the IP header
of the original packet and of each fragment.
Ans) The maximum possible data length per fragment = 576 − 20 = 556 bytes
However, 556 is not a multiple of 8. Thus, we need to set the maximum data length to
552 bytes. We can break 1484 into 552 + 552 + 380
Note: Remember that the fragment part value pertains to the data part only and does
not include the header. That is why we consider (552/8) and NOT (572/8). X denotes a
unique identification value.
IPv6
• In the early 1990s the Internet Engineering Task Force (IETF) began to work on the
successor of IP version 4 that would solve the address exhaustion problem and
other scalability problems.
• IPv6 was designed to interoperate with IPv4 since it would likely take many years
to complete the transition from version 4 to version 6.
• Thus, IPv6 should retain the most basic service provided by IPv4—a connectionless
delivery service. On the other hand, IPv6 should also change the IPv4 functions
that do not work well and support new emerging applications such as real-time
video conferencing, etc. Some of the changes from IPv4 to IPv6 include:
• Longer address fields: : The length of address field is extended from 32 bits to 128
bits. The address structure also provides more levels of hierarchy
• Simplified header format: The header format of IPv6 is simpler than that of IPv4.
Some of the header fields in IPv4 such as checksum, IHL, identification, flags, and
fragment offset do not appear in the IPv6 header
• Flow label capability: IPv6 adds a “flow label” to identify a certain packet “flow”
that requires a certain QoS.
• Security: IPv6 supports built-in authentication and confidentiality
• Large packets: IPv6 supports payloads that are longer than 64 K bytes, called
jumbo payloads.
• Fragmentation at source only: Routers do not perform packet fragmentation. If a
packet needs to be fragmented, the source should check the minimum MTU along
the path and perform the necessary fragmentation.
• No checksum field: The checksum field has been removed to reduce packet
processing time in a router.
IPv6 Header
• Version: The version field specifies the version number of the protocol and should
be set to 6 for IPv6
• Traffic class: The traffic class field specifies the traffic class / priority of the packet.
• Flow label: The flow label field can be used to identify the QoS requested by the
packet. In the IPv6 standard, a flow is defined as “a sequence of packets sent from
a particular source to a particular (unicast or multicast) destination for which the
source desires special handling by the intervening routers.”
• Payload length: The payload length indicates the length of the data (excluding
header).
• Next header: The next header field identifies the type of the extension header that
follows the basic header. The extension header is similar to the options field in IPv4
but is more flexible and efficient.
• Hop limit: The hop limit field replaces the TTL field in IPv4. The value specifies the
number of hops the packet can travel before being dropped by a router.
• Source address and destination address: The source address and the destination
address identify the source host and the destination host, respectively.
Network Addressing
• The dotted-decimal notation can be rather long when applied to IPv6 long
addresses. A more compact notation that is specified in the standard is to use a
hexadecimal digit for every 4 bits and to separate every 16 bits with a colon. An
example of an IPv6 address is: 4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2176
• The first shorthand notation can be exploited when the 16-bit field has some
leading zeros. Ex: 4BF5:0000:0000:0000:BA5F:039A:000A:2176 can be shortened
to 4BF5:0:0:0:BA5F:39A:A:2176
• Further shortening is possible where consecutive zero-valued fields appear. These
fields can be shortened with the double-colon notation (::). Continuing with the
preceding example, the address can be written even more compactly as:
4BF5::BA5F:39A:A:2176
• A tunnel is a path created between two nodes so that the tunnel appears as a
single link to the user, as shown in Figure (b).
• The tunnelling approach essentially hides the route taken by the tunnel from the
user. In our particular example, an IPv4 tunnel allows IPv6 packets to be forwarded
across an IPv4 network without the IPv6 user having to worry about how packets
are actually forwarded in the IPv4 network.
• A tunnel is typically realized by encapsulating each user packet in another packet
that can be forwarded along the tunnel
• In our example, IPv6 packets are first forwarded from the source to the tunnel
head-end in the IPv6 network. At the tunnel head-end packets are encapsulated
into IPv4 packets
• Then IPv4 packets are forwarded in the IPv4 network to the tunnel tail-end where
the reverse process (i.e., decapsulation) is performed. Finally, IPv6 packets are
forwarded from the tunnel tail-end to the destination.
User Datagram Protocol
• The User Datagram Protocol (UDP) is an unreliable, connectionless transport layer
protocol. It is a very simple protocol that provides only two additional services
beyond IP: demultiplexing and error checking on data.
• Applications that do not require zero packet loss such as in packet voice systems
are well suited to UDP
• The format of the UDP datagram is as shown below:
• The destination port allows the UDP module to demultiplex datagrams to the
correct application in a given host.
• The source port identifies the particular application in the source host to receive
replies.
• The UDP length field indicates the number of bytes in the UDP datagram (including
header and data).
• The UDP checksum field detects errors in the datagram, and its use is optional. If a
source host does not want to compute the checksum, the checksum field should
contain all 0s
• TCP treats the data it gets from the application layer as a byte stream. Thus, when
a source writes a 1000-byte message in a single chunk (one write), the destination
may receive the message in two chunks of 500 bytes each (two reads), in three
chunks of 400 bytes, 300 bytes and 300 bytes / any other combination.
• The TCP transmitter arranges a consecutive string of bytes into a segment. The
segment contains a header with address information that enables the network to
direct the segment to its destination application process
• The segment contains a sequence number that corresponds to the number of the
first byte in the string that is being transmitted.
• The TCP receiver performs an error check on each segment it receives. If the
segment is error-free and is not a duplicate segment, the receiver inserts the bytes
into the appropriate locations in the receive buffer
TCP Segment
• Source port and destination port: The source and destination ports identify the
sending and receiving applications, respectively
• Sequence number: The 32-bit sequence number field identifies the position of the
first data byte of this segment in the sender’s byte stream during data transfer
• Acknowledgment number: This field identifies the sequence number of the next
data byte that the sender expects to receive if the ACK bit is set.
• Header length: This field specifies the length of the TCP header in 32-bit words
• Reserved: This field is reserved for future use and must be set to 0.
• URG: If this bit is set, the urgent pointer is valid
• ACK: If this bit is set, the acknowledgment number is valid
• PSH: When this bit is set, it tells the receiving TCP module to pass the data to the
application immediately
• RST: When this bit is set, it tells the receiving TCP module to abort the connection
because of some abnormal condition.
• SYN: This bit requests a connection
• FIN: When this bit is set, it tells the receiver that the sender does not have any
more data to send.
• Window size: The window size field specifies the number of bytes the sender is
willing to accept.
• Checksum: This field detects errors on the TCP segment
• Urgent pointer: When the URG bit is set, the value in the urgent pointer field
added to that in the sequence number field points to the last byte of the “urgent
data” (data that needs immediate delivery i.e., without buffering)
• Options: The options field may be used to provide other functions that are not
covered by the header.
TCP CONNECTION ESTABLISHMENT
• Before any host can send data, a connection must be established. TCP establishes
the connection using a three-way handshake procedure as shown:
Numericals
Q1) A host in an organization has an IP Address 150.32.64.34 and subnet mask
255.255.254.0. What is the address of this network? What is the range of IP
addresses that a host can have on this subnet?
A) The given address is a class B address (128.x.x.x to 191.x.x.x)
IP address = 10010110 00100000 01000000 00100010 (150.32.64.34)
Mask = 11111111 11111111 11111110 00000000 (255.255.254.0)
Subnet address → 10010110 00100000 01000000 00000000 (150.32.64.0)
Hence, the subnet address is 150.32.64.0,
host range is from 150.32.64.1 to 150.32.64.254 and the
broadcast address is 150.32.64.255
Q3) What are the possible subnet masks for class C address space?
A) In class C, the first 3 octets contribute to the Net ID and the last octet is used for
the (Subnet ID + Host ID). Hence the default mask is 255.255.255.0 for class C
Hence, possible subnets masks for class C are:
255.255.255.00000000 → 255.255.255.0 (default)
255.255.255.10000000 → 255.255.255.128
255.255.255.11000000 → 255.255.255.192
255.255.255.11100000 → 255.255.255.224
255.255.255.11110000 → 255.255.255.240
255.255.255.11111000 → 255.255.255.248
255.255.255.11111100 → 255.255.255.252
255.255.255.11111110 → 255.255.255.254 (not usable)
255.255.255.11111111 → 255.255.255.255 (not usable)
Q4) A college requires 150 LANs and there should be 100 hosts in each LAN. It has a
single class B address. Design an appropriate subnetting scheme.
A) Host requirement is 100 → we need minimum 7 bits (27 = 128 but 26 = 64)
Given class B IP address, hence, the last 2 octets are used for the Host ID. Wkt,
vii) broadcast address of the subnet → the next subnet address would be
10.11110101.10100000.00000000 → 10.245.160.0 ∴ the previous address would be
the broadcast address → 10.245.159.255
Q12) Evaluate how fragmentation and reassembly is done in an FDDI network, if the
original packet size of the IPv4 datagram is 6112 bytes.
A) We know that the MTU of FDDI is 4464 bytes
The maximum possible data length per fragment = 4464 − 20 = 4444 bytes
However, 4444 is not a multiple of 8. Thus, we need to set the maximum data length
to 4440 bytes. We can break 6112 into 4440 + 1672
Note: Remember that the fragment part value pertains to the data part only and does
not include the header. That is why we consider (4440/8) and NOT (4460/8).
X denotes a unique identification value.