11,075 views
8 votes
8 votes
Suppose that host A is connected to a router R 1, R 1 is connected to another router,
R 2, and R 2 is connected to host B. Suppose that a TCP message that contains 900
bytes of data and 20 bytes of TCP header is passed to the IP code at host A for delivery
to B. Show the Total length of the IP header in each packet transmitted over the three links. Assume that link A-R1
can support a maximum frame size of 1024 bytes including a 14-byte frame header,
link R1-R2 can support a maximum frame size of 512 bytes, including an 8-byte frame
header, and link R2-B can support a maximum frame size of 512 bytes including a
12-byte frame header.

3 Answers

Best answer
10 votes
10 votes

A---------R1----------R2-----------B     (This is how the packet flows from A to B)

When we receive data from transport layer, then whole of it is considered as data by network layer to be sent .So, transport layer gives 900 + 20 (TCP header) = 920 B to the network layer to be sent .

Hence, the data to be considered is 920 B, which is what transport layer sends to IP layer.

1). First, we talk about how to successfully transmit data from A to R1.

No fragmentation required here, hence IP packet size = 920 B 

2). Now, we see for R1 to R2. (For sending, R1 removes previous frame added of 14 B)

It says , it can support maximum frame size of 512 B including 8 B frame header .

Hence, it can be fragmented into 2 frames ( 480 and 440 ) . Finally, One IP packet is 480 + 20 = 500 B and second is

440 + 20 = 460 B . So, 2 packets are send to R2 .

3). We see for R2 to B. (For sending , R2 removes previous frame added of 8 B)

It says , it can support maximum frame size of 512 B including 12 B frame header , hence , no need to fragment it . 

One frame is 480 + 20 = 500 B and other frame 440 + 20 = 460 B , will reach B.


Note: I have only considered here IP packet size (Payload + Header), and if this packet is sent to DLL then DLL packet size = IP packet size + DLL header. But that is not asked in the question .Question is only asking about IP packet size

edited by
2 votes
2 votes

Link A-R1

Length= (920Bdata+20Bheader)=940B   

Link R1-R2(here the packet is being fragmented into 2 packets)

Packet1:Length=(504B data+ 8B header)=512B  [It is correct bcz data's length i.e 504 is divisible by 8]

Packet 2:Length=(416B data + 8B header)=424B [It is correct bcz data's length i.e 416 is divisible by 8]

Link R2-B( here packet 1 from link R1-R2 is fragmented into to two packets say packet1,1 and packet 1,2)

Packet1.1 Length=(496 B data+ 12 bytes header)=508 B [It is correct bcz data's length i.e 496 is divisible by 8]

Packet 1.2 Length=(8 B data+ 12 bytes header)=20 B [It is correct bcz data's length i.e 8 is divisible by 8]

Packet 2 Length=(416 B data+ 12 bytes header)=428 B [It is correct bcz data's length i.e 416 is divisible by 8]

So Receiver receives three packets.

PACKET ID MF HL=Headersize/4 TL  OFFSET
PACKET 1,1 X 1 3 508 0
PACKET 1,2 X 1 3 20 496/8=62
PACKET 2 X 0 3 428 (496+8)/8=63
0 votes
0 votes

The initial IP datagram will be fragmented into two IP datagrams at I1. No other fragmentation will occur.

---------------------------------------------------------------------------------------------------------

Link A-R1:

Length = 940;  ID = x; DF = 0; MF = 0; Offset = 0

Link R1-R2:

(1) Length = 500; ID = x; DF = 0; MF = 1; Offset = 0

(2) Length = 460; ID = x; DF = 0; MF = 0; Offset = 60

Link R2-B:

(1) Length = 500; ID = x; DF = 0; MF = 1; Offset = 0 

(2) Length = 460; ID = x; DF = 0; MF = 0; Offset = 60 

 

Related questions

0 votes
0 votes
0 answers
4
A_i_$_h asked Sep 22, 2017
521 views
If suppose MTU =620 (including header)and 1380 bytes has to be sent (header is 20B)s data to be sent is 1380 -20 =1360MTU = 600 -20 =600so max capacity to be sent as frag...